Backport lock crafting function for ME Interface (#423)

This commit is contained in:
Zengyj
2024-05-24 23:36:17 +11:00
committed by NotMyWing
parent a65b5015e6
commit a13f9955f2
25 changed files with 332 additions and 21 deletions
@@ -54,6 +54,7 @@ import appeng.items.parts.PartModels;
import appeng.parts.PartBasicState;
import appeng.parts.PartModel;
import appeng.tile.inventory.AppEngInternalInventory;
import appeng.tile.misc.TileInterface;
import appeng.util.Platform;
import appeng.util.SettingsFrom;
import appeng.util.inv.IAEAppEngInventory;
@@ -68,7 +69,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.wrapper.PlayerMainInvWrapper;
@@ -196,6 +199,11 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto
this.duality.onChangeInventory(inv, slot, mc, removedStack, newStack);
}
@Override
public void onStackReturnNetwork(IAEItemStack stack) {
this.duality.onStackReturnedToNetwork(stack);
}
@Override
public DualityInterface getInterfaceDuality() {
return this.duality;
@@ -262,6 +270,14 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto
}
}
@Override
public void onNeighborChanged(IBlockAccess w, BlockPos pos, BlockPos neighbor) {
TileEntity tileEntity = getTileEntity();
if (tileEntity instanceof TileInterface) {
((TileInterface) tileEntity).updateRedstoneState();
}
}
@Override
public boolean hasCapability(Capability<?> capabilityClass) {
return this.duality.hasCapability(capabilityClass, this.getSide().getFacing());