Reenable attribute packets, fix modded entities
This commit is contained in:
parent
f3d5f7efc3
commit
e3300e7ef9
@ -50,8 +50,7 @@ public class PacketHandlerAttributes implements IPacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Skip if its 1.16, PL can't handle it atm
|
if (disguise.isMiscDisguise()) {
|
||||||
if (disguise.isMiscDisguise() || NmsVersion.v1_16.isSupported()) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ public class PacketHandlerSpawn implements IPacketHandler {
|
|||||||
Disguise disguise = packets.getDisguise();
|
Disguise disguise = packets.getDisguise();
|
||||||
|
|
||||||
if (DisguiseConfig.isMiscDisguisesForLivingEnabled()) {
|
if (DisguiseConfig.isMiscDisguisesForLivingEnabled()) {
|
||||||
if (disguise.getWatcher() instanceof LivingWatcher && !NmsVersion.v1_16.isSupported()) {
|
if (disguise.getWatcher() instanceof LivingWatcher) {
|
||||||
ArrayList<WrappedAttribute> attributes = new ArrayList<>();
|
ArrayList<WrappedAttribute> attributes = new ArrayList<>();
|
||||||
|
|
||||||
WrappedAttribute.Builder builder = WrappedAttribute.newBuilder().attributeKey("generic.maxHealth");
|
WrappedAttribute.Builder builder = WrappedAttribute.newBuilder().attributeKey("generic.maxHealth");
|
||||||
|
@ -14,6 +14,8 @@ import io.netty.buffer.Unpooled;
|
|||||||
import io.netty.handler.codec.DecoderException;
|
import io.netty.handler.codec.DecoderException;
|
||||||
import me.libraryaddict.disguise.LibsDisguises;
|
import me.libraryaddict.disguise.LibsDisguises;
|
||||||
import me.libraryaddict.disguise.utilities.modded.ModdedManager;
|
import me.libraryaddict.disguise.utilities.modded.ModdedManager;
|
||||||
|
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
|
||||||
|
import net.minecraft.server.v1_16_R1.PacketDataSerializer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
@ -140,21 +142,25 @@ public class PacketListenerModdedClient extends PacketAdapter {
|
|||||||
PacketContainer packet1 = new PacketContainer(PacketType.Login.Server.CUSTOM_PAYLOAD);
|
PacketContainer packet1 = new PacketContainer(PacketType.Login.Server.CUSTOM_PAYLOAD);
|
||||||
packet1.getIntegers().write(0, packetId1);
|
packet1.getIntegers().write(0, packetId1);
|
||||||
packet1.getMinecraftKeys().write(0, new com.comphenix.protocol.wrappers.MinecraftKey("fml", "handshake"));
|
packet1.getMinecraftKeys().write(0, new com.comphenix.protocol.wrappers.MinecraftKey("fml", "handshake"));
|
||||||
// packet1.getModifier()
|
|
||||||
// .write(2, new PacketDataSerializer(Unpooled.wrappedBuffer(ModdedManager.getFmlHandshake())));
|
|
||||||
|
|
||||||
PacketContainer packet2 = new PacketContainer(PacketType.Login.Server.CUSTOM_PAYLOAD);
|
|
||||||
packet2.getIntegers().write(0, packetId2);
|
|
||||||
packet2.getMinecraftKeys().write(0, new MinecraftKey("fml", "handshake"));
|
|
||||||
// packet2.getModifier()
|
|
||||||
// .write(2, new PacketDataSerializer(Unpooled.wrappedBuffer(ModdedManager.getFmlRegistries())));
|
|
||||||
|
|
||||||
//TODO
|
|
||||||
try {
|
try {
|
||||||
|
Object obj1 = ReflectionManager.getNmsConstructor("PacketDataSerializer", ByteBuf.class)
|
||||||
|
.newInstance(Unpooled.wrappedBuffer(ModdedManager.getFmlHandshake()));
|
||||||
|
|
||||||
|
packet1.getModifier().write(2, obj1);
|
||||||
|
|
||||||
|
PacketContainer packet2 = new PacketContainer(PacketType.Login.Server.CUSTOM_PAYLOAD);
|
||||||
|
packet2.getIntegers().write(0, packetId2);
|
||||||
|
packet2.getMinecraftKeys().write(0, new MinecraftKey("fml", "handshake"));
|
||||||
|
Object obj2 = ReflectionManager.getNmsConstructor("PacketDataSerializer", ByteBuf.class)
|
||||||
|
.newInstance(Unpooled.wrappedBuffer(ModdedManager.getFmlRegistries()));
|
||||||
|
|
||||||
|
packet2.getModifier().write(2, obj2);
|
||||||
|
|
||||||
ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet1);
|
ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet1);
|
||||||
ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet2);
|
ProtocolLibrary.getProtocolManager().sendServerPacket(event.getPlayer(), packet2);
|
||||||
}
|
}
|
||||||
catch (InvocationTargetException e) {
|
catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user