diff --git a/src/main/java/com/minelittlepony/pony/data/Pony.java b/src/main/java/com/minelittlepony/pony/data/Pony.java index f7c6730f..f39109be 100644 --- a/src/main/java/com/minelittlepony/pony/data/Pony.java +++ b/src/main/java/com/minelittlepony/pony/data/Pony.java @@ -127,7 +127,7 @@ public class Pony { } public PonyRace getRace(boolean ignorePony) { - return metadata.getRace().getEffectiveRace(MineLittlePony.getConfig().getEffectivePonyLevel(ignorePony)); + return metadata.getRace().getEffectiveRace(ignorePony); } public ResourceLocation getTexture() { diff --git a/src/main/java/com/minelittlepony/pony/data/PonyData.java b/src/main/java/com/minelittlepony/pony/data/PonyData.java index 6cdbb674..62c78af6 100644 --- a/src/main/java/com/minelittlepony/pony/data/PonyData.java +++ b/src/main/java/com/minelittlepony/pony/data/PonyData.java @@ -62,7 +62,7 @@ public class PonyData implements IPonyData { @Override public PonySize getSize() { - return MineLittlePony.getConfig().sizes ? size : PonySize.NORMAL; + return size.getEffectiveSize(); } @Override @@ -72,7 +72,7 @@ public class PonyData implements IPonyData { @Override public boolean hasMagic() { - return race != null && getRace().hasHorn() && getGlowColor() != 0; + return race != null && getRace().getEffectiveRace(false).hasHorn() && getGlowColor() != 0; } @Override diff --git a/src/main/java/com/minelittlepony/pony/data/PonyRace.java b/src/main/java/com/minelittlepony/pony/data/PonyRace.java index 3f9f5a01..35f9fe7a 100644 --- a/src/main/java/com/minelittlepony/pony/data/PonyRace.java +++ b/src/main/java/com/minelittlepony/pony/data/PonyRace.java @@ -1,5 +1,6 @@ package com.minelittlepony.pony.data; +import com.minelittlepony.MineLittlePony; import com.minelittlepony.model.player.PlayerModels; public enum PonyRace implements ITriggerPixelMapped { @@ -67,8 +68,8 @@ public enum PonyRace implements ITriggerPixelMapped { * PonyLevel.BOTH is no change. * PonyLevel.PONIES (should) return a pony if this is a human. Don't be fooled, though. It doesn't. */ - public PonyRace getEffectiveRace(PonyLevel level) { - if (level == PonyLevel.HUMANS) return HUMAN; + public PonyRace getEffectiveRace(boolean ignorePony) { + if (MineLittlePony.getConfig().getEffectivePonyLevel(ignorePony) == PonyLevel.HUMANS) return HUMAN; return this; } diff --git a/src/main/java/com/minelittlepony/pony/data/PonySize.java b/src/main/java/com/minelittlepony/pony/data/PonySize.java index bd336f1f..38b08264 100644 --- a/src/main/java/com/minelittlepony/pony/data/PonySize.java +++ b/src/main/java/com/minelittlepony/pony/data/PonySize.java @@ -40,4 +40,8 @@ public enum PonySize implements ITriggerPixelMapped { public int getTriggerPixel() { return triggerValue; } + + public PonySize getEffectiveSize() { + return MineLittlePony.getConfig().sizes ? this : PonySize.NORMAL; + } }