Update 5.21
This commit is contained in:
@@ -110,16 +110,32 @@ class THologramHandler implements Listener {
|
||||
List item = THologramHandler.getPacketName().read("b", List.class);
|
||||
for (Object element : item) {
|
||||
SimpleReflection.checkAndSave(element.getClass());
|
||||
Object a = SimpleReflection.getFieldValue(element.getClass(), element, "a");
|
||||
Object c = SimpleReflection.getFieldValue(element.getClass(), element, "c");
|
||||
try {
|
||||
Object i = Ref.getUnsafe().allocateInstance(element.getClass());
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "a", a);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "b", name);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "c", c);
|
||||
copy.add(i);
|
||||
} catch (InstantiationException e) {
|
||||
e.printStackTrace();
|
||||
if (Version.isAfter(Version.v1_9)) {
|
||||
Object a = SimpleReflection.getFieldValue(element.getClass(), element, "a");
|
||||
Object c = SimpleReflection.getFieldValue(element.getClass(), element, "c");
|
||||
try {
|
||||
Object i = Ref.getUnsafe().allocateInstance(element.getClass());
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "a", a);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "b", name);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "c", c);
|
||||
copy.add(i);
|
||||
} catch (InstantiationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
Object a = SimpleReflection.getFieldValue(element.getClass(), element, "a");
|
||||
Object b = SimpleReflection.getFieldValue(element.getClass(), element, "b");
|
||||
Object d = SimpleReflection.getFieldValue(element.getClass(), element, "d");
|
||||
try {
|
||||
Object i = Ref.getUnsafe().allocateInstance(element.getClass());
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "a", a);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "b", b);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "c", name);
|
||||
SimpleReflection.setFieldValue(element.getClass(), i, "d", d);
|
||||
copy.add(i);
|
||||
} catch (InstantiationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
packet.write("b", copy);
|
||||
|
||||
@@ -472,7 +472,7 @@ public class NMSImpl extends NMS {
|
||||
} else {
|
||||
Object createEntity = ((CraftWorld) location.getWorld()).createEntity(location, entity);
|
||||
try {
|
||||
e.accept((T) createEntity);
|
||||
e.accept((T) ((net.minecraft.server.v1_13_R2.Entity) createEntity).getBukkitEntity());
|
||||
} catch (Throwable t) {
|
||||
t.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -89,6 +89,10 @@ public class TSerializer {
|
||||
}
|
||||
|
||||
public static String write(TSerializable serializable) {
|
||||
return writeJson(serializable).toString();
|
||||
}
|
||||
|
||||
public static JsonObject writeJson(TSerializable serializable) {
|
||||
JsonObject jsonObject = new JsonObject();
|
||||
JsonObject serializeObject = new JsonObject();
|
||||
for (Field declaredField : serializable.getClass().getDeclaredFields()) {
|
||||
@@ -147,7 +151,7 @@ public class TSerializer {
|
||||
}
|
||||
}
|
||||
jsonObject.add("serializeObject", serializeObject);
|
||||
return jsonObject.toString();
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
public static void readMap(Map map, String serializedString, TSerializerElementGeneral elementKey, TSerializerElementGeneral elementValue) {
|
||||
|
||||
Reference in New Issue
Block a user