From 39a672b7c4b7b9033d4577c6dae1d4ea0a414ee3 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Wed, 10 Aug 2022 07:47:17 +0800 Subject: loosen the generic restrictions on hatch elements (#1236) It honestly never occurred to me that SOMEONE would not derive from GT_MetaTileEntity_EnhancedMultiblockBase --- .../java/gregtech/api/enums/GT_HatchElement.java | 26 +++++++++++----------- .../gregtech/api/interfaces/IHatchElement.java | 5 +++-- .../gregtech/api/util/GT_HatchElementBuilder.java | 5 +++-- .../gregtech/api/util/GT_StructureUtility.java | 5 +++-- 4 files changed, 22 insertions(+), 19 deletions(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/enums/GT_HatchElement.java b/src/main/java/gregtech/api/enums/GT_HatchElement.java index 5e26c43f80..1bc94340bb 100644 --- a/src/main/java/gregtech/api/enums/GT_HatchElement.java +++ b/src/main/java/gregtech/api/enums/GT_HatchElement.java @@ -19,52 +19,52 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -public enum GT_HatchElement implements IHatchElement> { +public enum GT_HatchElement implements IHatchElement { Muffler(GT_MetaTileEntity_MultiBlockBase::addMufflerToMachineList, GT_MetaTileEntity_Hatch_Muffler.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mMufflerHatches.size(); } }, Maintenance(GT_MetaTileEntity_MultiBlockBase::addMaintenanceToMachineList, GT_MetaTileEntity_Hatch_Maintenance.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mMaintenanceHatches.size(); } }, InputHatch(GT_MetaTileEntity_MultiBlockBase::addInputHatchToMachineList, GT_MetaTileEntity_Hatch_Input.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mInputHatches.size(); } }, InputBus(GT_MetaTileEntity_MultiBlockBase::addInputBusToMachineList, GT_MetaTileEntity_Hatch_InputBus.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mInputBusses.size(); } }, OutputHatch(GT_MetaTileEntity_MultiBlockBase::addOutputHatchToMachineList, GT_MetaTileEntity_Hatch_Output.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mOutputHatches.size(); } }, OutputBus(GT_MetaTileEntity_MultiBlockBase::addOutputBusToMachineList, GT_MetaTileEntity_Hatch_OutputBus.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mOutputBusses.size(); } }, Energy(GT_MetaTileEntity_MultiBlockBase::addEnergyInputToMachineList, GT_MetaTileEntity_Hatch_Energy.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mEnergyHatches.size(); } }, Dynamo(GT_MetaTileEntity_MultiBlockBase::addDynamoToMachineList, GT_MetaTileEntity_Hatch_Dynamo.class) { @Override - public long count(GT_MetaTileEntity_EnhancedMultiBlockBase t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.mDynamoHatches.size(); } }, @@ -75,16 +75,16 @@ public enum GT_HatchElement implements IHatchElement t) { + public long count(GT_MetaTileEntity_MultiBlockBase t) { return t.getExoticEnergyHatches().size(); } }, ; private final List> mteClasses; - private final IGT_HatchAdder> adder; + private final IGT_HatchAdder adder; @SafeVarargs - GT_HatchElement(IGT_HatchAdder> adder, Class... mteClasses) { + GT_HatchElement(IGT_HatchAdder adder, Class... mteClasses) { this.mteClasses = Collections.unmodifiableList(Arrays.asList(mteClasses)); this.adder = adder; } @@ -94,7 +94,7 @@ public enum GT_HatchElement implements IHatchElement> adder() { + public IGT_HatchAdder adder() { return adder; } } diff --git a/src/main/java/gregtech/api/interfaces/IHatchElement.java b/src/main/java/gregtech/api/interfaces/IHatchElement.java index b93cbeacbc..46deb5383c 100644 --- a/src/main/java/gregtech/api/interfaces/IHatchElement.java +++ b/src/main/java/gregtech/api/interfaces/IHatchElement.java @@ -4,6 +4,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureElement; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.util.GT_StructureUtility; import gregtech.api.util.IGT_HatchAdder; @@ -13,7 +14,7 @@ import java.util.List; import java.util.function.BiPredicate; import java.util.function.ToLongFunction; -public interface IHatchElement> { +public interface IHatchElement { List> mteClasses(); IGT_HatchAdder adder(); @@ -73,7 +74,7 @@ public interface IHatchElement> implements IHatchElement { +class HatchElement implements IHatchElement { private final List> mClasses; private final IGT_HatchAdder mAdder; private final String mName; diff --git a/src/main/java/gregtech/api/util/GT_HatchElementBuilder.java b/src/main/java/gregtech/api/util/GT_HatchElementBuilder.java index 94b5f626c1..91d4d9a156 100644 --- a/src/main/java/gregtech/api/util/GT_HatchElementBuilder.java +++ b/src/main/java/gregtech/api/util/GT_HatchElementBuilder.java @@ -10,6 +10,7 @@ import gregtech.api.interfaces.IHatchElement; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.common.blocks.GT_Item_Machines; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; @@ -28,7 +29,7 @@ import java.util.stream.Stream; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; -public class GT_HatchElementBuilder> { +public class GT_HatchElementBuilder { private interface Builtin { } @@ -44,7 +45,7 @@ public class GT_HatchElementBuilder> GT_HatchElementBuilder builder() { + public static GT_HatchElementBuilder builder() { return new GT_HatchElementBuilder<>(); } diff --git a/src/main/java/gregtech/api/util/GT_StructureUtility.java b/src/main/java/gregtech/api/util/GT_StructureUtility.java index 7938214319..dc3112621e 100644 --- a/src/main/java/gregtech/api/util/GT_StructureUtility.java +++ b/src/main/java/gregtech/api/util/GT_StructureUtility.java @@ -16,6 +16,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Frame; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.common.blocks.GT_Block_Casings5; import gregtech.common.blocks.GT_Item_Machines; @@ -98,14 +99,14 @@ public class GT_StructureUtility { }; } - public static > GT_HatchElementBuilder buildHatchAdder() { + public static GT_HatchElementBuilder buildHatchAdder() { return GT_HatchElementBuilder.builder(); } /** * Completely equivalent to {@link #buildHatchAdder()}, except it plays nicer with type inference when statically imported */ - public static > GT_HatchElementBuilder buildHatchAdder(Class typeToken) { + public static GT_HatchElementBuilder buildHatchAdder(Class typeToken) { return GT_HatchElementBuilder.builder(); } -- cgit