diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-25 21:11:05 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-25 21:11:05 +1000 |
commit | d43694eb98a0968190c3dbaa4ab5121c39feaf1f (patch) | |
tree | 441d4ed0300d675382539b8a650abe8e7bdf67f9 /src/Java/gtPlusPlus/core/block | |
parent | 6a95a11b16cfa38e7789418d93e70b1dc12b19c7 (diff) | |
download | GT5-Unofficial-d43694eb98a0968190c3dbaa4ab5121c39feaf1f.tar.gz GT5-Unofficial-d43694eb98a0968190c3dbaa4ab5121c39feaf1f.tar.bz2 GT5-Unofficial-d43694eb98a0968190c3dbaa4ab5121c39feaf1f.zip |
+ Added the Work Bench, from Gregtech 4.
% Renamed a method that converted arrays to fixed sized lists.
% Added a Util function to determine server or client easier.
Diffstat (limited to 'src/Java/gtPlusPlus/core/block')
-rw-r--r-- | src/Java/gtPlusPlus/core/block/ModBlocks.java | 26 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java | 77 |
2 files changed, 82 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java index de4520fee9..e8334af98b 100644 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -1,6 +1,7 @@ package gtPlusPlus.core.block; import gtPlusPlus.core.block.general.LightGlass; +import gtPlusPlus.core.block.machine.Machine_Workbench; import gtPlusPlus.core.fluids.FluidRegistryHandler; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; @@ -12,6 +13,7 @@ import cpw.mods.fml.common.registry.GameRegistry; public final class ModBlocks { + public static Block blockWorkbench; //Blocks //public static Block blockBloodSteel; //public static Block blockStaballoy; @@ -39,15 +41,6 @@ public final class ModBlocks { public static void registerBlocks(){ Utils.LOG_INFO("Registering Blocks."); - - //Blood Steel Block - //GameRegistry.registerBlock(blockBloodSteel = new BasicBlock("blockBloodSteel", Material.iron), "blockBloodSteel"); - - //Staballoy Block - //GameRegistry.registerBlock(blockStaballoy = new BasicBlock("blockStaballoy", Material.iron), "blockStaballoy"); - - //GameRegistry.registerBlock(MatterFabricatorEffectBlock = new MatterFabricatorEffectBlock(), "blockMF_Effect"); - GameRegistry.registerBlock(MatterFabricatorEffectBlock = new LightGlass(Material.glass, false).setHardness(0.1F).setBlockTextureName(CORE.MODID + ":" + "blockMFEffect").setStepSound(Block.soundTypeGlass), "blockMFEffect"); @@ -57,19 +50,10 @@ public final class ModBlocks { //Fluids FluidRegistryHandler.registerFluids(); - // blockHeliumGenerator = GameRegistry.registerBlock(new HeliumGenerator(), "Helium_Collector"); - // blockNHG = GameRegistry.registerBlock(new Machine_NHG("blockNuclearFueledHeliumGenerator"), "blockNuclearFueledHeliumGenerator"); - // blockCharger = GameRegistry.registerBlock(new Machine_Charger("blockMachineCharger"), "blockMachineCharger"); - - - //WIP TODO - //GameRegistry.registerBlock(blockGriefSaver, "blockGriefSaver"); + //Workbench + blockWorkbench = new Machine_Workbench().setHardness(1.5F); - //GtFrames - //GameRegistry.registerBlock(blockGtFrameSet1 = new BlockGtFrameBox("blockGtFrameSet1", Material.iron ,BlockTypes.FRAME, true, Utils.rgbtoHexValue(68, 75, 66), Utils.rgbtoHexValue(68, 75, 166), Utils.rgbtoHexValue(122, 135, 196)), "blockGtFrameSet1"); - //GameRegistry.registerBlock(blockGtFrameTantalloy60 = new BlockBaseModular("blockGtFrameStaballoy", "Staballoy", BlockTypes.FRAME, Utils.rgbtoHexValue(68, 75, 66)), ItemBlockGtFrameBox.class, "blockGtFrameStaballoy"); - //GameRegistry.registerBlock(blockGtFrameTantalloy60 = new BlockBaseModular("blockGtFrameTantalloy60", "Tantalloy-60", BlockTypes.FRAME, Utils.rgbtoHexValue(68, 75, 166)), ItemBlockGtFrameBox.class, "blockGtFrameTantalloy60"); - //GameRegistry.registerBlock(blockGtFrameTantalloy61 = new BlockBaseModular("blockGtFrameTantalloy61", "Tantalloy-61", BlockTypes.FRAME, Utils.rgbtoHexValue(122, 135, 196)), ItemBlockGtFrameBox.class, "blockGtFrameTantalloy61"); + } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java new file mode 100644 index 0000000000..92ba4a11cc --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java @@ -0,0 +1,77 @@ +package gtPlusPlus.core.block.machine; + +import gtPlusPlus.GTplusplus; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class Machine_Workbench extends BlockContainer +{ + @SideOnly(Side.CLIENT) + private IIcon textureTop; + @SideOnly(Side.CLIENT) + private IIcon textureFront; + + public Machine_Workbench() + { + super(Material.iron); + this.setBlockName("blockWorkbenchGT"); + this.setCreativeTab(AddToCreativeTab.tabMachines); + GameRegistry.registerBlock(this, "blockWorkbenchGT"); + LanguageRegistry.addName(this, "Gregtech Workbench"); + + } + + /** + * Gets the block's texture. Args: side, meta + */ + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int p_149691_1_, int p_149691_2_) + { + return p_149691_1_ == 1 ? this.textureTop : (p_149691_1_ == 0 ? Blocks.planks.getBlockTextureFromSide(p_149691_1_) : (p_149691_1_ != 2 && p_149691_1_ != 4 ? this.blockIcon : this.textureFront)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) + { + this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench"); + this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench" + "_top"); + this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench"); + } + + /** + * Called upon block activation (right click on the block.) + */ + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz) + { + if (world.isRemote) return true; + + TileEntity te = world.getTileEntity(x, y, z); + if (te != null && te instanceof TileEntityWorkbench) + { + player.openGui(GTplusplus.instance, 3, world, x, y, z); + return true; + } + return false; + } + + @Override + public TileEntity createNewTileEntity(World world, int p_149915_2_) { + return new TileEntityWorkbench(); + } +}
\ No newline at end of file |