From 6299f8b8496f3eeb9354161e1ead8ee457131e18 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Thu, 5 Oct 2017 12:19:14 +1000 Subject: $ Fixed #137, also resolves #138 & resolves #139. % Commented out something related to Forestry. --- src/Java/gtPlusPlus/GTplusplus.java | 12 +++++++ .../core/handler/events/BlockEventHandler.java | 39 ++++++++++++---------- src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java | 6 +--- 3 files changed, 34 insertions(+), 23 deletions(-) (limited to 'src/Java/gtPlusPlus') diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 4cf754e856..aa9975404b 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -8,6 +8,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -24,9 +25,11 @@ import gregtech.api.util.EmptyRecipeMap; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.Recipe_GT.Gregtech_Recipe_Map; +import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.commands.CommandMath; import gtPlusPlus.core.common.CommonProxy; import gtPlusPlus.core.handler.Recipes.RegistrationHandler; +import gtPlusPlus.core.handler.events.BlockEventHandler; import gtPlusPlus.core.handler.events.LoginEventHandler; import gtPlusPlus.core.item.general.RF2EU_Battery; import gtPlusPlus.core.lib.CORE; @@ -38,8 +41,11 @@ import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.launchwrapper.Launch; import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.oredict.OreDictionary; @MCVersion(value = "1.7.10") @Mod(modid = CORE.MODID, name = CORE.name, version = CORE.VERSION, dependencies = "required-after:Forge; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO;") @@ -239,6 +245,12 @@ public class GTplusplus implements ActionListener { public void init(final FMLInitializationEvent event) { proxy.init(event); proxy.registerNetworkStuff(); + + //Set Variables for Fluorite Block handling + BlockEventHandler.oreLimestone = OreDictionary.getOres("oreLimestone"); + BlockEventHandler.blockLimestone = OreDictionary.getOres("limestone"); + BlockEventHandler.fluoriteOre = ItemUtils.getSimpleStack(Item.getItemFromBlock(ModBlocks.blockOreFluorite)); + } // Post-Init 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 oreLimestone; + public static ArrayList blockLimestone; + public static ItemStack fluoriteOre; @SubscribeEvent public void onBlockLeftClicked(final PlayerInteractEvent event) { @@ -69,13 +68,12 @@ public class BlockEventHandler { } - ArrayList oreLimestone = OreDictionary.getOres("oreLimestone"); - ArrayList 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 mBlockTypes = new ArrayList(); - if (!this.oreLimestone.isEmpty()){ - for (int i=0;i