diff --git a/bungee/pom.xml b/bungee/pom.xml
index ccb0e47aa..75dfd9844 100644
--- a/bungee/pom.xml
+++ b/bungee/pom.xml
@@ -33,14 +33,6 @@
provided
-
-
- net.md-5
- bungeecord-proxy
- 1.4.7-SNAPSHOT
- provided
-
-
us.myles
diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaInjector.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaInjector.java
index bc2690616..ef1b2719f 100644
--- a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaInjector.java
+++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaInjector.java
@@ -2,24 +2,31 @@ package us.myles.ViaVersion.bungee.platform;
import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
-import net.md_5.bungee.netty.PipelineUtils;
import us.myles.ViaVersion.api.Via;
import us.myles.ViaVersion.api.platform.ViaInjector;
import us.myles.ViaVersion.bungee.handlers.BungeeChannelInitializer;
-import us.myles.ViaVersion.util.ReflectionUtil;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
public class BungeeViaInjector implements ViaInjector {
@Override
public void inject() throws Exception {
try {
try {
- ChannelInitializer oldInit = PipelineUtils.SERVER_CHILD;
- ChannelInitializer newInit = new BungeeChannelInitializer(oldInit);
- ReflectionUtil.setStatic(PipelineUtils.class, "SERVER_CHILD", newInit);
+ Class> pipelineUtils = Class.forName("net.md_5.bungee.netty.PipelineUtils");
+ Field field = pipelineUtils.getDeclaredField("SERVER_CHILD");
+ field.setAccessible(true);
+ // Remove any final stuff
+ Field modifiersField = Field.class.getDeclaredField("modifiers");
+ modifiersField.setAccessible(true);
+ modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+
+ BungeeChannelInitializer newInit = new BungeeChannelInitializer((ChannelInitializer) field.get(null));
+ field.set(null, newInit);
} catch (NoSuchFieldException e) {
throw new Exception("Unable to find core component 'childHandler', please check your plugins. issue: ");
-
}
} catch (Exception e) {
Via.getPlatform().getLogger().severe("Unable to inject ViaVersion, please post these details on our GitHub and ensure you're using a compatible server version.");
diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaLoader.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaLoader.java
index b78346e85..343e16fdc 100644
--- a/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaLoader.java
+++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaLoader.java
@@ -5,6 +5,9 @@ import us.myles.ViaVersion.api.platform.ViaPlatformLoader;
public class BungeeViaLoader implements ViaPlatformLoader {
@Override
public void load() {
-
+ // TODO: Movement Transmitter
+ // TODO: Config
+ // TODO: Platform specific commands
+ // TODO: Get rid of bungeecord-proxy just use reflection
}
}
diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java
index 2b7301ce1..b4552defd 100644
--- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java
+++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java
@@ -151,10 +151,9 @@ public class WorldPackets {
throw new IOException("transformMapChunkBulk returned the wrong object type");
PacketWrapper output = (PacketWrapper) obj;
-
ByteBuf buffer = Unpooled.buffer();
+ output.setId(-1); // -1 for no writing of id
output.writeToBuffer(buffer);
-
PacketWrapper chunkPacket = new PacketWrapper(0x21, buffer, wrapper.user());
chunkPacket.send(Protocol1_9TO1_8.class, false);
}
diff --git a/common/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java b/common/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java
index 6febc6c1a..dbf3af7ee 100644
--- a/common/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java
+++ b/common/src/main/java/us/myles/ViaVersion/util/ReflectionUtil.java
@@ -31,10 +31,6 @@ public class ReflectionUtil {
public static void setStatic(Class> clazz, String f, Object value) throws NoSuchFieldException, IllegalAccessException {
Field field = clazz.getDeclaredField(f);
field.setAccessible(true);
- // Remove any final stuff
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, value);
}