From 13df493efb49239df1bb6a9877080e1b491506d2 Mon Sep 17 00:00:00 2001 From: Lizbeth Rika Date: Thu, 4 Dec 2014 22:28:49 +0000 Subject: [PATCH] Bauble multiplayer fixes. Fixes crashing with the new aesthetics and fixes renders that use the head location on other players. --- src/main/java/vazkii/botania/api/item/IBaubleRender.java | 4 ++-- .../common/item/equipment/bauble/ItemKnockbackBelt.java | 6 +++++- .../common/item/equipment/bauble/ItemTravelBelt.java | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/vazkii/botania/api/item/IBaubleRender.java b/src/main/java/vazkii/botania/api/item/IBaubleRender.java index b0034b6b9..c8d9c9ac1 100644 --- a/src/main/java/vazkii/botania/api/item/IBaubleRender.java +++ b/src/main/java/vazkii/botania/api/item/IBaubleRender.java @@ -11,6 +11,7 @@ */ package vazkii.botania.api.item; +import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.client.event.RenderPlayerEvent; @@ -26,7 +27,6 @@ import cpw.mods.fml.relauncher.SideOnly; * This class doesn't extend IBauble to make the API not depend on the Baubles * API, but the item in question still needs to implement IBauble. */ -@SideOnly(Side.CLIENT) public interface IBaubleRender { /** @@ -53,7 +53,7 @@ public interface IBaubleRender { } public static void translateToHeadLevel(EntityPlayer player) { - GL11.glTranslated(0, -player.getDefaultEyeHeight() + (player.isSneaking() ? 0.0625 : 0), 0); + GL11.glTranslated(0, (player != Minecraft.getMinecraft().thePlayer ? 1.62F : 0F) - player.getDefaultEyeHeight() + (player.isSneaking() ? 0.0625 : 0), 0); } } diff --git a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemKnockbackBelt.java b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemKnockbackBelt.java index 45ab23021..77720cf6d 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemKnockbackBelt.java +++ b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemKnockbackBelt.java @@ -37,7 +37,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemKnockbackBelt extends ItemBaubleModifier implements IBaubleRender { private static final ResourceLocation texture = new ResourceLocation(LibResources.MODEL_KNOCKBACK_BELT); - private static final ModelBiped model = new ModelBiped(); + private static ModelBiped model; public ItemKnockbackBelt() { super(LibItemNames.KNOCKBACK_BELT); @@ -64,6 +64,10 @@ public class ItemKnockbackBelt extends ItemBaubleModifier implements IBaubleRend float s = (armor ? 1.3F : 1.05F) / 16F; 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/ItemTravelBelt.java b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemTravelBelt.java index b71db04e2..c6618a79c 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemTravelBelt.java +++ b/src/main/java/vazkii/botania/common/item/equipment/bauble/ItemTravelBelt.java @@ -35,7 +35,8 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemTravelBelt extends ItemBauble implements IBaubleRender { private static final ResourceLocation texture = new ResourceLocation(LibResources.MODEL_TRAVEL_BELT); - private static final ModelBiped model = new ModelBiped(); + @SideOnly(Side.CLIENT) + private static ModelBiped model; final float speed; final float jump; @@ -113,6 +114,9 @@ public class ItemTravelBelt extends ItemBauble implements IBaubleRender { float s = (armor ? 1.3F : 1.05F) / 16F; GL11.glScalef(s, s, s); + if(model == null) + model = new ModelBiped(); + model.bipedBody.render(1F); } }