improve create pane content calls with overrides

also fixes a bug where the wrong one was used on accident
This commit is contained in:
OMGeeky
2025-09-23 20:10:30 +02:00
parent 3b99a94654
commit b2003bfc38
3 changed files with 15 additions and 14 deletions

View File

@@ -102,9 +102,10 @@ public class CommonEditor {
super(title, editor, applyToHint, applyToTargetHint); super(title, editor, applyToHint, applyToTargetHint);
} }
void createHitReceivedEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) { @Override
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e; effect = e;
createHitEffectPaneContent(listener, writable, e); super.createPaneContent(listener, writable, e);
} }
@Override @Override
@@ -168,10 +169,11 @@ public class CommonEditor {
} }
} }
void createHitEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) { @Override
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e; effect = e;
hitTargetConditionPane.conditionsModel = new TargetTimedConditionsListModel(e); hitTargetConditionPane.conditionsModel = new TargetTimedConditionsListModel(e);
createDeathEffectPaneContent(listener, writable, e); super.createPaneContent(listener, writable, e);
} }
@Override @Override
@@ -244,8 +246,7 @@ public class CommonEditor {
this.applyToHint = String.format(" (%s)", applyToHint); this.applyToHint = String.format(" (%s)", applyToHint);
} }
} }
public void createPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
void createDeathEffectPaneContent(FieldUpdateListener listener, boolean writable, EFFECT e) {
effect = e; effect = e;
sourceConditionPane.conditionsModel = new SourceTimedConditionsListModel(e); sourceConditionPane.conditionsModel = new SourceTimedConditionsListModel(e);

View File

@@ -161,23 +161,23 @@ public class ItemEditor extends JSONElementEditor {
} }
HitEffect hitEffect = Objects.requireNonNullElseGet(item.hit_effect, HitEffect::new); HitEffect hitEffect = Objects.requireNonNullElseGet(item.hit_effect, HitEffect::new);
hitEffectPane.createHitEffectPaneContent(listener, item.writable, hitEffect); hitEffectPane.createPaneContent(listener, item.writable, hitEffect);
pane.add(hitEffectPane.effectPane, JideBoxLayout.FIX); pane.add(hitEffectPane.effectPane, JideBoxLayout.FIX);
DeathEffect killEffect = Objects.requireNonNullElseGet(item.kill_effect, DeathEffect::new); DeathEffect killEffect = Objects.requireNonNullElseGet(item.kill_effect, DeathEffect::new);
killEffectPane.createDeathEffectPaneContent(listener, item.writable, killEffect); killEffectPane.createPaneContent(listener, item.writable, killEffect);
pane.add(killEffectPane.effectPane, JideBoxLayout.FIX); pane.add(killEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(item.hit_received_effect, HitReceivedEffect::new); HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(item.hit_received_effect, HitReceivedEffect::new);
hitReceivedEffectPane.createHitReceivedEffectPaneContent(listener, item.writable, hitReceivedEffect); hitReceivedEffectPane.createPaneContent(listener, item.writable, hitReceivedEffect);
pane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX); pane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect missEffect = Objects.requireNonNullElseGet(item.miss_effect, HitReceivedEffect::new); HitReceivedEffect missEffect = Objects.requireNonNullElseGet(item.miss_effect, HitReceivedEffect::new);
missEffectPane.createHitEffectPaneContent(listener, item.writable, missEffect); missEffectPane.createPaneContent(listener, item.writable, missEffect);
pane.add(missEffectPane.effectPane, JideBoxLayout.FIX); pane.add(missEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect missReceivedEffect = Objects.requireNonNullElseGet(item.miss_received_effect, HitReceivedEffect::new); HitReceivedEffect missReceivedEffect = Objects.requireNonNullElseGet(item.miss_received_effect, HitReceivedEffect::new);
missReceivedEffectPane.createHitReceivedEffectPaneContent(listener, item.writable, missReceivedEffect); missReceivedEffectPane.createPaneContent(listener, item.writable, missReceivedEffect);
pane.add(missReceivedEffectPane.effectPane, JideBoxLayout.FIX); pane.add(missReceivedEffectPane.effectPane, JideBoxLayout.FIX);
if (item.category == null || item.category.action_type == null || item.category.action_type == ItemCategory.ActionType.none) { if (item.category == null || item.category.action_type == null || item.category.action_type == ItemCategory.ActionType.none) {

View File

@@ -150,15 +150,15 @@ public class NPCEditor extends JSONElementEditor {
dmgRes = addIntegerField(combatTraitPane, "Damage resistance: ", npc.damage_resistance, false, npc.writable, listener); dmgRes = addIntegerField(combatTraitPane, "Damage resistance: ", npc.damage_resistance, false, npc.writable, listener);
HitEffect hitEffect = Objects.requireNonNullElseGet(npc.hit_effect, HitEffect::new); HitEffect hitEffect = Objects.requireNonNullElseGet(npc.hit_effect, HitEffect::new);
hitEffectPane.createHitEffectPaneContent(listener, npc.writable, hitEffect); hitEffectPane.createPaneContent(listener, npc.writable, hitEffect);
combatTraitPane.add(hitEffectPane.effectPane, JideBoxLayout.FIX); combatTraitPane.add(hitEffectPane.effectPane, JideBoxLayout.FIX);
HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(npc.hit_received_effect, HitReceivedEffect::new); HitReceivedEffect hitReceivedEffect = Objects.requireNonNullElseGet(npc.hit_received_effect, HitReceivedEffect::new);
hitReceivedEffectPane.createHitReceivedEffectPaneContent(listener, npc.writable, hitReceivedEffect); hitReceivedEffectPane.createPaneContent(listener, npc.writable, hitReceivedEffect);
combatTraitPane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX); combatTraitPane.add(hitReceivedEffectPane.effectPane, JideBoxLayout.FIX);
DeathEffect deathEffect = Objects.requireNonNullElseGet(npc.death_effect, DeathEffect::new); DeathEffect deathEffect = Objects.requireNonNullElseGet(npc.death_effect, DeathEffect::new);
deathEffectPane.createDeathEffectPaneContent(listener, npc.writable, deathEffect); deathEffectPane.createPaneContent(listener, npc.writable, deathEffect);
combatTraitPane.add(deathEffectPane.effectPane, JideBoxLayout.FIX); combatTraitPane.add(deathEffectPane.effectPane, JideBoxLayout.FIX);
pane.add(combatTraitPane, JideBoxLayout.FIX); pane.add(combatTraitPane, JideBoxLayout.FIX);