aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/network
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
committerAlkalus <draknyte1@hotmail.com>2021-05-20 23:07:24 +0000
commit7881c840421c191e8c4249fc303e184fa1cbf9a8 (patch)
tree0e1f8d8d19ca14e14dfb16c1ed49750935612dfa /src/Java/gtPlusPlus/core/network
parentde40c882cb16535deae1c29b22f1a535747db536 (diff)
parent5316a0ffcbc403e17a06d4c9e28d57e202f0aafe (diff)
downloadGT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.gz
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.tar.bz2
GT5-Unofficial-7881c840421c191e8c4249fc303e184fa1cbf9a8.zip
Merged in MultiFixes (pull request #11)
MultiFixes
Diffstat (limited to 'src/Java/gtPlusPlus/core/network')
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java13
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java37
-rw-r--r--src/Java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java13
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/AbstractPacket.java9
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java128
-rw-r--r--src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java127
6 files changed, 327 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java b/src/Java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java
new file mode 100644
index 0000000000..b7ced2f7e9
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/handler/AbstractClientMessageHandler.java
@@ -0,0 +1,13 @@
+package gtPlusPlus.core.network.handler;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import net.minecraft.entity.player.EntityPlayer;
+
+public abstract class AbstractClientMessageHandler<T extends IMessage> extends AbstractMessageHandler<T> {
+
+ public final IMessage handleServerMessage(EntityPlayer player, T message, MessageContext ctx) {
+ return null;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java b/src/Java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java
new file mode 100644
index 0000000000..ca350f220f
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/handler/AbstractMessageHandler.java
@@ -0,0 +1,37 @@
+package gtPlusPlus.core.network.handler;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.GTplusplus;
+import net.minecraft.entity.player.EntityPlayer;
+
+public abstract class AbstractMessageHandler <T extends IMessage> implements IMessageHandler <T, IMessage>
+{
+ /**
+ * Handle a message received on the client side
+ * @return a message to send back to the Server, or null if no reply is necessary
+ */
+ @SideOnly(Side.CLIENT)
+ public abstract IMessage handleClientMessage(EntityPlayer player, T message, MessageContext ctx);
+
+ /**
+ * Handle a message received on the server side
+ * @return a message to send back to the Client, or null if no reply is necessary
+ */
+ public abstract IMessage handleServerMessage(EntityPlayer player, T message, MessageContext ctx);
+
+ @Override
+ public IMessage onMessage(T message, MessageContext ctx) {
+ if (ctx.side.isClient()) {
+ return handleClientMessage(GTplusplus.proxy.getPlayerEntity(ctx), message, ctx);
+ } else {
+ // server side proxy will return the server side EntityPlayer
+ return handleServerMessage(GTplusplus.proxy.getPlayerEntity(ctx), message, ctx);
+ }
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java b/src/Java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java
new file mode 100644
index 0000000000..d49e6cf350
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/handler/AbstractServerMessageHandler.java
@@ -0,0 +1,13 @@
+package gtPlusPlus.core.network.handler;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import net.minecraft.entity.player.EntityPlayer;
+
+public abstract class AbstractServerMessageHandler<T extends IMessage> extends AbstractMessageHandler<T> {
+
+ public final IMessage handleClientMessage(EntityPlayer player, T message, MessageContext ctx) {
+ return null;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/network/packet/AbstractPacket.java b/src/Java/gtPlusPlus/core/network/packet/AbstractPacket.java
new file mode 100644
index 0000000000..d6368e3d9e
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/packet/AbstractPacket.java
@@ -0,0 +1,9 @@
+package gtPlusPlus.core.network.packet;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+
+public interface AbstractPacket extends IMessage {
+
+ public abstract String getPacketName();
+
+}
diff --git a/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java b/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java
new file mode 100644
index 0000000000..609ea729b7
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui.java
@@ -0,0 +1,128 @@
+package gtPlusPlus.core.network.packet;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import cpw.mods.fml.relauncher.Side;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.network.handler.AbstractServerMessageHandler;
+import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class Packet_VolumetricFlaskGui extends AbstractServerMessageHandler<Packet_VolumetricFlaskGui> implements AbstractPacket {
+
+ private int x;
+ private int y;
+ private int z;
+ private int flaskValue;
+
+ public Packet_VolumetricFlaskGui() {
+
+ }
+
+ public Packet_VolumetricFlaskGui(TileEntityVolumetricFlaskSetter tile, int aCustomValue) {
+ x = tile.xCoord;
+ y = tile.yCoord;
+ z = tile.zCoord;
+ flaskValue = aCustomValue;
+ Logger.INFO("Created Packet with values ("+x+", "+y+", "+z+" | "+flaskValue+")");
+ }
+
+ @Override
+ public void toBytes(ByteBuf buf) {
+ buf.writeInt(x);
+ buf.writeInt(y);
+ buf.writeInt(z);
+ buf.writeInt(flaskValue);
+ Logger.INFO("Writing to byte buffer.");
+ }
+
+ @Override
+ public void fromBytes(ByteBuf buf) {
+ x = buf.readInt();
+ y = buf.readInt();
+ z = buf.readInt();
+ flaskValue = buf.readInt();
+ Logger.INFO("Reading from byte buffer.");
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public void setX(int x) {
+ this.x = x;
+ }
+
+ public int getY() {
+ return y;
+ }
+
+ public void setY(int y) {
+ this.y = y;
+ }
+
+ public int getZ() {
+ return z;
+ }
+
+ public void setZ(int z) {
+ this.z = z;
+ }
+
+ public int getCustomValue() {
+ return flaskValue;
+ }
+
+ public void setCustomValue(int aVal) {
+ this.flaskValue = aVal;
+ }
+
+ protected TileEntityVolumetricFlaskSetter getTileEntity(Packet_VolumetricFlaskGui message, MessageContext ctx) {
+ Logger.INFO("Trying to get tile.");
+ World worldObj = getWorld(ctx);
+ if(worldObj == null) {
+ Logger.INFO("Bad world object.");
+ return null;
+ }
+ TileEntity te = worldObj.getTileEntity(message.getX(), message.getY(), message.getZ());
+ if(te == null) {
+ Logger.INFO("Bad Tile.");
+ return null;
+ }
+ if(te instanceof TileEntityVolumetricFlaskSetter) {
+ Logger.INFO("Found Tile.");
+ return (TileEntityVolumetricFlaskSetter) te;
+ }
+ Logger.INFO("Error.");
+ return null;
+ }
+
+ protected World getWorld(MessageContext ctx) {
+ if(ctx.side == Side.SERVER) {
+ return ctx.getServerHandler().playerEntity.worldObj;
+ } else {
+ return GTplusplus.proxy.getClientWorld();
+ }
+ }
+
+ @Override
+ public IMessage handleServerMessage(EntityPlayer player, Packet_VolumetricFlaskGui message, MessageContext ctx) {
+ TileEntityVolumetricFlaskSetter te = getTileEntity(message, ctx);
+ if(te != null) {
+ Logger.INFO("Setting value on tile. "+message.getCustomValue());
+ te.setCustomValue(message.getCustomValue());
+ //return new Packet_VolumetricFlaskGui2(te, message.getCustomValue());
+ }
+ return null;
+ }
+
+ @Override
+ public String getPacketName() {
+ return "Packet_VoluemtricFlaskSetter_ToServer";
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java b/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java
new file mode 100644
index 0000000000..bc6e6149d8
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/network/packet/Packet_VolumetricFlaskGui2.java
@@ -0,0 +1,127 @@
+package gtPlusPlus.core.network.packet;
+
+import cpw.mods.fml.common.network.simpleimpl.IMessage;
+import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import cpw.mods.fml.relauncher.Side;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.network.handler.AbstractClientMessageHandler;
+import gtPlusPlus.core.tileentities.general.TileEntityVolumetricFlaskSetter;
+import io.netty.buffer.ByteBuf;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+public class Packet_VolumetricFlaskGui2 extends AbstractClientMessageHandler<Packet_VolumetricFlaskGui2> implements AbstractPacket {
+
+ private int x;
+ private int y;
+ private int z;
+ private int flaskValue;
+
+ public Packet_VolumetricFlaskGui2() {
+
+ }
+
+ public Packet_VolumetricFlaskGui2(TileEntityVolumetricFlaskSetter tile, int aCustomValue) {
+ x = tile.xCoord;
+ y = tile.yCoord;
+ z = tile.zCoord;
+ flaskValue = aCustomValue;
+ Logger.INFO("Created Packet with values ("+x+", "+y+", "+z+" | "+flaskValue+")");
+ }
+
+ @Override
+ public void toBytes(ByteBuf buf) {
+ buf.writeInt(x);
+ buf.writeInt(y);
+ buf.writeInt(z);
+ buf.writeInt(flaskValue);
+ Logger.INFO("Writing to byte buffer.");
+ }
+
+ @Override
+ public void fromBytes(ByteBuf buf) {
+ x = buf.readInt();
+ y = buf.readInt();
+ z = buf.readInt();
+ flaskValue = buf.readInt();
+ Logger.INFO("Reading from byte buffer.");
+ }
+
+ public int getX() {
+ return x;
+ }
+
+ public void setX(int x) {
+ this.x = x;
+ }
+
+ public int getY() {
+ return y;
+ }
+
+ public void setY(int y) {
+ this.y = y;
+ }
+
+ public int getZ() {
+ return z;
+ }
+
+ public void setZ(int z) {
+ this.z = z;
+ }
+
+ public int getCustomValue() {
+ return flaskValue;
+ }
+
+ public void setCustomValue(int aVal) {
+ this.flaskValue = aVal;
+ }
+
+ protected TileEntityVolumetricFlaskSetter getTileEntity(Packet_VolumetricFlaskGui2 message, MessageContext ctx) {
+ Logger.INFO("Trying to get tile.");
+ World worldObj = getWorld(ctx);
+ if(worldObj == null) {
+ Logger.INFO("Bad world object.");
+ return null;
+ }
+ TileEntity te = worldObj.getTileEntity(message.getX(), message.getY(), message.getZ());
+ if(te == null) {
+ Logger.INFO("Bad Tile.");
+ return null;
+ }
+ if(te instanceof TileEntityVolumetricFlaskSetter) {
+ Logger.INFO("Found Tile.");
+ return (TileEntityVolumetricFlaskSetter) te;
+ }
+ Logger.INFO("Error.");
+ return null;
+ }
+
+ protected World getWorld(MessageContext ctx) {
+ if(ctx.side == Side.SERVER) {
+ return ctx.getServerHandler().playerEntity.worldObj;
+ } else {
+ return GTplusplus.proxy.getClientWorld();
+ }
+ }
+
+ @Override
+ public String getPacketName() {
+ return "Packet_VoluemtricFlaskSetter_ToClient";
+ }
+
+ @Override
+ public IMessage handleClientMessage(EntityPlayer player, Packet_VolumetricFlaskGui2 message, MessageContext ctx) {
+ TileEntityVolumetricFlaskSetter te = getTileEntity(message, ctx);
+ if(te != null) {
+ Logger.INFO("Setting value on tile. "+message.getCustomValue());
+ te.setCustomValue(message.getCustomValue());
+ }
+ return null;
+ }
+
+}