Added basic 3x3x4 multiblock. Next I need to allow it accept lava, and use different machine casings.

This commit is contained in:
Modmuss50 2015-04-17 20:40:33 +01:00
parent d7ae47e956
commit e7096178cf
4 changed files with 181 additions and 4 deletions

View file

@ -1,11 +1,15 @@
package techreborn;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
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.client.GuiHandler;
import techreborn.compat.CompatManager;
@ -57,6 +61,9 @@ public class Core {
PacketHandler.setChannels(NetworkRegistry.INSTANCE.newChannel(ModInfo.MOD_ID + "_packets", new PacketHandler()));
//Achievements
TRAchievements.init();
//Multiblock events
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
FMLCommonHandler.instance().bus().register(new MultiblockServerTickHandler());
LogHelper.info("Initialization Compleate");
}

View file

@ -2,7 +2,7 @@ package techreborn.blocks;
import cpw.mods.fml.relauncher.Side;
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.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
@ -19,7 +19,7 @@ import techreborn.tiles.TileMachineCasing;
import java.util.List;
import java.util.Random;
public class BlockMachineCasing extends BlockContainer {
public class BlockMachineCasing extends BlockMultiblockBase {
public static final String[] types = new String[] {"Standard", "Reinforced", "Advanced"};
private IIcon[] textures;

View 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) {
}
}

View file

@ -1,8 +1,11 @@
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
public boolean canUpdate() {
@ -10,4 +13,48 @@ public class TileMachineCasing extends TileEntity {
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 {
}
}