diff options
Diffstat (limited to 'src/main/java/com/detrav/net')
| -rw-r--r-- | src/main/java/com/detrav/net/DetravNetwork.java | 26 | ||||
| -rw-r--r-- | src/main/java/com/detrav/net/DetravPacket.java | 4 | ||||
| -rw-r--r-- | src/main/java/com/detrav/net/ProspectingPacket.java | 119 |
3 files changed, 77 insertions, 72 deletions
diff --git a/src/main/java/com/detrav/net/DetravNetwork.java b/src/main/java/com/detrav/net/DetravNetwork.java index 5e20fd1552..ecd9559f39 100644 --- a/src/main/java/com/detrav/net/DetravNetwork.java +++ b/src/main/java/com/detrav/net/DetravNetwork.java @@ -1,7 +1,13 @@ package com.detrav.net; +import java.util.EnumMap; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayerMP; + import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteStreams; + import cpw.mods.fml.common.network.FMLEmbeddedChannel; import cpw.mods.fml.common.network.FMLOutboundHandler; import cpw.mods.fml.common.network.NetworkRegistry; @@ -12,10 +18,6 @@ import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.MessageToMessageCodec; -import net.minecraft.entity.player.EntityPlayerMP; - -import java.util.EnumMap; -import java.util.List; /** * Created by wital_000 on 20.03.2016. @@ -34,7 +36,10 @@ public class DetravNetwork extends MessageToMessageCodec<FMLProxyPacket, DetravP @Override protected void encode(ChannelHandlerContext ctx, DetravPacket msg, List<Object> out) throws Exception { - out.add(new FMLProxyPacket(Unpooled.buffer().writeByte(msg.getPacketID()).writeBytes(msg.encode()).copy(),(String) ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get())); + out.add( + new FMLProxyPacket( + Unpooled.buffer().writeByte(msg.getPacketID()).writeBytes(msg.encode()).copy(), + (String) ctx.channel().attr(NetworkRegistry.FML_CHANNEL).get())); } @SuppressWarnings("UnstableApiUsage") @@ -46,17 +51,22 @@ public class DetravNetwork extends MessageToMessageCodec<FMLProxyPacket, DetravP } public void sendToPlayer(DetravPacket aPacket, EntityPlayerMP aPlayer) { - ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER); - ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPlayer); + ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET) + .set(FMLOutboundHandler.OutboundTarget.PLAYER); + ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS) + .set(aPlayer); ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket); } + public void sendToServer(DetravPacket aPacket) { - ((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER); + ((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET) + .set(FMLOutboundHandler.OutboundTarget.TOSERVER); ((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).writeAndFlush(aPacket); } @ChannelHandler.Sharable static final class HandlerShared extends SimpleChannelInboundHandler<DetravPacket> { + protected void channelRead0(ChannelHandlerContext ctx, DetravPacket aPacket) throws Exception { aPacket.process(); } diff --git a/src/main/java/com/detrav/net/DetravPacket.java b/src/main/java/com/detrav/net/DetravPacket.java index dcf61064ac..06e968b1ef 100644 --- a/src/main/java/com/detrav/net/DetravPacket.java +++ b/src/main/java/com/detrav/net/DetravPacket.java @@ -5,9 +5,9 @@ package com.detrav.net; */ public abstract class DetravPacket { - public abstract int getPacketID() ; + public abstract int getPacketID(); - public abstract byte[] encode() ; + public abstract byte[] encode(); public abstract void process(); } diff --git a/src/main/java/com/detrav/net/ProspectingPacket.java b/src/main/java/com/detrav/net/ProspectingPacket.java index b083e4829e..4d6fd72b82 100644 --- a/src/main/java/com/detrav/net/ProspectingPacket.java +++ b/src/main/java/com/detrav/net/ProspectingPacket.java @@ -1,35 +1,30 @@ package com.detrav.net; +import java.util.HashMap; + +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + import com.detrav.DetravScannerMod; import com.detrav.gui.DetravScannerGUI; import com.detrav.gui.textures.DetravMapTexture; -import com.detrav.utils.BartWorksHelper; import com.detrav.utils.GTppHelper; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.google.common.base.Objects; import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; + import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import java.util.HashMap; - -/* -//DEBUG CLASSES -import java.util.Map; -import java.util.Iterator; -import java.util.Set; -*/ /** * Created by wital_000 on 20.03.2016. */ public class ProspectingPacket extends DetravPacket { + public final int chunkX; public final int chunkZ; public final int posX; @@ -40,9 +35,8 @@ public class ProspectingPacket extends DetravPacket { public final HashMap<String, Integer> ores; public final HashMap<Short, String> metaMap; public static final HashMap<Integer, short[]> fluidColors = new HashMap<>(); - - public int level = -1; + public int level = -1; public ProspectingPacket(int chunkX, int chunkZ, int posX, int posZ, int size, int ptype) { this.chunkX = chunkX; @@ -51,28 +45,29 @@ public class ProspectingPacket extends DetravPacket { this.posZ = posZ; this.size = size; this.ptype = ptype; - this.map = new HashMap[(size*2+1)*16][(size*2+1)*16]; + this.map = new HashMap[(size * 2 + 1) * 16][(size * 2 + 1) * 16]; this.ores = new HashMap<>(); this.metaMap = new HashMap<>(); } - + private static void addOre(ProspectingPacket packet, byte y, int i, int j, short meta) { final String name; short[] rgba; try { - if(packet.ptype == 0 || packet.ptype == 1) { + if (packet.ptype == 0 || packet.ptype == 1) { // Ore or Small Ore if (meta < 7000 || meta > 7500) { if (meta > 0) { Materials tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; rgba = tMaterial.getRGBA(); - name = tMaterial.getLocalizedNameForItem(GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name")); + name = tMaterial.getLocalizedNameForItem( + GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name")); } else { final Werkstoff werkstoff = Werkstoff.werkstoffHashMap.getOrDefault((short) (meta * -1), null); String translated = GT_LanguageManager.getTranslation("bw.blocktype.ore"); name = translated.replace("%material", werkstoff.getLocalizedName()); - rgba = werkstoff != null ? werkstoff.getRGBA() : new short[]{0,0,0,0}; + rgba = werkstoff != null ? werkstoff.getRGBA() : new short[] { 0, 0, 0, 0 }; } } else { gtPlusPlus.core.material.Material pMaterial = GTppHelper.decodeoresGTpp.get((short) (meta - 7000)); @@ -83,18 +78,18 @@ public class ProspectingPacket extends DetravPacket { // Fluid rgba = fluidColors.get((int) meta); if (rgba == null) { - DetravScannerMod.proxy.sendPlayerExeption( "Unknown fluid ID = " + meta + " Please add to FluidColors.java!"); - rgba = new short[]{0,0,0,0}; + DetravScannerMod.proxy + .sendPlayerExeption("Unknown fluid ID = " + meta + " Please add to FluidColors.java!"); + rgba = new short[] { 0, 0, 0, 0 }; } - + name = Objects.firstNonNull( - FluidRegistry.getFluid(meta).getLocalizedName(new FluidStack(FluidRegistry.getFluid(meta), 0)), - StatCollector.translateToLocal("gui.detrav.scanner.unknown_fluid") - ); + FluidRegistry.getFluid(meta).getLocalizedName(new FluidStack(FluidRegistry.getFluid(meta), 0)), + StatCollector.translateToLocal("gui.detrav.scanner.unknown_fluid")); } else if (packet.ptype == 3) { // Pollution name = StatCollector.translateToLocal("gui.detrav.scanner.pollution"); - rgba = new short[]{125,123,118,0}; + rgba = new short[] { 125, 123, 118, 0 }; } else { return; } @@ -106,31 +101,34 @@ public class ProspectingPacket extends DetravPacket { } public static Object decode(ByteArrayDataInput aData) { - ProspectingPacket packet = new ProspectingPacket(aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt()); + ProspectingPacket packet = new ProspectingPacket( + aData.readInt(), + aData.readInt(), + aData.readInt(), + aData.readInt(), + aData.readInt(), + aData.readInt()); packet.level = aData.readInt(); int aSize = (packet.size * 2 + 1) * 16; int checkOut = 0; - for (int i = 0; i < aSize; i++) - for (int j = 0; j < aSize; j++) { - byte kSize = aData.readByte(); - if(kSize == 0) continue; - packet.map[i][j] = new HashMap<>(); - for (int k = 0; k < kSize; k++) { - final byte y = aData.readByte(); - final short meta = aData.readShort(); - packet.map[i][j].put(y, meta); - if (packet.ptype != 2 || y == 1) addOre(packet, y, i, j, meta); - checkOut++; - } + for (int i = 0; i < aSize; i++) for (int j = 0; j < aSize; j++) { + byte kSize = aData.readByte(); + if (kSize == 0) continue; + packet.map[i][j] = new HashMap<>(); + for (int k = 0; k < kSize; k++) { + final byte y = aData.readByte(); + final short meta = aData.readShort(); + packet.map[i][j].put(y, meta); + if (packet.ptype != 2 || y == 1) addOre(packet, y, i, j, meta); + checkOut++; } + } int checkOut2 = aData.readInt(); - if(checkOut != checkOut2) return null; + if (checkOut != checkOut2) return null; return packet; } - - @Override public int getPacketID() { return 0; @@ -147,27 +145,24 @@ public class ProspectingPacket extends DetravPacket { tOut.writeInt(size); tOut.writeInt(ptype); tOut.writeInt(level); - - int aSize = (size*2+1)*16; + + int aSize = (size * 2 + 1) * 16; int checkOut = 0; - for(int i =0; i<aSize; i++) - for(int j =0; j<aSize; j++) { - if(map[i][j]==null) - tOut.writeByte(0); - else { - tOut.writeByte(map[i][j].keySet().size()); - for(byte key : map[i][j].keySet()) { - tOut.writeByte(key); - tOut.writeShort(map[i][j].get(key)); - checkOut++; - } + for (int i = 0; i < aSize; i++) for (int j = 0; j < aSize; j++) { + if (map[i][j] == null) tOut.writeByte(0); + else { + tOut.writeByte(map[i][j].keySet().size()); + for (byte key : map[i][j].keySet()) { + tOut.writeByte(key); + tOut.writeShort(map[i][j].get(key)); + checkOut++; } } + } tOut.writeInt(checkOut); return tOut.toByteArray(); } - @Override public void process() { DetravScannerGUI.newMap(new DetravMapTexture(this)); @@ -175,13 +170,13 @@ public class ProspectingPacket extends DetravPacket { } public void addBlock(int x, int y, int z, short metaData) { - int aX = x - (chunkX-size)*16; - int aZ = z - (chunkZ-size)*16; - if(map[aX][aZ] == null) map[aX][aZ] = new HashMap<>(); + int aX = x - (chunkX - size) * 16; + int aZ = z - (chunkZ - size) * 16; + if (map[aX][aZ] == null) map[aX][aZ] = new HashMap<>(); map[aX][aZ].put((byte) y, metaData); } - + public int getSize() { - return (size*2+1)*16; + return (size * 2 + 1) * 16; } } |
