diff --git a/src/main/java/noppes/npcs/DataDisplay.java b/src/main/java/noppes/npcs/DataDisplay.java index 6bbe4962b..043caa3c3 100644 --- a/src/main/java/noppes/npcs/DataDisplay.java +++ b/src/main/java/noppes/npcs/DataDisplay.java @@ -35,6 +35,8 @@ public class DataDisplay { public boolean disableLivingAnimation = false; public byte showBossBar = 0; + + public byte squareTexture = 0; public DataDisplay(EntityNPCInterface npc){ this.npc = npc; @@ -86,6 +88,7 @@ public class DataDisplay { nbttagcompound.setBoolean("NoLivingAnimation", disableLivingAnimation); nbttagcompound.setByte("BossBar", showBossBar); + nbttagcompound.setByte("SquareTexture", squareTexture); return nbttagcompound; } @@ -121,6 +124,7 @@ public class DataDisplay { disableLivingAnimation = nbttagcompound.getBoolean("NoLivingAnimation"); showBossBar = nbttagcompound.getByte("BossBar"); + squareTexture = nbttagcompound.getByte("SquareTexture"); if(prevSkinType != skinType || !texture.equals(prevTexture)) npc.textureLocation = null; diff --git a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java index ccf93aaee..375cc341b 100644 --- a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java +++ b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java @@ -73,16 +73,20 @@ public class GuiNpcDisplay extends GuiNPCInterface2 implements ITextfieldListene y+=23; addLabel(new GuiNpcLabel(5,"display.livingAnimation", guiLeft + 5, y + 5)); - this.addButton(new GuiNpcButton(5, guiLeft + 120, y, 50, 20, new String[]{"gui.yes","gui.no"},display.disableLivingAnimation?1:0)); + this.addButton(new GuiNpcButton(5, guiLeft + 120, y, 50, 20, new String[]{"gui.yes","gui.no"}, display.disableLivingAnimation?1:0)); - y+=23; + // Square Texture Button + addLabel(new GuiNpcLabel(300,"display.squareTexture", guiLeft + 230, y + 5)); + this.addButton(new GuiNpcButton(300, guiLeft + 313, y, 50, 20, new String[]{"gui.no","gui.yes"}, display.squareTexture)); + + y+=23; addLabel(new GuiNpcLabel(7,"display.visible", guiLeft + 5, y + 5)); this.addButton(new GuiNpcButton(7, guiLeft + 120, y, 50, 20, new String[]{"gui.yes","gui.no","gui.partly"}, display.visible)); y+=23; addLabel(new GuiNpcLabel(10,"display.bossbar", guiLeft + 5, y + 5)); this.addButton(new GuiNpcButton(10, guiLeft + 120, y, 110, 20, new String[]{"display.hide","display.show","display.showAttacking"}, display.showBossBar)); - + //addExtra(new GuiHoverText(0, "testing", guiLeft, guiTop)); } @@ -146,6 +150,9 @@ public class GuiNpcDisplay extends GuiNPCInterface2 implements ITextfieldListene else if(button.id == 7){ display.visible = button.getValue(); } + else if(button.id == 300){ + display.squareTexture = (byte)button.getValue(); + } else if(button.id == 8){ NoppesUtil.openGUI(player, new GuiNpcTextureCloaks(npc, this)); } diff --git a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java index 3ccc5e44f..a45bde7fa 100644 --- a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java +++ b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java @@ -286,7 +286,7 @@ public class RenderNPCInterface extends RenderLiving{ public ResourceLocation getEntityTexture(Entity entity) { EntityNPCInterface npc = (EntityNPCInterface) entity; - boolean versionModel = npc.isUpdatedVersion; // DOES NOT WORK + boolean versionModel = false; // Square Texture if(npc.textureLocation == null){ if(npc.display.skinType == 0) npc.textureLocation = new ResourceLocation(npc.display.texture); @@ -310,6 +310,9 @@ public class RenderNPCInterface extends RenderLiving{ sb.append(String.format("%02x", b&0xff)); } npc.textureLocation = new ResourceLocation("skins/" + sb.toString()); + + if(npc.display.squareTexture == 1){ versionModel = true; } + loadSkin(null, npc.textureLocation, npc.display.url, versionModel); LastTextureTick = 0; } diff --git a/src/main/java/noppes/npcs/entity/EntityCustomNpc.java b/src/main/java/noppes/npcs/entity/EntityCustomNpc.java index 96e2bb7a0..a4198484c 100644 --- a/src/main/java/noppes/npcs/entity/EntityCustomNpc.java +++ b/src/main/java/noppes/npcs/entity/EntityCustomNpc.java @@ -14,7 +14,6 @@ public class EntityCustomNpc extends EntityNPCInterface{ public EntityCustomNpc(World world) { super(world); - isUpdatedVersion = false; } @Override diff --git a/src/main/java/noppes/npcs/entity/EntityCustomNpc64.java b/src/main/java/noppes/npcs/entity/EntityCustomNpc64.java index 089c755a5..a4253a9fd 100644 --- a/src/main/java/noppes/npcs/entity/EntityCustomNpc64.java +++ b/src/main/java/noppes/npcs/entity/EntityCustomNpc64.java @@ -14,7 +14,6 @@ public class EntityCustomNpc64 extends EntityCustomNpc{ public EntityCustomNpc64(World world) { super(world); display.texture = "customnpcs:textures/entity/humanmale/Steve64.png"; - isUpdatedVersion = true; } } diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index df8955457..f3536f887 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -185,8 +185,6 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti public boolean updateClient = false; public boolean updateAI = false; - public boolean isUpdatedVersion = false; - public EntityNPCInterface(World world) { super(world); try{ diff --git a/src/main/resources/assets/customnpcs/lang/en_US.lang b/src/main/resources/assets/customnpcs/lang/en_US.lang index 56d3a0c7d..7704c581d 100644 --- a/src/main/resources/assets/customnpcs/lang/en_US.lang +++ b/src/main/resources/assets/customnpcs/lang/en_US.lang @@ -173,6 +173,7 @@ display.selectTexture=Select Texture display.livingAnimation=Has a living animation display.visible=Visible display.bossbar=BossBar +display.squareTexture=Square Texture display.url=Url inv.minExp=Min Exp