From e67b55eaff5b5d3d8a9d3240a366d201b22abc26 Mon Sep 17 00:00:00 2001 From: Gig Date: Tue, 28 Apr 2015 20:56:50 +0100 Subject: [PATCH] Basic block and tile for Industrial Chunkloader --- .../techreborn/blocks/BlockChunkLoader.java | 57 +++++++++++++++++++ src/main/java/techreborn/init/ModBlocks.java | 7 +++ .../techreborn/tiles/TileChunkLoader.java | 57 +++++++++++++++++++ .../assets/techreborn/lang/en_US.lang | 1 + 4 files changed, 122 insertions(+) create mode 100644 src/main/java/techreborn/blocks/BlockChunkLoader.java create mode 100644 src/main/java/techreborn/tiles/TileChunkLoader.java diff --git a/src/main/java/techreborn/blocks/BlockChunkLoader.java b/src/main/java/techreborn/blocks/BlockChunkLoader.java new file mode 100644 index 000000000..aa965c726 --- /dev/null +++ b/src/main/java/techreborn/blocks/BlockChunkLoader.java @@ -0,0 +1,57 @@ +package techreborn.blocks; + +import techreborn.Core; +import techreborn.client.GuiHandler; +import techreborn.tiles.TileChunkLoader; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockChunkLoader extends BlockMachineBase{ + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + @SideOnly(Side.CLIENT) + private IIcon iconBottom; + + public BlockChunkLoader(Material material) + { + super(material); + setBlockName("techreborn.chunkloader"); + } + + @Override + public TileEntity createNewTileEntity(World world, int p_149915_2_) + { + return new TileChunkLoader(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister icon) + { + this.blockIcon = icon.registerIcon("techreborn:machine/machine_side"); + this.iconFront = icon.registerIcon("techreborn:machine/machine_side"); + this.iconTop = icon.registerIcon("techreborn:machine/machine_side"); + this.iconBottom = icon.registerIcon("techreborn:machine/machine_side"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) + { + return metadata == 0 && side == 3 ? this.iconFront + : side == 1 ? this.iconTop : (side == 0 ? this.iconTop + : (side == metadata ? this.iconFront : this.blockIcon)); + + } + +} diff --git a/src/main/java/techreborn/init/ModBlocks.java b/src/main/java/techreborn/init/ModBlocks.java index c1341d1ef..0b41a0e5b 100644 --- a/src/main/java/techreborn/init/ModBlocks.java +++ b/src/main/java/techreborn/init/ModBlocks.java @@ -7,6 +7,7 @@ import net.minecraftforge.oredict.OreDictionary; import techreborn.blocks.BlockAlloySmelter; import techreborn.blocks.BlockBlastFurnace; import techreborn.blocks.BlockCentrifuge; +import techreborn.blocks.BlockChunkLoader; import techreborn.blocks.BlockGrinder; import techreborn.blocks.BlockImplosionCompressor; import techreborn.blocks.BlockMachineCasing; @@ -26,6 +27,7 @@ import techreborn.itemblocks.ItemBlockStorage; import techreborn.tiles.TileAlloySmelter; import techreborn.tiles.TileBlastFurnace; import techreborn.tiles.TileCentrifuge; +import techreborn.tiles.TileChunkLoader; import techreborn.tiles.TileGrinder; import techreborn.tiles.TileImplosionCompressor; import techreborn.tiles.TileMachineCasing; @@ -50,6 +52,7 @@ public class ModBlocks { public static Block Grinder; public static Block ImplosionCompressor; public static Block MatterFabricator; + public static Block ChunkLoader; public static Block ore; public static Block storage; @@ -108,6 +111,10 @@ public class ModBlocks { MatterFabricator = new BlockMatterFabricator(Material.rock); GameRegistry.registerBlock(MatterFabricator, "matterfabricator"); GameRegistry.registerTileEntity(TileMatterFabricator.class, "TileMatterFabricator"); + + ChunkLoader = new BlockChunkLoader(Material.rock); + GameRegistry.registerBlock(ChunkLoader, "chunkloader"); + GameRegistry.registerTileEntity(TileChunkLoader.class, "TileChunkLoader"); MachineCasing = new BlockMachineCasing(Material.rock); GameRegistry.registerBlock(MachineCasing, ItemBlockMachineCasing.class, "machinecasing"); diff --git a/src/main/java/techreborn/tiles/TileChunkLoader.java b/src/main/java/techreborn/tiles/TileChunkLoader.java new file mode 100644 index 000000000..47abf3953 --- /dev/null +++ b/src/main/java/techreborn/tiles/TileChunkLoader.java @@ -0,0 +1,57 @@ +package techreborn.tiles; + +import ic2.api.energy.prefab.BasicSink; +import ic2.api.tile.IWrenchable; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import techreborn.init.ModBlocks; +import techreborn.util.Inventory; + +public class TileChunkLoader extends TileMachineBase implements IWrenchable{ + + public int tickTime; + public BasicSink energy; + public Inventory inventory = new Inventory(1, "TileChunkLoader", 64); + + + @Override + public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) + { + return false; + } + + @Override + public short getFacing() + { + return 0; + } + + @Override + public void setFacing(short facing) + { + } + + @Override + public boolean wrenchCanRemove(EntityPlayer entityPlayer) + { + return true; + } + + @Override + public float getWrenchDropRate() + { + return 1.0F; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) + { + return new ItemStack(ModBlocks.ChunkLoader, 1); + } + + public boolean isComplete() + { + return false; + } + +} diff --git a/src/main/resources/assets/techreborn/lang/en_US.lang b/src/main/resources/assets/techreborn/lang/en_US.lang index 0cd4087d7..c9cc69c4e 100644 --- a/src/main/resources/assets/techreborn/lang/en_US.lang +++ b/src/main/resources/assets/techreborn/lang/en_US.lang @@ -13,6 +13,7 @@ tile.techreborn.blastfurnace.name=Blast Furnace tile.techreborn.matterfabricator.name=Matter Fabricator tile.techreborn.implosioncompressor.name=Implosion Compressor tile.techreborn.grinder.name=Industrial Grinder +tile.techreborn.chunkloader.name=Industrial Chunk loader #Ores