whitelist / blacklist on external storage and storage block

This commit is contained in:
Raoul Van den Berge
2016-01-31 14:57:21 +01:00
parent 8c630b7d64
commit 4fa12c7930
5 changed files with 94 additions and 5 deletions

View File

@@ -19,11 +19,12 @@ import storagecraft.storage.NBTStorage;
import storagecraft.storage.StorageItem;
import storagecraft.util.InventoryUtils;
public class TileStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting
public class TileStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting, IWhitelistBlacklistSetting
{
public static final String NBT_STORAGE = "Storage";
public static final String NBT_PRIORITY = "Priority";
public static final String NBT_COMPARE = "Compare";
public static final String NBT_MODE = "Mode";
private InventorySimple inventory = new InventorySimple("storage", 9);
@@ -31,6 +32,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
private int priority = 0;
private int compare = 0;
private int mode = 0;
@SideOnly(Side.CLIENT)
private int stored;
@@ -73,6 +75,11 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
{
compare = nbt.getInteger(NBT_COMPARE);
}
if (nbt.hasKey(NBT_MODE))
{
mode = nbt.getInteger(NBT_MODE);
}
}
@Override
@@ -85,6 +92,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
nbt.setTag(NBT_STORAGE, tag);
nbt.setInteger(NBT_PRIORITY, priority);
nbt.setInteger(NBT_COMPARE, compare);
nbt.setInteger(NBT_MODE, mode);
}
public EnumStorageType getType()
@@ -100,6 +108,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
buf.writeInt(NBTStorage.getStored(tag));
buf.writeInt(priority);
buf.writeInt(compare);
buf.writeInt(mode);
}
@Override
@@ -110,6 +119,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
stored = buf.readInt();
priority = buf.readInt();
compare = buf.readInt();
mode = buf.readInt();
}
@Override
@@ -156,6 +166,30 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
this.compare = compare;
}
@Override
public boolean isWhitelist()
{
return mode == 0;
}
@Override
public boolean isBlacklist()
{
return mode == 1;
}
@Override
public void setToWhitelist()
{
this.mode = 0;
}
@Override
public void setToBlacklist()
{
this.mode = 1;
}
@Override
public String getName()
{
@@ -180,6 +214,12 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
return this;
}
@Override
public IWhitelistBlacklistSetting getWhitelistBlacklistSetting()
{
return this;
}
@Override
public IPriorityHandler getPriorityHandler()
{