aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-04-18 12:59:46 +0300
committerDetrav <witalyezep@gmail.com>2016-04-18 12:59:46 +0300
commit608b62b171fe314e9a75001a06c44383054ba376 (patch)
tree82907ee1b4cb2d6608505f4b73f76792462819cd /src/main/java
parent409e2e2a70a99120b0db8a566869a7d52117eb61 (diff)
downloadGT5-Unofficial-608b62b171fe314e9a75001a06c44383054ba376.tar.gz
GT5-Unofficial-608b62b171fe314e9a75001a06c44383054ba376.tar.bz2
GT5-Unofficial-608b62b171fe314e9a75001a06c44383054ba376.zip
Refactor, New packets
New network packet, some refactor, now client know about current "Detrav" mode ^_^
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/detrav/DetravScannerMod.java7
-rw-r--r--src/main/java/com/detrav/events/DetravBlockBreakEventHandler.java (renamed from src/main/java/com/detrav/events/BlockBreakEventHandler.java)9
-rw-r--r--src/main/java/com/detrav/events/DetravBlockSideRenderEventHandler.java31
-rw-r--r--src/main/java/com/detrav/events/DetravLoginEventHandler.java39
-rw-r--r--src/main/java/com/detrav/net/DetravModePacket03.java59
-rw-r--r--src/main/java/com/detrav/net/DetravModeSwitchPacket02.java3
-rw-r--r--src/main/java/com/detrav/net/DetravNetwork.java8
7 files changed, 145 insertions, 11 deletions
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java
index c4fea61b66..44c5372180 100644
--- a/src/main/java/com/detrav/DetravScannerMod.java
+++ b/src/main/java/com/detrav/DetravScannerMod.java
@@ -1,7 +1,8 @@
package com.detrav;
import com.detrav.commands.DetravBiomeScannerCommand;
-import com.detrav.events.BlockBreakEventHandler;
+import com.detrav.events.DetravBlockBreakEventHandler;
+import com.detrav.events.DetravLoginEventHandler;
import com.detrav.proxies.CommonProxy;
import com.detrav.utils.DetravCreativeTab;
import com.detrav.net.DetravNetwork;
@@ -16,7 +17,6 @@ import cpw.mods.fml.common.network.NetworkRegistry;
import gregtech.api.GregTech_API;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraftforge.common.config.Configuration;
-import net.minecraft.client.settings.KeyBinding;
@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech")
public class DetravScannerMod
@@ -68,7 +68,8 @@ public class DetravScannerMod
@EventHandler
public void onPostLoad(FMLPostInitializationEvent aEvent) {
proxy.onPostLoad();
- BlockBreakEventHandler.register();
+ DetravBlockBreakEventHandler.register();
+ DetravLoginEventHandler.register();
}
@EventHandler
diff --git a/src/main/java/com/detrav/events/BlockBreakEventHandler.java b/src/main/java/com/detrav/events/DetravBlockBreakEventHandler.java
index db9d37ece5..eea7c759e7 100644
--- a/src/main/java/com/detrav/events/BlockBreakEventHandler.java
+++ b/src/main/java/com/detrav/events/DetravBlockBreakEventHandler.java
@@ -14,22 +14,17 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S23PacketBlockChange;
import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.ChatComponentText;
-import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
-import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
-import java.lang.reflect.Method;
-
/**
* Created by wital_000 on 13.04.2016.
*/
-public class BlockBreakEventHandler {
+public class DetravBlockBreakEventHandler {
@SubscribeEvent
public void onBreakBlock(BlockEvent.BreakEvent ev) {
if (ev.isCanceled())
@@ -238,7 +233,7 @@ public class BlockBreakEventHandler {
public static void register() {
if (!inited) {
inited = true;
- BlockBreakEventHandler handler = new BlockBreakEventHandler();
+ DetravBlockBreakEventHandler handler = new DetravBlockBreakEventHandler();
MinecraftForge.EVENT_BUS.register(handler);
FMLCommonHandler.instance().bus().register(handler);
}
diff --git a/src/main/java/com/detrav/events/DetravBlockSideRenderEventHandler.java b/src/main/java/com/detrav/events/DetravBlockSideRenderEventHandler.java
new file mode 100644
index 0000000000..bf08bfb1bf
--- /dev/null
+++ b/src/main/java/com/detrav/events/DetravBlockSideRenderEventHandler.java
@@ -0,0 +1,31 @@
+package com.detrav.events;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.client.event.RenderWorldLastEvent;
+
+/**
+ * Created by wital_000 on 18.04.2016.
+ */
+public class DetravBlockSideRenderEventHandler {
+
+ public static long modeBlockBreak = 0L;
+
+ @SubscribeEvent
+ public void onRender(RenderWorldLastEvent ev) {
+ //need to draw large borders
+ }
+
+
+ static boolean inited = false;
+
+ public static void register() {
+ if (!inited) {
+ inited = true;
+ DetravBlockSideRenderEventHandler handler = new DetravBlockSideRenderEventHandler();
+ MinecraftForge.EVENT_BUS.register(handler);
+ FMLCommonHandler.instance().bus().register(handler);
+ }
+ }
+}
diff --git a/src/main/java/com/detrav/events/DetravLoginEventHandler.java b/src/main/java/com/detrav/events/DetravLoginEventHandler.java
new file mode 100644
index 0000000000..8d5853fa89
--- /dev/null
+++ b/src/main/java/com/detrav/events/DetravLoginEventHandler.java
@@ -0,0 +1,39 @@
+package com.detrav.events;
+
+import com.detrav.net.DetravModePacket03;
+import com.detrav.net.DetravNetwork;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.entity.EntityJoinWorldEvent;
+
+/**
+ * Created by wital_000 on 18.04.2016.
+ */
+public class DetravLoginEventHandler {
+ @SubscribeEvent
+ public void onEntityJoinWorld(EntityJoinWorldEvent event)
+ {
+ if(event.isCanceled()) return;
+ if(!event.world.isRemote)
+ if(event.entity instanceof EntityPlayerMP)
+ {
+ DetravNetwork.INSTANCE.sendToPlayer(new DetravModePacket03((EntityPlayerMP)event.entity),(EntityPlayerMP)event.entity);
+ }
+ //if(Minecraft.getMinecraft().thePlayer!=null)
+ //Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(""+(event.entity instanceof EntityPlayerMP)+" | " + event.world.isRemote));
+ }
+
+
+ static boolean inited = false;
+
+ public static void register() {
+ if (!inited) {
+ inited = true;
+ DetravLoginEventHandler handler = new DetravLoginEventHandler();
+ MinecraftForge.EVENT_BUS.register(handler);
+ FMLCommonHandler.instance().bus().register(handler);
+ }
+ }
+}
diff --git a/src/main/java/com/detrav/net/DetravModePacket03.java b/src/main/java/com/detrav/net/DetravModePacket03.java
new file mode 100644
index 0000000000..50524a538b
--- /dev/null
+++ b/src/main/java/com/detrav/net/DetravModePacket03.java
@@ -0,0 +1,59 @@
+package com.detrav.net;
+
+import com.detrav.DetravScannerMod;
+import com.detrav.events.DetravBlockSideRenderEventHandler;
+import com.google.common.io.ByteArrayDataInput;
+import com.google.common.io.ByteArrayDataOutput;
+import com.google.common.io.ByteStreams;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.ChatComponentText;
+
+/**
+ * Created by wital_000 on 18.04.2016.
+ */
+public class DetravModePacket03 extends DetravPacket {
+
+ EntityPlayer player;
+ long mode = 0L;
+
+ public DetravModePacket03()
+ {
+ player =null;
+ }
+
+ public DetravModePacket03(EntityPlayer aPlayer)
+ {
+ player = aPlayer;
+ }
+
+ public DetravModePacket03(long aMode)
+ {
+ mode = aMode;
+ }
+
+
+ @Override
+ public int getPacketID() {
+ return 3;
+ }
+
+ @Override
+ public byte[] encode() {
+ ByteArrayDataOutput tOut = ByteStreams.newDataOutput(1);
+ if (player != null)
+ tOut.writeLong(player.getEntityData().getLong("detrav.minning.mode"));
+ else tOut.writeLong(0L);
+ return tOut.toByteArray();
+ }
+
+ @Override
+ public Object decode(ByteArrayDataInput aData) {
+ long aMode = aData.readLong();
+ return new DetravModePacket03(aMode);
+ }
+
+ @Override
+ public void process() {
+ DetravBlockSideRenderEventHandler.modeBlockBreak = mode;
+ }
+}
diff --git a/src/main/java/com/detrav/net/DetravModeSwitchPacket02.java b/src/main/java/com/detrav/net/DetravModeSwitchPacket02.java
index 48295ef018..0296f6bdab 100644
--- a/src/main/java/com/detrav/net/DetravModeSwitchPacket02.java
+++ b/src/main/java/com/detrav/net/DetravModeSwitchPacket02.java
@@ -96,6 +96,9 @@ public class DetravModeSwitchPacket02 extends DetravPacket {
break;
}
aData.setLong("detrav.minning.mode", minningMode);
+
+ if (player instanceof EntityPlayerMP)
+ DetravNetwork.INSTANCE.sendToPlayer(new DetravModePacket03(player), (EntityPlayerMP) player);
}
}
} \ No newline at end of file
diff --git a/src/main/java/com/detrav/net/DetravNetwork.java b/src/main/java/com/detrav/net/DetravNetwork.java
index 6d8a8fd0f3..892c89e183 100644
--- a/src/main/java/com/detrav/net/DetravNetwork.java
+++ b/src/main/java/com/detrav/net/DetravNetwork.java
@@ -31,7 +31,13 @@ public class DetravNetwork extends MessageToMessageCodec<FMLProxyPacket, DetravP
{
INSTANCE = this;
this.mChannel = NetworkRegistry.INSTANCE.newChannel("DetravScanner", new ChannelHandler[]{this, new HandlerShared()});
- this.mSubChannels = new DetravPacket[]{new DetravProPickPacket00(),new DetravPortableChargerPacket01(), new DetravModeSwitchPacket02()};
+ this.mSubChannels = new DetravPacket[]
+ {
+ new DetravProPickPacket00(),
+ new DetravPortableChargerPacket01(),
+ new DetravModeSwitchPacket02(),
+ new DetravModePacket03()
+ };
}
@Override