feat: update wrapper
This commit is contained in:
parent
7392b8aad2
commit
a01b564912
3 changed files with 29 additions and 7 deletions
|
@ -111,7 +111,7 @@ public class NickoBukkit extends JavaPlugin {
|
|||
protocolManager.addPacketListener(new PacketAdapter(
|
||||
this,
|
||||
ListenerPriority.NORMAL,
|
||||
PacketType.Play.Server.PLAYER_INFO) {
|
||||
PacketType.Play.Server.RESPAWN) {
|
||||
@Override
|
||||
public void onPacketReceiving(PacketEvent event) {
|
||||
}
|
||||
|
|
|
@ -145,6 +145,9 @@ public class AppearanceManager {
|
|||
respawn.setDifficulty(world.getDifficulty());
|
||||
respawn.setDimension(world);
|
||||
respawn.setSeed(world.getSeed());
|
||||
respawn.setLastDeathLocation(player.getLocation());
|
||||
respawn.getHandle().getBooleans().write(0, false); // is debug
|
||||
respawn.getHandle().getBooleans().write(1, false); // is flat
|
||||
respawn.sendPacket(player);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,12 +4,16 @@ import com.comphenix.protocol.PacketType;
|
|||
import com.comphenix.protocol.events.PacketContainer;
|
||||
import com.comphenix.protocol.utility.MinecraftReflection;
|
||||
import com.comphenix.protocol.utility.MinecraftVersion;
|
||||
import com.comphenix.protocol.wrappers.BlockPosition;
|
||||
import com.comphenix.protocol.wrappers.BukkitConverters;
|
||||
import com.comphenix.protocol.wrappers.EnumWrappers;
|
||||
import org.bukkit.Difficulty;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Up-to-date version of the Wrapper class
|
||||
* for the PacketPlayServerRespawn.
|
||||
|
@ -51,10 +55,7 @@ public class WrapperPlayServerRespawn extends AbstractPacket {
|
|||
public void setDimension(World value) {
|
||||
if (MinecraftVersion.WILD_UPDATE.atOrAbove()) {
|
||||
// 1.19 and above
|
||||
handle.getWorldKeys().withParamType(
|
||||
MinecraftReflection.getResourceKey(),
|
||||
BukkitConverters.getWorldKeyConverter()
|
||||
).write(0, value);
|
||||
handle.getWorldKeys().write(0, value);
|
||||
return;
|
||||
}
|
||||
// 1.18 and below
|
||||
|
@ -66,15 +67,33 @@ public class WrapperPlayServerRespawn extends AbstractPacket {
|
|||
//.............
|
||||
|
||||
public void getGameMode() {
|
||||
// Present since 1.8, we're good!
|
||||
handle.getGameModes().read(0);
|
||||
}
|
||||
|
||||
public void setGameMode(GameMode value) {
|
||||
// Present since 1.8, we're good!
|
||||
handle.getGameModes().write(0, EnumWrappers.NativeGameMode.fromBukkit(value));
|
||||
}
|
||||
|
||||
//.............
|
||||
// Last death location Field
|
||||
// Added in 1.19.
|
||||
//.............
|
||||
|
||||
public Optional<BlockPosition> getLastDeathLocation() {
|
||||
if (MinecraftVersion.WILD_UPDATE.atOrAbove()) {
|
||||
return handle.getOptionals(BlockPosition.getConverter()).read(0);
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
public void setLastDeathLocation(Location value) {
|
||||
if (MinecraftVersion.WILD_UPDATE.atOrAbove()) {
|
||||
final BlockPosition locationToBlockPosition = BlockPosition.getConverter().getSpecific(value);
|
||||
final Optional<BlockPosition> blockPosition = Optional.ofNullable(locationToBlockPosition);
|
||||
handle.getOptionals(BlockPosition.getConverter()).write(0, blockPosition);
|
||||
}
|
||||
}
|
||||
|
||||
//.............
|
||||
// Seed Field
|
||||
// Added in 1.15.
|
||||
|
|
Loading…
Reference in a new issue