public boolean canExtract(@Nullable EnumFacing dir) { return this.access.canExtract(dir); }
public boolean canInsert(@Nullable EnumFacing dir) { return this.access.canInsert(dir); }
public void forbidExtraction() { this.access.setExtract(false); this.access.forbidExtractChange(); }
public void forbidInsertion() { this.access.setInsert(false); this.access.forbidInsertChange(); }
public Collection<EnumFacing> getInsertionSides() { List<EnumFacing> dirs = new ArrayList<>(); for (EnumFacing side : EnumFacing.VALUES) { AccessDirection direction = getAccess(side); if (direction.canInsert()) { dirs.add(side); } } return dirs; }
public Collection<EnumFacing> getOutputSides() { return this.access.getExtractionSides(); }
public Collection<EnumFacing> getInputSides() { return this.access.getInsertionSides(); }
public void setOutputSides(final EnumSet<EnumFacing> sides) { for (final EnumFacing side : EnumSet.complementOf(sides)) { this.access.setExtract(side, false); } }
public BaseSlot(final int index, final ResourceLocation unlocLocation) { this.access = new SidedAccess(); this.setIndex(index); this.unlocLocation = unlocLocation; }
public Collection<EnumFacing> getExtractionSides() { List<EnumFacing> dirs = new ArrayList<>(); for (EnumFacing side : EnumFacing.VALUES) { AccessDirection direction = getAccess(side); if (direction.canExtract()) { dirs.add(side); } } return dirs; }
public boolean canExtract() { return !this.access.getExtractionSides().isEmpty(); }
public boolean canInsert() { return !this.access.getInsertionSides().isEmpty(); }
public boolean canExtract(@Nullable EnumFacing side) { return this.getAccess(side).canExtract(); }
public boolean canInsert(@Nullable EnumFacing side) { return this.getAccess(side).canInsert(); }
public boolean canAccess(final EnumFacing side) { return this.getAccess(side).canAccess(); }
public void setInsert(EnumFacing side, boolean value) { AccessDirection direction = getAccess(side); if (direction.canInsert() != value) { this.accesses.put(side, direction.changeInsert(value)); } }
public void setExtract(EnumFacing side, boolean value) { AccessDirection direction = getAccess(side); if (direction.canExtract() != value) { this.accesses.put(side, direction.changeExtract(value)); } }