From 93220ad098bfa437d5fa4bb5a98ad56e09eb171b Mon Sep 17 00:00:00 2001 From: 90 Date: Sat, 26 Aug 2023 23:09:29 +0100 Subject: [PATCH] Allow for extended versions of ME Interfaces --- .../blockentity/misc/InterfaceBlockEntity.java | 13 +++++-------- .../gui/implementations/InterfaceScreen.java | 4 ++-- src/main/java/appeng/helpers/InterfaceLogic.java | 15 +++++++++------ src/main/java/appeng/init/client/InitScreens.java | 14 +++++--------- .../menu/implementations/InterfaceMenu.java | 2 +- .../menu/implementations/PatternProviderMenu.java | 2 +- .../java/appeng/parts/misc/InterfacePart.java | 7 +++++-- 7 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/main/java/appeng/blockentity/misc/InterfaceBlockEntity.java b/src/main/java/appeng/blockentity/misc/InterfaceBlockEntity.java index cdfae154f66..16e0aa521a5 100644 --- a/src/main/java/appeng/blockentity/misc/InterfaceBlockEntity.java +++ b/src/main/java/appeng/blockentity/misc/InterfaceBlockEntity.java @@ -28,7 +28,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -57,13 +56,16 @@ public void onGridChanged(InterfaceBlockEntity nodeOwner, IGridNode node) { } }; - private final InterfaceLogic logic = new InterfaceLogic(this.getMainNode(), this, - getItemFromBlockEntity().asItem()); + private final InterfaceLogic logic = createLogic(); public InterfaceBlockEntity(BlockEntityType blockEntityType, BlockPos pos, BlockState blockState) { super(blockEntityType, pos, blockState); } + protected InterfaceLogic createLogic() { + return new InterfaceLogic(getMainNode(), this, getItemFromBlockEntity().asItem()); + } + @Override protected IManagedGridNode createMainNode() { return GridHelper.createManagedNode(this, NODE_LISTENER); @@ -110,11 +112,6 @@ public InterfaceLogic getInterfaceLogic() { return this.logic; } - @Override - public BlockEntity getBlockEntity() { - return this; - } - @Override public ItemStack getMainMenuIcon() { return AEBlocks.INTERFACE.stack(); diff --git a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java index bc268f464e9..77e66872242 100644 --- a/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java +++ b/src/main/java/appeng/client/gui/implementations/InterfaceScreen.java @@ -37,12 +37,12 @@ import appeng.menu.SlotSemantics; import appeng.menu.implementations.InterfaceMenu; -public class InterfaceScreen extends UpgradeableScreen { +public class InterfaceScreen extends UpgradeableScreen { private final SettingToggleButton fuzzyMode; private final List