diff options
author | Alkalus <draknyte1@hotmail.com> | 2017-10-05 12:19:14 +1000 |
---|---|---|
committer | Alkalus <draknyte1@hotmail.com> | 2017-10-05 12:19:14 +1000 |
commit | 6299f8b8496f3eeb9354161e1ead8ee457131e18 (patch) | |
tree | 4e60a8f3f4d2bc8fd8f3f383d03af24d6b9afcc6 /src/Java/gtPlusPlus/core/handler | |
parent | 04cb1921bd93e91fd526800d0cc36ff4b1df616c (diff) | |
download | GT5-Unofficial-6299f8b8496f3eeb9354161e1ead8ee457131e18.tar.gz GT5-Unofficial-6299f8b8496f3eeb9354161e1ead8ee457131e18.tar.bz2 GT5-Unofficial-6299f8b8496f3eeb9354161e1ead8ee457131e18.zip |
$ Fixed #137, also resolves #138 & resolves #139.
% Commented out something related to Forestry.
Diffstat (limited to 'src/Java/gtPlusPlus/core/handler')
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java index 26b559e926..0c8235a6d7 100644 --- a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java +++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java @@ -7,23 +7,22 @@ import java.util.ArrayList; import java.util.Random; import cpw.mods.fml.common.eventhandler.SubscribeEvent; -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 net.minecraft.block.Block; 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; public class BlockEventHandler { private final Random random = new Random(); + public static ArrayList<ItemStack> oreLimestone; + public static ArrayList<ItemStack> blockLimestone; + public static ItemStack fluoriteOre; @SubscribeEvent public void onBlockLeftClicked(final PlayerInteractEvent event) { @@ -69,13 +68,12 @@ public class BlockEventHandler { } - 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 public void harvestDrops(final BlockEvent.HarvestDropsEvent event) { + try { //Spawn Dull Shards (Can spawn from Tree Logs, Grass or Stone. Stone going to be the most common source.) if (((event.block == Blocks.stone) || (event.block == Blocks.sandstone) || (event.block == Blocks.log) || (event.block == Blocks.log2) || (event.block == Blocks.grass)) && !LoadedMods.Thaumcraft && (chanceToDropDrainedShard != 0)) { @@ -110,18 +108,18 @@ public class BlockEventHandler { //Spawns Fluorite from Lime Stone if (chanceToDropFluoriteOre != 0){ - if (!this.oreLimestone.isEmpty() || !this.blockLimestone.isEmpty()){ + if (!oreLimestone.isEmpty() || !blockLimestone.isEmpty()){ ArrayList<Block> mBlockTypes = new ArrayList<Block>(); - if (!this.oreLimestone.isEmpty()){ - for (int i=0;i<this.oreLimestone.size();i++){ - mBlockTypes.add(Block.getBlockFromItem(this.oreLimestone.get(i).getItem())); + if (!oreLimestone.isEmpty()){ + for (int i=0;i<oreLimestone.size();i++){ + mBlockTypes.add(Block.getBlockFromItem(oreLimestone.get(i).getItem())); } } - if (!this.blockLimestone.isEmpty()){ - for (int i=0;i<this.blockLimestone.size();i++){ - if (!mBlockTypes.contains(Block.getBlockFromItem(this.oreLimestone.get(i).getItem()))){ - mBlockTypes.add(Block.getBlockFromItem(this.oreLimestone.get(i).getItem())); + if (!blockLimestone.isEmpty()){ + for (int i=0;i<blockLimestone.size();i++){ + if (!mBlockTypes.contains(Block.getBlockFromItem(blockLimestone.get(i).getItem()))){ + mBlockTypes.add(Block.getBlockFromItem(blockLimestone.get(i).getItem())); } } } @@ -135,7 +133,7 @@ public class BlockEventHandler { Utils.LOG_WARNING("3a - found "+temp.getUnlocalizedName()); if (MathUtils.randInt(1, chanceToDropFluoriteOre) == 1){ Utils.LOG_WARNING("4a"); - event.drops.add(this.fluoriteOre.copy()); + event.drops.add(fluoriteOre.copy()); } } } @@ -147,16 +145,21 @@ public class BlockEventHandler { Utils.LOG_WARNING("1c"); if (MathUtils.randInt(1, chanceToDropFluoriteOre) == 1){ Utils.LOG_WARNING("2c"); - event.drops.add(this.fluoriteOre.copy()); + event.drops.add(fluoriteOre.copy()); } } if (event.block == Blocks.sandstone){ if (MathUtils.randInt(1, chanceToDropFluoriteOre*20) == 1){ - event.drops.add(this.fluoriteOre.copy()); + event.drops.add(fluoriteOre.copy()); } } } + } + catch (Throwable r){ + Utils.LOG_INFO("Block Event Handler Failed. Please Report this to Alkalus."); + r.printStackTrace(); + } } @SubscribeEvent |