mirror of
https://github.com/HibiscusMC/HibiscusCommons.git
synced 2025-12-19 15:09:26 +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;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
import io.netty.buffer.Unpooled;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -172,15 +164,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package me.lojosho.hibiscuscommons.nms.v1_20_R4;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -181,15 +173,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package me.lojosho.hibiscuscommons.nms.v1_21_R1;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mojang.datafixers.kinds.Const;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -182,15 +173,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package me.lojosho.hibiscuscommons.nms.v1_21_R2;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mojang.datafixers.util.Pair;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -185,15 +177,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package me.lojosho.hibiscuscommons.nms.v1_21_R3;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -189,15 +180,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package me.lojosho.hibiscuscommons.nms.v1_21_R4;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
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 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
|
||||
public void sendGamemodeChange(Player player, GameMode gameMode) {
|
||||
@@ -190,15 +181,15 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo) {
|
||||
FriendlyByteBuf byteBuf = new FriendlyByteBuf(Unpooled.buffer());
|
||||
byteBuf.writeVarInt(mountId);
|
||||
byteBuf.writeVarIntArray(passengerIds);
|
||||
try {
|
||||
ClientboundSetPassengersPacket packet = passengerConstructor.newInstance(byteBuf);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
List<Entity> passengers = Arrays.stream(passengerIds).mapToObj(id -> {
|
||||
Entity passenger = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
passenger.setId(id);
|
||||
return passenger;
|
||||
}).toList();
|
||||
fakeNmsEntity.passengers = ImmutableList.copyOf(passengers);
|
||||
ClientboundSetPassengersPacket packet = new ClientboundSetPassengersPacket(fakeNmsEntity);
|
||||
fakeNmsEntity.passengers = ImmutableList.of();
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user