From f14337f1bbf398720a9e5b58fa02df8753c61b95 Mon Sep 17 00:00:00 2001 From: luisc Date: Tue, 25 Jan 2022 14:54:15 -0600 Subject: [PATCH] Added config for NPC sizes, default 100. --- src/main/java/noppes/npcs/CustomNpcs.java | 6 ++++++ src/main/java/noppes/npcs/DataDisplay.java | 3 +++ .../java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java | 3 ++- src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java | 4 ++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index e6fb99756..48cd4942a 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -72,6 +72,9 @@ public class CustomNpcs { @ConfigProp(info = "Navigation search range for NPCs. Not recommended to increase if you have a slow pc or on a server. Minimum of 16, maximum of 96.") public static int NpcNavRange = 32; + @ConfigProp(info = "Size limit for NPCs. Default 100, larger sizes may cause lag on clients and servers that can't take it!") + public static int NpcSizeLimit = 100; + @ConfigProp(info = "Set to true if you want the dialog command option to be able to use op commands like tp etc") public static boolean NpcUseOpCommands = false; @@ -171,6 +174,9 @@ public class CustomNpcs { NpcNavRange = 96; } + if(NpcSizeLimit < 1) + NpcSizeLimit = 1; + EnchantInterface.load(); CustomItems.load(); diff --git a/src/main/java/noppes/npcs/DataDisplay.java b/src/main/java/noppes/npcs/DataDisplay.java index 0fceb1a52..32781013b 100644 --- a/src/main/java/noppes/npcs/DataDisplay.java +++ b/src/main/java/noppes/npcs/DataDisplay.java @@ -133,6 +133,9 @@ public class DataDisplay { glowTexture = nbttagcompound.getString("GlowTexture"); modelSize = ValueUtil.CorrectInt(nbttagcompound.getInteger("Size"), 1, Integer.MAX_VALUE); + if(modelSize > CustomNpcs.NpcSizeLimit) + modelSize = CustomNpcs.NpcSizeLimit; + modelType = nbttagcompound.getInteger("modelType"); showName = nbttagcompound.getInteger("ShowName"); 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 4794d6593..ca2055e63 100644 --- a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java +++ b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcDisplay.java @@ -4,6 +4,7 @@ import com.mojang.authlib.GameProfile; import net.minecraft.client.gui.GuiButton; import net.minecraft.nbt.NBTTagCompound; +import noppes.npcs.CustomNpcs; import noppes.npcs.DataDisplay; import noppes.npcs.client.Client; import noppes.npcs.client.NoppesUtil; @@ -56,7 +57,7 @@ public class GuiNpcDisplay extends GuiNPCInterface2 implements ITextfieldListene addLabel(new GuiNpcLabel(2,"display.size", guiLeft + 175, y + 5)); addTextField(new GuiNpcTextField(2,this, fontRendererObj, guiLeft + 203, y, 40, 20, display.modelSize + "")); getTextField(2).integersOnly = true; - getTextField(2).setMinMaxDefault(1, Integer.MAX_VALUE, 5); + getTextField(2).setMinMaxDefault(1, CustomNpcs.NpcSizeLimit, 5); //addLabel(new GuiNpcLabel(3,"(1-30)", guiLeft + 246 , y + 5)); y+=23; diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java index 7145c6bb7..ffa0bbe8c 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java @@ -1,6 +1,7 @@ package noppes.npcs.scripted.entity; import net.minecraft.item.ItemStack; +import noppes.npcs.CustomNpcs; import noppes.npcs.NoppesUtilServer; import noppes.npcs.constants.*; import noppes.npcs.controllers.Line; @@ -53,6 +54,9 @@ public class ScriptNpc extends ScriptLiving imp public void setSize(int size){ if(size < 1) size = 1; + if(size > CustomNpcs.NpcSizeLimit) + size = CustomNpcs.NpcSizeLimit; + npc.display.modelSize = size; npc.script.clientNeedsUpdate = true; }