Compare commits
No commits in common. "11b0f680bc1dddb0f1730476dd49637eae1b68f9" and "ab2ffcbd379b88946c7ba3b37c39fefccc4ee247" have entirely different histories.
11b0f680bc
...
ab2ffcbd37
1 changed files with 8 additions and 54 deletions
|
@ -2,17 +2,14 @@ package xyz.ineanto.nicko.packet;
|
|||
|
||||
import com.destroystokyo.paper.profile.PlayerProfile;
|
||||
import com.github.retrooper.packetevents.PacketEvents;
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityData;
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
|
||||
import com.github.retrooper.packetevents.protocol.player.TextureProperty;
|
||||
import com.github.retrooper.packetevents.protocol.player.UserProfile;
|
||||
import com.github.retrooper.packetevents.protocol.world.Difficulty;
|
||||
import com.github.retrooper.packetevents.util.Vector3d;
|
||||
import com.github.retrooper.packetevents.wrapper.PacketWrapper;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.*;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerDestroyEntities;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerRespawn;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity;
|
||||
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -24,8 +21,6 @@ import xyz.ineanto.nicko.mojang.MojangSkin;
|
|||
import xyz.ineanto.nicko.profile.NickoProfile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
@ -101,11 +96,8 @@ public class PacketEventsPacketSender implements PacketSender {
|
|||
|
||||
@Override
|
||||
public void sendEntityMetadataUpdate() {
|
||||
// This was surprisingly easy to write?
|
||||
final EntityData<Byte> entityData = new EntityData<>(17, EntityDataTypes.BYTE, (byte) 0x7f);
|
||||
final WrapperPlayServerEntityMetadata metadata = new WrapperPlayServerEntityMetadata(player.getEntityId(), List.of(entityData));
|
||||
|
||||
sendPacket(metadata, player);
|
||||
// TODO (Ineanto, 27/06/2025): Entity Metadata packet
|
||||
//sendPacket(data, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -132,52 +124,14 @@ public class PacketEventsPacketSender implements PacketSender {
|
|||
|
||||
@Override
|
||||
public void sendTabListUpdate(String displayName) {
|
||||
final EnumSet<WrapperPlayServerPlayerInfoUpdate.Action> actions = EnumSet.of(
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.ADD_PLAYER,
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.INITIALIZE_CHAT,
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.UPDATE_LISTED,
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.UPDATE_DISPLAY_NAME,
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.UPDATE_GAME_MODE,
|
||||
WrapperPlayServerPlayerInfoUpdate.Action.UPDATE_LATENCY
|
||||
);
|
||||
|
||||
final List<WrapperPlayServerPlayerInfoUpdate.PlayerInfo> entries = List.of(
|
||||
new WrapperPlayServerPlayerInfoUpdate.PlayerInfo(
|
||||
toUserProfile(player.getPlayerProfile()),
|
||||
true,
|
||||
player.getPing(),
|
||||
SpigotConversionUtil.fromBukkitGameMode(player.getGameMode()),
|
||||
Component.text(displayName),
|
||||
null, // Welcome back fucked chat encryption
|
||||
player.getPlayerListOrder(),
|
||||
true
|
||||
)
|
||||
);
|
||||
|
||||
final WrapperPlayServerPlayerInfoRemove remove = new WrapperPlayServerPlayerInfoRemove(player.getUniqueId());
|
||||
final WrapperPlayServerPlayerInfoUpdate update = new WrapperPlayServerPlayerInfoUpdate(actions, entries);
|
||||
// TODO (Ineanto, 27/06/2025): TabList packet
|
||||
|
||||
Bukkit.getOnlinePlayers().forEach(onlinePlayer -> {
|
||||
sendPacket(remove, onlinePlayer);
|
||||
sendPacket(update, onlinePlayer);
|
||||
//sendPacket(remove, onlinePlayer);
|
||||
//sendPacket(update, onlinePlayer);
|
||||
});
|
||||
}
|
||||
|
||||
private UserProfile toUserProfile(PlayerProfile playerProfile) {
|
||||
return new UserProfile(
|
||||
playerProfile.getId(),
|
||||
playerProfile.getName(),
|
||||
playerProfile.getProperties()
|
||||
.stream()
|
||||
.map(profileProperty -> new TextureProperty(
|
||||
profileProperty.getName(),
|
||||
profileProperty.getValue(),
|
||||
profileProperty.getSignature()
|
||||
))
|
||||
.toList()
|
||||
);
|
||||
}
|
||||
|
||||
private void sendPacket(PacketWrapper<?> packet, Player player) {
|
||||
PacketEvents.getAPI().getPlayerManager().sendPacket(player, packet);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue