mirror of
https://github.com/HibiscusMC/HibiscusCommons.git
synced 2025-12-23 17:09:21 +00:00
refactor: swap passenger packet logic off reflection aswell
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_20_R3;
|
package me.lojosho.hibiscuscommons.nms.v1_20_R3;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import it.unimi.dsi.fastutil.ints.IntList;
|
import it.unimi.dsi.fastutil.ints.IntList;
|
||||||
@@ -42,15 +43,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -172,15 +164,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_20_R4;
|
package me.lojosho.hibiscuscommons.nms.v1_20_R4;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
import com.mojang.serialization.JsonOps;
|
import com.mojang.serialization.JsonOps;
|
||||||
@@ -52,15 +53,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -181,15 +173,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_21_R1;
|
package me.lojosho.hibiscuscommons.nms.v1_21_R1;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.mojang.datafixers.kinds.Const;
|
import com.mojang.datafixers.kinds.Const;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
@@ -52,16 +53,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -182,15 +173,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_21_R2;
|
package me.lojosho.hibiscuscommons.nms.v1_21_R2;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
import com.mojang.serialization.JsonOps;
|
import com.mojang.serialization.JsonOps;
|
||||||
@@ -55,15 +56,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -185,15 +177,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_21_R3;
|
package me.lojosho.hibiscuscommons.nms.v1_21_R3;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
@@ -58,16 +59,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -189,15 +180,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lojosho.hibiscuscommons.nms.v1_21_R4;
|
package me.lojosho.hibiscuscommons.nms.v1_21_R4;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
@@ -59,16 +60,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
|
||||||
|
|
||||||
static {
|
|
||||||
try {
|
|
||||||
passengerConstructor = ClientboundSetPassengersPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
|
||||||
passengerConstructor.setAccessible(true);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||||
@@ -190,15 +181,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||||
byteBuf.writeVarInt(mountId);
|
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||||
byteBuf.writeVarIntArray(passengerIds);
|
passenger.setId(id);
|
||||||
try {
|
return passenger;
|
||||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
}).toList();
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||||
|
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||||
|
fakeNmsEntity.passengers = ImmutableList.of();
|
||||||
for (Player p : sendTo) sendPacket(p, packet);
|
for (Player p : sendTo) sendPacket(p, packet);
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user