diff --git a/src/main/java/noppes/npcs/DataDisplay.java b/src/main/java/noppes/npcs/DataDisplay.java index ca5b640dd..b30924c4d 100644 --- a/src/main/java/noppes/npcs/DataDisplay.java +++ b/src/main/java/noppes/npcs/DataDisplay.java @@ -11,6 +11,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.util.StringUtils; import noppes.npcs.config.ConfigMain; import noppes.npcs.controllers.data.AnimationData; +import noppes.npcs.controllers.data.CustomHitboxData; import noppes.npcs.controllers.data.SkinOverlay; import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.entity.data.DataSkinOverlays; @@ -61,12 +62,15 @@ public class DataDisplay { //0 - Yes, 1 - No, 2 - Only NPCs, 3 - Only Players, 4 - NPCs and Players public int collidesWith = 1; + public CustomHitboxData customHitboxData; + public DataDisplay(EntityNPCInterface npc){ this.npc = npc; markovGeneratorId = new Random().nextInt(CustomNpcs.MARKOV_GENERATOR.length-1); skinOverlayData = new DataSkinOverlays(npc); name = getRandomName(); animationData = new AnimationData(this); + customHitboxData = new CustomHitboxData(); } public String getRandomName() { @@ -89,6 +93,8 @@ public class DataDisplay { nbttagcompound = animationData.writeToNBT(nbttagcompound); + nbttagcompound = customHitboxData.writeToNBT(nbttagcompound); + if (this.playerProfile != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); @@ -113,7 +119,6 @@ public class DataDisplay { } nbttagcompound.setTag("InvisibleToList", list); - return nbttagcompound; } public void readToNBT(NBTTagCompound nbttagcompound) { @@ -166,6 +171,8 @@ public class DataDisplay { animationData.readFromNBT(nbttagcompound); + customHitboxData.readFromNBT(nbttagcompound); + modelSize = ValueUtil.clamp(nbttagcompound.getInteger("Size"), 1, Integer.MAX_VALUE); if(modelSize > ConfigMain.NpcSizeLimit) modelSize = ConfigMain.NpcSizeLimit; diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index db10cca8c..213f96d8a 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -1094,7 +1094,10 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti if(width / 2 > worldObj.MAX_ENTITY_RADIUS) { worldObj.MAX_ENTITY_RADIUS = width / 2; } - + if(display.customHitboxData.isCustomHitbox()){ + width = display.customHitboxData.getWidth(); + height = display.customHitboxData.getHeight(); + } this.setPosition(posX, posY, posZ); }