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 | |
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.
-rw-r--r-- | src/Java/gtPlusPlus/GTplusplus.java | 12 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java | 39 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java | 6 |
3 files changed, 34 insertions, 23 deletions
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<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 diff --git a/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java b/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java index 71ccb5be51..66e65fe3a6 100644 --- a/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java +++ b/src/Java/gtPlusPlus/xmod/forestry/HANDLER_FR.java @@ -1,14 +1,10 @@ package gtPlusPlus.xmod.forestry; import cpw.mods.fml.common.Optional; -import cpw.mods.fml.common.registry.GameRegistry; import forestry.core.blocks.BlockRegistry; -import forestry.core.items.ItemBlockForestry; import forestry.core.proxy.Proxies; -import forestry.core.utils.StringUtil; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; -import gtPlusPlus.xmod.forestry.bees.blocks.BlockDenseBeeHouse; import gtPlusPlus.xmod.forestry.bees.items.FR_ItemRegistry; import gtPlusPlus.xmod.forestry.bees.recipe.FR_Gregtech_Recipes; import net.minecraft.block.Block; @@ -16,7 +12,7 @@ import net.minecraft.world.World; public class HANDLER_FR extends BlockRegistry { - public static BlockDenseBeeHouse apiculture; + //public static BlockDenseBeeHouse apiculture; public static void preInit(){ if (LoadedMods.Forestry){ |