From 6daeb6893daf871cc48d0036b2f1fe302bc16420 Mon Sep 17 00:00:00 2001 From: 90 Date: Mon, 29 Apr 2024 16:15:39 +0100 Subject: [PATCH] Mildly refactor pattern and key classes --- src/main/java/gripe/_90/appliede/key/EMCKey.java | 10 +++++++++- src/main/java/gripe/_90/appliede/key/EMCKeyType.java | 4 ++-- .../appliede/module/CompositeKnowledgeProvider.java | 1 - .../java/gripe/_90/appliede/module/EMCModulePart.java | 5 ++--- .../java/gripe/_90/appliede/module/EMCStorage.java | 4 ++-- .../gripe/_90/appliede/module/KnowledgeService.java | 6 +++++- .../{pattern => module}/TransmutationPattern.java | 6 +++--- .../{pattern => module}/TransmutationPatternItem.java | 2 +- 8 files changed, 24 insertions(+), 14 deletions(-) rename src/main/java/gripe/_90/appliede/{pattern => module}/TransmutationPattern.java (92%) rename src/main/java/gripe/_90/appliede/{pattern => module}/TransmutationPatternItem.java (96%) diff --git a/src/main/java/gripe/_90/appliede/key/EMCKey.java b/src/main/java/gripe/_90/appliede/key/EMCKey.java index 6bcfad5..2dc0759 100644 --- a/src/main/java/gripe/_90/appliede/key/EMCKey.java +++ b/src/main/java/gripe/_90/appliede/key/EMCKey.java @@ -19,7 +19,7 @@ public final class EMCKey extends AEKey { private final int tier; - public EMCKey(int tier) { + private EMCKey(int tier) { if (tier <= 0) { throw new IllegalArgumentException("Tier must be positive"); } @@ -27,6 +27,14 @@ public EMCKey(int tier) { this.tier = tier; } + public static EMCKey tier(int tier) { + return new EMCKey(tier); + } + + public static EMCKey base() { + return tier(1); + } + public int getTier() { return tier; } diff --git a/src/main/java/gripe/_90/appliede/key/EMCKeyType.java b/src/main/java/gripe/_90/appliede/key/EMCKeyType.java index fc0bb75..6515697 100644 --- a/src/main/java/gripe/_90/appliede/key/EMCKeyType.java +++ b/src/main/java/gripe/_90/appliede/key/EMCKeyType.java @@ -28,12 +28,12 @@ private EMCKeyType() { @Override public AEKey readFromPacket(FriendlyByteBuf input) { - return new EMCKey(input.readVarInt()); + return EMCKey.tier(input.readVarInt()); } @Override public AEKey loadKeyFromTag(CompoundTag tag) { - return new EMCKey(tag.getInt("tier")); + return EMCKey.tier(tag.getInt("tier")); } @Override diff --git a/src/main/java/gripe/_90/appliede/module/CompositeKnowledgeProvider.java b/src/main/java/gripe/_90/appliede/module/CompositeKnowledgeProvider.java index b199c84..1b1272d 100644 --- a/src/main/java/gripe/_90/appliede/module/CompositeKnowledgeProvider.java +++ b/src/main/java/gripe/_90/appliede/module/CompositeKnowledgeProvider.java @@ -27,7 +27,6 @@ import appeng.api.stacks.AEItemKey; import gripe._90.appliede.AppliedE; -import gripe._90.appliede.pattern.TransmutationPattern; import moze_intel.projecte.api.ItemInfo; import moze_intel.projecte.api.capabilities.IKnowledgeProvider; diff --git a/src/main/java/gripe/_90/appliede/module/EMCModulePart.java b/src/main/java/gripe/_90/appliede/module/EMCModulePart.java index 2fae4c3..1b8580d 100644 --- a/src/main/java/gripe/_90/appliede/module/EMCModulePart.java +++ b/src/main/java/gripe/_90/appliede/module/EMCModulePart.java @@ -40,14 +40,13 @@ import appeng.parts.PartModel; import gripe._90.appliede.AppliedE; -import gripe._90.appliede.pattern.TransmutationPattern; import moze_intel.projecte.api.event.PlayerKnowledgeChangeEvent; public final class EMCModulePart extends AEBasePart implements IStorageProvider, ICraftingProvider, IPriorityHost, IGridTickable { @PartModels - public static final IPartModel MODEL = new PartModel(AppliedE.id("part/emc_module")); + private static final IPartModel MODEL = new PartModel(AppliedE.id("part/emc_module")); private final Object2LongMap outputs = new Object2LongOpenHashMap<>(); @@ -96,7 +95,7 @@ public void mountInventories(IStorageMounts mounts) { var grid = getMainNode().getGrid(); if (grid != null) { - mounts.mount(grid.getService(KnowledgeService.class).getStorage(this)); + mounts.mount(grid.getService(KnowledgeService.class).getStorageToMount(this)); } } diff --git a/src/main/java/gripe/_90/appliede/module/EMCStorage.java b/src/main/java/gripe/_90/appliede/module/EMCStorage.java index 3bc371b..11e20ed 100644 --- a/src/main/java/gripe/_90/appliede/module/EMCStorage.java +++ b/src/main/java/gripe/_90/appliede/module/EMCStorage.java @@ -22,12 +22,12 @@ public void getAvailableStacks(KeyCounter out) { var currentTier = 1; while (emc.divide(AppliedE.TIER_LIMIT).signum() == 1) { - out.add(new EMCKey(currentTier), emc.remainder(AppliedE.TIER_LIMIT).longValue()); + out.add(EMCKey.tier(currentTier), emc.remainder(AppliedE.TIER_LIMIT).longValue()); emc = emc.divide(AppliedE.TIER_LIMIT); currentTier++; } - out.add(new EMCKey(currentTier), emc.min(AppliedE.TIER_LIMIT).longValue()); + out.add(EMCKey.tier(currentTier), emc.min(AppliedE.TIER_LIMIT).longValue()); } @Override diff --git a/src/main/java/gripe/_90/appliede/module/KnowledgeService.java b/src/main/java/gripe/_90/appliede/module/KnowledgeService.java index b692988..5ce08ab 100644 --- a/src/main/java/gripe/_90/appliede/module/KnowledgeService.java +++ b/src/main/java/gripe/_90/appliede/module/KnowledgeService.java @@ -45,7 +45,11 @@ public CompositeKnowledgeProvider getKnowledge() { return knowledge; } - public MEStorage getStorage(EMCModulePart module) { + public MEStorage getStorage() { + return storage; + } + + MEStorage getStorageToMount(EMCModulePart module) { return !modules.isEmpty() && module.equals(modules.get(0)) ? storage : NullInventory.of(); } diff --git a/src/main/java/gripe/_90/appliede/pattern/TransmutationPattern.java b/src/main/java/gripe/_90/appliede/module/TransmutationPattern.java similarity index 92% rename from src/main/java/gripe/_90/appliede/pattern/TransmutationPattern.java rename to src/main/java/gripe/_90/appliede/module/TransmutationPattern.java index 4760e5e..51e0dd6 100644 --- a/src/main/java/gripe/_90/appliede/pattern/TransmutationPattern.java +++ b/src/main/java/gripe/_90/appliede/module/TransmutationPattern.java @@ -1,4 +1,4 @@ -package gripe._90.appliede.pattern; +package gripe._90.appliede.module; import java.util.Objects; @@ -73,7 +73,7 @@ public GenericStack[] getOutputs() { return new GenericStack[] { item != null ? new GenericStack(item, 1) - : new GenericStack(new EMCKey(tier - 1), AppliedE.TIER_LIMIT.longValue()) + : new GenericStack(EMCKey.tier(tier - 1), AppliedE.TIER_LIMIT.longValue()) }; } @@ -90,7 +90,7 @@ public int hashCode() { private record Input(long amount, int tier) implements IInput { @Override public GenericStack[] getPossibleInputs() { - return new GenericStack[] {new GenericStack(new EMCKey(tier), amount)}; + return new GenericStack[] {new GenericStack(EMCKey.tier(tier), amount)}; } @Override diff --git a/src/main/java/gripe/_90/appliede/pattern/TransmutationPatternItem.java b/src/main/java/gripe/_90/appliede/module/TransmutationPatternItem.java similarity index 96% rename from src/main/java/gripe/_90/appliede/pattern/TransmutationPatternItem.java rename to src/main/java/gripe/_90/appliede/module/TransmutationPatternItem.java index c24c10c..005ff8f 100644 --- a/src/main/java/gripe/_90/appliede/pattern/TransmutationPatternItem.java +++ b/src/main/java/gripe/_90/appliede/module/TransmutationPatternItem.java @@ -1,4 +1,4 @@ -package gripe._90.appliede.pattern; +package gripe._90.appliede.module; import org.jetbrains.annotations.Nullable;