package me.km.effects.passive; import me.km.KajetansMod; import me.km.api.Module; import me.km.api.ModuleListener; import me.km.effects.Effect; import me.km.effects.EffectUtils; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityCow; import net.minecraft.entity.passive.EntityHorse; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.passive.EntityRabbit; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.passive.EntityMooshroom; import net.minecraft.entity.passive.IAnimals; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; public class Breeding extends ModuleListener { public Breeding(Module m) { super(m); } @SubscribeEvent(receiveCanceled = false) public void onEntityBreed(PlayerInteractEvent.EntityInteract e) { if(!KajetansMod.worldManager.getWorldPreferences(e.getWorld()).skills) { return; } Entity ent = e.getTarget(); if(ent instanceof IAnimals) { EntityPlayer p = e.getEntityPlayer(); Class c = ent.getClass(); if(c == EntityCow.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_COW) < 1) { e.setCanceled(true); } } else if(c == EntityPig.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_PIG) < 1) { e.setCanceled(true); } } else if(c == EntitySheep.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_SHEEP) < 1) { e.setCanceled(true); } } else if(c == EntityRabbit.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_RABBIT) < 1) { e.setCanceled(true); } } else if(c == EntityChicken.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_CHICKEN) < 1) { e.setCanceled(true); } } else if(c == EntityHorse.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_HORSE) < 1) { Item item = e.getItemStack().getItem(); if(item == Items.GOLDEN_CARROT || item == Items.WHEAT || item == Items.APPLE || item == Items.SUGAR || item == Items.GOLDEN_APPLE || Block.getBlockFromItem(item) == Blocks.HAY_BLOCK) { e.setCanceled(true); } } } else if(c == EntityMooshroom.class) { if(EffectUtils.getEffectLevel(p, Effect.BREED_MUSHROOMCOW) < 1) { e.setCanceled(true); } } } } }