Skip to content

Commit b1c359f

Browse files
committed
refactor: 使用FieldHolderMap避免显式创建MANAGED_FIELD_HOLDER
1 parent 292a202 commit b1c359f

127 files changed

Lines changed: 90 additions & 1124 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

gradle/scripts/spotless.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// Can be locally toggled via spotless:off/spotless:on comments
44
spotless {
55
encoding 'UTF-8'
6-
ratchetFrom 'origin/1.20.1'
6+
// ratchetFrom 'origin/1.20.1'
77

88
format 'misc', {
99
target '.gitignore'

src/main/java/com/gregtechceu/gtceu/api/blockentity/MetaMachineBlockEntity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.gregtechceu.gtceu.client.model.IBlockEntityRendererBakedModel;
1717
import com.gregtechceu.gtceu.client.model.machine.MachineRenderState;
1818

19+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
1920
import com.lowdragmc.lowdraglib.gui.texture.ResourceTexture;
2021
import com.lowdragmc.lowdraglib.syncdata.IManaged;
2122
import com.lowdragmc.lowdraglib.syncdata.annotation.DescSynced;
@@ -54,8 +55,7 @@
5455

5556
public class MetaMachineBlockEntity extends BlockEntity implements IMachineBlockEntity, IManaged {
5657

57-
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(
58-
MetaMachineBlockEntity.class);
58+
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(MetaMachineBlockEntity.class);
5959

6060
public final MultiManagedStorage managedStorage = new MultiManagedStorage();
6161
@Getter
@@ -84,7 +84,7 @@ public MultiManagedStorage getRootStorage() {
8484

8585
@Override
8686
public ManagedFieldHolder getFieldHolder() {
87-
return MANAGED_FIELD_HOLDER;
87+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
8888
}
8989

9090
@Override

src/main/java/com/gregtechceu/gtceu/api/blockentity/PipeBlockEntity.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import com.lowdragmc.lowdraglib.syncdata.field.FieldManagedStorage;
2828
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
2929

30+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
31+
3032
import net.minecraft.MethodsReturnNonnullByDefault;
3133
import net.minecraft.core.BlockPos;
3234
import net.minecraft.core.Direction;
@@ -64,7 +66,8 @@ public abstract class PipeBlockEntity<PipeType extends Enum<PipeType> & IPipeTyp
6466
IAsyncAutoSyncBlockEntity, IAutoPersistBlockEntity, IToolGridHighlight, IToolable,
6567
ICopyable {
6668

67-
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(PipeBlockEntity.class);
69+
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(PipeBlockEntity.class);
70+
6871
@Getter
6972
private final FieldManagedStorage syncStorage = new FieldManagedStorage(this);
7073
private final long offset = GTValues.RNG.nextInt(20);
@@ -118,13 +121,13 @@ public void scheduleRenderUpdate() {
118121
}
119122

120123
@Override
121-
public IManagedStorage getRootStorage() {
122-
return syncStorage;
124+
public ManagedFieldHolder getFieldHolder() {
125+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
123126
}
124127

125128
@Override
126-
public ManagedFieldHolder getFieldHolder() {
127-
return MANAGED_FIELD_HOLDER;
129+
public IManagedStorage getRootStorage() {
130+
return syncStorage;
128131
}
129132

130133
@Override

src/main/java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import com.lowdragmc.lowdraglib.syncdata.field.FieldManagedStorage;
2020
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
2121

22+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
23+
2224
import net.minecraft.MethodsReturnNonnullByDefault;
2325
import net.minecraft.core.BlockPos;
2426
import net.minecraft.core.Direction;
@@ -51,7 +53,7 @@
5153
@MethodsReturnNonnullByDefault
5254
public abstract class CoverBehavior implements IEnhancedManaged, IToolGridHighlight, ICopyable {
5355

54-
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(CoverBehavior.class);
56+
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(CoverBehavior.class);
5557

5658
@Getter
5759
private final FieldManagedStorage syncStorage = new FieldManagedStorage(this);
@@ -82,7 +84,7 @@ public void scheduleRenderUpdate() {
8284

8385
@Override
8486
public ManagedFieldHolder getFieldHolder() {
85-
return MANAGED_FIELD_HOLDER;
87+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
8688
}
8789

8890
@Override

src/main/java/com/gregtechceu/gtceu/api/cover/filter/FilterHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import com.lowdragmc.lowdraglib.syncdata.field.FieldManagedStorage;
1818
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
1919

20+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
21+
2022
import net.minecraft.MethodsReturnNonnullByDefault;
2123
import net.minecraft.world.item.ItemStack;
2224

@@ -187,14 +189,14 @@ private void updateFilterGroupUI() {
187189
// ***** LDLib SyncData ******//
188190
//////////////////////////////////////
189191

190-
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(FilterHandler.class);
192+
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(FilterHandler.class);
191193

192194
@Getter
193195
private final FieldManagedStorage syncStorage = new FieldManagedStorage(this);
194196

195197
@Override
196198
public ManagedFieldHolder getFieldHolder() {
197-
return MANAGED_FIELD_HOLDER;
199+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
198200
}
199201

200202
@Override

src/main/java/com/gregtechceu/gtceu/api/machine/MachineCoverContainer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
1818
import com.lowdragmc.lowdraglib.syncdata.managed.IRef;
1919

20+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
21+
2022
import net.minecraft.core.BlockPos;
2123
import net.minecraft.core.Direction;
2224
import net.minecraft.nbt.CompoundTag;
@@ -32,7 +34,7 @@
3234

3335
public class MachineCoverContainer implements ICoverable, IEnhancedManaged {
3436

35-
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(MachineCoverContainer.class);
37+
public static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(MachineCoverContainer.class);
3638
@Getter
3739
private final FieldManagedStorage syncStorage = new FieldManagedStorage(this);
3840
@Getter
@@ -58,7 +60,7 @@ private void onCoverSet(CoverBehavior newValue, CoverBehavior oldValue) {
5860

5961
@Override
6062
public ManagedFieldHolder getFieldHolder() {
61-
return MANAGED_FIELD_HOLDER;
63+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
6264
}
6365

6466
@Override

src/main/java/com/gregtechceu/gtceu/api/machine/MetaMachine.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.gregtechceu.gtceu.common.machine.owner.MachineOwner;
3535
import com.gregtechceu.gtceu.common.machine.owner.PlayerOwner;
3636

37+
import com.gregtechceu.gtceu.utils.ManagedFieldHolderMap;
3738
import com.lowdragmc.lowdraglib.gui.texture.IGuiTexture;
3839
import com.lowdragmc.lowdraglib.gui.texture.ResourceTexture;
3940
import com.lowdragmc.lowdraglib.syncdata.IEnhancedManaged;
@@ -99,7 +100,7 @@
99100
public class MetaMachine implements IEnhancedManaged, IToolable, ITickSubscription, IToolGridHighlight,
100101
IFancyTooltip, IPaintable, IRedstoneSignalMachine, ICopyable {
101102

102-
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(MetaMachine.class);
103+
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = ManagedFieldHolderMap.createManagedFieldHolder(MetaMachine.class);
103104
@Getter
104105
private final FieldManagedStorage syncStorage = new FieldManagedStorage(this);
105106
@Setter
@@ -142,7 +143,7 @@ public MetaMachine(IMachineBlockEntity holder) {
142143

143144
@Override
144145
public ManagedFieldHolder getFieldHolder() {
145-
return MANAGED_FIELD_HOLDER;
146+
return ManagedFieldHolderMap.getManagedFieldHolder(getClass());
146147
}
147148

148149
@Override

src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import com.lowdragmc.lowdraglib.syncdata.annotation.DescSynced;
3535
import com.lowdragmc.lowdraglib.syncdata.annotation.Persisted;
3636
import com.lowdragmc.lowdraglib.syncdata.annotation.RequireRerender;
37-
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
3837
import com.lowdragmc.lowdraglib.utils.Position;
3938

4039
import net.minecraft.Util;
@@ -69,9 +68,6 @@
6968
public class SimpleTieredMachine extends WorkableTieredMachine
7069
implements IAutoOutputBoth, IFancyUIMachine, IHasCircuitSlot {
7170

72-
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(SimpleTieredMachine.class,
73-
WorkableTieredMachine.MANAGED_FIELD_HOLDER);
74-
7571
@Persisted
7672
@DescSynced
7773
@RequireRerender
@@ -121,11 +117,6 @@ public SimpleTieredMachine(IMachineBlockEntity holder, int tier, Int2IntFunction
121117
//////////////////////////////////////
122118
// ***** Initialization ******//
123119
//////////////////////////////////////
124-
@Override
125-
public ManagedFieldHolder getFieldHolder() {
126-
return MANAGED_FIELD_HOLDER;
127-
}
128-
129120
protected CustomItemStackHandler createChargerItemHandler(Object... args) {
130121
var handler = new CustomItemStackHandler() {
131122

src/main/java/com/gregtechceu/gtceu/api/machine/TieredEnergyMachine.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import com.lowdragmc.lowdraglib.gui.widget.ProgressWidget;
1414
import com.lowdragmc.lowdraglib.syncdata.annotation.DescSynced;
1515
import com.lowdragmc.lowdraglib.syncdata.annotation.Persisted;
16-
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
1716

1817
import net.minecraft.MethodsReturnNonnullByDefault;
1918
import net.minecraft.util.Mth;
@@ -24,8 +23,6 @@
2423
@MethodsReturnNonnullByDefault
2524
public class TieredEnergyMachine extends TieredMachine implements ITieredMachine, IExplosionMachine {
2625

27-
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(TieredEnergyMachine.class,
28-
MetaMachine.MANAGED_FIELD_HOLDER);
2926
@Persisted
3027
@DescSynced
3128
public final NotifiableEnergyContainer energyContainer;
@@ -39,11 +36,6 @@ public TieredEnergyMachine(IMachineBlockEntity holder, int tier, Object... args)
3936
//////////////////////////////////////
4037
// ***** Initialization ******//
4138
//////////////////////////////////////
42-
@Override
43-
public ManagedFieldHolder getFieldHolder() {
44-
return MANAGED_FIELD_HOLDER;
45-
}
46-
4739
protected NotifiableEnergyContainer createEnergyContainer(Object... args) {
4840
long tierVoltage = GTValues.V[tier];
4941
if (isEnergyEmitter()) {

src/main/java/com/gregtechceu/gtceu/api/machine/WorkableTieredMachine.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import com.lowdragmc.lowdraglib.syncdata.ISubscription;
1111
import com.lowdragmc.lowdraglib.syncdata.annotation.DescSynced;
1212
import com.lowdragmc.lowdraglib.syncdata.annotation.Persisted;
13-
import com.lowdragmc.lowdraglib.syncdata.field.ManagedFieldHolder;
1413

1514
import com.mojang.blaze3d.MethodsReturnNonnullByDefault;
1615
import it.unimi.dsi.fastutil.ints.Int2IntFunction;
@@ -30,9 +29,6 @@
3029
public abstract class WorkableTieredMachine extends TieredEnergyMachine implements IRecipeLogicMachine,
3130
IMachineLife, IMufflableMachine, IOverclockMachine {
3231

33-
protected static final ManagedFieldHolder MANAGED_FIELD_HOLDER = new ManagedFieldHolder(WorkableTieredMachine.class,
34-
TieredEnergyMachine.MANAGED_FIELD_HOLDER);
35-
3632
@Getter
3733
@Persisted
3834
@DescSynced
@@ -98,11 +94,6 @@ public WorkableTieredMachine(IMachineBlockEntity holder, int tier, Int2IntFuncti
9894
//////////////////////////////////////
9995
// ***** Initialization ******//
10096
//////////////////////////////////////
101-
@Override
102-
public ManagedFieldHolder getFieldHolder() {
103-
return MANAGED_FIELD_HOLDER;
104-
}
105-
10697
@Override
10798
protected NotifiableEnergyContainer createEnergyContainer(Object... args) {
10899
long tierVoltage = GTValues.V[getTier()];

0 commit comments

Comments
 (0)