aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt <mtthw8198@gmail.com>2021-06-04 16:50:57 -0700
committerMatt <mtthw8198@gmail.com>2021-06-04 16:50:57 -0700
commitb8e5cd79991277a9e5b59fe01e5311aa8a382679 (patch)
tree30a3a7b5d563cd11d519fa8105a3bccb965a52d4 /src
parentcbc4b7c8034da9c8132f733a5bdff0bd11745601 (diff)
downloadGT5-Unofficial-b8e5cd79991277a9e5b59fe01e5311aa8a382679.tar.gz
GT5-Unofficial-b8e5cd79991277a9e5b59fe01e5311aa8a382679.tar.bz2
GT5-Unofficial-b8e5cd79991277a9e5b59fe01e5311aa8a382679.zip
Private channel is now implemented
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
index 056f316bb1..2c9cc0555c 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
@@ -17,7 +17,10 @@ import net.minecraftforge.fluids.Fluid;
public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
- private static int MAX_CHANNEL = 65535;
+ private static final int MAX_CHANNEL = 65535;
+ private static final int PRIVATE_MASK = 0xFFFE0000;
+ private static final int PUBLIC_MASK = 0x0000FFFF;
+ private static final int CHECKBOX_MASK = 0x00010000;
@Override
public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) {
@@ -144,7 +147,7 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
this.coverVariable = aCoverVariable;
fBox = new GT_GuiShortTextBox(this, 2,startX + spaceX*0,startY+spaceY*0 + 2, spaceX*4-3,12);
- fBox.setText(String.valueOf(coverVariable & 0x0000ffff));
+ fBox.setText(String.valueOf(coverVariable & PUBLIC_MASK));
fBox.setMaxStringLength(12);
GuiButton b;
@@ -161,6 +164,7 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
@Override
protected void onInitGui(int guiLeft, int guiTop, int gui_width, int gui_height) {
fBox.setFocused(true);
+ ((GT_GuiIconCheckButton) buttonList.get(0)).setChecked((coverVariable & 0x00010000) > 0);
}
@Override
@@ -203,14 +207,34 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior {
else if (i < 0)
i = 0;
- coverVariable = (coverVariable & 0xffff0000) | (i & 0x0000ffff);
- fBox.setText(Integer.toString(coverVariable & 0x0000ffff));
+ coverVariable = (coverVariable & PRIVATE_MASK) | (i & PUBLIC_MASK);
+ fBox.setText(Integer.toString(coverVariable & PUBLIC_MASK));
GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile));
}
@Override
public void resetTextBox(GT_GuiIntegerTextBox box) {
- box.setText(String.valueOf(coverVariable & 0x0000ffff));
+ box.setText(String.valueOf(coverVariable & PUBLIC_MASK));
+ }
+
+ @Override
+ public void buttonClicked(GuiButton btn) {
+
+ final GT_GuiIconCheckButton tBtn = (GT_GuiIconCheckButton) btn;
+
+ tBtn.setChecked(!tBtn.isChecked());
+
+ if (tBtn.isChecked())
+ coverVariable = coverVariable | CHECKBOX_MASK;
+ else
+ coverVariable = coverVariable & ~CHECKBOX_MASK;
+
+ if ((coverVariable & CHECKBOX_MASK) > 0)
+ {
+ coverVariable = coverVariable & (lastPlayer.getDisplayName().hashCode() & PRIVATE_MASK);
+ }
+
+ GT_Values.NW.sendToServer(new GT_Packet_TileEntityCover(side, coverID, coverVariable, tile));
}
private class GT_GuiShortTextBox extends GT_GuiIntegerTextBox {