diff --git a/src/main/java/noppes/npcs/config/ConfigExperimental.java b/src/main/java/noppes/npcs/config/ConfigExperimental.java index da2fd0019..28d757552 100644 --- a/src/main/java/noppes/npcs/config/ConfigExperimental.java +++ b/src/main/java/noppes/npcs/config/ConfigExperimental.java @@ -14,6 +14,8 @@ public class ConfigExperimental { public final static String SERVER = "Server"; public static Property ModernGuiSystemProperty; public static boolean ModernGuiSystem = false; + public static Property LegacyDropProperty; + public static boolean LegacyDrop = false; public static void init(File configFile) { @@ -24,6 +26,8 @@ public static void init(File configFile) { ModernGuiSystemProperty = config.get(CLIENT, "Experimental Dialog GUI", false, "Enables the new CNPC+ Modern GUI for Dialog and Quest information"); ModernGuiSystem = ModernGuiSystemProperty.getBoolean(false); + LegacyDropProperty = config.get(SERVER, "Use Legacy DropItem for npc", false, "Use Legacy Drop Item for NPCs for compatibility"); + LegacyDrop = LegacyDropProperty.getBoolean(false); } catch (Exception e) { FMLLog.log(Level.ERROR, e, "CNPC+ has had a problem loading its experimental configuration"); } finally { diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index 77927d4b1..e278cac2c 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -128,6 +128,7 @@ import noppes.npcs.api.handler.data.ILine; import noppes.npcs.api.item.IItemStack; import noppes.npcs.client.EntityUtil; +import noppes.npcs.config.ConfigExperimental; import noppes.npcs.config.ConfigMain; import noppes.npcs.config.ConfigScript; import noppes.npcs.constants.EnumAnimation; @@ -1539,9 +1540,14 @@ else if ((entity instanceof EntityThrowable)) } droppedXp = event.expDropped; - if (this.recentlyHit > 0) { + if (ConfigExperimental.LegacyDrop) { inventory.dropItems(entity, droppedItems); + } + if (this.recentlyHit > 0) { inventory.dropXp(entity, droppedXp); + if (!ConfigExperimental.LegacyDrop) { + inventory.dropItems(entity, droppedItems); + } } Line line = advanced.getKilledLine(); if (line != null)