aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatej Dipčár <492666@mail.muni.cz>2022-09-21 04:53:08 +0200
committerMatej Dipčár <492666@mail.muni.cz>2022-09-23 02:15:47 +0200
commit5c8bdf8dd74464a9de69b1a7c5fed6aaea566a55 (patch)
tree38e0d2c17ab58c73871f1441b4a6fb872fd3685c /src
parent594b87668a456fb4483a8bf1fa3743763950477b (diff)
downloadGT5-Unofficial-5c8bdf8dd74464a9de69b1a7c5fed6aaea566a55.tar.gz
GT5-Unofficial-5c8bdf8dd74464a9de69b1a7c5fed6aaea566a55.tar.bz2
GT5-Unofficial-5c8bdf8dd74464a9de69b1a7c5fed6aaea566a55.zip
Make also WirelessData abstract
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverBase.java59
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java77
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java94
-rw-r--r--src/main/java/gregtech/common/covers/redstone/IWirelessObject.java14
4 files changed, 110 insertions, 134 deletions
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverBase.java
index 5eba8a7a85..ade97ed25d 100644
--- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverBase.java
+++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverBase.java
@@ -56,18 +56,11 @@ public abstract class GT_Cover_AdvancedRedstoneReceiverBase extends GT_Cover_Adv
NOR
}
- public static class ReceiverData implements IWirelessObject {
- private int frequency;
-
- /**
- * If UUID is set to null, the cover frequency is public, rather than private
- **/
- private UUID uuid;
+ public static class ReceiverData extends GT_Cover_AdvancedWirelessRedstoneBase.WirelessData {
private GateMode mode;
public ReceiverData(int frequency, UUID uuid, GateMode mode) {
- this.frequency = frequency;
- this.uuid = uuid;
+ super(frequency, uuid);
this.mode = mode;
}
@@ -75,26 +68,6 @@ public abstract class GT_Cover_AdvancedRedstoneReceiverBase extends GT_Cover_Adv
this(0, null, GateMode.AND);
}
- @Override
- public UUID getUuid() {
- return uuid;
- }
-
- @Override
- public void setFrequency(int frequency) {
- this.frequency = frequency;
- }
-
- @Override
- public int getFrequency() {
- return frequency;
- }
-
- @Override
- public void setUuid(UUID uuid) {
- this.uuid = uuid;
- }
-
public GateMode getGateMode() {
return mode;
}
@@ -108,11 +81,7 @@ public abstract class GT_Cover_AdvancedRedstoneReceiverBase extends GT_Cover_Adv
@Nonnull
@Override
public NBTBase saveDataToNBT() {
- NBTTagCompound tag = new NBTTagCompound();
- tag.setInteger("frequency", frequency);
- if (uuid != null) {
- tag.setString("uuid", uuid.toString());
- }
+ NBTTagCompound tag = (NBTTagCompound) super.saveDataToNBT();
tag.setByte("mode", (byte) mode.ordinal());
return tag;
@@ -120,39 +89,29 @@ public abstract class GT_Cover_AdvancedRedstoneReceiverBase extends GT_Cover_Adv
@Override
public void writeToByteBuf(ByteBuf aBuf) {
- aBuf.writeInt(frequency);
- aBuf.writeBoolean(uuid != null);
- if (uuid != null) {
- aBuf.writeLong(uuid.getLeastSignificantBits());
- aBuf.writeLong(uuid.getMostSignificantBits());
- }
+ super.writeToByteBuf(aBuf);
aBuf.writeByte(mode.ordinal());
}
@Override
public void loadDataFromNBT(NBTBase aNBT) {
+ super.loadDataFromNBT(aNBT);
+
NBTTagCompound tag = (NBTTagCompound) aNBT;
- frequency = tag.getInteger("frequency");
- if (tag.hasKey("uuid")) {
- uuid = UUID.fromString(tag.getString("uuid"));
- }
mode = GateMode.values()[tag.getByte("mode")];
}
@Nonnull
@Override
public ISerializableObject readFromPacket(ByteArrayDataInput aBuf, EntityPlayerMP aPlayer) {
- frequency = aBuf.readInt();
- if (aBuf.readBoolean()) {
- uuid = new UUID(aBuf.readLong(), aBuf.readLong());
- }
+ super.readFromPacket(aBuf, aPlayer);
mode = GateMode.values()[aBuf.readByte()];
return this;
}
}
- private class ReceiverGUI extends WirelessGUI {
+ private class ReceiverGUI extends WirelessGUI<ReceiverData> {
private static final int gateModeButtonIdStart = 1;
@@ -205,7 +164,7 @@ public abstract class GT_Cover_AdvancedRedstoneReceiverBase extends GT_Cover_Adv
@Override
public void buttonClicked(GuiButton btn) {
- if (btn.enabled) {
+ if (btn.id >= gateModeButtonIdStart && btn.enabled) {
coverVariable.mode = GateMode.values()[btn.id - gateModeButtonIdStart];
}
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java
index 71d3820b2f..e5f615e329 100644
--- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java
+++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java
@@ -49,28 +49,11 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
return GT_Utility.trans("081", "Frequency: ") + aCoverVariable.frequency + ", Transmission: " + (aCoverVariable.uuid == null ? "Public" : "Private");
}
- /**
- * GUI Stuff
- */
-
- @Override
- public Object getClientGUIImpl(byte aSide, int aCoverID, TransmitterData aCoverVariable, ICoverable aTileEntity,
- EntityPlayer aPlayer, World aWorld) {
- return new TransmitterGUI(aSide, aCoverID, aCoverVariable, aTileEntity);
- }
-
- public static class TransmitterData implements IWirelessObject {
- private int frequency;
-
- /**
- * If UUID is set to null, the cover frequency is public, rather than private
- **/
- private UUID uuid;
+ public static class TransmitterData extends GT_Cover_AdvancedWirelessRedstoneBase.WirelessData {
private boolean invert;
public TransmitterData(int frequency, UUID uuid, boolean invert) {
- this.frequency = frequency;
- this.uuid = uuid;
+ super(frequency, uuid);
this.invert = invert;
}
@@ -78,26 +61,6 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
this(0, null, false);
}
- @Override
- public UUID getUuid() {
- return uuid;
- }
-
- @Override
- public void setUuid(UUID uuid) {
- this.uuid = uuid;
- }
-
- @Override
- public int getFrequency() {
- return frequency;
- }
-
- @Override
- public void setFrequency(int frequency) {
- this.frequency = frequency;
- }
-
public boolean isInvert() {
return invert;
}
@@ -111,11 +74,7 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
@Nonnull
@Override
public NBTBase saveDataToNBT() {
- NBTTagCompound tag = new NBTTagCompound();
- tag.setInteger("frequency", frequency);
- if (uuid != null) {
- tag.setString("uuid", uuid.toString());
- }
+ NBTTagCompound tag = (NBTTagCompound) super.saveDataToNBT();
tag.setBoolean("invert", invert);
return tag;
@@ -123,22 +82,15 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
@Override
public void writeToByteBuf(ByteBuf aBuf) {
- aBuf.writeInt(frequency);
- aBuf.writeBoolean(uuid != null);
- if (uuid != null) {
- aBuf.writeLong(uuid.getLeastSignificantBits());
- aBuf.writeLong(uuid.getMostSignificantBits());
- }
+ super.writeToByteBuf(aBuf);
aBuf.writeBoolean(invert);
}
@Override
public void loadDataFromNBT(NBTBase aNBT) {
+ super.loadDataFromNBT(aNBT);
+
NBTTagCompound tag = (NBTTagCompound) aNBT;
- frequency = tag.getInteger("frequency");
- if (tag.hasKey("uuid")) {
- uuid = UUID.fromString(tag.getString("uuid"));
- }
invert = tag.getBoolean("invert");
}
@@ -149,10 +101,7 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
UUID oldUuid = uuid;
boolean oldInvert = invert;
- frequency = aBuf.readInt();
- if (aBuf.readBoolean()) {
- uuid = new UUID(aBuf.readLong(), aBuf.readLong());
- }
+ super.readFromPacket(aBuf, aPlayer);
invert = aBuf.readBoolean();
if (oldFrequency != frequency || !Objects.equals(oldUuid, uuid) || oldInvert != invert) {
@@ -164,7 +113,17 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_
}
}
- private class TransmitterGUI extends WirelessGUI {
+ /**
+ * GUI Stuff
+ */
+
+ @Override
+ public Object getClientGUIImpl(byte aSide, int aCoverID, TransmitterData aCoverVariable, ICoverable aTileEntity,
+ EntityPlayer aPlayer, World aWorld) {
+ return new TransmitterGUI(aSide, aCoverID, aCoverVariable, aTileEntity);
+ }
+
+ private class TransmitterGUI extends WirelessGUI<TransmitterData> {
private final GT_GuiIconCheckButton invertButton;
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java
index 10e63d1ad3..08fa5356c2 100644
--- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java
+++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedWirelessRedstoneBase.java
@@ -1,5 +1,6 @@
package gregtech.common.covers.redstone;
+import com.google.common.io.ByteArrayDataInput;
import gregtech.api.enums.GT_Values;
import gregtech.api.gui.GT_GUICover;
import gregtech.api.gui.widgets.GT_GuiIcon;
@@ -11,12 +12,20 @@ import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.net.GT_Packet_TileEntityCoverNew;
import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.ISerializableObject;
+import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;
-public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessObject> extends GT_CoverBehaviorBase<T> {
+import javax.annotation.Nonnull;
+import java.util.UUID;
+
+public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends GT_Cover_AdvancedWirelessRedstoneBase.WirelessData> extends GT_CoverBehaviorBase<T> {
public GT_Cover_AdvancedWirelessRedstoneBase(Class<T> typeToken, ITexture coverTexture) {
super(typeToken, coverTexture);
@@ -57,6 +66,71 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessO
return 5;
}
+
+ public static abstract class WirelessData implements ISerializableObject {
+ protected int frequency;
+
+ /**
+ * If UUID is set to null, the cover frequency is public, rather than private
+ **/
+ protected UUID uuid;
+
+ public WirelessData(int frequency, UUID uuid) {
+ this.frequency = frequency;
+ this.uuid = uuid;
+ }
+
+ public UUID getUuid() {
+ return uuid;
+ }
+
+ public int getFrequency() {
+ return frequency;
+ }
+
+ @Nonnull
+ @Override
+ public NBTBase saveDataToNBT() {
+ NBTTagCompound tag = new NBTTagCompound();
+ tag.setInteger("frequency", frequency);
+ if (uuid != null) {
+ tag.setString("uuid", uuid.toString());
+ }
+
+ return tag;
+ }
+
+ @Override
+ public void writeToByteBuf(ByteBuf aBuf) {
+ aBuf.writeInt(frequency);
+ aBuf.writeBoolean(uuid != null);
+ if (uuid != null) {
+ aBuf.writeLong(uuid.getLeastSignificantBits());
+ aBuf.writeLong(uuid.getMostSignificantBits());
+ }
+ }
+
+ @Override
+ public void loadDataFromNBT(NBTBase aNBT) {
+ NBTTagCompound tag = (NBTTagCompound) aNBT;
+ frequency = tag.getInteger("frequency");
+ if (tag.hasKey("uuid")) {
+ uuid = UUID.fromString(tag.getString("uuid"));
+ }
+ }
+
+ @Nonnull
+ @Override
+ public ISerializableObject readFromPacket(ByteArrayDataInput aBuf, EntityPlayerMP aPlayer) {
+ frequency = aBuf.readInt();
+ if (aBuf.readBoolean()) {
+ uuid = new UUID(aBuf.readLong(), aBuf.readLong());
+ }
+
+ return this;
+ }
+ }
+
/**
* GUI Stuff
*/
@@ -65,13 +139,13 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessO
return true;
}
- protected abstract class WirelessGUI extends GT_GUICover {
+ protected abstract class WirelessGUI<X extends WirelessData> extends GT_GUICover {
protected final byte side;
protected final int coverID;
protected final GT_GuiIntegerTextBox frequencyBox;
protected final GT_GuiIconCheckButton privateButton;
- protected final T coverVariable;
+ protected final X coverVariable;
protected static final int startX = 10;
protected static final int startY = 25;
@@ -82,14 +156,14 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessO
private static final String guiTexturePath = "gregtech:textures/gui/GuiCoverLong.png";
- public WirelessGUI(byte aSide, int aCoverID, T aCoverVariable, ICoverable aTileEntity) {
+ public WirelessGUI(byte aSide, int aCoverID, X aCoverVariable, ICoverable aTileEntity) {
super(aTileEntity, 250, 107, GT_Utility.intToStack(aCoverID));
this.mGUIbackgroundLocation = new ResourceLocation(guiTexturePath);
this.side = aSide;
this.coverID = aCoverID;
this.coverVariable = aCoverVariable;
- frequencyBox = new WirelessGUI.GT_GuiShortTextBox(this, 0, startX, startY + 2, spaceX * 5 - 3, 12);
+ frequencyBox = new GT_GuiShortTextBox(this, 0, startX, startY + 2, spaceX * 5 - 3, 12);
privateButton = new GT_GuiIconCheckButton(this, 0, startX, startY + spaceY * 1, GT_GuiIcon.CHECKMARK, null);
}
@@ -116,7 +190,7 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessO
@Override
public void applyTextBox(GT_GuiIntegerTextBox box) {
if (box == frequencyBox) {
- coverVariable.setFrequency(parseTextBox(frequencyBox));
+ coverVariable.frequency = parseTextBox(frequencyBox);
}
GT_Values.NW.sendToServer(new GT_Packet_TileEntityCoverNew(side, coverID, coverVariable, tile));
@@ -126,21 +200,19 @@ public abstract class GT_Cover_AdvancedWirelessRedstoneBase<T extends IWirelessO
@Override
public void resetTextBox(GT_GuiIntegerTextBox box) {
if (box == frequencyBox) {
- frequencyBox.setText(Integer.toString(coverVariable.getFrequency()));
+ frequencyBox.setText(Integer.toString(coverVariable.frequency));
}
}
protected void update() {
- privateButton.setChecked(coverVariable.getUuid() != null);
+ privateButton.setChecked(coverVariable.uuid != null);
resetTextBox(frequencyBox);
}
@Override
public void buttonClicked(GuiButton btn) {
if (btn == privateButton) {
- coverVariable.setUuid(
- coverVariable.getUuid() == null ? Minecraft.getMinecraft().thePlayer.getUniqueID() : null
- );
+ coverVariable.uuid = coverVariable.uuid == null ? Minecraft.getMinecraft().thePlayer.getUniqueID() : null;
}
GT_Values.NW.sendToServer(new GT_Packet_TileEntityCoverNew(side, coverID, coverVariable, tile));
diff --git a/src/main/java/gregtech/common/covers/redstone/IWirelessObject.java b/src/main/java/gregtech/common/covers/redstone/IWirelessObject.java
deleted file mode 100644
index e975a9587e..0000000000
--- a/src/main/java/gregtech/common/covers/redstone/IWirelessObject.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package gregtech.common.covers.redstone;
-
-import gregtech.api.util.ISerializableObject;
-
-import java.util.UUID;
-
-public interface IWirelessObject extends ISerializableObject {
-
- int getFrequency();
- void setFrequency(int frequency);
-
- UUID getUuid();
- void setUuid(UUID uuid);
-}