More fixes.
This commit is contained in:
@@ -1,36 +1,32 @@
|
|||||||
package refinedstorage.gui.sidebutton;
|
package refinedstorage.gui.sidebutton;
|
||||||
|
|
||||||
|
import refinedstorage.RSUtils;
|
||||||
|
import refinedstorage.api.storage.AccessType;
|
||||||
import refinedstorage.gui.GuiBase;
|
import refinedstorage.gui.GuiBase;
|
||||||
import refinedstorage.tile.config.IAccessType;
|
|
||||||
import refinedstorage.tile.data.TileDataManager;
|
import refinedstorage.tile.data.TileDataManager;
|
||||||
import refinedstorage.tile.data.TileDataParameter;
|
import refinedstorage.tile.data.TileDataParameter;
|
||||||
|
|
||||||
public class SideButtonAccessType extends SideButton {
|
public class SideButtonAccessType extends SideButton {
|
||||||
private TileDataParameter<Integer> parameter;
|
private TileDataParameter<AccessType> parameter;
|
||||||
|
|
||||||
public SideButtonAccessType(GuiBase gui, TileDataParameter<Integer> parameter) {
|
public SideButtonAccessType(GuiBase gui, TileDataParameter<AccessType> parameter) {
|
||||||
super(gui);
|
super(gui);
|
||||||
|
|
||||||
this.parameter = parameter;
|
this.parameter = parameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
protected void drawButtonIcon(int x, int y) {
|
protected void drawButtonIcon(int x, int y) {
|
||||||
//TODO
|
// @TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getTooltip() {
|
public String getTooltip() {
|
||||||
switch (parameter.getValue()) {
|
return gui.t("sidebutton.refinedstorage:access_type." + parameter.getValue().getId());
|
||||||
case IAccessType.READ:
|
|
||||||
return gui.t("sidebutton.refinedstorage:access_type.read");
|
|
||||||
case IAccessType.WRITE:
|
|
||||||
return gui.t("sidebutton.refinedstorage:access_type.write");
|
|
||||||
default:
|
|
||||||
case IAccessType.READ_WRITE:
|
|
||||||
return gui.t("sidebutton.refinedstorage:access_type.read_write");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void actionPerformed() {
|
public void actionPerformed() {
|
||||||
TileDataManager.setParameter(parameter, ((parameter.getValue() + 1 > IAccessType.READ_WRITE) ? IAccessType.READ : parameter.getValue() + 1));
|
TileDataManager.setParameter(parameter, RSUtils.getAccessType(parameter.getValue().getId() + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package refinedstorage.tile;
|
package refinedstorage.tile;
|
||||||
|
|
||||||
|
import refinedstorage.api.storage.AccessType;
|
||||||
import refinedstorage.tile.data.TileDataParameter;
|
import refinedstorage.tile.data.TileDataParameter;
|
||||||
|
|
||||||
public interface IStorageGui {
|
public interface IStorageGui {
|
||||||
@@ -15,9 +16,9 @@ public interface IStorageGui {
|
|||||||
|
|
||||||
TileDataParameter<Integer> getPriorityParameter();
|
TileDataParameter<Integer> getPriorityParameter();
|
||||||
|
|
||||||
TileDataParameter<Boolean> getVoidExcessParameter();
|
TileDataParameter<AccessType> getAccessTypeParameter();
|
||||||
|
|
||||||
TileDataParameter<Integer> getAccessTypeParameter();
|
TileDataParameter<Boolean> getVoidExcessParameter();
|
||||||
|
|
||||||
String getVoidExcessType();
|
String getVoidExcessType();
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl
|
|||||||
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
|
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
|
||||||
public static final TileDataParameter<Boolean> VOID_EXCESS = IExcessVoidable.createParameter();
|
public static final TileDataParameter<Boolean> VOID_EXCESS = IExcessVoidable.createParameter();
|
||||||
public static final TileDataParameter<Integer> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
|
|
||||||
public class ItemStorage extends ItemStorageNBT {
|
public class ItemStorage extends ItemStorageNBT {
|
||||||
public ItemStorage(ItemStack disk) {
|
public ItemStorage(ItemStack disk) {
|
||||||
@@ -342,7 +342,7 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<Integer> getAccessTypeParameter() {
|
public TileDataParameter<AccessType> getAccessTypeParameter() {
|
||||||
return ACCESS_TYPE;
|
return ACCESS_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,8 +360,10 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl
|
|||||||
public void setAccessType(AccessType value) {
|
public void setAccessType(AccessType value) {
|
||||||
this.accessType = value;
|
this.accessType = value;
|
||||||
|
|
||||||
|
if (network != null) {
|
||||||
network.getFluidStorageCache().invalidate();
|
network.getFluidStorageCache().invalidate();
|
||||||
network.getItemStorageCache().invalidate();
|
network.getItemStorageCache().invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
@@ -26,7 +26,7 @@ public class TileFluidStorage extends TileNode implements IFluidStorageProvider,
|
|||||||
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
||||||
public static final TileDataParameter<Boolean> VOID_EXCESS = IExcessVoidable.createParameter();
|
public static final TileDataParameter<Boolean> VOID_EXCESS = IExcessVoidable.createParameter();
|
||||||
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<Integer> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileFluidStorage>() {
|
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileFluidStorage>() {
|
||||||
@Override
|
@Override
|
||||||
public Integer getValue(TileFluidStorage tile) {
|
public Integer getValue(TileFluidStorage tile) {
|
||||||
@@ -257,7 +257,7 @@ public class TileFluidStorage extends TileNode implements IFluidStorageProvider,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<Integer> getAccessTypeParameter() {
|
public TileDataParameter<AccessType> getAccessTypeParameter() {
|
||||||
return ACCESS_TYPE;
|
return ACCESS_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -291,7 +291,9 @@ public class TileFluidStorage extends TileNode implements IFluidStorageProvider,
|
|||||||
public void setAccessType(AccessType value) {
|
public void setAccessType(AccessType value) {
|
||||||
this.accessType = value;
|
this.accessType = value;
|
||||||
|
|
||||||
|
if (network != null) {
|
||||||
network.getFluidStorageCache().invalidate();
|
network.getFluidStorageCache().invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
@@ -26,7 +26,7 @@ public class TileStorage extends TileNode implements IItemStorageProvider, IStor
|
|||||||
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
|
public static final TileDataParameter<Integer> PRIORITY = IPrioritizable.createParameter();
|
||||||
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
||||||
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<Integer> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileStorage>() {
|
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileStorage>() {
|
||||||
@Override
|
@Override
|
||||||
public Integer getValue(TileStorage tile) {
|
public Integer getValue(TileStorage tile) {
|
||||||
@@ -270,7 +270,7 @@ public class TileStorage extends TileNode implements IItemStorageProvider, IStor
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<Integer> getAccessTypeParameter() {
|
public TileDataParameter<AccessType> getAccessTypeParameter() {
|
||||||
return ACCESS_TYPE;
|
return ACCESS_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -304,7 +304,9 @@ public class TileStorage extends TileNode implements IItemStorageProvider, IStor
|
|||||||
public void setAccessType(AccessType value) {
|
public void setAccessType(AccessType value) {
|
||||||
this.accessType = value;
|
this.accessType = value;
|
||||||
|
|
||||||
|
if (network != null) {
|
||||||
network.getItemStorageCache().invalidate();
|
network.getItemStorageCache().invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
@@ -1,29 +1,23 @@
|
|||||||
package refinedstorage.tile.config;
|
package refinedstorage.tile.config;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.network.datasync.DataSerializers;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import refinedstorage.RSUtils;
|
|
||||||
import refinedstorage.api.storage.AccessType;
|
import refinedstorage.api.storage.AccessType;
|
||||||
import refinedstorage.tile.data.ITileDataConsumer;
|
import refinedstorage.tile.data.ITileDataConsumer;
|
||||||
import refinedstorage.tile.data.ITileDataProducer;
|
import refinedstorage.tile.data.ITileDataProducer;
|
||||||
|
import refinedstorage.tile.data.RSSerializers;
|
||||||
import refinedstorage.tile.data.TileDataParameter;
|
import refinedstorage.tile.data.TileDataParameter;
|
||||||
|
|
||||||
public interface IAccessType {
|
public interface IAccessType {
|
||||||
int READ = 0;
|
static <T extends TileEntity> TileDataParameter<AccessType> createParameter() {
|
||||||
int WRITE = 1;
|
return new TileDataParameter<>(RSSerializers.ACCESS_TYPE_SERIALIZER, AccessType.READ_WRITE, new ITileDataProducer<AccessType, T>() {
|
||||||
int READ_WRITE = 2;
|
|
||||||
|
|
||||||
static <T extends TileEntity> TileDataParameter<Integer> createParameter() {
|
|
||||||
return new TileDataParameter<>(DataSerializers.VARINT, READ_WRITE, new ITileDataProducer<Integer, T>() {
|
|
||||||
@Override
|
@Override
|
||||||
public Integer getValue(T tile) {
|
public AccessType getValue(T tile) {
|
||||||
return ((IAccessType) tile).getAccessType().getId();
|
return ((IAccessType) tile).getAccessType();
|
||||||
}
|
}
|
||||||
}, new ITileDataConsumer<Integer, T>() {
|
}, new ITileDataConsumer<AccessType, T>() {
|
||||||
@Override
|
@Override
|
||||||
public void setValue(T tile, Integer value) {
|
public void setValue(T tile, AccessType value) {
|
||||||
((IAccessType) tile).setAccessType(RSUtils.getAccessType(value));
|
((IAccessType) tile).setAccessType(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -7,7 +7,9 @@ import net.minecraft.network.datasync.DataSerializer;
|
|||||||
import net.minecraftforge.fluids.FluidRegistry;
|
import net.minecraftforge.fluids.FluidRegistry;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||||
|
import refinedstorage.RSUtils;
|
||||||
import refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement;
|
import refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement;
|
||||||
|
import refinedstorage.api.storage.AccessType;
|
||||||
import refinedstorage.apiimpl.API;
|
import refinedstorage.apiimpl.API;
|
||||||
import refinedstorage.tile.ClientNode;
|
import refinedstorage.tile.ClientNode;
|
||||||
|
|
||||||
@@ -114,4 +116,21 @@ public final class RSSerializers {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static final DataSerializer<AccessType> ACCESS_TYPE_SERIALIZER = new DataSerializer<AccessType>() {
|
||||||
|
@Override
|
||||||
|
public void write(PacketBuffer buf, AccessType value) {
|
||||||
|
buf.writeInt(value.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AccessType read(PacketBuffer buf) throws IOException {
|
||||||
|
return RSUtils.getAccessType(buf.readInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataParameter<AccessType> createKey(int id) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -35,7 +35,7 @@ public class TileExternalStorage extends TileMultipartNode implements IItemStora
|
|||||||
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
public static final TileDataParameter<Integer> COMPARE = IComparable.createParameter();
|
||||||
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
public static final TileDataParameter<Integer> MODE = IFilterable.createParameter();
|
||||||
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
|
public static final TileDataParameter<Integer> TYPE = IType.createParameter();
|
||||||
public static final TileDataParameter<Integer> ACCESS_TYPE = IAccessType.createParameter();
|
public static final TileDataParameter<AccessType> ACCESS_TYPE = IAccessType.createParameter();
|
||||||
|
|
||||||
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileExternalStorage>() {
|
public static final TileDataParameter<Integer> STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileExternalStorage>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -317,7 +317,7 @@ public class TileExternalStorage extends TileMultipartNode implements IItemStora
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TileDataParameter<Integer> getAccessTypeParameter() {
|
public TileDataParameter<AccessType> getAccessTypeParameter() {
|
||||||
return ACCESS_TYPE;
|
return ACCESS_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,8 +345,10 @@ public class TileExternalStorage extends TileMultipartNode implements IItemStora
|
|||||||
public void setAccessType(AccessType type) {
|
public void setAccessType(AccessType type) {
|
||||||
this.accessType = type;
|
this.accessType = type;
|
||||||
|
|
||||||
|
if (network != null) {
|
||||||
network.getItemStorageCache().invalidate();
|
network.getItemStorageCache().invalidate();
|
||||||
network.getFluidStorageCache().invalidate();
|
network.getFluidStorageCache().invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
markDirty();
|
markDirty();
|
||||||
}
|
}
|
||||||
|
@@ -123,9 +123,9 @@ 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:access_type.read=Read
|
sidebutton.refinedstorage:access_type.0=Read and write
|
||||||
sidebutton.refinedstorage:access_type.write=Write
|
sidebutton.refinedstorage:access_type.1=Read
|
||||||
sidebutton.refinedstorage:access_type.read_write=Read and write
|
sidebutton.refinedstorage:access_type.2=Write
|
||||||
|
|
||||||
block.refinedstorage:controller.0.name=Controller
|
block.refinedstorage:controller.0.name=Controller
|
||||||
block.refinedstorage:controller.1.name=Creative Controller
|
block.refinedstorage:controller.1.name=Creative Controller
|
||||||
|
Reference in New Issue
Block a user