From 3bdf62b7005d6e7fb2f56df099129ad557fd7142 Mon Sep 17 00:00:00 2001 From: Ghzdude <44148655+ghzdude@users.noreply.github.com> Date: Fri, 26 Jul 2024 14:40:27 -0700 Subject: [PATCH] refactor IMultiblockAbilityPart to reduce list instantiations --- .../impl/DistillationTowerLogicHandler.java | 6 ++++-- .../multiblock/IMultiblockAbilityPart.java | 3 +-- .../multiblock/MultiblockControllerBase.java | 2 +- .../electric/MetaTileEntityDiode.java | 8 ++++---- .../metatileentities/electric/MetaTileEntityHull.java | 8 ++++---- .../multi/MetaTileEntityPumpHatch.java | 8 ++++---- .../multi/MetaTileEntityTankValve.java | 8 ++++---- .../MetaTileEntityAutoMaintenanceHatch.java | 8 ++++---- .../MetaTileEntityComputationHatch.java | 8 ++++---- .../multiblockpart/MetaTileEntityDataAccessHatch.java | 7 ++++--- .../multiblockpart/MetaTileEntityEnergyHatch.java | 8 ++++---- .../multiblockpart/MetaTileEntityFluidHatch.java | 8 ++++---- .../multi/multiblockpart/MetaTileEntityItemBus.java | 11 +++++------ .../multiblockpart/MetaTileEntityLaserHatch.java | 7 ++++--- .../multiblockpart/MetaTileEntityMachineHatch.java | 8 ++++---- .../MetaTileEntityMaintenanceHatch.java | 8 ++++---- .../multiblockpart/MetaTileEntityMufflerHatch.java | 8 ++++---- .../multiblockpart/MetaTileEntityMultiFluidHatch.java | 7 ++++--- .../multiblockpart/MetaTileEntityObjectHolder.java | 8 ++++---- .../MetaTileEntityOpticalDataHatch.java | 8 ++++---- .../MetaTileEntityPassthroughHatchFluid.java | 8 ++++---- .../MetaTileEntityPassthroughHatchItem.java | 8 ++++---- .../multiblockpart/MetaTileEntityReservoirHatch.java | 8 ++++---- .../multiblockpart/MetaTileEntityRotorHolder.java | 8 ++++---- .../appeng/MetaTileEntityMEInputBus.java | 8 ++++---- .../appeng/MetaTileEntityMEInputHatch.java | 8 ++++---- .../appeng/MetaTileEntityMEOutputBus.java | 8 ++++---- .../appeng/MetaTileEntityMEOutputHatch.java | 8 ++++---- .../hpca/MetaTileEntityHPCAComponent.java | 8 ++++---- .../multiblockpart/MetaTileEntitySteamHatch.java | 7 ++++--- .../multiblockpart/MetaTileEntitySteamItemBus.java | 8 ++++---- 31 files changed, 119 insertions(+), 115 deletions(-) diff --git a/src/main/java/gregtech/api/capability/impl/DistillationTowerLogicHandler.java b/src/main/java/gregtech/api/capability/impl/DistillationTowerLogicHandler.java index 1a0be3c3c22..4f48af9fb98 100644 --- a/src/main/java/gregtech/api/capability/impl/DistillationTowerLogicHandler.java +++ b/src/main/java/gregtech/api/capability/impl/DistillationTowerLogicHandler.java @@ -18,6 +18,7 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -92,9 +93,10 @@ public void determineOrderedFluidOutputs() { } MetaTileEntityMultiblockPart part = fluidExportParts.get(exportIndex); if (part.getPos().getY() == y) { + List hatchTanks = new ArrayList<>(); // noinspection unchecked - List hatchTanks = ((IMultiblockAbilityPart) part) - .registerAbilities(MultiblockAbility.EXPORT_FLUIDS); + ((IMultiblockAbilityPart) part) + .registerAbilities(MultiblockAbility.EXPORT_FLUIDS, hatchTanks); orderedHandlerList.add(new FluidTankList(false, hatchTanks)); tankList.addAll(hatchTanks); exportIndex++; diff --git a/src/main/java/gregtech/api/metatileentity/multiblock/IMultiblockAbilityPart.java b/src/main/java/gregtech/api/metatileentity/multiblock/IMultiblockAbilityPart.java index 445deb0dee0..140e286acda 100644 --- a/src/main/java/gregtech/api/metatileentity/multiblock/IMultiblockAbilityPart.java +++ b/src/main/java/gregtech/api/metatileentity/multiblock/IMultiblockAbilityPart.java @@ -13,6 +13,5 @@ public interface IMultiblockAbilityPart extends IMultiblockPart { return Collections.singletonList(getAbility()); } - @NotNull - List registerAbilities(@NotNull MultiblockAbility key); + void registerAbilities(@NotNull MultiblockAbility key, @NotNull List abilities); } diff --git a/src/main/java/gregtech/api/metatileentity/multiblock/MultiblockControllerBase.java b/src/main/java/gregtech/api/metatileentity/multiblock/MultiblockControllerBase.java index a960612ab2f..646c7662d3a 100644 --- a/src/main/java/gregtech/api/metatileentity/multiblock/MultiblockControllerBase.java +++ b/src/main/java/gregtech/api/metatileentity/multiblock/MultiblockControllerBase.java @@ -359,7 +359,7 @@ public void checkStructurePattern() { List abilityInstancesList = abilities.computeIfAbsent(ability, k -> new ArrayList<>()); - abilityInstancesList.addAll(abilityPart.registerAbilities(ability)); + abilityPart.registerAbilities(ability, abilityInstancesList); } } } diff --git a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityDiode.java b/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityDiode.java index 5753bde6d81..91301e9cc51 100644 --- a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityDiode.java +++ b/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityDiode.java @@ -32,7 +32,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Arrays; -import java.util.Collections; import java.util.List; import static gregtech.api.capability.GregtechDataCodes.AMP_INDEX; @@ -172,9 +171,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @NotNull diff --git a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHull.java b/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHull.java index 51dbb51766c..a108a4c394d 100644 --- a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHull.java +++ b/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHull.java @@ -31,7 +31,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityHull extends MetaTileEntityMultiblockPart @@ -118,9 +117,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @NotNull diff --git a/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityPumpHatch.java b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityPumpHatch.java index 98c68354f48..b21fb2e4aff 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityPumpHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityPumpHatch.java @@ -35,7 +35,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityPumpHatch extends MetaTileEntityMultiblockPart @@ -105,9 +104,10 @@ public ICubeRenderer getBaseTexture() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(exportFluids.getTankAt(0)); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(exportFluids.getTankAt(0)); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityTankValve.java b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityTankValve.java index 8711cdae59b..a7e60c554ee 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityTankValve.java +++ b/src/main/java/gregtech/common/metatileentities/multi/MetaTileEntityTankValve.java @@ -29,7 +29,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityTankValve extends MetaTileEntityMultiblockPart @@ -130,9 +129,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this.getImportFluids()); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this.getImportFluids()); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityAutoMaintenanceHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityAutoMaintenanceHatch.java index d4d6681aad6..12195a9d01b 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityAutoMaintenanceHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityAutoMaintenanceHatch.java @@ -25,7 +25,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityAutoMaintenanceHatch extends MetaTileEntityMultiblockPart implements @@ -113,9 +112,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityComputationHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityComputationHatch.java index be01e095313..7861d57726a 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityComputationHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityComputationHatch.java @@ -29,7 +29,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Collection; -import java.util.Collections; import java.util.List; public class MetaTileEntityComputationHatch extends MetaTileEntityMultiblockPart implements @@ -159,9 +158,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityDataAccessHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityDataAccessHatch.java index cd07a9c585a..12ece6a08ca 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityDataAccessHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityDataAccessHatch.java @@ -213,9 +213,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java index bb3942ce1a3..40239ce0dd4 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityEnergyHatch.java @@ -27,7 +27,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityEnergyHatch extends MetaTileEntityMultiblockPart @@ -102,9 +101,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(energyContainer); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(energyContainer); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java index 8626dd1a084..82d85c12e2d 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityFluidHatch.java @@ -258,13 +258,13 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities(@NotNull MultiblockAbility key) { + public void registerAbilities(@NotNull MultiblockAbility key, + @NotNull List abilities) { if (key.equals(MultiblockAbility.EXPORT_FLUIDS)) { - return Collections.singletonList(this.fluidTank); + abilities.add(this.fluidTank); } else if (key.equals(MultiblockAbility.IMPORT_FLUIDS)) { - return this.dualHandler.unwrap(); + abilities.addAll(this.dualHandler.unwrap()); } - return Collections.emptyList(); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java index 8ebb2706316..f7add4a8e22 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityItemBus.java @@ -251,15 +251,14 @@ public void receiveCustomData(int dataId, PacketBuffer buf) { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility key) { - List abilityList = new ArrayList<>(); + public void registerAbilities( + @NotNull MultiblockAbility key, + @NotNull List abilities) { if (this.hasGhostCircuitInventory() && this.actualImportItems != null) { - abilityList.add(isExportHatch ? this.exportItems : this.actualImportItems); + abilities.add(isExportHatch ? this.exportItems : this.actualImportItems); } else { - abilityList.add(isExportHatch ? this.exportItems : this.importItems); + abilities.add(isExportHatch ? this.exportItems : this.importItems); } - return abilityList; } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java index 1f0d90ab158..c2e2c61c6a1 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityLaserHatch.java @@ -78,9 +78,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this.buffer); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this.buffer); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMachineHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMachineHatch.java index d74c87ff903..31f16a4e3da 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMachineHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMachineHatch.java @@ -28,7 +28,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityMachineHatch extends MetaTileEntityMultiblockNotifiablePart @@ -53,9 +52,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(machineHandler); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(machineHandler); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMaintenanceHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMaintenanceHatch.java index a845dc8a939..c6a0d5842ad 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMaintenanceHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMaintenanceHatch.java @@ -51,7 +51,6 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.function.Consumer; @@ -499,9 +498,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java index f2bb3e5cc53..6c307b66cc9 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMufflerHatch.java @@ -38,7 +38,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityMufflerHatch extends MetaTileEntityMultiblockPart implements @@ -155,9 +154,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java index 3cc490b90d3..9e71ab3b484 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityMultiFluidHatch.java @@ -186,9 +186,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return fluidTankList.getFluidTanks(); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.addAll(fluidTankList.getFluidTanks()); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityObjectHolder.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityObjectHolder.java index 53c1cb5ebdb..521489f42f6 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityObjectHolder.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityObjectHolder.java @@ -35,7 +35,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityObjectHolder extends MetaTileEntityMultiblockNotifiablePart @@ -86,9 +85,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityOpticalDataHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityOpticalDataHatch.java index c0a0038f41d..7a04bf1f53e 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityOpticalDataHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityOpticalDataHatch.java @@ -30,7 +30,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Collection; -import java.util.Collections; import java.util.List; public class MetaTileEntityOpticalDataHatch extends MetaTileEntityMultiblockNotifiablePart implements @@ -136,9 +135,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchFluid.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchFluid.java index 167362304ee..2c9439ca2af 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchFluid.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchFluid.java @@ -32,7 +32,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityPassthroughHatchFluid extends MetaTileEntityMultiblockPart implements IPassthroughHatch, @@ -156,9 +155,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @NotNull diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchItem.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchItem.java index b3fbf2f6f5c..80b06b6f2dc 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchItem.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityPassthroughHatchItem.java @@ -33,7 +33,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityPassthroughHatchItem extends MetaTileEntityMultiblockPart implements IPassthroughHatch, @@ -159,9 +158,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @NotNull diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityReservoirHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityReservoirHatch.java index 972f0cbf9e0..c8d989200ba 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityReservoirHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityReservoirHatch.java @@ -38,7 +38,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; import java.util.function.Consumer; @@ -113,9 +112,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(fluidTank); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(fluidTank); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityRotorHolder.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityRotorHolder.java index 3093795b977..ee5a937aac0 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityRotorHolder.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/MetaTileEntityRotorHolder.java @@ -41,7 +41,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public class MetaTileEntityRotorHolder extends MetaTileEntityMultiblockNotifiablePart @@ -148,9 +147,10 @@ void setRotorSpinning(boolean spinning) { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputBus.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputBus.java index 731ec5fe790..6fb7baf3516 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputBus.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputBus.java @@ -51,7 +51,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Arrays; -import java.util.Collections; import java.util.List; public class MetaTileEntityMEInputBus extends MetaTileEntityAEHostablePart @@ -330,9 +329,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this.actualImportItems); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this.actualImportItems); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputHatch.java index 12acd70653d..1616cc32c11 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEInputHatch.java @@ -43,7 +43,6 @@ import org.jetbrains.annotations.Nullable; import java.util.Arrays; -import java.util.Collections; import java.util.List; public class MetaTileEntityMEInputHatch extends MetaTileEntityAEHostablePart @@ -270,9 +269,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.unmodifiableList(Arrays.asList(this.getAEFluidHandler().getInventory())); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.addAll(Arrays.asList(this.getAEFluidHandler().getInventory())); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputBus.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputBus.java index 2e84f9c217c..659cf53371c 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputBus.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputBus.java @@ -41,7 +41,6 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class MetaTileEntityMEOutputBus extends MetaTileEntityAEHostablePart @@ -196,9 +195,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(new InaccessibleInfiniteSlot(this, this.internalBuffer, this.getController())); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(new InaccessibleInfiniteSlot(this, this.internalBuffer, this.getController())); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputHatch.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputHatch.java index f5556bcbf2a..d7d9251e049 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputHatch.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/appeng/MetaTileEntityMEOutputHatch.java @@ -43,7 +43,6 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class MetaTileEntityMEOutputHatch extends MetaTileEntityAEHostablePart @@ -198,9 +197,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(new InaccessibleInfiniteTank(this, this.internalBuffer, this.getController())); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(new InaccessibleInfiniteTank(this, this.internalBuffer, this.getController())); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/hpca/MetaTileEntityHPCAComponent.java b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/hpca/MetaTileEntityHPCAComponent.java index 6d627e7a190..8b4506c0ccf 100644 --- a/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/hpca/MetaTileEntityHPCAComponent.java +++ b/src/main/java/gregtech/common/metatileentities/multi/multiblockpart/hpca/MetaTileEntityHPCAComponent.java @@ -35,7 +35,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; import java.util.List; public abstract class MetaTileEntityHPCAComponent extends MetaTileEntityMultiblockPart implements @@ -75,9 +74,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(this); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(this); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamHatch.java b/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamHatch.java index 4a4d57811be..45bf2e7703e 100644 --- a/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamHatch.java +++ b/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamHatch.java @@ -120,9 +120,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return this.importFluids.getFluidTanks(); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.addAll(this.importFluids.getFluidTanks()); } @Override diff --git a/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamItemBus.java b/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamItemBus.java index 70e86e748b1..a244e852621 100644 --- a/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamItemBus.java +++ b/src/main/java/gregtech/common/metatileentities/steam/multiblockpart/MetaTileEntitySteamItemBus.java @@ -34,7 +34,6 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class MetaTileEntitySteamItemBus extends MetaTileEntityItemBus { @@ -57,9 +56,10 @@ public MultiblockAbility getAbility() { } @Override - public @NotNull List registerAbilities( - @NotNull MultiblockAbility multiblockAbility) { - return Collections.singletonList(isExportHatch ? this.exportItems : this.importItems); + public void registerAbilities( + @NotNull MultiblockAbility multiblockAbility, + @NotNull List abilities) { + abilities.add(isExportHatch ? this.exportItems : this.importItems); } // Override base texture to have a bus with 4 slots, but ULV textures