From ab79ef1d6d1ffb7e37a5fb5a19809c5ef5bc105a Mon Sep 17 00:00:00 2001 From: screret <68943070+screret@users.noreply.github.com> Date: Sun, 15 Feb 2026 16:16:20 +0200 Subject: [PATCH] fix KJS builders using `volatile` instead of `transient` for hidden fields --- .../builders/machine/KJSSteamMachineBuilder.java | 10 +++++----- .../machine/KJSTieredMachineBuilder.java | 16 ++++++++-------- .../machine/KJSTieredMultiblockBuilder.java | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java index c0c4b7a5f6a..410c7d86043 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSSteamMachineBuilder.java @@ -24,14 +24,14 @@ public class KJSSteamMachineBuilder extends BuilderBase { @Setter - public volatile boolean hasLowPressure = true, hasHighPressure = true; + public transient boolean hasLowPressure = true, hasHighPressure = true; @Setter - public volatile SteamCreationFunction machine = SimpleSteamMachine::new; + public transient SteamCreationFunction machine = SimpleSteamMachine::new; @Setter - public volatile SteamDefinitionFunction definition = (isHP, def) -> def.tier(isHP ? 1 : 0); + public transient SteamDefinitionFunction definition = (isHP, def) -> def.tier(isHP ? 1 : 0); - private volatile MachineBuilder lowPressureBuilder = null, highPressureBuilder = null; - private volatile MachineDefinition hpValue = null; + private transient MachineBuilder lowPressureBuilder = null, highPressureBuilder = null; + private transient MachineDefinition hpValue = null; public KJSSteamMachineBuilder(ResourceLocation id) { super(id); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java index ca8fd0178b1..1151cabefd5 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMachineBuilder.java @@ -34,21 +34,21 @@ public class KJSTieredMachineBuilder extends BuilderBase { private final MachineBuilder[] builders = new MachineBuilder[TIER_COUNT]; @Setter - public volatile int[] tiers = GTMachineUtils.ELECTRIC_TIERS; + public transient int[] tiers = GTMachineUtils.ELECTRIC_TIERS; @Setter - public volatile TieredCreationFunction machine; + public transient TieredCreationFunction machine; @Setter - public volatile DefinitionFunction definition = (tier, def) -> def.tier(tier); + public transient DefinitionFunction definition = (tier, def) -> def.tier(tier); @Setter - public volatile Int2IntFunction tankScalingFunction = GTMachineUtils.defaultTankSizeFunction; + public transient Int2IntFunction tankScalingFunction = GTMachineUtils.defaultTankSizeFunction; @Setter - public volatile boolean addDefaultTooltips = true; + public transient boolean addDefaultTooltips = true; @Setter - public volatile boolean addDefaultModel = true; + public transient boolean addDefaultModel = true; @Setter - public volatile boolean isGenerator = false; + public transient boolean isGenerator = false; - public volatile BiFunction editableUI; + public transient BiFunction editableUI; public KJSTieredMachineBuilder(ResourceLocation id) { super(id); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java index 21d1cba61c2..4961497b932 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/KJSTieredMultiblockBuilder.java @@ -29,11 +29,11 @@ public class KJSTieredMultiblockBuilder extends BuilderBase def.tier(tier); + public transient DefinitionFunction definition = (tier, def) -> def.tier(tier); public KJSTieredMultiblockBuilder(ResourceLocation id) { super(id);