From a8a1547845476334c368e74aadf703e70f1dfc71 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Tue, 28 Feb 2023 12:37:18 +0800 Subject: [PATCH] remove unnecessary shim code for IMultiblockInfoContainer nobody implement these in practice, so we should be safe --- .../IMultiblockInfoContainer.java | 59 ++++++++----------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.java b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.java index 39ab7c08..52ea6ead 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.java +++ b/src/main/java/com/gtnewhorizon/structurelib/alignment/constructable/IMultiblockInfoContainer.java @@ -8,7 +8,9 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; +import com.gtnewhorizon.structurelib.structure.AutoPlaceEnvironment; import com.gtnewhorizon.structurelib.structure.IItemSource; +import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -41,24 +43,35 @@ public interface IMultiblockInfoContainer { /** * Construct the structure using - * {@link com.gtnewhorizon.structurelib.structure.IStructureElement#survivalPlaceBlock(Object, World, int, int, int, ItemStack, IItemSource, EntityPlayerMP, java.util.function.Consumer)} - * + * {@link com.gtnewhorizon.structurelib.structure.IStructureElement#survivalPlaceBlock(Object, World, int, int, int, ItemStack, AutoPlaceEnvironment)} + * * @return -1 if done, a helping pointer */ - default int survivalConstruct(ItemStack stackSize, int elementBudge, IItemSource source, - EntityPlayerMP actorProfile, T tileEntity, ExtendedFacing aSide) { - return -1; - } + int survivalConstruct(ItemStack stackSize, int elementBudge, ISurvivalBuildEnvironment env, T tileEntity, + ExtendedFacing aSide); @SideOnly(Side.CLIENT) String[] getDescription(ItemStack stackSize); - /** - * Override this and return {@link #toConstructable(IMultiblockInfoContainer, Object, ExtendedFacing)} if - * {@link #survivalConstruct(ItemStack, int, IItemSource, EntityPlayerMP, Object, ExtendedFacing)} isn't a stub - */ - default IConstructable toConstructable(T tileEntity, ExtendedFacing aSide) { - return new IConstructable() { + default ISurvivalConstructable toConstructable(T tileEntity, ExtendedFacing aSide) { + return new ISurvivalConstructable() { + + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) { + return IMultiblockInfoContainer.this + .survivalConstruct(stackSize, elementBudget, env, tileEntity, aSide); + } + + @Override + public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, + EntityPlayerMP actor) { + return IMultiblockInfoContainer.this.survivalConstruct( + stackSize, + elementBudget, + ISurvivalBuildEnvironment.create(source, actor), + tileEntity, + aSide); + } @Override public void construct(ItemStack stackSize, boolean hintsOnly) { @@ -71,26 +84,4 @@ public interface IMultiblockInfoContainer { } }; } - - static ISurvivalConstructable toConstructable(IMultiblockInfoContainer thiz, T tileEntity, - ExtendedFacing aSide) { - return new ISurvivalConstructable() { - - @Override - public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, - EntityPlayerMP actor) { - return thiz.survivalConstruct(stackSize, elementBudget, source, actor, tileEntity, aSide); - } - - @Override - public void construct(ItemStack stackSize, boolean hintsOnly) { - thiz.construct(stackSize, hintsOnly, tileEntity, aSide); - } - - @Override - public String[] getStructureDescription(ItemStack stackSize) { - return thiz.getDescription(stackSize); - } - }; - } }