aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core/block
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/core/block')
-rw-r--r--src/Java/miscutil/core/block/ModBlocks.java37
-rw-r--r--src/Java/miscutil/core/block/base/BasicBlock.java29
-rw-r--r--src/Java/miscutil/core/block/base/BlockBaseModular.java54
-rw-r--r--src/Java/miscutil/core/block/base/MetaBlock.java28
-rw-r--r--src/Java/miscutil/core/block/base/MultiTextureBlock.java36
-rw-r--r--src/Java/miscutil/core/block/machine/BlockGtFrameBox.java35
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_);
+ }
+
+}