Make BOP dyes work on sheep and wolf collars
This commit is contained in:
parent
f2b073fdb8
commit
e9bba1cce6
|
@ -0,0 +1,61 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright 2014, the Biomes O' Plenty Team
|
||||||
|
*
|
||||||
|
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||||
|
*
|
||||||
|
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
package biomesoplenty.common.handler;
|
||||||
|
|
||||||
|
import biomesoplenty.api.item.BOPItems;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.passive.EntitySheep;
|
||||||
|
import net.minecraft.entity.passive.EntityWolf;
|
||||||
|
import net.minecraft.item.EnumDyeColor;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.event.entity.player.EntityInteractEvent;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.Event.Result;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
|
||||||
|
public class DyeEventHandler
|
||||||
|
{
|
||||||
|
@SubscribeEvent
|
||||||
|
public void entityInteract(EntityInteractEvent event)
|
||||||
|
{
|
||||||
|
ItemStack stack = event.entityPlayer.getCurrentEquippedItem();
|
||||||
|
if (stack == null) {return;}
|
||||||
|
|
||||||
|
Item item = stack.getItem();
|
||||||
|
EnumDyeColor dyeColor;
|
||||||
|
if (item == BOPItems.black_dye) {dyeColor = EnumDyeColor.BLACK;}
|
||||||
|
else if (item == BOPItems.blue_dye) {dyeColor = EnumDyeColor.BLUE;}
|
||||||
|
else if (item == BOPItems.brown_dye) {dyeColor = EnumDyeColor.BROWN;}
|
||||||
|
else if (item == BOPItems.green_dye) {dyeColor = EnumDyeColor.GREEN;}
|
||||||
|
else if (item == BOPItems.white_dye) {dyeColor = EnumDyeColor.WHITE;}
|
||||||
|
else {return;}
|
||||||
|
|
||||||
|
Entity target = event.target;
|
||||||
|
if (target instanceof EntityWolf)
|
||||||
|
{
|
||||||
|
EntityWolf wolf = (EntityWolf)target;
|
||||||
|
if (dyeColor != wolf.getCollarColor())
|
||||||
|
{
|
||||||
|
wolf.setCollarColor(dyeColor);
|
||||||
|
if (!event.entityPlayer.capabilities.isCreativeMode) {--stack.stackSize;}
|
||||||
|
event.setResult(Result.ALLOW);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (target instanceof EntitySheep)
|
||||||
|
{
|
||||||
|
EntitySheep sheep = (EntitySheep)target;
|
||||||
|
if (!sheep.getSheared() && dyeColor != sheep.getFleeceColor())
|
||||||
|
{
|
||||||
|
sheep.setFleeceColor(dyeColor);
|
||||||
|
if (!event.entityPlayer.capabilities.isCreativeMode) {--stack.stackSize;}
|
||||||
|
event.setResult(Result.ALLOW);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,7 @@
|
||||||
package biomesoplenty.common.init;
|
package biomesoplenty.common.init;
|
||||||
|
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
import biomesoplenty.common.handler.DyeEventHandler;
|
||||||
import biomesoplenty.common.handler.GuiEventHandler;
|
import biomesoplenty.common.handler.GuiEventHandler;
|
||||||
import biomesoplenty.common.handler.decoration.DecorateBiomeEventHandler;
|
import biomesoplenty.common.handler.decoration.DecorateBiomeEventHandler;
|
||||||
|
|
||||||
|
@ -20,5 +21,6 @@ public class ModHandlers
|
||||||
MinecraftForge.EVENT_BUS.register(decorateBiomeHandler);
|
MinecraftForge.EVENT_BUS.register(decorateBiomeHandler);
|
||||||
MinecraftForge.TERRAIN_GEN_BUS.register(decorateBiomeHandler);
|
MinecraftForge.TERRAIN_GEN_BUS.register(decorateBiomeHandler);
|
||||||
MinecraftForge.EVENT_BUS.register(new GuiEventHandler());
|
MinecraftForge.EVENT_BUS.register(new GuiEventHandler());
|
||||||
|
MinecraftForge.EVENT_BUS.register(new DyeEventHandler());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue