package tppitweaks.tweak.recipe; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityPigZombie; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.oredict.ShapedOreRecipe; import tppitweaks.config.ConfigurationHandler; import tterrag.rtc.RecipeAddition; import tterrag.rtc.RecipeRemoval; import tterrag.rtc.TweakingRegistry; import tterrag.rtc.TweakingRegistry.TweakingAction; import java.util.Iterator; public class TweakOpenBlocks { public static Block blockBreaker = GameRegistry.findBlock("OpenBlocks", "blockBreaker"); public static Block blockPlacer = GameRegistry.findBlock("OpenBlocks", "blockPlacer"); public static Block trohpy = GameRegistry.findBlock("OpenBlocks", "trophy"); @RecipeRemoval(requiredModids = "OpenBlocks") public static void init() { if (ConfigurationHandler.eloraamBreakersAndDeployers) { if (blockBreaker != null) TweakingRegistry.markItemForRecipeRemoval(blockBreaker, -1, TweakingAction.CHANGED, "Recipe changed to bring back", "RP2-like recipes"); if (blockPlacer != null) TweakingRegistry.markItemForRecipeRemoval(blockPlacer, -1, TweakingAction.CHANGED, "Recipe changed to bring back", "RP2-like recipes"); } if (ConfigurationHandler.disablePigmenTrophyDrop) { MinecraftForge.EVENT_BUS.register(new TweakOpenBlocks()); } } @RecipeAddition(requiredModids = "OpenBlocks") public static void addRecipes() { if (ConfigurationHandler.eloraamBreakersAndDeployers) { if (blockBreaker != null) GameRegistry.addRecipe(new ShapedOreRecipe(blockBreaker, "CAC", "CPC", "CRC", 'C', "cobblestone", 'A', Items.iron_pickaxe, 'P', Blocks.piston, 'R', "dustRedstone" )); if (blockPlacer != null) GameRegistry.addRecipe(new ShapedOreRecipe(blockPlacer, "CAC", "CPC", "CRC", 'C', "cobblestone", 'A', Blocks.chest, 'P', Blocks.piston, 'R', "dustRedstone" )); } } @SubscribeEvent public void onLivingDrop(LivingDropsEvent event) { if (event.entityLiving instanceof EntityPigZombie) { Iterator<EntityItem> iter = event.drops.iterator(); while (iter.hasNext()) { ItemStack stack = iter.next().getEntityItem(); if (stack != null && stack.getItem() == Item.getItemFromBlock(trohpy)) iter.remove(); } } } }