From 61d253638ae707f96f85d3f21a2403bd0bc111e7 Mon Sep 17 00:00:00 2001 From: Kam Date: Sat, 21 Feb 2026 17:10:48 -0500 Subject: [PATCH] Fix Server Side Crash --- .../data/ability/conditions/ConditionHasEffect.java | 7 +++++-- .../data/ability/conditions/ConditionHitCount.java | 4 ++++ .../controllers/data/ability/conditions/ConditionItem.java | 4 ++++ .../data/ability/conditions/ConditionQuestCompleted.java | 7 +++++-- .../data/ability/conditions/ConditionThreshold.java | 4 ++++ src/main/java/noppes/npcs/client/gui/builder/FieldDef.java | 7 ++++--- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHasEffect.java b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHasEffect.java index 124b34bfb..bf98c73c9 100644 --- a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHasEffect.java +++ b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHasEffect.java @@ -1,5 +1,7 @@ package kamkeel.npcs.controllers.data.ability.conditions; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import kamkeel.npcs.controllers.data.ability.UserType; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -7,7 +9,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import noppes.npcs.client.gui.advanced.SubGuiCustomEffectSelect; import noppes.npcs.client.gui.builder.FieldDef; -import noppes.npcs.client.gui.util.SubGuiInterface; import noppes.npcs.controllers.CustomEffectController; import noppes.npcs.controllers.data.CustomEffect; @@ -33,11 +34,12 @@ public class ConditionHasEffect extends AbilityCondition { return CustomEffectController.getInstance().hasEffect(player, effectId, effectIndex); } + @SideOnly(Side.CLIENT) @Override public void getConditionDefinitions(List defs) { defs.add(FieldDef.subGuiField("condition.select_effect", () -> new SubGuiCustomEffectSelect(effectId, effectIndex), - (SubGuiInterface gui) -> { + gui -> { SubGuiCustomEffectSelect sel = (SubGuiCustomEffectSelect) gui; if (sel.getSelectedEffectId() >= 0) { effectId = sel.getSelectedEffectId(); @@ -55,6 +57,7 @@ public class ConditionHasEffect extends AbilityCondition { })); } + @SideOnly(Side.CLIENT) @Override public String getConditionSummary() { String filterLabel = StatCollector.translateToLocal(getFilter().toString()); diff --git a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHitCount.java b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHitCount.java index 8a326a16c..5678e66df 100644 --- a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHitCount.java +++ b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionHitCount.java @@ -1,5 +1,7 @@ package kamkeel.npcs.controllers.data.ability.conditions; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityLivingBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; @@ -52,12 +54,14 @@ public class ConditionHitCount extends AbilityCondition { this.withinTicks = Math.max(0, withinTicks); } + @SideOnly(Side.CLIENT) @Override public void getConditionDefinitions(List defs) { defs.add(FieldDef.intField("condition.required_hits", this::getRequiredHits, this::setRequiredHits).min(1)); defs.add(FieldDef.intField("condition.within_ticks", this::getWithinTicks, this::setWithinTicks).min(0)); } + @SideOnly(Side.CLIENT) @Override public String getConditionSummary() { String filterLabel = StatCollector.translateToLocal(getFilter().toString()); diff --git a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionItem.java b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionItem.java index a137304ef..f7827d1c3 100644 --- a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionItem.java +++ b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionItem.java @@ -1,5 +1,7 @@ package kamkeel.npcs.controllers.data.ability.conditions; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -127,6 +129,7 @@ public class ConditionItem extends AbilityCondition { return itemName.equals(registryName); } + @SideOnly(Side.CLIENT) @Override public void getConditionDefinitions(List defs) { defs.add(FieldDef.enumField("condition.usage_type", UsageType.class, @@ -150,6 +153,7 @@ public class ConditionItem extends AbilityCondition { // .hover("condition.hover.required_count")); } + @SideOnly(Side.CLIENT) @Override public String getConditionSummary() { String filterLabel = StatCollector.translateToLocal(getFilter().toString()); diff --git a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionQuestCompleted.java b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionQuestCompleted.java index 213358ca5..d47e19506 100644 --- a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionQuestCompleted.java +++ b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionQuestCompleted.java @@ -1,5 +1,7 @@ package kamkeel.npcs.controllers.data.ability.conditions; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import kamkeel.npcs.controllers.data.ability.UserType; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -7,7 +9,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import noppes.npcs.client.gui.builder.FieldDef; import noppes.npcs.client.gui.select.GuiQuestSelection; -import noppes.npcs.client.gui.util.SubGuiInterface; import noppes.npcs.controllers.QuestController; import noppes.npcs.controllers.data.PlayerData; import noppes.npcs.controllers.data.Quest; @@ -32,11 +33,12 @@ public class ConditionQuestCompleted extends AbilityCondition { return PlayerData.get(player).questData.hasFinishedQuest(questId); } + @SideOnly(Side.CLIENT) @Override public void getConditionDefinitions(List defs) { defs.add(FieldDef.subGuiField("condition.select_quest", () -> new GuiQuestSelection(questId), - (SubGuiInterface gui) -> { + gui -> { GuiQuestSelection sel = (GuiQuestSelection) gui; if (sel.selectedQuest != null) { questId = sel.selectedQuest.id; @@ -50,6 +52,7 @@ public class ConditionQuestCompleted extends AbilityCondition { .clearable(() -> questId = -1)); } + @SideOnly(Side.CLIENT) @Override public String getConditionSummary() { String filterLabel = StatCollector.translateToLocal(getFilter().toString()); diff --git a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionThreshold.java b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionThreshold.java index aaa4a6b06..148b0f7b5 100644 --- a/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionThreshold.java +++ b/src/main/java/kamkeel/npcs/controllers/data/ability/conditions/ConditionThreshold.java @@ -1,5 +1,7 @@ package kamkeel.npcs.controllers.data.ability.conditions; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityLivingBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; @@ -95,6 +97,7 @@ public abstract class ConditionThreshold extends AbilityCondition { return thresholdType.test(value, threshold); } + @SideOnly(Side.CLIENT) @Override public void getConditionDefinitions(List defs) { defs.add(FieldDef.floatField("condition.threshold_flat", this::getThresholdFlat, this::setThresholdFlat) @@ -122,6 +125,7 @@ public abstract class ConditionThreshold extends AbilityCondition { thresholdType = ThresholdType.fromOrdinal(nbt.getInteger("thresholdType")); } + @SideOnly(Side.CLIENT) @Override public String getConditionSummary() { String filterLabel = StatCollector.translateToLocal(getFilter().toString()); diff --git a/src/main/java/noppes/npcs/client/gui/builder/FieldDef.java b/src/main/java/noppes/npcs/client/gui/builder/FieldDef.java index 66e433f45..757c37470 100644 --- a/src/main/java/noppes/npcs/client/gui/builder/FieldDef.java +++ b/src/main/java/noppes/npcs/client/gui/builder/FieldDef.java @@ -118,10 +118,11 @@ public class FieldDef { return def; } - public static FieldDef subGuiField(String label, Supplier factory, Consumer resultHandler) { + @SuppressWarnings("unchecked") + public static FieldDef subGuiField(String label, Supplier factory, Consumer resultHandler) { FieldDef def = new FieldDef(label, FieldType.SUB_GUI); - def.subGuiFactory = factory; - def.subGuiResultHandler = resultHandler; + def.subGuiFactory = (Supplier) (Supplier) factory; + def.subGuiResultHandler = (Consumer) (Consumer) resultHandler; return def; }