mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-04 14:31:45 +01:00
Cleaned code & added some packets
This commit is contained in:
parent
b1b41afebb
commit
e9809b20ac
@ -25,6 +25,7 @@ public abstract class EntityCreature extends LivingEntity {
|
||||
float newY = position.getY() + y;
|
||||
float newZ = position.getZ() + z;
|
||||
|
||||
// Creatures cannot move in unload chunk
|
||||
if (ChunkUtils.isChunkUnloaded(getInstance(), newX, newZ))
|
||||
return;
|
||||
|
||||
@ -34,24 +35,28 @@ public abstract class EntityCreature extends LivingEntity {
|
||||
float yaw = (float) (radians * (180.0 / Math.PI)) - 90;
|
||||
float pitch = position.getPitch(); // TODO
|
||||
|
||||
short deltaX = (short) ((newX * 32 - position.getX() * 32) * 128);
|
||||
short deltaY = (short) ((newY * 32 - position.getY() * 32) * 128);
|
||||
short deltaZ = (short) ((newZ * 32 - position.getZ() * 32) * 128);
|
||||
|
||||
if (updateView) {
|
||||
EntityLookAndRelativeMovePacket entityLookAndRelativeMovePacket = new EntityLookAndRelativeMovePacket();
|
||||
entityLookAndRelativeMovePacket.entityId = getEntityId();
|
||||
entityLookAndRelativeMovePacket.deltaX = (short) ((newX * 32 - position.getX() * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.deltaY = (short) ((newY * 32 - position.getY() * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.deltaZ = (short) ((newZ * 32 - position.getZ() * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.yaw = yaw;
|
||||
entityLookAndRelativeMovePacket.pitch = pitch;
|
||||
entityLookAndRelativeMovePacket.onGround = isOnGround();
|
||||
sendPacketToViewers(entityLookAndRelativeMovePacket);
|
||||
EntityPositionAndRotationPacket entityPositionAndRotationPacket = new EntityPositionAndRotationPacket();
|
||||
entityPositionAndRotationPacket.entityId = getEntityId();
|
||||
entityPositionAndRotationPacket.deltaX = deltaX;
|
||||
entityPositionAndRotationPacket.deltaY = deltaY;
|
||||
entityPositionAndRotationPacket.deltaZ = deltaZ;
|
||||
entityPositionAndRotationPacket.yaw = yaw;
|
||||
entityPositionAndRotationPacket.pitch = pitch;
|
||||
entityPositionAndRotationPacket.onGround = isOnGround();
|
||||
sendPacketToViewers(entityPositionAndRotationPacket);
|
||||
} else {
|
||||
EntityRelativeMovePacket entityRelativeMovePacket = new EntityRelativeMovePacket();
|
||||
entityRelativeMovePacket.entityId = getEntityId();
|
||||
entityRelativeMovePacket.deltaX = (short) ((newX * 32 - position.getX() * 32) * 128);
|
||||
entityRelativeMovePacket.deltaY = (short) ((newY * 32 - position.getY() * 32) * 128);
|
||||
entityRelativeMovePacket.deltaZ = (short) ((newZ * 32 - position.getZ() * 32) * 128);
|
||||
entityRelativeMovePacket.onGround = isOnGround();
|
||||
sendPacketToViewers(entityRelativeMovePacket);
|
||||
EntityPositionPacket entityPositionPacket = new EntityPositionPacket();
|
||||
entityPositionPacket.entityId = getEntityId();
|
||||
entityPositionPacket.deltaX = deltaX;
|
||||
entityPositionPacket.deltaY = deltaY;
|
||||
entityPositionPacket.deltaZ = deltaZ;
|
||||
entityPositionPacket.onGround = isOnGround();
|
||||
sendPacketToViewers(entityPositionPacket);
|
||||
}
|
||||
|
||||
if (lastYaw != yaw) {
|
||||
@ -76,7 +81,7 @@ public abstract class EntityCreature extends LivingEntity {
|
||||
public void kill() {
|
||||
this.isDead = true;
|
||||
triggerStatus((byte) 3);
|
||||
scheduleRemove(1000);
|
||||
scheduleRemove(1000); // Needed for proper death animation
|
||||
DeathEvent deathEvent = new DeathEvent();
|
||||
callEvent(DeathEvent.class, deathEvent);
|
||||
}
|
||||
@ -96,13 +101,9 @@ public abstract class EntityCreature extends LivingEntity {
|
||||
spawnMobPacket.position = getPosition();
|
||||
spawnMobPacket.headPitch = 0;
|
||||
|
||||
EntityMetaDataPacket entityMetaDataPacket = new EntityMetaDataPacket();
|
||||
entityMetaDataPacket.entityId = getEntityId();
|
||||
entityMetaDataPacket.consumer = getMetadataConsumer();
|
||||
|
||||
playerConnection.sendPacket(entityPacket);
|
||||
playerConnection.sendPacket(spawnMobPacket);
|
||||
playerConnection.sendPacket(entityMetaDataPacket);
|
||||
playerConnection.sendPacket(getMetadataPacket());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,6 +1,6 @@
|
||||
package fr.themode.minestom.entity;
|
||||
|
||||
import java.util.Arrays;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
|
||||
public enum EntityType {
|
||||
ARMOR_STAND(1), // Object
|
||||
@ -69,6 +69,14 @@ public enum EntityType {
|
||||
PHANTOM(97),
|
||||
RAVAGER(98);
|
||||
|
||||
private static Int2ObjectOpenHashMap<EntityType> map = new Int2ObjectOpenHashMap();
|
||||
|
||||
static {
|
||||
for (EntityType type : EntityType.values()) {
|
||||
map.put(type.id, type);
|
||||
}
|
||||
}
|
||||
|
||||
private int id;
|
||||
|
||||
EntityType(int id) {
|
||||
@ -76,7 +84,7 @@ public enum EntityType {
|
||||
}
|
||||
|
||||
public static EntityType fromId(int id) {
|
||||
return Arrays.stream(values()).filter(entityType -> entityType.id == id).findFirst().get();
|
||||
return map.get(id);
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
|
@ -15,7 +15,7 @@ public class ItemEntity extends ObjectEntity {
|
||||
private long pickupDelay;
|
||||
|
||||
public ItemEntity(ItemStack itemStack) {
|
||||
super(34);
|
||||
super(35);
|
||||
this.itemStack = itemStack;
|
||||
setBoundingBox(0.25f, 0.25f, 0.25f);
|
||||
setGravity(0.025f);
|
||||
|
@ -6,8 +6,8 @@ import fr.themode.minestom.entity.property.Attribute;
|
||||
import fr.themode.minestom.event.PickupItemEvent;
|
||||
import fr.themode.minestom.instance.Chunk;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.server.play.AnimationPacket;
|
||||
import fr.themode.minestom.net.packet.server.play.CollectItemPacket;
|
||||
import fr.themode.minestom.net.packet.server.play.EntityAnimationPacket;
|
||||
import fr.themode.minestom.net.packet.server.play.EntityPropertiesPacket;
|
||||
|
||||
import java.util.Set;
|
||||
@ -20,6 +20,9 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
private float health;
|
||||
|
||||
// Bounding box used for items' pickup (see LivingEntity#setBoundingBox)
|
||||
private BoundingBox expandedBoundingBox = getBoundingBox();
|
||||
|
||||
private float[] attributeValues = new float[Attribute.values().length];
|
||||
|
||||
private boolean isHandActive;
|
||||
@ -39,7 +42,7 @@ public abstract class LivingEntity extends Entity {
|
||||
if (canPickupItem) {
|
||||
Chunk chunk = instance.getChunkAt(getPosition()); // TODO check surrounding chunks
|
||||
Set<Entity> entities = instance.getChunkEntities(chunk);
|
||||
BoundingBox livingBoundingBox = getBoundingBox().expand(1, 0.5f, 1);
|
||||
BoundingBox livingBoundingBox = expandedBoundingBox;
|
||||
for (Entity entity : entities) {
|
||||
if (entity instanceof ItemEntity) {
|
||||
ItemEntity itemEntity = (ItemEntity) entity;
|
||||
@ -88,10 +91,10 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
public void damage(float value) {
|
||||
AnimationPacket animationPacket = new AnimationPacket();
|
||||
animationPacket.entityId = getEntityId();
|
||||
animationPacket.animation = AnimationPacket.Animation.TAKE_DAMAGE;
|
||||
sendPacketToViewersAndSelf(animationPacket);
|
||||
EntityAnimationPacket entityAnimationPacket = new EntityAnimationPacket();
|
||||
entityAnimationPacket.entityId = getEntityId();
|
||||
entityAnimationPacket.animation = EntityAnimationPacket.Animation.TAKE_DAMAGE;
|
||||
sendPacketToViewersAndSelf(entityAnimationPacket);
|
||||
setHealth(getHealth() - value);
|
||||
}
|
||||
|
||||
@ -136,6 +139,12 @@ public abstract class LivingEntity extends Entity {
|
||||
this.canPickupItem = canPickupItem;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBoundingBox(float x, float y, float z) {
|
||||
super.setBoundingBox(x, y, z);
|
||||
this.expandedBoundingBox = getBoundingBox().expand(1, 0.5f, 1);
|
||||
}
|
||||
|
||||
public void refreshActiveHand(boolean isHandActive, boolean offHand, boolean riptideSpinAttack) {
|
||||
this.isHandActive = isHandActive;
|
||||
this.activeHand = offHand;
|
||||
|
@ -6,6 +6,7 @@ import fr.themode.minestom.Main;
|
||||
import fr.themode.minestom.bossbar.BossBar;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.collision.BoundingBox;
|
||||
import fr.themode.minestom.entity.demo.ChickenCreature;
|
||||
import fr.themode.minestom.entity.property.Attribute;
|
||||
import fr.themode.minestom.event.*;
|
||||
import fr.themode.minestom.instance.Chunk;
|
||||
@ -144,6 +145,11 @@ public class Player extends LivingEntity {
|
||||
if (player != this)
|
||||
player.teleport(getPosition());
|
||||
}
|
||||
|
||||
ChickenCreature chickenCreature = new ChickenCreature();
|
||||
chickenCreature.refreshPosition(getPosition());
|
||||
chickenCreature.setInstance(getInstance());
|
||||
|
||||
});
|
||||
|
||||
setEventCallback(PickupItemEvent.class, event -> {
|
||||
@ -188,12 +194,12 @@ public class Player extends LivingEntity {
|
||||
setAttribute(Attribute.MAX_HEALTH, 10);
|
||||
heal();
|
||||
|
||||
Scoreboard scoreboard = new Scoreboard("Scoreboard Title");
|
||||
Sidebar scoreboard = new Sidebar("Scoreboard Title");
|
||||
for (int i = 0; i < 15; i++) {
|
||||
scoreboard.createLine(new Scoreboard.ScoreboardLine("id" + i, "Hey guys " + i, i));
|
||||
scoreboard.createLine(new Sidebar.ScoreboardLine("id" + i, "Hey guys " + i, i));
|
||||
}
|
||||
scoreboard.addViewer(this);
|
||||
scoreboard.updateLineContent("id3", "I HAVE BEEN UPDATED &2TEST");
|
||||
scoreboard.updateLineContent("id3", "I HAVE BEEN UPDATED");
|
||||
|
||||
BelowNameScoreboard belowNameScoreboard = new BelowNameScoreboard();
|
||||
setBelowNameScoreboard(belowNameScoreboard);
|
||||
@ -265,42 +271,42 @@ public class Player extends LivingEntity {
|
||||
ServerPacket updatePacket = null;
|
||||
ServerPacket optionalUpdatePacket = null;
|
||||
if (positionChanged && viewChanged) {
|
||||
EntityLookAndRelativeMovePacket entityLookAndRelativeMovePacket = new EntityLookAndRelativeMovePacket();
|
||||
entityLookAndRelativeMovePacket.entityId = getEntityId();
|
||||
entityLookAndRelativeMovePacket.deltaX = (short) ((position.getX() * 32 - lastX * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.deltaY = (short) ((position.getY() * 32 - lastY * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.deltaZ = (short) ((position.getZ() * 32 - lastZ * 32) * 128);
|
||||
entityLookAndRelativeMovePacket.yaw = position.getYaw();
|
||||
entityLookAndRelativeMovePacket.pitch = position.getPitch();
|
||||
entityLookAndRelativeMovePacket.onGround = onGround;
|
||||
EntityPositionAndRotationPacket entityPositionAndRotationPacket = new EntityPositionAndRotationPacket();
|
||||
entityPositionAndRotationPacket.entityId = getEntityId();
|
||||
entityPositionAndRotationPacket.deltaX = (short) ((position.getX() * 32 - lastX * 32) * 128);
|
||||
entityPositionAndRotationPacket.deltaY = (short) ((position.getY() * 32 - lastY * 32) * 128);
|
||||
entityPositionAndRotationPacket.deltaZ = (short) ((position.getZ() * 32 - lastZ * 32) * 128);
|
||||
entityPositionAndRotationPacket.yaw = position.getYaw();
|
||||
entityPositionAndRotationPacket.pitch = position.getPitch();
|
||||
entityPositionAndRotationPacket.onGround = onGround;
|
||||
|
||||
lastX = position.getX();
|
||||
lastY = position.getY();
|
||||
lastZ = position.getZ();
|
||||
lastYaw = position.getYaw();
|
||||
lastPitch = position.getPitch();
|
||||
updatePacket = entityLookAndRelativeMovePacket;
|
||||
updatePacket = entityPositionAndRotationPacket;
|
||||
} else if (positionChanged) {
|
||||
EntityRelativeMovePacket entityRelativeMovePacket = new EntityRelativeMovePacket();
|
||||
entityRelativeMovePacket.entityId = getEntityId();
|
||||
entityRelativeMovePacket.deltaX = (short) ((position.getX() * 32 - lastX * 32) * 128);
|
||||
entityRelativeMovePacket.deltaY = (short) ((position.getY() * 32 - lastY * 32) * 128);
|
||||
entityRelativeMovePacket.deltaZ = (short) ((position.getZ() * 32 - lastZ * 32) * 128);
|
||||
entityRelativeMovePacket.onGround = onGround;
|
||||
EntityPositionPacket entityPositionPacket = new EntityPositionPacket();
|
||||
entityPositionPacket.entityId = getEntityId();
|
||||
entityPositionPacket.deltaX = (short) ((position.getX() * 32 - lastX * 32) * 128);
|
||||
entityPositionPacket.deltaY = (short) ((position.getY() * 32 - lastY * 32) * 128);
|
||||
entityPositionPacket.deltaZ = (short) ((position.getZ() * 32 - lastZ * 32) * 128);
|
||||
entityPositionPacket.onGround = onGround;
|
||||
lastX = position.getX();
|
||||
lastY = position.getY();
|
||||
lastZ = position.getZ();
|
||||
updatePacket = entityRelativeMovePacket;
|
||||
updatePacket = entityPositionPacket;
|
||||
} else if (viewChanged) {
|
||||
EntityLookPacket entityLookPacket = new EntityLookPacket();
|
||||
entityLookPacket.entityId = getEntityId();
|
||||
entityLookPacket.yaw = position.getYaw();
|
||||
entityLookPacket.pitch = position.getPitch();
|
||||
entityLookPacket.onGround = onGround;
|
||||
EntityRotationPacket entityRotationPacket = new EntityRotationPacket();
|
||||
entityRotationPacket.entityId = getEntityId();
|
||||
entityRotationPacket.yaw = position.getYaw();
|
||||
entityRotationPacket.pitch = position.getPitch();
|
||||
entityRotationPacket.onGround = onGround;
|
||||
|
||||
lastYaw = position.getYaw();
|
||||
lastPitch = position.getPitch();
|
||||
updatePacket = entityLookPacket;
|
||||
updatePacket = entityRotationPacket;
|
||||
}
|
||||
|
||||
if (viewChanged) {
|
||||
|
46
src/main/java/fr/themode/minestom/event/PlayerChatEvent.java
Normal file
46
src/main/java/fr/themode/minestom/event/PlayerChatEvent.java
Normal file
@ -0,0 +1,46 @@
|
||||
package fr.themode.minestom.event;
|
||||
|
||||
import club.thectm.minecraft.text.TextObject;
|
||||
import fr.themode.minestom.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class PlayerChatEvent extends CancellableEvent {
|
||||
|
||||
private Player sender;
|
||||
private Collection<Player> recipients;
|
||||
private String message;
|
||||
private Function<PlayerChatEvent, TextObject> chatFormat;
|
||||
|
||||
public PlayerChatEvent(Player sender, Collection<Player> recipients, String message) {
|
||||
this.sender = sender;
|
||||
this.recipients = new ArrayList<>(recipients);
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public void setChatFormat(Function<PlayerChatEvent, TextObject> chatFormat) {
|
||||
this.chatFormat = chatFormat;
|
||||
}
|
||||
|
||||
public Player getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public Collection<Player> getRecipients() {
|
||||
return recipients;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public Function<PlayerChatEvent, TextObject> getChatFormatFunction() {
|
||||
return chatFormat;
|
||||
}
|
||||
}
|
@ -3,17 +3,17 @@ package fr.themode.minestom.listener;
|
||||
import fr.themode.minestom.entity.Player;
|
||||
import fr.themode.minestom.event.AnimationEvent;
|
||||
import fr.themode.minestom.net.packet.client.play.ClientAnimationPacket;
|
||||
import fr.themode.minestom.net.packet.server.play.AnimationPacket;
|
||||
import fr.themode.minestom.net.packet.server.play.EntityAnimationPacket;
|
||||
|
||||
public class AnimationListener {
|
||||
|
||||
public static void animationListener(ClientAnimationPacket packet, Player player) {
|
||||
AnimationEvent animationEvent = new AnimationEvent(packet.hand);
|
||||
player.callCancellableEvent(AnimationEvent.class, animationEvent, () -> {
|
||||
AnimationPacket animationPacket = new AnimationPacket();
|
||||
animationPacket.entityId = player.getEntityId();
|
||||
animationPacket.animation = animationEvent.getHand() == Player.Hand.MAIN ? AnimationPacket.Animation.SWING_MAIN_ARM : AnimationPacket.Animation.SWING_OFF_HAND;
|
||||
player.sendPacketToViewers(animationPacket);
|
||||
EntityAnimationPacket entityAnimationPacket = new EntityAnimationPacket();
|
||||
entityAnimationPacket.entityId = player.getEntityId();
|
||||
entityAnimationPacket.animation = animationEvent.getHand() == Player.Hand.MAIN ? EntityAnimationPacket.Animation.SWING_MAIN_ARM : EntityAnimationPacket.Animation.SWING_OFF_HAND;
|
||||
player.sendPacketToViewers(entityAnimationPacket);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,49 @@
|
||||
package fr.themode.minestom.listener;
|
||||
|
||||
import club.thectm.minecraft.text.*;
|
||||
import fr.themode.minestom.Main;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.entity.Player;
|
||||
import fr.themode.minestom.event.PlayerChatEvent;
|
||||
import fr.themode.minestom.net.packet.client.play.ClientChatMessagePacket;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
public class ChatMessageListener {
|
||||
|
||||
public static void listener(ClientChatMessagePacket packet, Player player) {
|
||||
String message = Chat.uncoloredLegacyText(packet.message);
|
||||
Main.getConnectionManager().getOnlinePlayers().forEach(p -> p.sendMessage(String.format("<%s> %s", player.getUsername(), message)));
|
||||
|
||||
PlayerChatEvent playerChatEvent = new PlayerChatEvent(player, Main.getConnectionManager().getOnlinePlayers(), message);
|
||||
|
||||
// Default format
|
||||
playerChatEvent.setChatFormat((event) -> {
|
||||
String username = player.getUsername();
|
||||
|
||||
TextObject usernameText = TextBuilder.of(String.format("<%s>", username))
|
||||
.color(ChatColor.WHITE)
|
||||
.hoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, ChatColor.AQUA + "Its " + username))
|
||||
.clickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + username + " "))
|
||||
.append(" " + event.getMessage())
|
||||
.build();
|
||||
|
||||
return usernameText;
|
||||
});
|
||||
|
||||
// Call the event
|
||||
player.callCancellableEvent(PlayerChatEvent.class, playerChatEvent, () -> {
|
||||
|
||||
Function<PlayerChatEvent, TextObject> formatFunction = playerChatEvent.getChatFormatFunction();
|
||||
if (formatFunction == null)
|
||||
throw new NullPointerException("PlayerChatEvent#chatFormat cannot be null!");
|
||||
|
||||
TextObject textObject = formatFunction.apply(playerChatEvent);
|
||||
|
||||
for (Player recipient : playerChatEvent.getRecipients()) {
|
||||
recipient.sendMessage(textObject);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
@ -43,9 +43,9 @@ public class LoginStartPacket implements ClientPreplayPacket {
|
||||
GameMode gameMode = GameMode.SURVIVAL;
|
||||
Dimension dimension = Dimension.OVERWORLD;
|
||||
LevelType levelType = LevelType.DEFAULT;
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
float z = 0;
|
||||
final float x = 0;
|
||||
final float y = 0;
|
||||
final float z = 0;
|
||||
|
||||
player.refreshDimension(dimension);
|
||||
player.refreshGameMode(gameMode);
|
||||
|
@ -0,0 +1,99 @@
|
||||
package fr.themode.minestom.net.packet.server;
|
||||
|
||||
public class ServerPacketIdentifier {
|
||||
|
||||
public static final int SPAWN_OBJECT = 0x00;
|
||||
public static final int SPAWN_EXPERIENCE_ORB = 0x01;
|
||||
public static final int SPAWN_GLOBAL_ENTITY = 0x02;
|
||||
public static final int SPAWN_MOB = 0x03;
|
||||
public static final int SPAWN_PAINTING = 0x04;
|
||||
public static final int SPAWN_PLAYER = 0x05;
|
||||
public static final int ENTITY_ANIMATION = 0x06;
|
||||
public static final int STATISTICS = 0x07;
|
||||
public static final int ACKNOWLEDGE_PLAYER_DIGGING = 0x08;
|
||||
public static final int BLOCK_BREAK_ANIMATION = 0x09;
|
||||
public static final int UPDATE_BLOCK_ENTITY = 0x0A;
|
||||
public static final int BLOCK_ACTION = 0x0B;
|
||||
public static final int BLOCK_CHANGE = 0x0C;
|
||||
public static final int BOSS_BAR = 0x0D;
|
||||
public static final int SERVER_DIFFICULTY = 0x0E;
|
||||
public static final int CHAT_MESSAGE = 0x0F;
|
||||
public static final int MULTI_BLOCK_CHANGE = 0x10;
|
||||
public static final int TAB_COMPLETE = 0x11;
|
||||
public static final int DECLARE_COMMANDS = 0x12;
|
||||
public static final int WINDOW_CONFIRMATION = 0x13;
|
||||
public static final int CLOSE_WINDOW = 0x14;
|
||||
public static final int WINDOW_ITEMS = 0x15;
|
||||
public static final int WINDOW_PROPERTY = 0x16;
|
||||
public static final int SET_SLOT = 0x17;
|
||||
public static final int SET_COOLDOWN = 0x18;
|
||||
public static final int PLUGIN_MESSAGE = 0x19;
|
||||
public static final int NAMED_SOUND_EFFECT = 0x1A;
|
||||
public static final int DISCONNECT = 0x1B;
|
||||
public static final int ENTITY_STATUS = 0x1C;
|
||||
public static final int EXPLOSION = 0x1D;
|
||||
public static final int UNLOAD_CHUNK = 0x1E;
|
||||
public static final int CHANGE_GAME_STATE = 0x1F;
|
||||
public static final int OPEN_HORSE_WINDOW = 0x20;
|
||||
public static final int KEEP_ALIVE = 0x21;
|
||||
public static final int CHUNK_DATA = 0x22;
|
||||
public static final int EFFECT = 0x23;
|
||||
public static final int PARTICLE = 0x24;
|
||||
public static final int UPDATE_LIGHT = 0x25;
|
||||
public static final int JOIN_GAME = 0x26;
|
||||
public static final int MAP_DATA = 0x27;
|
||||
public static final int TRADE_LIST = 0x28;
|
||||
public static final int ENTITY_POSITION = 0x29;
|
||||
public static final int ENTITY_POSITION_AND_ROTATION = 0x2A;
|
||||
public static final int ENTITY_ROTATION = 0x2B;
|
||||
public static final int ENTITY_MOVEMENT = 0x2C;
|
||||
public static final int VEHICLE_MOVE = 0x2D;
|
||||
public static final int OPEN_BOOK = 0x2E;
|
||||
public static final int OPEN_WINDOW = 0x2F;
|
||||
public static final int OPEN_SIGN_EDITOR = 0x30;
|
||||
public static final int CRAFT_RECIPE_RESPONSE = 0x31;
|
||||
public static final int PLAYER_ABILITIES = 0x32;
|
||||
public static final int COMBAT_EVENT = 0x33;
|
||||
public static final int PLAYER_INFO = 0x34;
|
||||
public static final int FACE_PLAYER = 0x35;
|
||||
public static final int PLAYER_POSITION_AND_LOOK = 0x36;
|
||||
public static final int UNLOCK_RECIPES = 0x37;
|
||||
public static final int DESTROY_ENTITIES = 0x38;
|
||||
public static final int REMOVE_ENTITY_EFFECT = 0x39;
|
||||
public static final int RESOURCE_PACK_SEND = 0x3A;
|
||||
public static final int RESPAWN = 0x3B;
|
||||
public static final int ENTITY_HEAD_LOOK = 0x3C;
|
||||
public static final int SELECT_ADVANCEMENT_TAB = 0x3D;
|
||||
public static final int WORLD_BORDER = 0x3E;
|
||||
public static final int CAMERA = 0x3F;
|
||||
public static final int HELD_ITEM_CHANGE = 0x40;
|
||||
public static final int UPDATE_VIEW_POSITION = 0x41;
|
||||
public static final int UPDATE_VIEW_DISTANCE = 0x42;
|
||||
public static final int DISPLAY_SCOREBOARD = 0x43;
|
||||
public static final int ENTITY_METADATA = 0x44;
|
||||
public static final int ATTACH_ENTITY = 0x45;
|
||||
public static final int ENTITY_VELOCITY = 0x46;
|
||||
public static final int ENTITY_EQUIPMENT = 0x47;
|
||||
public static final int SET_EXPERIENCE = 0x48;
|
||||
public static final int UPDATE_HEALTH = 0x49;
|
||||
public static final int SCOREBOARD_OBJECTIVE = 0x4A;
|
||||
public static final int SET_PASSENGERS = 0x4B;
|
||||
public static final int TEAMS = 0x4C;
|
||||
public static final int UPDATE_SCORE = 0x4D;
|
||||
public static final int SPAWN_POSITION = 0x4E;
|
||||
public static final int TIME_UPDATE = 0x4F;
|
||||
public static final int TITLE = 0x50;
|
||||
public static final int ENTITY_SOUND_EFFECT = 0x51;
|
||||
public static final int SOUND_EFFECT = 0x52;
|
||||
public static final int STOP_SOUND = 0x53;
|
||||
public static final int PLAYER_LIST_HEADER_AND_FOOTER = 0x54;
|
||||
public static final int NBT_QUERY_RESPONSE = 0x55;
|
||||
public static final int COLLECT_ITEM = 0x56;
|
||||
public static final int ENTITY_TELEPORT = 0x57;
|
||||
public static final int ADVANCEMENTS = 0x58;
|
||||
public static final int ENTITY_PROPERTIES = 0x59;
|
||||
public static final int ENTITY_EFFECT = 0x5A;
|
||||
public static final int DECLARE_RECIPES = 0x5B;
|
||||
public static final int TAGS = 0x5C;
|
||||
|
||||
}
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.login;
|
||||
import fr.themode.minestom.entity.GameMode;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.world.Dimension;
|
||||
import fr.themode.minestom.world.LevelType;
|
||||
|
||||
@ -37,6 +38,6 @@ public class JoinGamePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x26;
|
||||
return ServerPacketIdentifier.JOIN_GAME;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.client.play.ClientPlayerDiggingPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class AcknowledgePlayerDiggingPacket implements ServerPacket {
|
||||
@ -22,6 +23,6 @@ public class AcknowledgePlayerDiggingPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x8;
|
||||
return ServerPacketIdentifier.ACKNOWLEDGE_PLAYER_DIGGING;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class AdvancementsPacket implements ServerPacket {
|
||||
|
||||
@ -31,7 +32,7 @@ public class AdvancementsPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x58;
|
||||
return ServerPacketIdentifier.ADVANCEMENTS;
|
||||
}
|
||||
|
||||
public enum FrameType {
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class BlockActionPacket implements ServerPacket {
|
||||
@ -21,6 +22,6 @@ public class BlockActionPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x0B;
|
||||
return ServerPacketIdentifier.BLOCK_ACTION;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class BlockBreakAnimationPacket implements ServerPacket {
|
||||
@ -19,6 +20,6 @@ public class BlockBreakAnimationPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x09;
|
||||
return ServerPacketIdentifier.BLOCK_BREAK_ANIMATION;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class BlockChangePacket implements ServerPacket {
|
||||
@ -17,6 +18,6 @@ public class BlockChangePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x0C;
|
||||
return ServerPacketIdentifier.BLOCK_CHANGE;
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import fr.themode.minestom.bossbar.BarDivision;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -54,7 +55,7 @@ public class BossBarPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x0D;
|
||||
return ServerPacketIdentifier.BOSS_BAR;
|
||||
}
|
||||
|
||||
public enum Action {
|
||||
|
@ -0,0 +1,20 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class CameraPacket implements ServerPacket {
|
||||
|
||||
public int cameraId;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(cameraId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.CAMERA;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ChangeGameStatePacket implements ServerPacket {
|
||||
|
||||
@ -16,7 +17,7 @@ public class ChangeGameStatePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x1F;
|
||||
return ServerPacketIdentifier.CHANGE_GAME_STATE;
|
||||
}
|
||||
|
||||
public enum Reason {
|
||||
|
@ -2,26 +2,27 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ChatMessagePacket implements ServerPacket {
|
||||
|
||||
private String message;
|
||||
private String jsonMessage;
|
||||
private Position position;
|
||||
|
||||
public ChatMessagePacket(String message, Position position) {
|
||||
this.message = message;
|
||||
public ChatMessagePacket(String jsonMessage, Position position) {
|
||||
this.jsonMessage = jsonMessage;
|
||||
this.position = position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeSizedString(message);
|
||||
writer.writeSizedString(jsonMessage);
|
||||
writer.writeByte((byte) position.ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x0F;
|
||||
return ServerPacketIdentifier.CHAT_MESSAGE;
|
||||
}
|
||||
|
||||
public enum Position {
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.instance.Chunk;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
import fr.themode.minestom.utils.SerializerUtils;
|
||||
import fr.themode.minestom.utils.Utils;
|
||||
@ -78,8 +79,8 @@ public class ChunkDataPacket implements ServerPacket {
|
||||
// Biome data
|
||||
if (fullChunk) {
|
||||
for (int z = 0; z < 1024; z++) {
|
||||
// TODO proper chunk section biome
|
||||
writer.writeInt(chunk.getBiome().getId());
|
||||
//blocks.putInt(chunk.getBiome().getId()); // FIXME
|
||||
}
|
||||
}
|
||||
|
||||
@ -129,6 +130,6 @@ public class ChunkDataPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x22;
|
||||
return ServerPacketIdentifier.CHUNK_DATA;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class CloseWindowPacket implements ServerPacket {
|
||||
|
||||
@ -14,6 +15,6 @@ public class CloseWindowPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x14;
|
||||
return ServerPacketIdentifier.CLOSE_WINDOW;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class CollectItemPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class CollectItemPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x56;
|
||||
return ServerPacketIdentifier.COLLECT_ITEM;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ConfirmTransactionPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class ConfirmTransactionPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x13;
|
||||
return ServerPacketIdentifier.WINDOW_CONFIRMATION;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@ -22,7 +23,7 @@ public class DeclareCommandsPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x12;
|
||||
return ServerPacketIdentifier.DECLARE_COMMANDS;
|
||||
}
|
||||
|
||||
public static class Node {
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class DestroyEntitiesPacket implements ServerPacket {
|
||||
|
||||
@ -14,6 +15,6 @@ public class DestroyEntitiesPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x38;
|
||||
return ServerPacketIdentifier.DESTROY_ENTITIES;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class DisconnectPacket implements ServerPacket {
|
||||
|
||||
@ -15,6 +16,6 @@ public class DisconnectPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x1B;
|
||||
return ServerPacketIdentifier.DISCONNECT;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class DisplayScoreboardPacket implements ServerPacket {
|
||||
|
||||
@ -16,6 +17,6 @@ public class DisplayScoreboardPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x43;
|
||||
return ServerPacketIdentifier.DISPLAY_SCOREBOARD;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,27 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class EffectPacket implements ServerPacket {
|
||||
|
||||
public int effectId;
|
||||
public BlockPosition position;
|
||||
public int data;
|
||||
public boolean disableRelativeVolume;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeInt(effectId);
|
||||
writer.writeBlockPosition(position);
|
||||
writer.writeInt(data);
|
||||
writer.writeBoolean(disableRelativeVolume);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.EFFECT;
|
||||
}
|
||||
}
|
@ -2,8 +2,9 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class AnimationPacket implements ServerPacket {
|
||||
public class EntityAnimationPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public Animation animation;
|
||||
@ -16,7 +17,7 @@ public class AnimationPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x06;
|
||||
return ServerPacketIdentifier.ENTITY_ANIMATION;
|
||||
}
|
||||
|
||||
public enum Animation {
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityEffectPacket implements ServerPacket {
|
||||
|
||||
@ -22,6 +23,6 @@ public class EntityEffectPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x5A;
|
||||
return ServerPacketIdentifier.ENTITY_EFFECT;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityEquipmentPacket implements ServerPacket {
|
||||
|
||||
@ -19,7 +20,7 @@ public class EntityEquipmentPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x47;
|
||||
return ServerPacketIdentifier.ENTITY_EQUIPMENT;
|
||||
}
|
||||
|
||||
public enum Slot {
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityHeadLookPacket implements ServerPacket {
|
||||
|
||||
@ -16,6 +17,6 @@ public class EntityHeadLookPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x3C;
|
||||
return ServerPacketIdentifier.ENTITY_HEAD_LOOK;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import com.github.simplenet.packet.Packet;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@ -20,6 +21,6 @@ public class EntityMetaDataPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x44;
|
||||
return ServerPacketIdentifier.ENTITY_METADATA;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityPacket implements ServerPacket {
|
||||
|
||||
@ -14,6 +15,6 @@ public class EntityPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x2C;
|
||||
return ServerPacketIdentifier.ENTITY_MOVEMENT;
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,9 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityLookAndRelativeMovePacket implements ServerPacket {
|
||||
public class EntityPositionAndRotationPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public short deltaX, deltaY, deltaZ;
|
||||
@ -24,6 +25,6 @@ public class EntityLookAndRelativeMovePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x2A;
|
||||
return ServerPacketIdentifier.ENTITY_POSITION_AND_ROTATION;
|
||||
}
|
||||
}
|
@ -2,8 +2,9 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityRelativeMovePacket implements ServerPacket {
|
||||
public class EntityPositionPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public short deltaX, deltaY, deltaZ;
|
||||
@ -20,6 +21,6 @@ public class EntityRelativeMovePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x29;
|
||||
return ServerPacketIdentifier.ENTITY_POSITION;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityPropertiesPacket implements ServerPacket {
|
||||
|
||||
@ -20,7 +21,7 @@ public class EntityPropertiesPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x59;
|
||||
return ServerPacketIdentifier.ENTITY_PROPERTIES;
|
||||
}
|
||||
|
||||
public static class Property {
|
||||
|
@ -2,8 +2,9 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityLookPacket implements ServerPacket {
|
||||
public class EntityRotationPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public float yaw, pitch;
|
||||
@ -19,6 +20,6 @@ public class EntityLookPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x2B;
|
||||
return ServerPacketIdentifier.ENTITY_ROTATION;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityStatusPacket implements ServerPacket {
|
||||
|
||||
@ -16,6 +17,6 @@ public class EntityStatusPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x1C;
|
||||
return ServerPacketIdentifier.ENTITY_STATUS;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
public class EntityTeleportPacket implements ServerPacket {
|
||||
@ -23,6 +24,6 @@ public class EntityTeleportPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x57;
|
||||
return ServerPacketIdentifier.ENTITY_TELEPORT;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class EntityVelocityPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class EntityVelocityPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x46;
|
||||
return ServerPacketIdentifier.ENTITY_VELOCITY;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ExplosionPacket implements ServerPacket {
|
||||
|
||||
@ -26,6 +27,6 @@ public class ExplosionPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x1D;
|
||||
return ServerPacketIdentifier.EXPLOSION;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,39 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class FacePlayerPacket implements ServerPacket {
|
||||
|
||||
public FacePosition facePosition;
|
||||
public double targetX, targetY, targetZ;
|
||||
public boolean isEntity;
|
||||
public int entityId;
|
||||
public FacePosition entityFacePosition;
|
||||
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(facePosition.ordinal());
|
||||
writer.writeDouble(targetX);
|
||||
writer.writeDouble(targetY);
|
||||
writer.writeDouble(targetZ);
|
||||
|
||||
writer.writeBoolean(isEntity);
|
||||
if (isEntity) {
|
||||
writer.writeVarInt(entityId);
|
||||
writer.writeVarInt(entityFacePosition.ordinal());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.FACE_PLAYER;
|
||||
}
|
||||
|
||||
public enum FacePosition {
|
||||
FEET, EYES;
|
||||
}
|
||||
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class HeldItemChangePacket implements ServerPacket {
|
||||
|
||||
@ -14,6 +15,6 @@ public class HeldItemChangePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x40;
|
||||
return ServerPacketIdentifier.HELD_ITEM_CHANGE;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class KeepAlivePacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class KeepAlivePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x21;
|
||||
return ServerPacketIdentifier.KEEP_ALIVE;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class MultiBlockChangePacket implements ServerPacket {
|
||||
|
||||
@ -30,7 +31,7 @@ public class MultiBlockChangePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x10;
|
||||
return ServerPacketIdentifier.MULTI_BLOCK_CHANGE;
|
||||
}
|
||||
|
||||
public static class BlockChange {
|
||||
|
@ -0,0 +1,21 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.entity.Player;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class OpenBookPacket implements ServerPacket {
|
||||
|
||||
public Player.Hand hand;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(hand.ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.OPEN_BOOK;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
public class OpenSignEditorPacket implements ServerPacket {
|
||||
|
||||
// WARNING: There must be a sign in this location (you can send a BlockChangePacket beforehand)
|
||||
public BlockPosition signPosition;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeBlockPosition(signPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.OPEN_SIGN_EDITOR;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class OpenWindowPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class OpenWindowPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x2F;
|
||||
return ServerPacketIdentifier.OPEN_WINDOW;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ParticlePacket implements ServerPacket {
|
||||
|
||||
@ -32,6 +33,6 @@ public class ParticlePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x24;
|
||||
return ServerPacketIdentifier.PARTICLE;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class PlayerAbilitiesPacket implements ServerPacket {
|
||||
|
||||
@ -34,6 +35,6 @@ public class PlayerAbilitiesPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x32;
|
||||
return ServerPacketIdentifier.PLAYER_ABILITIES;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.entity.GameMode;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.UUID;
|
||||
@ -31,7 +32,7 @@ public class PlayerInfoPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x34;
|
||||
return ServerPacketIdentifier.PLAYER_INFO;
|
||||
}
|
||||
|
||||
public enum Action {
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
public class PlayerPositionAndLookPacket implements ServerPacket {
|
||||
@ -24,6 +25,6 @@ public class PlayerPositionAndLookPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x36;
|
||||
return ServerPacketIdentifier.PLAYER_POSITION_AND_LOOK;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class RemoveEntityEffectPacket implements ServerPacket {
|
||||
|
||||
@ -16,6 +17,6 @@ public class RemoveEntityEffectPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x39;
|
||||
return ServerPacketIdentifier.REMOVE_ENTITY_EFFECT;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.entity.GameMode;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.world.Dimension;
|
||||
import fr.themode.minestom.world.LevelType;
|
||||
|
||||
@ -23,6 +24,6 @@ public class RespawnPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x3B;
|
||||
return ServerPacketIdentifier.RESPAWN;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class ScoreboardObjectivePacket implements ServerPacket {
|
||||
|
||||
@ -24,6 +25,6 @@ public class ScoreboardObjectivePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x4A;
|
||||
return ServerPacketIdentifier.SCOREBOARD_OBJECTIVE;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,22 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SetCooldownPacket implements ServerPacket {
|
||||
|
||||
public int itemId;
|
||||
public int cooldownTicks;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(itemId);
|
||||
writer.writeVarInt(cooldownTicks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.SET_COOLDOWN;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SetExperiencePacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class SetExperiencePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x48;
|
||||
return ServerPacketIdentifier.SET_EXPERIENCE;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SetPassengersPacket implements ServerPacket {
|
||||
|
||||
@ -16,6 +17,6 @@ public class SetPassengersPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x4B;
|
||||
return ServerPacketIdentifier.SET_PASSENGERS;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SetSlotPacket implements ServerPacket {
|
||||
|
||||
@ -19,6 +20,6 @@ public class SetSlotPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x17;
|
||||
return ServerPacketIdentifier.SET_SLOT;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
public class SpawnExperienceOrbPacket implements ServerPacket {
|
||||
@ -21,6 +22,6 @@ public class SpawnExperienceOrbPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x01;
|
||||
return ServerPacketIdentifier.SPAWN_EXPERIENCE_ORB;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,26 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SpawnGlobalEntityPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public byte type;
|
||||
public double x, y, z;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(entityId);
|
||||
writer.writeByte(type);
|
||||
writer.writeDouble(x);
|
||||
writer.writeDouble(y);
|
||||
writer.writeDouble(z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.SPAWN_GLOBAL_ENTITY;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -20,12 +21,15 @@ public class SpawnMobPacket implements ServerPacket {
|
||||
writer.writeVarInt(entityId);
|
||||
writer.writeUuid(entityUuid);
|
||||
writer.writeVarInt(entityType);
|
||||
|
||||
writer.writeDouble(position.getX());
|
||||
writer.writeDouble(position.getY());
|
||||
writer.writeDouble(position.getZ());
|
||||
writer.writeFloat(position.getYaw());
|
||||
writer.writeFloat(position.getPitch());
|
||||
writer.writeFloat(headPitch);
|
||||
|
||||
writer.writeByte((byte) (position.getYaw() * 256 / 360));
|
||||
writer.writeByte((byte) (position.getPitch() * 256 / 360));
|
||||
writer.writeByte((byte) (headPitch * 256 / 360));
|
||||
|
||||
writer.writeShort(velocityX);
|
||||
writer.writeShort(velocityY);
|
||||
writer.writeShort(velocityZ);
|
||||
@ -34,6 +38,6 @@ public class SpawnMobPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x03;
|
||||
return ServerPacketIdentifier.SPAWN_MOB;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -29,6 +30,6 @@ public class SpawnObjectPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x00;
|
||||
return ServerPacketIdentifier.SPAWN_OBJECT;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.BlockPosition;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class SpawnPaintingPacket implements ServerPacket {
|
||||
|
||||
public int entityId;
|
||||
public UUID entityUuid;
|
||||
public int motive;
|
||||
public BlockPosition position;
|
||||
public byte direction;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(entityId);
|
||||
writer.writeUuid(entityUuid);
|
||||
writer.writeVarInt(motive);
|
||||
writer.writeBlockPosition(position);
|
||||
writer.writeByte(direction);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.SPAWN_PAINTING;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
import fr.themode.minestom.utils.Position;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -25,6 +26,6 @@ public class SpawnPlayerPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x05;
|
||||
return ServerPacketIdentifier.SPAWN_PLAYER;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class SpawnPositionPacket implements ServerPacket {
|
||||
|
||||
@ -14,6 +15,6 @@ public class SpawnPositionPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x4E;
|
||||
return ServerPacketIdentifier.SPAWN_POSITION;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class TeamsPacket implements ServerPacket {
|
||||
|
||||
@ -47,7 +48,7 @@ public class TeamsPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x4C;
|
||||
return ServerPacketIdentifier.TEAMS;
|
||||
}
|
||||
|
||||
public enum Action {
|
||||
|
@ -0,0 +1,61 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.chat.Chat;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class TitlePacket implements ServerPacket {
|
||||
|
||||
public Action action;
|
||||
|
||||
public String titleText;
|
||||
|
||||
public String subtitleText;
|
||||
|
||||
public String actionBarText;
|
||||
|
||||
public int fadeIn;
|
||||
public int stay;
|
||||
public int fadeOut;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeVarInt(action.ordinal());
|
||||
|
||||
switch (action) {
|
||||
case SET_TITLE:
|
||||
writer.writeSizedString(Chat.legacyTextString(titleText));
|
||||
break;
|
||||
case SET_SUBTITLE:
|
||||
writer.writeSizedString(Chat.legacyTextString(subtitleText));
|
||||
break;
|
||||
case SET_ACTION_BAR:
|
||||
writer.writeSizedString(Chat.legacyTextString(actionBarText));
|
||||
break;
|
||||
case SET_TIMES_AND_DISPLAY:
|
||||
writer.writeInt(fadeIn);
|
||||
writer.writeInt(stay);
|
||||
writer.writeInt(fadeOut);
|
||||
break;
|
||||
case HIDE:
|
||||
case RESET:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.TITLE;
|
||||
}
|
||||
|
||||
public enum Action {
|
||||
SET_TITLE,
|
||||
SET_SUBTITLE,
|
||||
SET_ACTION_BAR,
|
||||
SET_TIMES_AND_DISPLAY,
|
||||
HIDE,
|
||||
RESET;
|
||||
}
|
||||
|
||||
}
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class TradeListPacket implements ServerPacket {
|
||||
|
||||
@ -28,7 +29,7 @@ public class TradeListPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x28;
|
||||
return ServerPacketIdentifier.TRADE_LIST;
|
||||
}
|
||||
|
||||
public static class Trade {
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class UnloadChunkPacket implements ServerPacket {
|
||||
|
||||
@ -15,6 +16,6 @@ public class UnloadChunkPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x1E;
|
||||
return ServerPacketIdentifier.UNLOAD_CHUNK;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class UpdateHealthPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class UpdateHealthPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x49;
|
||||
return ServerPacketIdentifier.UPDATE_HEALTH;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class UpdateScorePacket implements ServerPacket {
|
||||
|
||||
@ -22,6 +23,6 @@ public class UpdateScorePacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x4D;
|
||||
return ServerPacketIdentifier.UPDATE_SCORE;
|
||||
}
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.instance.Chunk;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class UpdateViewPositionPacket implements ServerPacket {
|
||||
|
||||
@ -20,6 +21,6 @@ public class UpdateViewPositionPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x41;
|
||||
return ServerPacketIdentifier.UPDATE_VIEW_POSITION;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class VehicleMovePacket implements ServerPacket {
|
||||
|
||||
public double x, y, z;
|
||||
public float yaw, pitch;
|
||||
|
||||
@Override
|
||||
public void write(PacketWriter writer) {
|
||||
writer.writeDouble(x);
|
||||
writer.writeDouble(y);
|
||||
writer.writeDouble(z);
|
||||
writer.writeFloat(yaw);
|
||||
writer.writeFloat(pitch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return ServerPacketIdentifier.VEHICLE_MOVE;
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
import fr.themode.minestom.item.ItemStack;
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class WindowItemsPacket implements ServerPacket {
|
||||
|
||||
@ -28,6 +29,6 @@ public class WindowItemsPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x15;
|
||||
return ServerPacketIdentifier.WINDOW_ITEMS;
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package fr.themode.minestom.net.packet.server.play;
|
||||
|
||||
import fr.themode.minestom.net.packet.PacketWriter;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacket;
|
||||
import fr.themode.minestom.net.packet.server.ServerPacketIdentifier;
|
||||
|
||||
public class WindowPropertyPacket implements ServerPacket {
|
||||
|
||||
@ -18,6 +19,6 @@ public class WindowPropertyPacket implements ServerPacket {
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return 0x16;
|
||||
return ServerPacketIdentifier.WINDOW_PROPERTY;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user