From f2ec1fa20778d402befc4cd6d04f6e06f6cf167e Mon Sep 17 00:00:00 2001 From: ljfa-ag Date: Sun, 12 Nov 2017 18:16:17 +0100 Subject: [PATCH] Add item that spawns a Medicine Man --- .../ceremony/CeremonyBuffaloDance.java | 3 +- .../java/pokefenn/totemic/init/ModItems.java | 4 +- .../item/ItemSpawnTotemicVillager.java | 55 +++++++++++++++++++ .../java/pokefenn/totemic/lib/Strings.java | 1 + 4 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 src/main/java/pokefenn/totemic/item/ItemSpawnTotemicVillager.java diff --git a/src/main/java/pokefenn/totemic/ceremony/CeremonyBuffaloDance.java b/src/main/java/pokefenn/totemic/ceremony/CeremonyBuffaloDance.java index 8ff1327ba..adc87ecbd 100644 --- a/src/main/java/pokefenn/totemic/ceremony/CeremonyBuffaloDance.java +++ b/src/main/java/pokefenn/totemic/ceremony/CeremonyBuffaloDance.java @@ -2,13 +2,12 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.common.Loader; import pokefenn.totemic.api.ceremony.Ceremony; import pokefenn.totemic.api.music.MusicInstrument; public class CeremonyBuffaloDance extends Ceremony { - private static final boolean ANIMANIA_LOADED = Loader.isModLoaded("animania"); + //private static final boolean ANIMANIA_LOADED = Loader.isModLoaded("animania"); public CeremonyBuffaloDance(String name, int musicNeeded, int maxStartupTime, MusicInstrument... instruments) { diff --git a/src/main/java/pokefenn/totemic/init/ModItems.java b/src/main/java/pokefenn/totemic/init/ModItems.java index 765f62a1b..cdb2df72b 100644 --- a/src/main/java/pokefenn/totemic/init/ModItems.java +++ b/src/main/java/pokefenn/totemic/init/ModItems.java @@ -44,6 +44,7 @@ public final class ModItems public static final ItemBaykokBow baykok_bow = null; public static final ItemMedicineBag medicine_bag = null; public static final ItemCeremonyCheat ceremony_cheat = null; + public static final ItemSpawnTotemicVillager spawn_villager = null; @SubscribeEvent public static void init(RegistryEvent.Register event) @@ -74,7 +75,8 @@ public static void init(RegistryEvent.Register event) new ItemFood(9, 0.9F, true).setRegistryName(Strings.COOKED_BUFFALO_MEAT_NAME).setUnlocalizedName(Strings.RESOURCE_PREFIX + Strings.COOKED_BUFFALO_MEAT_NAME).setCreativeTab(Totemic.tabsTotem), new ItemBaykokBow(), new ItemMedicineBag(), - new ItemCeremonyCheat()); + new ItemCeremonyCheat(), + new ItemSpawnTotemicVillager()); } private static ItemBlock makeItemBlock(Block block) diff --git a/src/main/java/pokefenn/totemic/item/ItemSpawnTotemicVillager.java b/src/main/java/pokefenn/totemic/item/ItemSpawnTotemicVillager.java new file mode 100644 index 000000000..43e5f6524 --- /dev/null +++ b/src/main/java/pokefenn/totemic/item/ItemSpawnTotemicVillager.java @@ -0,0 +1,55 @@ +package pokefenn.totemic.item; + +import java.util.List; + +import javax.annotation.Nullable; + +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumActionResult; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import pokefenn.totemic.init.ModVillagers; +import pokefenn.totemic.lib.Strings; + +public class ItemSpawnTotemicVillager extends ItemTotemic +{ + public ItemSpawnTotemicVillager() + { + super(Strings.SPAWN_VILLAGER_NAME); + } + + @Override + public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, + EnumFacing facing, float hitX, float hitY, float hitZ) + { + if(world.isRemote) + return EnumActionResult.SUCCESS; + pos = pos.offset(facing); + EntityVillager villager = new EntityVillager(world); + villager.setProfession(ModVillagers.profTotemist); + villager.setPosition(pos.getX() + 0.5, pos.getY(), pos.getZ() + 0.5); + world.spawnEntity(villager); + player.getHeldItem(hand).shrink(1); + return EnumActionResult.SUCCESS; + } + + @Override + public String getItemStackDisplayName(ItemStack stack) + { + return "Spawn Medicine Man"; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) + { + tooltip.add("For BTM Moon only"); + } +} diff --git a/src/main/java/pokefenn/totemic/lib/Strings.java b/src/main/java/pokefenn/totemic/lib/Strings.java index df64fe474..086219f2c 100644 --- a/src/main/java/pokefenn/totemic/lib/Strings.java +++ b/src/main/java/pokefenn/totemic/lib/Strings.java @@ -34,6 +34,7 @@ public final class Strings public static final String BAYKOK_BOW_NAME = "baykok_bow"; public static final String MEDICINE_BAG_NAME = "medicine_bag"; public static final String CEREMONY_CHEAT_NAME = "ceremony_cheat"; + public static final String SPAWN_VILLAGER_NAME = "spawn_villager"; //Entities public static final String BUFFALO_NAME = "buffalo";