外部库存接口封锁,锁状态取消状态同步
This commit is contained in:
parent
37509c806e
commit
6d061da825
|
|
@ -1,10 +1,9 @@
|
||||||
package com.extendedae_plus.content.ae2;
|
package com.extendedae_plus.content.ae2;
|
||||||
|
|
||||||
import appeng.api.config.LockCraftingMode;
|
|
||||||
import appeng.api.config.Settings;
|
import appeng.api.config.Settings;
|
||||||
import appeng.api.ids.AEComponents;
|
import appeng.api.ids.AEComponents;
|
||||||
|
import appeng.api.inventories.InternalInventory;
|
||||||
import appeng.api.networking.IManagedGridNode;
|
import appeng.api.networking.IManagedGridNode;
|
||||||
import appeng.api.stacks.GenericStack;
|
|
||||||
import appeng.block.crafting.PatternProviderBlock;
|
import appeng.block.crafting.PatternProviderBlock;
|
||||||
import appeng.blockentity.crafting.PatternProviderBlockEntity;
|
import appeng.blockentity.crafting.PatternProviderBlockEntity;
|
||||||
import appeng.helpers.patternprovider.PatternProviderLogic;
|
import appeng.helpers.patternprovider.PatternProviderLogic;
|
||||||
|
|
@ -38,6 +37,7 @@ public class MirrorPatternProviderBlockEntity extends PatternProviderBlockEntity
|
||||||
private static final String TAG_MASTER_DIMENSION = "dimension";
|
private static final String TAG_MASTER_DIMENSION = "dimension";
|
||||||
private static final String TAG_MASTER_POS = "pos";
|
private static final String TAG_MASTER_POS = "pos";
|
||||||
private static final int SYNC_INTERVAL = 2;
|
private static final int SYNC_INTERVAL = 2;
|
||||||
|
private static final InternalInventory DISABLED_PATTERN_INVENTORY = new AppEngInternalInventory(0);
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private ResourceKey<Level> masterDimension;
|
private ResourceKey<Level> masterDimension;
|
||||||
|
|
@ -49,6 +49,16 @@ public class MirrorPatternProviderBlockEntity extends PatternProviderBlockEntity
|
||||||
super(ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(), pos, blockState);
|
super(ModBlockEntities.MIRROR_PATTERN_PROVIDER_BE.get(), pos, blockState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isVisibleInTerminal() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InternalInventory getTerminalPatternInventory() {
|
||||||
|
return DISABLED_PATTERN_INVENTORY;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected PatternProviderLogic createLogic() {
|
protected PatternProviderLogic createLogic() {
|
||||||
return new MirrorLogic(this.getMainNode(), this);
|
return new MirrorLogic(this.getMainNode(), this);
|
||||||
|
|
@ -393,7 +403,7 @@ public class MirrorPatternProviderBlockEntity extends PatternProviderBlockEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
private AppEngInternalInventory getPatternInventory() {
|
private AppEngInternalInventory getPatternInventory() {
|
||||||
return asPatternInventory(this.getLogic().getPatternInv());
|
return ((MirrorLogic) this.getLogic()).getActualPatternInventory();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static AppEngInternalInventory asPatternInventory(Object inventory) {
|
private static AppEngInternalInventory asPatternInventory(Object inventory) {
|
||||||
|
|
@ -423,26 +433,12 @@ public class MirrorPatternProviderBlockEntity extends PatternProviderBlockEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LockCraftingMode getCraftingLockedReason() {
|
public InternalInventory getPatternInv() {
|
||||||
var master = this.mirrorHost.getMaster();
|
return DISABLED_PATTERN_INVENTORY;
|
||||||
if (master != null) {
|
|
||||||
var masterReason = master.getLogic().getCraftingLockedReason();
|
|
||||||
if (masterReason != LockCraftingMode.NONE) {
|
|
||||||
return masterReason;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.getCraftingLockedReason();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private AppEngInternalInventory getActualPatternInventory() {
|
||||||
public @Nullable GenericStack getUnlockStack() {
|
return (AppEngInternalInventory) super.getPatternInv();
|
||||||
var master = this.mirrorHost.getMaster();
|
|
||||||
if (master != null && master.getLogic().getCraftingLockedReason() == LockCraftingMode.LOCK_UNTIL_RESULT) {
|
|
||||||
return master.getLogic().getUnlockStack();
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.getUnlockStack();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user