Removed "void excess items or fluids" functionality on storages
This commit is contained in:
@@ -8,6 +8,7 @@ NOTE: Worlds that used Refined Storage 1.5.x are fully compatible with Refined S
|
|||||||
- Removed Project E integration (raoulvdberge)
|
- Removed Project E integration (raoulvdberge)
|
||||||
- Removed blocking mode in autocrafting (raoulvdberge)
|
- Removed blocking mode in autocrafting (raoulvdberge)
|
||||||
- Removed the Wrench (raoulvdberge)
|
- Removed the Wrench (raoulvdberge)
|
||||||
|
- Removed "void excess items or fluids" functionality on storages (raoulvdberge)
|
||||||
- Rewrote autocrafting (raoulvdberge)
|
- Rewrote autocrafting (raoulvdberge)
|
||||||
- Autocrafting tasks that take longer than 5 seconds to calculate are automatically stopped to avoid server strain (raoulvdberge)
|
- Autocrafting tasks that take longer than 5 seconds to calculate are automatically stopped to avoid server strain (raoulvdberge)
|
||||||
- Added new storage disk system where the storage disk data (items, fluids) are stored off the disk itself, in another file (refinedstorage_disks.dat). The disk itself only stores its ID (raoulvdberge)
|
- Added new storage disk system where the storage disk data (items, fluids) are stored off the disk itself, in another file (refinedstorage_disks.dat). The disk itself only stores its ID (raoulvdberge)
|
||||||
|
@@ -6,11 +6,6 @@ import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
|||||||
* Stores relevant information about the container where the {@link IStorageDisk} is in.
|
* Stores relevant information about the container where the {@link IStorageDisk} is in.
|
||||||
*/
|
*/
|
||||||
public interface IStorageDiskContainerContext {
|
public interface IStorageDiskContainerContext {
|
||||||
/**
|
|
||||||
* @return true if excess stacks can be voided, false otherwise
|
|
||||||
*/
|
|
||||||
boolean isVoidExcess();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the access type
|
* @return the access type
|
||||||
*/
|
*/
|
||||||
|
@@ -18,8 +18,6 @@ public interface IGuiStorage {
|
|||||||
|
|
||||||
TileDataParameter<AccessType, ?> getAccessTypeParameter();
|
TileDataParameter<AccessType, ?> getAccessTypeParameter();
|
||||||
|
|
||||||
TileDataParameter<Boolean, ?> getVoidExcessParameter();
|
|
||||||
|
|
||||||
String getVoidExcessType();
|
String getVoidExcessType();
|
||||||
|
|
||||||
int getStored();
|
int getStored();
|
||||||
|
@@ -36,7 +36,7 @@ import net.minecraftforge.items.IItemHandler;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IType, IExcessVoidable, IAccessType, IStorageDiskContainerContext {
|
public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IType, IAccessType, IStorageDiskContainerContext {
|
||||||
public static final Predicate<ItemStack> VALIDATOR_STORAGE_DISK = s -> s.getItem() instanceof IStorageDiskProvider && ((IStorageDiskProvider) s.getItem()).isValid(s);
|
public static final Predicate<ItemStack> VALIDATOR_STORAGE_DISK = s -> s.getItem() instanceof IStorageDiskProvider && ((IStorageDiskProvider) s.getItem()).isValid(s);
|
||||||
|
|
||||||
public static final String ID = "disk_drive";
|
public static final String ID = "disk_drive";
|
||||||
@@ -45,7 +45,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
private static final String NBT_COMPARE = "Compare";
|
private static final String NBT_COMPARE = "Compare";
|
||||||
private static final String NBT_MODE = "Mode";
|
private static final String NBT_MODE = "Mode";
|
||||||
private static final String NBT_TYPE = "Type";
|
private static final String NBT_TYPE = "Type";
|
||||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
|
||||||
|
|
||||||
private ItemHandlerBase disks = new ItemHandlerBase(8, new ItemHandlerListenerNetworkNode(this), VALIDATOR_STORAGE_DISK) {
|
private ItemHandlerBase disks = new ItemHandlerBase(8, new ItemHandlerListenerNetworkNode(this), VALIDATOR_STORAGE_DISK) {
|
||||||
@Override
|
@Override
|
||||||
@@ -84,7 +83,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||||
private int mode = IFilterable.BLACKLIST;
|
private int mode = IFilterable.BLACKLIST;
|
||||||
private int type = IType.ITEMS;
|
private int type = IType.ITEMS;
|
||||||
private boolean voidExcess = false;
|
|
||||||
|
|
||||||
public NetworkNodeDiskDrive(World world, BlockPos pos) {
|
public NetworkNodeDiskDrive(World world, BlockPos pos) {
|
||||||
super(world, pos);
|
super(world, pos);
|
||||||
@@ -180,7 +178,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
tag.setInteger(NBT_COMPARE, compare);
|
tag.setInteger(NBT_COMPARE, compare);
|
||||||
tag.setInteger(NBT_MODE, mode);
|
tag.setInteger(NBT_MODE, mode);
|
||||||
tag.setInteger(NBT_TYPE, type);
|
tag.setInteger(NBT_TYPE, type);
|
||||||
tag.setBoolean(NBT_VOID_EXCESS, voidExcess);
|
|
||||||
|
|
||||||
AccessTypeUtils.writeAccessType(tag, accessType);
|
AccessTypeUtils.writeAccessType(tag, accessType);
|
||||||
|
|
||||||
@@ -210,10 +207,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
type = tag.getInteger(NBT_TYPE);
|
type = tag.getInteger(NBT_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tag.hasKey(NBT_VOID_EXCESS)) {
|
|
||||||
voidExcess = tag.getBoolean(NBT_VOID_EXCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
accessType = AccessTypeUtils.readAccessType(tag);
|
accessType = AccessTypeUtils.readAccessType(tag);
|
||||||
|
|
||||||
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, itemFilters, fluidFilters);
|
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, itemFilters, fluidFilters);
|
||||||
@@ -273,11 +266,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
return TileDiskDrive.PRIORITY;
|
return TileDiskDrive.PRIORITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileDataParameter<Boolean, ?> getVoidExcessParameter() {
|
|
||||||
return TileDiskDrive.VOID_EXCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
||||||
return TileDiskDrive.ACCESS_TYPE;
|
return TileDiskDrive.ACCESS_TYPE;
|
||||||
@@ -336,18 +324,6 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS
|
|||||||
return disks;
|
return disks;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return voidExcess;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setVoidExcess(boolean voidExcess) {
|
|
||||||
this.voidExcess = voidExcess;
|
|
||||||
|
|
||||||
markDirty();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getType() {
|
public int getType() {
|
||||||
return world.isRemote ? TileDiskDrive.TYPE.getValue() : type;
|
return world.isRemote ? TileDiskDrive.TYPE.getValue() : type;
|
||||||
|
@@ -534,11 +534,6 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
|||||||
return new CombinedInvWrapper(inputDisks, outputDisks, upgrades);
|
return new CombinedInvWrapper(inputDisks, outputDisks, upgrades);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AccessType getAccessType() {
|
public AccessType getAccessType() {
|
||||||
return AccessType.INSERT_EXTRACT;
|
return AccessType.INSERT_EXTRACT;
|
||||||
|
@@ -251,11 +251,6 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
|
|||||||
return TileExternalStorage.PRIORITY;
|
return TileExternalStorage.PRIORITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileDataParameter<Boolean, ?> getVoidExcessParameter() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
||||||
return TileExternalStorage.ACCESS_TYPE;
|
return TileExternalStorage.ACCESS_TYPE;
|
||||||
|
@@ -19,7 +19,10 @@ import com.raoulvdberge.refinedstorage.block.FluidStorageType;
|
|||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
|
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IFilterable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
|
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
|
||||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||||
@@ -32,13 +35,12 @@ import net.minecraftforge.fluids.FluidStack;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IExcessVoidable, IAccessType, IStorageDiskContainerContext {
|
public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IAccessType, IStorageDiskContainerContext {
|
||||||
public static final String ID = "fluid_storage";
|
public static final String ID = "fluid_storage";
|
||||||
|
|
||||||
private static final String NBT_PRIORITY = "Priority";
|
private static final String NBT_PRIORITY = "Priority";
|
||||||
private static final String NBT_COMPARE = "Compare";
|
private static final String NBT_COMPARE = "Compare";
|
||||||
private static final String NBT_MODE = "Mode";
|
private static final String NBT_MODE = "Mode";
|
||||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
|
||||||
public static final String NBT_ID = "Id";
|
public static final String NBT_ID = "Id";
|
||||||
|
|
||||||
private ItemHandlerFluid filters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
private ItemHandlerFluid filters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||||
@@ -49,7 +51,6 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
private int priority = 0;
|
private int priority = 0;
|
||||||
private int compare = IComparer.COMPARE_NBT;
|
private int compare = IComparer.COMPARE_NBT;
|
||||||
private int mode = IFilterable.BLACKLIST;
|
private int mode = IFilterable.BLACKLIST;
|
||||||
private boolean voidExcess = false;
|
|
||||||
|
|
||||||
private UUID storageId;
|
private UUID storageId;
|
||||||
private IStorageDisk<FluidStack> storage;
|
private IStorageDisk<FluidStack> storage;
|
||||||
@@ -141,7 +142,6 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
tag.setInteger(NBT_PRIORITY, priority);
|
tag.setInteger(NBT_PRIORITY, priority);
|
||||||
tag.setInteger(NBT_COMPARE, compare);
|
tag.setInteger(NBT_COMPARE, compare);
|
||||||
tag.setInteger(NBT_MODE, mode);
|
tag.setInteger(NBT_MODE, mode);
|
||||||
tag.setBoolean(NBT_VOID_EXCESS, voidExcess);
|
|
||||||
|
|
||||||
AccessTypeUtils.writeAccessType(tag, accessType);
|
AccessTypeUtils.writeAccessType(tag, accessType);
|
||||||
|
|
||||||
@@ -166,10 +166,6 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
mode = tag.getInteger(NBT_MODE);
|
mode = tag.getInteger(NBT_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tag.hasKey(NBT_VOID_EXCESS)) {
|
|
||||||
voidExcess = tag.getBoolean(NBT_VOID_EXCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
accessType = AccessTypeUtils.readAccessType(tag);
|
accessType = AccessTypeUtils.readAccessType(tag);
|
||||||
|
|
||||||
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, null, filters);
|
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, null, filters);
|
||||||
@@ -241,11 +237,6 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
return TileFluidStorage.PRIORITY;
|
return TileFluidStorage.PRIORITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileDataParameter<Boolean, ?> getVoidExcessParameter() {
|
|
||||||
return TileFluidStorage.VOID_EXCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
||||||
return TileFluidStorage.ACCESS_TYPE;
|
return TileFluidStorage.ACCESS_TYPE;
|
||||||
@@ -297,16 +288,4 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage,
|
|||||||
network.getFluidStorageCache().sort();
|
network.getFluidStorageCache().sort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return voidExcess;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setVoidExcess(boolean value) {
|
|
||||||
this.voidExcess = value;
|
|
||||||
|
|
||||||
markDirty();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -19,7 +19,10 @@ import com.raoulvdberge.refinedstorage.block.ItemStorageType;
|
|||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileStorage;
|
import com.raoulvdberge.refinedstorage.tile.TileStorage;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IFilterable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
|
import com.raoulvdberge.refinedstorage.util.AccessTypeUtils;
|
||||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||||
@@ -32,13 +35,12 @@ import net.minecraftforge.fluids.FluidStack;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IExcessVoidable, IAccessType, IStorageDiskContainerContext {
|
public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, IStorageProvider, IComparable, IFilterable, IPrioritizable, IAccessType, IStorageDiskContainerContext {
|
||||||
public static final String ID = "storage";
|
public static final String ID = "storage";
|
||||||
|
|
||||||
private static final String NBT_PRIORITY = "Priority";
|
private static final String NBT_PRIORITY = "Priority";
|
||||||
private static final String NBT_COMPARE = "Compare";
|
private static final String NBT_COMPARE = "Compare";
|
||||||
private static final String NBT_MODE = "Mode";
|
private static final String NBT_MODE = "Mode";
|
||||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
|
||||||
public static final String NBT_ID = "Id";
|
public static final String NBT_ID = "Id";
|
||||||
|
|
||||||
private ItemHandlerBase filters = new ItemHandlerBase(9, new ItemHandlerListenerNetworkNode(this));
|
private ItemHandlerBase filters = new ItemHandlerBase(9, new ItemHandlerListenerNetworkNode(this));
|
||||||
@@ -49,7 +51,6 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
private int priority = 0;
|
private int priority = 0;
|
||||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||||
private int mode = IFilterable.BLACKLIST;
|
private int mode = IFilterable.BLACKLIST;
|
||||||
private boolean voidExcess = false;
|
|
||||||
|
|
||||||
private UUID storageId;
|
private UUID storageId;
|
||||||
private IStorageDisk<ItemStack> storage;
|
private IStorageDisk<ItemStack> storage;
|
||||||
@@ -141,7 +142,6 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
tag.setInteger(NBT_PRIORITY, priority);
|
tag.setInteger(NBT_PRIORITY, priority);
|
||||||
tag.setInteger(NBT_COMPARE, compare);
|
tag.setInteger(NBT_COMPARE, compare);
|
||||||
tag.setInteger(NBT_MODE, mode);
|
tag.setInteger(NBT_MODE, mode);
|
||||||
tag.setBoolean(NBT_VOID_EXCESS, voidExcess);
|
|
||||||
|
|
||||||
AccessTypeUtils.writeAccessType(tag, accessType);
|
AccessTypeUtils.writeAccessType(tag, accessType);
|
||||||
|
|
||||||
@@ -166,10 +166,6 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
mode = tag.getInteger(NBT_MODE);
|
mode = tag.getInteger(NBT_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tag.hasKey(NBT_VOID_EXCESS)) {
|
|
||||||
voidExcess = tag.getBoolean(NBT_VOID_EXCESS);
|
|
||||||
}
|
|
||||||
|
|
||||||
accessType = AccessTypeUtils.readAccessType(tag);
|
accessType = AccessTypeUtils.readAccessType(tag);
|
||||||
|
|
||||||
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, filters, null);
|
OneSixMigrationHelper.migrateEmptyWhitelistToEmptyBlacklist(version, this, filters, null);
|
||||||
@@ -207,18 +203,6 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return voidExcess;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setVoidExcess(boolean voidExcess) {
|
|
||||||
this.voidExcess = voidExcess;
|
|
||||||
|
|
||||||
markDirty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemHandlerBase getFilters() {
|
public ItemHandlerBase getFilters() {
|
||||||
return filters;
|
return filters;
|
||||||
}
|
}
|
||||||
@@ -253,11 +237,6 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto
|
|||||||
return TileStorage.PRIORITY;
|
return TileStorage.PRIORITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileDataParameter<Boolean, ?> getVoidExcessParameter() {
|
|
||||||
return TileStorage.VOID_EXCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
public TileDataParameter<AccessType, ?> getAccessTypeParameter() {
|
||||||
return TileStorage.ACCESS_TYPE;
|
return TileStorage.ACCESS_TYPE;
|
||||||
|
@@ -72,10 +72,6 @@ public class StorageDiskFluid implements IStorageDisk<FluidStack> {
|
|||||||
int remainingSpace = getCapacity() - getStored();
|
int remainingSpace = getCapacity() - getStored();
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
if (remainingSpace <= 0) {
|
||||||
if (context.isVoidExcess()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return StackUtils.copy(stack, size);
|
return StackUtils.copy(stack, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,7 +81,7 @@ public class StorageDiskFluid implements IStorageDisk<FluidStack> {
|
|||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.isVoidExcess() ? null : StackUtils.copy(otherStack, size - remainingSpace);
|
return StackUtils.copy(otherStack, size - remainingSpace);
|
||||||
} else {
|
} else {
|
||||||
if (!simulate) {
|
if (!simulate) {
|
||||||
otherStack.amount += size;
|
otherStack.amount += size;
|
||||||
@@ -102,10 +98,6 @@ public class StorageDiskFluid implements IStorageDisk<FluidStack> {
|
|||||||
int remainingSpace = getCapacity() - getStored();
|
int remainingSpace = getCapacity() - getStored();
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
if (remainingSpace <= 0) {
|
||||||
if (context.isVoidExcess()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return StackUtils.copy(stack, size);
|
return StackUtils.copy(stack, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,7 +107,7 @@ public class StorageDiskFluid implements IStorageDisk<FluidStack> {
|
|||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.isVoidExcess() ? null : StackUtils.copy(stack, size - remainingSpace);
|
return StackUtils.copy(stack, size - remainingSpace);
|
||||||
} else {
|
} else {
|
||||||
if (!simulate) {
|
if (!simulate) {
|
||||||
stacks.put(stack.getFluid(), StackUtils.copy(stack, size));
|
stacks.put(stack.getFluid(), StackUtils.copy(stack, size));
|
||||||
@@ -179,13 +171,7 @@ public class StorageDiskFluid implements IStorageDisk<FluidStack> {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int inserted = remainder == null ? size : (size - remainder.amount);
|
return remainder == null ? size : (size - remainder.amount);
|
||||||
|
|
||||||
if (context.isVoidExcess() && storedPreInsertion + inserted > getCapacity()) {
|
|
||||||
inserted = getCapacity() - storedPreInsertion;
|
|
||||||
}
|
|
||||||
|
|
||||||
return inserted;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -107,10 +107,6 @@ public class StorageDiskItem implements IStorageDisk<ItemStack> {
|
|||||||
int remainingSpace = getCapacity() - getStored();
|
int remainingSpace = getCapacity() - getStored();
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
if (remainingSpace <= 0) {
|
||||||
if (context.isVoidExcess()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,7 +116,7 @@ public class StorageDiskItem implements IStorageDisk<ItemStack> {
|
|||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.isVoidExcess() ? null : ItemHandlerHelper.copyStackWithSize(otherStack, size - remainingSpace);
|
return ItemHandlerHelper.copyStackWithSize(otherStack, size - remainingSpace);
|
||||||
} else {
|
} else {
|
||||||
if (!simulate) {
|
if (!simulate) {
|
||||||
otherStack.grow(size);
|
otherStack.grow(size);
|
||||||
@@ -137,10 +133,6 @@ public class StorageDiskItem implements IStorageDisk<ItemStack> {
|
|||||||
int remainingSpace = getCapacity() - getStored();
|
int remainingSpace = getCapacity() - getStored();
|
||||||
|
|
||||||
if (remainingSpace <= 0) {
|
if (remainingSpace <= 0) {
|
||||||
if (context.isVoidExcess()) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +142,7 @@ public class StorageDiskItem implements IStorageDisk<ItemStack> {
|
|||||||
onChanged();
|
onChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.isVoidExcess() ? null : ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
|
return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
|
||||||
} else {
|
} else {
|
||||||
if (!simulate) {
|
if (!simulate) {
|
||||||
stacks.put(stack.getItem(), ItemHandlerHelper.copyStackWithSize(stack, size));
|
stacks.put(stack.getItem(), ItemHandlerHelper.copyStackWithSize(stack, size));
|
||||||
@@ -236,13 +228,7 @@ public class StorageDiskItem implements IStorageDisk<ItemStack> {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int inserted = remainder == null ? size : (size - remainder.getCount());
|
return remainder == null ? size : (size - remainder.getCount());
|
||||||
|
|
||||||
if (context.isVoidExcess() && storedPreInsertion + inserted > getCapacity()) {
|
|
||||||
inserted = getCapacity() - storedPreInsertion;
|
|
||||||
}
|
|
||||||
|
|
||||||
return inserted;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Multimap<Item, ItemStack> getRawStacks() {
|
Multimap<Item, ItemStack> getRawStacks() {
|
||||||
|
@@ -53,10 +53,6 @@ public class GuiStorage extends GuiBase {
|
|||||||
addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), IComparer.COMPARE_OREDICT));
|
addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), IComparer.COMPARE_OREDICT));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gui.getVoidExcessParameter() != null) {
|
|
||||||
addSideButton(new SideButtonVoidExcess(this, gui.getVoidExcessParameter(), gui.getVoidExcessType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gui.getAccessTypeParameter() != null) {
|
if (gui.getAccessTypeParameter() != null) {
|
||||||
addSideButton(new SideButtonAccessType(this, gui.getAccessTypeParameter()));
|
addSideButton(new SideButtonAccessType(this, gui.getAccessTypeParameter()));
|
||||||
}
|
}
|
||||||
|
@@ -1,33 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.gui.control;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
|
||||||
import net.minecraft.util.text.TextFormatting;
|
|
||||||
|
|
||||||
public class SideButtonVoidExcess extends SideButton {
|
|
||||||
private TileDataParameter<Boolean, ?> parameter;
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
public SideButtonVoidExcess(GuiBase gui, TileDataParameter<Boolean, ?> parameter, String type) {
|
|
||||||
super(gui);
|
|
||||||
|
|
||||||
this.parameter = parameter;
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getTooltip() {
|
|
||||||
return GuiBase.t("sidebutton.refinedstorage:void_excess." + type) + "\n" + TextFormatting.GRAY + GuiBase.t(parameter.getValue() ? "gui.yes" : "gui.no");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void drawButtonIcon(int x, int y) {
|
|
||||||
gui.drawTexture(x, y, parameter.getValue() ? 16 : 0, 192, 16, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void actionPerformed() {
|
|
||||||
TileDataManager.setParameter(parameter, !parameter.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
@@ -21,7 +21,6 @@ public class TileDiskDrive extends TileNode<NetworkNodeDiskDrive> {
|
|||||||
public static final TileDataParameter<Integer, TileDiskDrive> COMPARE = IComparable.createParameter();
|
public static final TileDataParameter<Integer, TileDiskDrive> COMPARE = IComparable.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileDiskDrive> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer, TileDiskDrive> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileDiskDrive> TYPE = IType.createParameter();
|
public static final TileDataParameter<Integer, TileDiskDrive> TYPE = IType.createParameter();
|
||||||
public static final TileDataParameter<Boolean, TileDiskDrive> VOID_EXCESS = IExcessVoidable.createParameter();
|
|
||||||
public static final TileDataParameter<AccessType, TileDiskDrive> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType, TileDiskDrive> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileDiskDrive> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> {
|
public static final TileDataParameter<Integer, TileDiskDrive> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> {
|
||||||
int stored = 0;
|
int stored = 0;
|
||||||
@@ -81,7 +80,6 @@ public class TileDiskDrive extends TileNode<NetworkNodeDiskDrive> {
|
|||||||
dataManager.addWatchedParameter(COMPARE);
|
dataManager.addWatchedParameter(COMPARE);
|
||||||
dataManager.addWatchedParameter(MODE);
|
dataManager.addWatchedParameter(MODE);
|
||||||
dataManager.addWatchedParameter(TYPE);
|
dataManager.addWatchedParameter(TYPE);
|
||||||
dataManager.addWatchedParameter(VOID_EXCESS);
|
|
||||||
dataManager.addWatchedParameter(ACCESS_TYPE);
|
dataManager.addWatchedParameter(ACCESS_TYPE);
|
||||||
dataManager.addWatchedParameter(STORED);
|
dataManager.addWatchedParameter(STORED);
|
||||||
dataManager.addWatchedParameter(CAPACITY);
|
dataManager.addWatchedParameter(CAPACITY);
|
||||||
|
@@ -2,7 +2,10 @@ package com.raoulvdberge.refinedstorage.tile;
|
|||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeFluidStorage;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeFluidStorage;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IFilterable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
import net.minecraft.network.datasync.DataSerializers;
|
import net.minecraft.network.datasync.DataSerializers;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
@@ -13,7 +16,6 @@ import javax.annotation.Nonnull;
|
|||||||
public class TileFluidStorage extends TileNode<NetworkNodeFluidStorage> {
|
public class TileFluidStorage extends TileNode<NetworkNodeFluidStorage> {
|
||||||
public static final TileDataParameter<Integer, TileFluidStorage> PRIORITY = IPrioritizable.createParameter();
|
public static final TileDataParameter<Integer, TileFluidStorage> PRIORITY = IPrioritizable.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileFluidStorage> COMPARE = IComparable.createParameter();
|
public static final TileDataParameter<Integer, TileFluidStorage> COMPARE = IComparable.createParameter();
|
||||||
public static final TileDataParameter<Boolean, TileFluidStorage> VOID_EXCESS = IExcessVoidable.createParameter();
|
|
||||||
public static final TileDataParameter<Integer, TileFluidStorage> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer, TileFluidStorage> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<AccessType, TileFluidStorage> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType, TileFluidStorage> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileFluidStorage> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getStorage().getStored());
|
public static final TileDataParameter<Integer, TileFluidStorage> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getStorage().getStored());
|
||||||
@@ -23,7 +25,6 @@ public class TileFluidStorage extends TileNode<NetworkNodeFluidStorage> {
|
|||||||
dataManager.addWatchedParameter(COMPARE);
|
dataManager.addWatchedParameter(COMPARE);
|
||||||
dataManager.addWatchedParameter(MODE);
|
dataManager.addWatchedParameter(MODE);
|
||||||
dataManager.addWatchedParameter(STORED);
|
dataManager.addWatchedParameter(STORED);
|
||||||
dataManager.addWatchedParameter(VOID_EXCESS);
|
|
||||||
dataManager.addWatchedParameter(ACCESS_TYPE);
|
dataManager.addWatchedParameter(ACCESS_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2,7 +2,10 @@ package com.raoulvdberge.refinedstorage.tile;
|
|||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeStorage;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.storage.NetworkNodeStorage;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
import com.raoulvdberge.refinedstorage.tile.config.IAccessType;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IFilterable;
|
||||||
|
import com.raoulvdberge.refinedstorage.tile.config.IPrioritizable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
import net.minecraft.network.datasync.DataSerializers;
|
import net.minecraft.network.datasync.DataSerializers;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
@@ -16,14 +19,12 @@ public class TileStorage extends TileNode<NetworkNodeStorage> {
|
|||||||
public static final TileDataParameter<Integer, TileStorage> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer, TileStorage> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<AccessType, TileStorage> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType, TileStorage> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
public static final TileDataParameter<Integer, TileStorage> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getStorage().getStored());
|
public static final TileDataParameter<Integer, TileStorage> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getStorage().getStored());
|
||||||
public static final TileDataParameter<Boolean, TileStorage> VOID_EXCESS = IExcessVoidable.createParameter();
|
|
||||||
|
|
||||||
public TileStorage() {
|
public TileStorage() {
|
||||||
dataManager.addWatchedParameter(PRIORITY);
|
dataManager.addWatchedParameter(PRIORITY);
|
||||||
dataManager.addWatchedParameter(COMPARE);
|
dataManager.addWatchedParameter(COMPARE);
|
||||||
dataManager.addWatchedParameter(MODE);
|
dataManager.addWatchedParameter(MODE);
|
||||||
dataManager.addWatchedParameter(STORED);
|
dataManager.addWatchedParameter(STORED);
|
||||||
dataManager.addWatchedParameter(VOID_EXCESS);
|
|
||||||
dataManager.addWatchedParameter(ACCESS_TYPE);
|
dataManager.addWatchedParameter(ACCESS_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,16 +0,0 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile.config;
|
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
|
||||||
import net.minecraft.network.datasync.DataSerializers;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
|
||||||
|
|
||||||
public interface IExcessVoidable {
|
|
||||||
static <T extends TileEntity & INetworkNodeProxy> TileDataParameter<Boolean, T> createParameter() {
|
|
||||||
return new TileDataParameter<>(DataSerializers.BOOLEAN, false, t -> ((IExcessVoidable) t.getNode()).isVoidExcess(), (t, v) -> ((IExcessVoidable) t.getNode()).setVoidExcess(v));
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean isVoidExcess();
|
|
||||||
|
|
||||||
void setVoidExcess(boolean voidExcess);
|
|
||||||
}
|
|
@@ -388,11 +388,6 @@ public class PortableGrid implements IGrid, IPortableGrid, IStorageDiskContainer
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AccessType getAccessType() {
|
public AccessType getAccessType() {
|
||||||
return AccessType.INSERT_EXTRACT;
|
return AccessType.INSERT_EXTRACT;
|
||||||
|
@@ -661,11 +661,6 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVoidExcess() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AccessType getAccessType() {
|
public AccessType getAccessType() {
|
||||||
return AccessType.INSERT_EXTRACT;
|
return AccessType.INSERT_EXTRACT;
|
||||||
|
@@ -124,10 +124,6 @@ sidebutton.refinedstorage:detector.mode.3=Signal bei automatischer Herstellung
|
|||||||
|
|
||||||
sidebutton.refinedstorage:crafter.triggered_autocrafting=Automatische Herstellung mit Signal einschalten
|
sidebutton.refinedstorage:crafter.triggered_autocrafting=Automatische Herstellung mit Signal einschalten
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=Überlauf löschen (Teile)
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Überlauf löschen (Flüssigkeiten)
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Überlauf löschen (Teile und Flüssigkeiten)
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Teil fallen lassen anstatt platzieren
|
sidebutton.refinedstorage:constructor.drop=Teil fallen lassen anstatt platzieren
|
||||||
sidebutton.refinedstorage:destructor.pickup=Teil aufheben anstatt abbauen
|
sidebutton.refinedstorage:destructor.pickup=Teil aufheben anstatt abbauen
|
||||||
|
|
||||||
|
@@ -184,10 +184,6 @@ sidebutton.refinedstorage:detector.mode.1=Emit signal when on the amount
|
|||||||
sidebutton.refinedstorage:detector.mode.2=Emit signal when above the amount
|
sidebutton.refinedstorage:detector.mode.2=Emit signal when above the amount
|
||||||
sidebutton.refinedstorage:detector.mode.3=Emit signal when item is being autocrafted
|
sidebutton.refinedstorage:detector.mode.3=Emit signal when item is being autocrafted
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=Void excess items
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Void excess fluids
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Void excess items and fluids
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Drop blocks instead of placing
|
sidebutton.refinedstorage:constructor.drop=Drop blocks instead of placing
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=Pickup items instead of breaking
|
sidebutton.refinedstorage:destructor.pickup=Pickup items instead of breaking
|
||||||
|
@@ -178,10 +178,6 @@ sidebutton.refinedstorage:detector.mode.1=Emitir señal si la cantidad se alcanz
|
|||||||
sidebutton.refinedstorage:detector.mode.2=Emitir señal si esta más de lo indicado
|
sidebutton.refinedstorage:detector.mode.2=Emitir señal si esta más de lo indicado
|
||||||
sidebutton.refinedstorage:detector.mode.3=Emitir señal si se esta fabricando esto
|
sidebutton.refinedstorage:detector.mode.3=Emitir señal si se esta fabricando esto
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=Vaciar objetos excedentes
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Vaciar fluidos excedentes
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Vaciar objetos y fluidos excedentes
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Soltar bloques en lugar de colocar
|
sidebutton.refinedstorage:constructor.drop=Soltar bloques en lugar de colocar
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=Recoger objetos en lugar de romper
|
sidebutton.refinedstorage:destructor.pickup=Recoger objetos en lugar de romper
|
||||||
|
@@ -154,9 +154,6 @@ sidebutton.refinedstorage:detector.mode.0=Emet un signal quand la quantité est
|
|||||||
guidebutton.refinedstorage:detector.mode.1=Emet un signal quand la quantité est égale
|
guidebutton.refinedstorage:detector.mode.1=Emet un signal quand la quantité est égale
|
||||||
sidebutton.refinedstorage:detector.mode.2=Emet un signal quand la quantité est supérieure
|
sidebutton.refinedstorage:detector.mode.2=Emet un signal quand la quantité est supérieure
|
||||||
sidebutton.refinedstorage:detector.mode.3=Emet un signal quand l'item est crafté auto
|
sidebutton.refinedstorage:detector.mode.3=Emet un signal quand l'item est crafté auto
|
||||||
sidebutton.refinedstorage:void_excess.items=Supprime les items en surplus
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Supprime les fluides en surplus
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Supprime les items et liquides en surplus
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Laisse tomber les blocs au lieu de les placer
|
sidebutton.refinedstorage:constructor.drop=Laisse tomber les blocs au lieu de les placer
|
||||||
|
|
||||||
|
@@ -153,10 +153,6 @@ sidebutton.refinedstorage:detector.mode.1=수량과 일치할 때 신호 출력
|
|||||||
sidebutton.refinedstorage:detector.mode.2=수량 이상일 때 신호 출력
|
sidebutton.refinedstorage:detector.mode.2=수량 이상일 때 신호 출력
|
||||||
sidebutton.refinedstorage:detector.mode.3=자동 조합 시 신호 출력
|
sidebutton.refinedstorage:detector.mode.3=자동 조합 시 신호 출력
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=수량 초과 아이템 자동 제거
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=용량 초과 액체 자동 제거
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=용량 초과 아이템/액체 자동 제거
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=블럭을 설치하지 않고 떨어트림
|
sidebutton.refinedstorage:constructor.drop=블럭을 설치하지 않고 떨어트림
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=블럭을 파괴하지 않고 주움
|
sidebutton.refinedstorage:destructor.pickup=블럭을 파괴하지 않고 주움
|
||||||
|
@@ -156,10 +156,6 @@ sidebutton.refinedstorage:detector.mode.1=Emite um sinal quando estiver no valor
|
|||||||
sidebutton.refinedstorage:detector.mode.2=Emite sinal quando acima do valor
|
sidebutton.refinedstorage:detector.mode.2=Emite sinal quando acima do valor
|
||||||
sidebutton.refinedstorage:detector.mode.3=Emite o sinal quando o item está sendo auto-fabricado
|
sidebutton.refinedstorage:detector.mode.3=Emite o sinal quando o item está sendo auto-fabricado
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=Excesso de itens vazio
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Excesso de fluidos vazio
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Excesso de itens e fluidos vazio
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Solte os blocos em vez de colocar
|
sidebutton.refinedstorage:constructor.drop=Solte os blocos em vez de colocar
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=Pegue os itens em vez de quebrar
|
sidebutton.refinedstorage:destructor.pickup=Pegue os itens em vez de quebrar
|
||||||
|
@@ -179,10 +179,6 @@ sidebutton.refinedstorage:detector.mode.1=Выдача сигнала, если
|
|||||||
sidebutton.refinedstorage:detector.mode.2=Выдача сигнала, если количество больше
|
sidebutton.refinedstorage:detector.mode.2=Выдача сигнала, если количество больше
|
||||||
sidebutton.refinedstorage:detector.mode.3=Излучать сигнал, когда предмет начинает автосоздание
|
sidebutton.refinedstorage:detector.mode.3=Излучать сигнал, когда предмет начинает автосоздание
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=Избыток предметов
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=Избыток жидкости
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=Избыток предметов и жидкости
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=Выкидывать блоки вместо размещения
|
sidebutton.refinedstorage:constructor.drop=Выкидывать блоки вместо размещения
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=Подбирать предметы, а не ломать
|
sidebutton.refinedstorage:destructor.pickup=Подбирать предметы, а не ломать
|
||||||
|
@@ -157,10 +157,6 @@ sidebutton.refinedstorage:detector.mode.1=物品数量等于输入数量时输
|
|||||||
sidebutton.refinedstorage:detector.mode.2=物品数量大于于输入数量时输出信号
|
sidebutton.refinedstorage:detector.mode.2=物品数量大于于输入数量时输出信号
|
||||||
sidebutton.refinedstorage:detector.mode.3=当正在自动合成的时候输出红石信号
|
sidebutton.refinedstorage:detector.mode.3=当正在自动合成的时候输出红石信号
|
||||||
|
|
||||||
sidebutton.refinedstorage:void_excess.items=销毁多余的物品
|
|
||||||
sidebutton.refinedstorage:void_excess.fluids=销毁多余的流体
|
|
||||||
sidebutton.refinedstorage:void_excess.items_fluids=销毁多余的物品和流体
|
|
||||||
|
|
||||||
sidebutton.refinedstorage:constructor.drop=将物品以掉落物形式抛出
|
sidebutton.refinedstorage:constructor.drop=将物品以掉落物形式抛出
|
||||||
|
|
||||||
sidebutton.refinedstorage:destructor.pickup=拾取物品模式
|
sidebutton.refinedstorage:destructor.pickup=拾取物品模式
|
||||||
|
Reference in New Issue
Block a user