diff --git a/src/main/java/vazkii/botania/client/lib/LibResources.java b/src/main/java/vazkii/botania/client/lib/LibResources.java index eced4486a..f4e7c6c81 100644 --- a/src/main/java/vazkii/botania/client/lib/LibResources.java +++ b/src/main/java/vazkii/botania/client/lib/LibResources.java @@ -98,7 +98,9 @@ public final class LibResources { public static final String MODEL_TRAVEL_BELT = PREFIX_MODEL + "travelBelt.png"; public static final String MODEL_SUPER_TRAVEL_BELT = PREFIX_MODEL + "superTravelBelt.png"; public static final String MODEL_KNOCKBACK_BELT = PREFIX_MODEL + "knockbackBelt.png"; - + public static final String MODEL_HOLY_CLOAK = PREFIX_MODEL + "holyCloak.png"; + public static final String MODEL_UNHOLY_CLOAK = PREFIX_MODEL + "unholyCloak.png"; + public static final String MODEL_CAPE = "/assets/botania/textures/model/cape.png"; public static final String MISC_PARTICLES = PREFIX_MISC + "particles.png"; diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index 88e22445d..6deddfef7 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -244,6 +244,8 @@ public final class BotaniaCreativeTab extends CreativeTabs { addItem(ModItems.icePendant); addItem(ModItems.lavaPendant); addItem(ModItems.superLavaPendant); + addItem(ModItems.holyCloak); + addItem(ModItems.unholyCloak); addItem(ModItems.goldLaurel); addItem(ModItems.divaCharm); addItem(ModItems.flightTiara); diff --git a/src/main/java/vazkii/botania/common/item/ModItems.java b/src/main/java/vazkii/botania/common/item/ModItems.java index 6a3c6ac11..47568b1ec 100644 --- a/src/main/java/vazkii/botania/common/item/ModItems.java +++ b/src/main/java/vazkii/botania/common/item/ModItems.java @@ -36,6 +36,7 @@ import vazkii.botania.common.item.equipment.bauble.ItemFlightTiara; import vazkii.botania.common.item.equipment.bauble.ItemGoldenLaurel; import vazkii.botania.common.item.equipment.bauble.ItemGreaterAuraRing; import vazkii.botania.common.item.equipment.bauble.ItemGreaterManaRing; +import vazkii.botania.common.item.equipment.bauble.ItemHolyCloak; import vazkii.botania.common.item.equipment.bauble.ItemIcePendant; import vazkii.botania.common.item.equipment.bauble.ItemItemFinder; import vazkii.botania.common.item.equipment.bauble.ItemKnockbackBelt; @@ -49,6 +50,7 @@ import vazkii.botania.common.item.equipment.bauble.ItemSuperLavaPendant; import vazkii.botania.common.item.equipment.bauble.ItemSuperTravelBelt; import vazkii.botania.common.item.equipment.bauble.ItemTinyPlanet; import vazkii.botania.common.item.equipment.bauble.ItemTravelBelt; +import vazkii.botania.common.item.equipment.bauble.ItemUnholyCloak; import vazkii.botania.common.item.equipment.bauble.ItemWaterRing; import vazkii.botania.common.item.equipment.tool.ItemEnderDagger; import vazkii.botania.common.item.equipment.tool.ItemGlassPick; @@ -182,6 +184,8 @@ public final class ModItems { public static Item brewFlask; public static Item bloodPendant; public static Item missileRod; + public static Item holyCloak; + public static Item unholyCloak; public static void init() { lexicon = new ItemLexicon(); @@ -277,6 +281,8 @@ public final class ModItems { brewFlask = new ItemBrewFlask(); bloodPendant = new ItemBloodPendant(); missileRod = new ItemMissileRod(); + holyCloak = new ItemHolyCloak(); + unholyCloak = new ItemUnholyCloak(); OreDictionary.registerOre(LibOreDict.LEXICON, lexicon); for(int i = 0; i < 16; i++) { diff --git a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemHolyCloak.java b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemHolyCloak.java new file mode 100644 index 000000000..a37241dad --- /dev/null +++ b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemHolyCloak.java @@ -0,0 +1,73 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Dec 4, 2014, 11:03:13 PM (GMT)] + */ +package vazkii.botania.common.item.equipment.bauble; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.event.RenderPlayerEvent; +import baubles.api.BaubleType; +import vazkii.botania.api.item.IBaubleRender; +import vazkii.botania.api.item.IBaubleRender.Helper; +import vazkii.botania.api.item.IBaubleRender.RenderType; +import vazkii.botania.client.lib.LibResources; +import vazkii.botania.common.lib.LibItemNames; + +public class ItemHolyCloak extends ItemBauble implements IBaubleRender { + + private static final ResourceLocation texture = new ResourceLocation(LibResources.MODEL_HOLY_CLOAK); + @SideOnly(Side.CLIENT) + private static ModelBiped model; + + public ItemHolyCloak() { + this(LibItemNames.HOLY_CLOAK); + } + + public ItemHolyCloak(String name) { + super(name); + } + + @Override + public BaubleType getBaubleType(ItemStack arg0) { + return BaubleType.AMULET; + } + + @SideOnly(Side.CLIENT) + ResourceLocation getRenderTexture() { + return texture; + } + + @Override + @SideOnly(Side.CLIENT) + public void onPlayerBaubleRender(ItemStack stack, RenderPlayerEvent event, RenderType type) { + if(type == RenderType.BODY) { + Minecraft.getMinecraft().renderEngine.bindTexture(getRenderTexture()); + Helper.rotateIfSneaking(event.entityPlayer); + boolean armor = event.entityPlayer.getCurrentArmor(2) != null; + GL11.glTranslatef(0F, armor ? -0.07F : -0.01F, 0F); + + float s = 0.1F; + GL11.glScalef(s, s, s); + if(model == null) + model = new ModelBiped(); + + model.bipedBody.render(1F); + } + } + + +} diff --git a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemUnholyCloak.java b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemUnholyCloak.java new file mode 100644 index 000000000..b1da54715 --- /dev/null +++ b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemUnholyCloak.java @@ -0,0 +1,33 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Dec 4, 2014, 11:12:51 PM (GMT)] + */ +package vazkii.botania.common.item.equipment.bauble; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.ResourceLocation; +import vazkii.botania.client.lib.LibResources; +import vazkii.botania.common.lib.LibItemNames; + +public class ItemUnholyCloak extends ItemHolyCloak { + + private static final ResourceLocation texture = new ResourceLocation(LibResources.MODEL_UNHOLY_CLOAK); + + public ItemUnholyCloak() { + super(LibItemNames.UNHOLY_CLOAK); + } + + @Override + ResourceLocation getRenderTexture() { + return texture; + } + +} diff --git a/src/main/java/vazkii/botania/common/lib/LibItemNames.java b/src/main/java/vazkii/botania/common/lib/LibItemNames.java index dd1737647..f6d5c1d86 100644 --- a/src/main/java/vazkii/botania/common/lib/LibItemNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibItemNames.java @@ -107,6 +107,8 @@ public final class LibItemNames { public static final String BREW_FLASK = "brewFlask"; public static final String BLOOD_PENDANT = "bloodPendant"; public static final String MISSILE_ROD = "missileRod"; + public static final String HOLY_CLOAK = "holyCloak"; + public static final String UNHOLY_CLOAK = "unholyCloak"; public static final String[] LENS_NAMES = new String[] { "lensNormal", diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index e0dd2d33c..aa26c2193 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -787,6 +787,8 @@ item.botania:brewFlask.name=Flask of %s (%s) item.botania:bloodPendant.name=Tainted Blood Pendant item.botania:redString.name=Red String item.botania:missileRod.name=Rod of the Arcane Barrage +item.botania:holyCloak.name=Cloak of Virtue +item.botania:holyCloak.name=Cloak of Sin # BREW NAMES botania.brew.fallback=Fallback diff --git a/src/main/resources/assets/botania/textures/items/holyCloak.png b/src/main/resources/assets/botania/textures/items/holyCloak.png new file mode 100644 index 000000000..ab870ad4e Binary files /dev/null and b/src/main/resources/assets/botania/textures/items/holyCloak.png differ diff --git a/src/main/resources/assets/botania/textures/items/unholyCloak.png b/src/main/resources/assets/botania/textures/items/unholyCloak.png new file mode 100644 index 000000000..96713ee0a Binary files /dev/null and b/src/main/resources/assets/botania/textures/items/unholyCloak.png differ diff --git a/src/main/resources/assets/botania/textures/model/holyCloak.png b/src/main/resources/assets/botania/textures/model/holyCloak.png new file mode 100644 index 000000000..0515c486d Binary files /dev/null and b/src/main/resources/assets/botania/textures/model/holyCloak.png differ diff --git a/src/main/resources/assets/botania/textures/model/unholyCloak.png b/src/main/resources/assets/botania/textures/model/unholyCloak.png new file mode 100644 index 000000000..e548ec5b1 Binary files /dev/null and b/src/main/resources/assets/botania/textures/model/unholyCloak.png differ