aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java5
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BasicBlock.java11
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java20
-rw-r--r--src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java76
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java39
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java4
6 files changed, 147 insertions, 8 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index 2ec4d107c4..892044627f 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.block;
+import gtPlusPlus.core.block.base.BasicBlock.BlockTypes;
+import gtPlusPlus.core.block.base.BlockBaseOre;
import gtPlusPlus.core.block.general.FirePit;
import gtPlusPlus.core.block.general.LightGlass;
import gtPlusPlus.core.block.machine.Machine_Workbench;
@@ -34,6 +36,8 @@ public final class ModBlocks {
public static Block blockCasings2Misc;
public static Block blockFirePit;
+
+ public static Block blockOreFluorite;
@@ -56,6 +60,7 @@ public final class ModBlocks {
blockWorkbench = new Machine_Workbench().setHardness(1.5F);
blockWorkbenchAdvanced = new Machine_WorkbenchAdvanced().setHardness(2.5F);
blockFirePit = new FirePit();
+ blockOreFluorite = new BlockBaseOre("oreFluorite", "Fluorite", Material.rock, BlockTypes.ORE, Utils.rgbtoHexValue(120, 120, 30), 3);
}
diff --git a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
index 364a849ebc..0083380bcb 100644
--- a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
+++ b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java
@@ -11,6 +11,10 @@ import net.minecraft.world.World;
public class BasicBlock extends BlockContainer {
public BasicBlock(final String unlocalizedName, final Material material) {
+ this(unlocalizedName, material, 2);
+ }
+
+ public BasicBlock(final String unlocalizedName, final Material material, int harvestLevel) {
super(material);
this.setBlockName(Utils.sanitizeString(unlocalizedName));
this.setBlockTextureName(CORE.MODID + ":" + unlocalizedName);
@@ -18,14 +22,15 @@ public class BasicBlock extends BlockContainer {
this.setHardness(2.0F);
this.setResistance(6.0F);
this.setLightLevel(0.0F);
- this.setHarvestLevel("pickaxe", 2);
+ this.setHarvestLevel("pickaxe", harvestLevel);
this.setStepSound(soundTypeMetal);
}
public static enum BlockTypes {
- STANDARD("blockBlock", "pickaxe", soundTypeStone),
- FRAME("blockFrameGt", "wrench", soundTypeMetal);
+ STANDARD("blockBlock", "pickaxe", soundTypeMetal),
+ FRAME("blockFrameGt", "wrench", soundTypeMetal),
+ ORE("blockOre", "pickaxe", soundTypeStone);
private String TEXTURE_NAME;
private String HARVEST_TOOL;
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
index a2d2589f5e..325d83f67d 100644
--- a/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseModular.java
@@ -20,9 +20,14 @@ public class BlockBaseModular extends BasicBlock{
protected String thisBlockMaterial;
protected final String thisBlockType;
+
public BlockBaseModular(String unlocalizedName, String blockMaterial, BlockTypes blockType, int colour) {
- super(blockType.getTexture()+unlocalizedName, Material.iron);
- this.setHarvestLevel(blockType.getHarvestTool(), 2);
+ this(unlocalizedName, blockMaterial, Material.iron, blockType, colour, 2);
+ }
+
+ public BlockBaseModular(String unlocalizedName, String blockMaterial, Material vanillaMaterial, BlockTypes blockType, int colour, int miningLevel) {
+ super(blockType.getTexture()+unlocalizedName, vanillaMaterial);
+ this.setHarvestLevel(blockType.getHarvestTool(), miningLevel);
this.setBlockTextureName(CORE.MODID+":"+blockType.getTexture());
this.blockColour = colour;
this.thisBlock = blockType;
@@ -48,6 +53,10 @@ public class BlockBaseModular extends BasicBlock{
LanguageRegistry.addName(this, blockMaterial+ " Frame Box");
//Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial+ " Frame Box");
}
+ else if (thisBlockType == BlockTypes.ORE.name().toUpperCase()){
+ LanguageRegistry.addName(this, blockMaterial+ " Ore");
+ //Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial+ " Frame Box");
+ }
else {
LanguageRegistry.addName(this, blockMaterial);
//Utils.LOG_INFO("Registered Block in Language Registry as: "+blockMaterial);
@@ -62,6 +71,10 @@ public class BlockBaseModular extends BasicBlock{
GameRegistry.registerBlock(this, ItemBlockGtFrameBox.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName));
//Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial+" Frame Box");
}
+ else if (thisBlockType == BlockTypes.ORE.name().toUpperCase()){
+ GameRegistry.registerBlock(this, ItemBlockGtBlock.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName));
+ //Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial+" Frame Box");
+ }
else {
GameRegistry.registerBlock(this, ItemBlockGtBlock.class, Utils.sanitizeString(blockType.getTexture()+unlocalizedName));
//Utils.LOG_INFO("Registered Block in Block Registry as: "+blockMaterial);
@@ -107,6 +120,9 @@ public class BlockBaseModular extends BasicBlock{
else if (thisBlock == BlockTypes.FRAME){
tempIngot = thisBlockMaterial + " Frame Box";
}
+ else if (thisBlock == BlockTypes.ORE){
+ tempIngot = thisBlockMaterial + " Ore";
+ }
else {
tempIngot = getUnlocalizedName().replace("tile.blockGt", "ingot");
diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java
new file mode 100644
index 0000000000..dca12e0272
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java
@@ -0,0 +1,76 @@
+package gtPlusPlus.core.block.base;
+
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class BlockBaseOre extends BlockBaseModular{
+
+ @SuppressWarnings("unused")
+ private IIcon base;
+ @SuppressWarnings("unused")
+ private IIcon overlay;
+
+ @Override
+ public boolean renderAsNormalBlock() {
+ return false;
+ }
+
+ public BlockBaseOre(String unlocalizedName, String blockMaterial, BlockTypes blockType, int colour) {
+ this(unlocalizedName, blockMaterial, Material.iron, blockType, colour, 2);
+ }
+
+ public BlockBaseOre(String unlocalizedName, String blockMaterial, Material vanillaMaterial, BlockTypes blockType, int colour, int miningLevel) {
+ super(blockType.getTexture()+unlocalizedName, blockMaterial, vanillaMaterial, blockType, colour, miningLevel);
+ }
+
+ /**
+ * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getRenderBlockPass()
+ {
+ return 1;
+ }
+
+ @Override
+ public boolean isOpaqueCube()
+ {
+ return false;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister iIcon)
+ {
+ //this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + thisBlock.getTexture());
+ this.base = iIcon.registerIcon(CORE.MODID + ":" + "blockStone");
+ this.overlay = iIcon.registerIcon(CORE.MODID + ":" + "blockOre_Overlay");
+ }
+
+ @Override
+ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4){
+ if (this.blockColour == 0){
+ return MathUtils.generateSingularRandomHexValue();
+ }
+ return this.blockColour;
+ }
+
+ @Override
+ public int getRenderColor(int aMeta) {
+ if (this.blockColour == 0){
+ return MathUtils.generateSingularRandomHexValue();
+ }
+ return this.blockColour;
+ }
+
+
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
index d01a259aaa..796d9fca77 100644
--- a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
@@ -1,17 +1,22 @@
package gtPlusPlus.core.handler.events;
+import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.math.MathUtils;
+import java.util.ArrayList;
import java.util.Random;
import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent;
+import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
public class BlockEventHandler {
@@ -52,11 +57,18 @@ public class BlockEventHandler {
}
}*/
}
+
+
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent event) {
-
+
}
+
+
+ ArrayList<ItemStack> oreLimestone = OreDictionary.getOres("oreLimestone");
+ ArrayList<ItemStack> blockLimestone = OreDictionary.getOres("limestone");
+ ItemStack fluoriteOre = ItemUtils.getSimpleStack(Item.getItemFromBlock(ModBlocks.blockOreFluorite));
//Used to handle Thaumcraft Shards when TC is not installed.
@SubscribeEvent
@@ -92,6 +104,31 @@ public class BlockEventHandler {
Utils.LOG_INFO("invalid chance");
}
}
+
+ //Spawns Fluorite from Lime Stone
+ if (!oreLimestone.isEmpty() || !blockLimestone.isEmpty()){
+ if (!oreLimestone.isEmpty())
+ for (ItemStack temp : oreLimestone){
+ if (ItemUtils.getSimpleStack(Item.getItemFromBlock(event.block)) == temp) {
+ if (MathUtils.randInt(1, 64) == 1){
+ event.drops.add(fluoriteOre.copy());
+ }
+ }
+ }
+ if (!oreLimestone.isEmpty())
+ for (ItemStack temp : blockLimestone){
+ if (ItemUtils.getSimpleStack(Item.getItemFromBlock(event.block)) == temp) {
+ if (MathUtils.randInt(1, 64) == 1){
+ event.drops.add(fluoriteOre.copy());
+ }
+ }
+ }
+ }
+ if (event.block == Blocks.sandstone){
+ if (MathUtils.randInt(1, 640) == 1){
+ event.drops.add(fluoriteOre.copy());
+ }
+ }
//}
}
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index fe8ba70e35..f488a48424 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -400,10 +400,10 @@ public final class ModItems {
dustZrCl4 = ItemUtils.generateSpecialUseDusts("ZrCl4", "ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; //http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf
dustCookedZrCl4 = ItemUtils.generateSpecialUseDusts("CookedZrCl4", "Cooked ZrCl4", Utils.rgbtoHexValue(180, 180, 180))[0]; //http://www.iaea.org/inis/collection/NCLCollectionStore/_Public/39/036/39036750.pdf
//Zirconium Tetrafluoride
- dustZrF4 = ItemUtils.generateSpecialUseDusts("ZrF4", "ZrF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ //dustZrF4 = ItemUtils.generateSpecialUseDusts("ZrF4", "ZrF4", Utils.rgbtoHexValue(170, 170, 170))[0]; //https://en.wikipedia.org/wiki/Zirconium_tetrafluoride
+ //GT_OreDictUnificator.registerOre("dustZirconiumTetrafluoride", new ItemStack(ModItems.dustZrF4));
GT_OreDictUnificator.registerOre("cellZrF4", ItemUtils.getItemStackOfAmountFromOreDict("cellZirconiumTetrafluoride", 1));
GT_OreDictUnificator.registerOre("dustZrF4", ItemUtils.getItemStackOfAmountFromOreDict("dustZirconiumTetrafluoride", 1));
- GT_OreDictUnificator.registerOre("dustZirconiumTetrafluoride", new ItemStack(ModItems.dustZrF4));
FluidUtils.generateFluid("ZirconiumTetrafluoride", "Zirconium Tetrafluoride", 500, new short[]{170, 170, 140, 100});
//Coolant Salt