diff options
Diffstat (limited to 'src/Java/miscutil/core/block')
-rw-r--r-- | src/Java/miscutil/core/block/ModBlocks.java | 37 | ||||
-rw-r--r-- | src/Java/miscutil/core/block/base/BasicBlock.java | 29 | ||||
-rw-r--r-- | src/Java/miscutil/core/block/base/BlockBaseModular.java | 54 | ||||
-rw-r--r-- | src/Java/miscutil/core/block/base/MetaBlock.java | 28 | ||||
-rw-r--r-- | src/Java/miscutil/core/block/base/MultiTextureBlock.java | 36 | ||||
-rw-r--r-- | src/Java/miscutil/core/block/machine/BlockGtFrameBox.java | 35 |
6 files changed, 206 insertions, 13 deletions
diff --git a/src/Java/miscutil/core/block/ModBlocks.java b/src/Java/miscutil/core/block/ModBlocks.java index 975a7317ad..392579eb99 100644 --- a/src/Java/miscutil/core/block/ModBlocks.java +++ b/src/Java/miscutil/core/block/ModBlocks.java @@ -1,8 +1,10 @@ package miscutil.core.block; import miscutil.core.block.base.BasicBlock; +import miscutil.core.block.base.BasicBlock.BlockTypes; import miscutil.core.block.general.LightGlass; import miscutil.core.block.general.fluids.FluidRegistryHandler; +import miscutil.core.block.machine.BlockGtFrameBox; import miscutil.core.lib.CORE; import miscutil.core.util.Utils; import miscutil.core.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks; @@ -19,14 +21,17 @@ public final class ModBlocks { // WIP TODO public static Block blockToolBuilder; public static Block blockGriefSaver; public static Block blockCasingsMisc; - public static Block blockHeliumGenerator; - public static Block blockNHG; - public static Block blockCharger; - - public static Block MatterFabricatorEffectBlock; + public static Block blockHeliumGenerator; + public static Block blockNHG; + public static Block blockCharger; + + public static Block MatterFabricatorEffectBlock; public static Fluid fluidJackDaniels = new Fluid("fluidJackDaniels"); public static Block blockFluidJackDaniels; + public static Block blockGtFrameSet1; + public static Block blockGtFrameTantalloy60; + public static Block blockGtFrameTantalloy61; @@ -46,25 +51,31 @@ public final class ModBlocks { //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"); - + //Casing Blocks blockCasingsMisc = new GregtechMetaCasingBlocks(); //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"); - + + // 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"); + + //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("blockGtFrameTantalloy60", BlockTypes.FRAME, Utils.rgbtoHexValue(68, 75, 166)), "blockGtFrameTantalloy60"); + //GameRegistry.registerBlock(blockGtFrameTantalloy61 = new BlockBaseModular("blockGtFrameTantalloy61", BlockTypes.FRAME, Utils.rgbtoHexValue(122, 135, 196)), "blockGtFrameTantalloy61"); + } }
\ No newline at end of file diff --git a/src/Java/miscutil/core/block/base/BasicBlock.java b/src/Java/miscutil/core/block/base/BasicBlock.java index 4e5fd13df8..284342b197 100644 --- a/src/Java/miscutil/core/block/base/BasicBlock.java +++ b/src/Java/miscutil/core/block/base/BasicBlock.java @@ -19,4 +19,33 @@ public class BasicBlock extends Block { this.setStepSound(soundTypeMetal); } + + public static enum BlockTypes { + STANDARD("block", "pickaxe", soundTypeStone), + FRAME("blockGtFrame", "wrench", soundTypeMetal); + + private String TEXTURE_NAME; + private String HARVEST_TOOL; + private SoundType soundOfBlock; + private BlockTypes (String textureName, String harvestTool, SoundType blockSound) + { + this.TEXTURE_NAME = textureName; + this.HARVEST_TOOL = harvestTool; + this.soundOfBlock = blockSound; + } + + public String getTexture() { + return TEXTURE_NAME; + } + + public String getHarvestTool(){ + return HARVEST_TOOL; + } + + public SoundType getBlockSoundType(){ + return soundOfBlock; + } + + } + } diff --git a/src/Java/miscutil/core/block/base/BlockBaseModular.java b/src/Java/miscutil/core/block/base/BlockBaseModular.java new file mode 100644 index 0000000000..f8d965f6d7 --- /dev/null +++ b/src/Java/miscutil/core/block/base/BlockBaseModular.java @@ -0,0 +1,54 @@ +package miscutil.core.block.base; + +import miscutil.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.world.IBlockAccess; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockBaseModular extends BasicBlock{ + + protected int blockColour; + protected BlockTypes thisBlock; + + public BlockBaseModular(String unlocalizedName, BlockTypes blockType, int colour) { + super(unlocalizedName, Material.iron); + this.setHarvestLevel(blockType.getHarvestTool(), 2); + this.setBlockTextureName(CORE.MODID+":"+blockType.getTexture()); + this.blockColour = colour; + this.thisBlock = blockType; + } + + /** + * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha + */ + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() + { + if (thisBlock.name() == BlockTypes.FRAME.name()){ + return 1; + } + return 0; + } + + @Override + public boolean isOpaqueCube() + { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iIcon) + { + this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + thisBlock.getTexture()); + } + + @Override + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4){ + return this.blockColour; + } + +} diff --git a/src/Java/miscutil/core/block/base/MetaBlock.java b/src/Java/miscutil/core/block/base/MetaBlock.java new file mode 100644 index 0000000000..79aeb42afe --- /dev/null +++ b/src/Java/miscutil/core/block/base/MetaBlock.java @@ -0,0 +1,28 @@ +package miscutil.core.block.base; + +import java.util.List; + +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class MetaBlock extends MultiTextureBlock { + + protected MetaBlock(String unlocalizedName, Material material, SoundType soundType) { + super(unlocalizedName, material, soundType); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 6; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + +}
\ No newline at end of file diff --git a/src/Java/miscutil/core/block/base/MultiTextureBlock.java b/src/Java/miscutil/core/block/base/MultiTextureBlock.java new file mode 100644 index 0000000000..033139be89 --- /dev/null +++ b/src/Java/miscutil/core/block/base/MultiTextureBlock.java @@ -0,0 +1,36 @@ +package miscutil.core.block.base; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class MultiTextureBlock extends Block { + + public IIcon[] icons = new IIcon[6]; + + protected MultiTextureBlock(String unlocalizedName, Material material, SoundType blockSound) + { + super(material); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabBlock); + this.setHardness(2.0F); + this.setResistance(6.0F); + this.setStepSound(blockSound); + } + + @Override + public void registerBlockIcons(IIconRegister reg) { + for (int i = 0; i < 6; i ++) { + this.icons[i] = reg.registerIcon(this.textureName + "_" + i); + } + } + + @Override + public IIcon getIcon(int side, int meta) { + return this.icons[side]; + } +}
\ No newline at end of file diff --git a/src/Java/miscutil/core/block/machine/BlockGtFrameBox.java b/src/Java/miscutil/core/block/machine/BlockGtFrameBox.java new file mode 100644 index 0000000000..9c0f58364d --- /dev/null +++ b/src/Java/miscutil/core/block/machine/BlockGtFrameBox.java @@ -0,0 +1,35 @@ +package miscutil.core.block.machine; + +import miscutil.core.block.base.BasicBlock.BlockTypes; +import miscutil.core.block.base.MetaBlock; +import miscutil.core.lib.CORE; +import net.minecraft.block.material.Material; +import net.minecraft.world.IBlockAccess; + +public class BlockGtFrameBox extends MetaBlock { + + private int[] colours; + private int totalColours; + + public BlockGtFrameBox( + String unlocalizedName, Material material, + BlockTypes blockTypeENUM, boolean recolour, int... colour) { + super(unlocalizedName, material, blockTypeENUM.getBlockSoundType()); + this.setBlockTextureName(CORE.MODID + ":" + "blockGtFrame"); + this.setHarvestLevel(blockTypeENUM.getHarvestTool(), 2); + if (recolour && (colour != null && colour.length > 0)){ + colours = colour; + totalColours = colours.length; + } + } + + @Override + public int colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, + int p_149720_3_, int p_149720_4_) { + for (int i : colours){ + + } + return super.colorMultiplier(p_149720_1_, p_149720_2_, p_149720_3_, p_149720_4_); + } + +} |