Added basic 3x3x4 multiblock. Next I need to allow it accept lava, and use different machine casings.
This commit is contained in:
parent
d7ae47e956
commit
e7096178cf
4 changed files with 181 additions and 4 deletions
|
@ -1,11 +1,15 @@
|
||||||
package techreborn;
|
package techreborn;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.common.Mod;
|
import cpw.mods.fml.common.Mod;
|
||||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
import erogenousbeef.coreTR.multiblock.MultiblockEventHandler;
|
||||||
|
import erogenousbeef.coreTR.multiblock.MultiblockServerTickHandler;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import techreborn.achievement.TRAchievements;
|
import techreborn.achievement.TRAchievements;
|
||||||
import techreborn.client.GuiHandler;
|
import techreborn.client.GuiHandler;
|
||||||
import techreborn.compat.CompatManager;
|
import techreborn.compat.CompatManager;
|
||||||
|
@ -57,6 +61,9 @@ public class Core {
|
||||||
PacketHandler.setChannels(NetworkRegistry.INSTANCE.newChannel(ModInfo.MOD_ID + "_packets", new PacketHandler()));
|
PacketHandler.setChannels(NetworkRegistry.INSTANCE.newChannel(ModInfo.MOD_ID + "_packets", new PacketHandler()));
|
||||||
//Achievements
|
//Achievements
|
||||||
TRAchievements.init();
|
TRAchievements.init();
|
||||||
|
//Multiblock events
|
||||||
|
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
|
||||||
|
FMLCommonHandler.instance().bus().register(new MultiblockServerTickHandler());
|
||||||
LogHelper.info("Initialization Compleate");
|
LogHelper.info("Initialization Compleate");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package techreborn.blocks;
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.block.BlockContainer;
|
import erogenousbeef.coreTR.multiblock.BlockMultiblockBase;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
@ -19,7 +19,7 @@ import techreborn.tiles.TileMachineCasing;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
public class BlockMachineCasing extends BlockContainer {
|
public class BlockMachineCasing extends BlockMultiblockBase {
|
||||||
|
|
||||||
public static final String[] types = new String[] {"Standard", "Reinforced", "Advanced"};
|
public static final String[] types = new String[] {"Standard", "Reinforced", "Advanced"};
|
||||||
private IIcon[] textures;
|
private IIcon[] textures;
|
||||||
|
|
123
src/main/java/techreborn/multiblocks/MultiBlockCasing.java
Normal file
123
src/main/java/techreborn/multiblocks/MultiBlockCasing.java
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
package techreborn.multiblocks;
|
||||||
|
|
||||||
|
import erogenousbeef.coreTR.multiblock.IMultiblockPart;
|
||||||
|
import erogenousbeef.coreTR.multiblock.MultiblockControllerBase;
|
||||||
|
import erogenousbeef.coreTR.multiblock.rectangular.RectangularMultiblockControllerBase;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import techreborn.util.LogHelper;
|
||||||
|
|
||||||
|
public class MultiBlockCasing extends RectangularMultiblockControllerBase {
|
||||||
|
public MultiBlockCasing(World world) {
|
||||||
|
super(world);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttachedPartWithMultiblockData(IMultiblockPart part, NBTTagCompound data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBlockAdded(IMultiblockPart newPart) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onBlockRemoved(IMultiblockPart oldPart) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onMachineAssembled() {
|
||||||
|
LogHelper.all("New multiblock created!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onMachineRestored() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onMachinePaused() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onMachineDisassembled() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMinimumNumberOfBlocksForAssembledMachine() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMaximumXSize() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMaximumZSize() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMaximumYSize() {
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMinimumXSize() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMinimumYSize() {
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getMinimumZSize() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAssimilate(MultiblockControllerBase assimilated) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onAssimilated(MultiblockControllerBase assimilator) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean updateServer() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void updateClient() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToNBT(NBTTagCompound data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readFromNBT(NBTTagCompound data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void formatDescriptionPacket(NBTTagCompound data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decodeDescriptionPacket(NBTTagCompound data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,11 @@
|
||||||
package techreborn.tiles;
|
package techreborn.tiles;
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import erogenousbeef.coreTR.multiblock.MultiblockControllerBase;
|
||||||
|
import erogenousbeef.coreTR.multiblock.MultiblockValidationException;
|
||||||
|
import erogenousbeef.coreTR.multiblock.rectangular.RectangularMultiblockTileEntityBase;
|
||||||
|
import techreborn.multiblocks.MultiBlockCasing;
|
||||||
|
|
||||||
public class TileMachineCasing extends TileEntity {
|
public class TileMachineCasing extends RectangularMultiblockTileEntityBase {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canUpdate() {
|
public boolean canUpdate() {
|
||||||
|
@ -10,4 +13,48 @@ public class TileMachineCasing extends TileEntity {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMachineActivated() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMachineDeactivated() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MultiblockControllerBase createNewMultiblock() {
|
||||||
|
return new MultiBlockCasing(worldObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<? extends MultiblockControllerBase> getMultiblockControllerType() {
|
||||||
|
return MultiBlockCasing.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void isGoodForFrame() throws MultiblockValidationException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void isGoodForSides() throws MultiblockValidationException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void isGoodForTop() throws MultiblockValidationException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void isGoodForBottom() throws MultiblockValidationException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void isGoodForInterior() throws MultiblockValidationException {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue