mirror of https://github.com/LOOHP/Limbo.git
Compare commits
1 Commits
89613da4ee
...
6320c72961
| Author | SHA1 | Date |
|---|---|---|
|
|
6320c72961 |
2
pom.xml
2
pom.xml
|
|
@ -136,7 +136,7 @@
|
|||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<finalName>${project.artifactId}-${project.version}-1.21.9</finalName>
|
||||
<finalName>${project.artifactId}-${project.version}-1.21.8</finalName>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
|
|
|
|||
|
|
@ -132,8 +132,8 @@ public final class Limbo {
|
|||
|
||||
//===========================
|
||||
|
||||
public final String SERVER_IMPLEMENTATION_VERSION = "1.21.9";
|
||||
public final int SERVER_IMPLEMENTATION_PROTOCOL = 773;
|
||||
public final String SERVER_IMPLEMENTATION_VERSION = "1.21.8";
|
||||
public final int SERVER_IMPLEMENTATION_PROTOCOL = 772;
|
||||
public final String LIMBO_IMPLEMENTATION_VERSION;
|
||||
|
||||
private final AtomicBoolean isRunning;
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
* This file is part of Limbo.
|
||||
*
|
||||
* Copyright (C) 2025. LoohpJames <jamesloohp@gmail.com>
|
||||
* Copyright (C) 2025. Contributors
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.loohp.limbo.location;
|
||||
|
||||
import com.loohp.limbo.world.BlockPosition;
|
||||
import com.loohp.limbo.world.World;
|
||||
|
||||
public class GlobalPos {
|
||||
|
||||
private final World world;
|
||||
private final BlockPosition pos;
|
||||
|
||||
public GlobalPos(World world, BlockPosition pos) {
|
||||
this.world = world;
|
||||
this.pos = pos;
|
||||
}
|
||||
|
||||
public World getWorld() {
|
||||
return world;
|
||||
}
|
||||
|
||||
public BlockPosition getPos() {
|
||||
return pos;
|
||||
}
|
||||
|
||||
public static GlobalPos from(Location location) {
|
||||
return new GlobalPos(location.getWorld(), BlockPosition.from(location));
|
||||
}
|
||||
}
|
||||
|
|
@ -40,10 +40,8 @@ import com.loohp.limbo.file.ServerProperties;
|
|||
import com.loohp.limbo.inventory.AnvilInventory;
|
||||
import com.loohp.limbo.inventory.Inventory;
|
||||
import com.loohp.limbo.inventory.ItemStack;
|
||||
import com.loohp.limbo.location.GlobalPos;
|
||||
import com.loohp.limbo.location.Location;
|
||||
import com.loohp.limbo.network.protocol.packets.ClientboundFinishConfigurationPacket;
|
||||
import com.loohp.limbo.network.protocol.packets.ClientboundLevelChunkWithLightPacket;
|
||||
import com.loohp.limbo.network.protocol.packets.ClientboundRegistryDataPacket;
|
||||
import com.loohp.limbo.network.protocol.packets.PacketHandshakingIn;
|
||||
import com.loohp.limbo.network.protocol.packets.PacketIn;
|
||||
|
|
@ -611,7 +609,7 @@ public class ClientConnection extends Thread {
|
|||
sendPacket(declare);
|
||||
}
|
||||
|
||||
PacketPlayOutSpawnPosition spawnPos = new PacketPlayOutSpawnPosition(GlobalPos.from(worldSpawn), worldSpawn.getYaw(), worldSpawn.getPitch());
|
||||
PacketPlayOutSpawnPosition spawnPos = new PacketPlayOutSpawnPosition(BlockPosition.from(worldSpawn), worldSpawn.getPitch());
|
||||
sendPacket(spawnPos);
|
||||
|
||||
PacketPlayOutPositionAndLook positionLook = new PacketPlayOutPositionAndLook(worldSpawn.getX(), worldSpawn.getY(), worldSpawn.getZ(), worldSpawn.getYaw(), worldSpawn.getPitch(), 1);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
package com.loohp.limbo.network.protocol.packets;
|
||||
|
||||
import com.loohp.limbo.entity.EntityType;
|
||||
import com.loohp.limbo.location.Vector;
|
||||
import com.loohp.limbo.registry.PacketRegistry;
|
||||
import com.loohp.limbo.utils.DataTypeIO;
|
||||
|
||||
|
|
@ -41,9 +40,11 @@ public class PacketPlayOutSpawnEntity extends PacketOut {
|
|||
private final float yaw;
|
||||
private final float headYaw;
|
||||
private final int data;
|
||||
private final Vector movement;
|
||||
private final short velocityX;
|
||||
private final short velocityY;
|
||||
private final short velocityZ;
|
||||
|
||||
public PacketPlayOutSpawnEntity(int entityId, UUID uuid, EntityType type, double x, double y, double z, float pitch, float yaw, float headYaw, int data, Vector movement) {
|
||||
public PacketPlayOutSpawnEntity(int entityId, UUID uuid, EntityType type, double x, double y, double z, float pitch, float yaw, float headYaw, int data, short velocityX, short velocityY, short velocityZ) {
|
||||
this.entityId = entityId;
|
||||
this.uuid = uuid;
|
||||
this.type = type;
|
||||
|
|
@ -54,7 +55,9 @@ public class PacketPlayOutSpawnEntity extends PacketOut {
|
|||
this.yaw = yaw;
|
||||
this.headYaw = headYaw;
|
||||
this.data = data;
|
||||
this.movement = movement.clone();
|
||||
this.velocityX = velocityX;
|
||||
this.velocityY = velocityY;
|
||||
this.velocityZ = velocityZ;
|
||||
}
|
||||
|
||||
public int getEntityId() {
|
||||
|
|
@ -97,11 +100,19 @@ public class PacketPlayOutSpawnEntity extends PacketOut {
|
|||
return data;
|
||||
}
|
||||
|
||||
public Vector getMovement() {
|
||||
return movement.clone();
|
||||
}
|
||||
public short getVelocityX() {
|
||||
return velocityX;
|
||||
}
|
||||
|
||||
@Override
|
||||
public short getVelocityY() {
|
||||
return velocityY;
|
||||
}
|
||||
|
||||
public short getVelocityZ() {
|
||||
return velocityZ;
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] serializePacket() throws IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
||||
|
|
@ -113,11 +124,13 @@ public class PacketPlayOutSpawnEntity extends PacketOut {
|
|||
output.writeDouble(x);
|
||||
output.writeDouble(y);
|
||||
output.writeDouble(z);
|
||||
DataTypeIO.writeLpVec3(output, movement);
|
||||
output.writeByte((byte) (int) (pitch * 256.0F / 360.0F));
|
||||
output.writeByte((byte) (int) (yaw * 256.0F / 360.0F));
|
||||
output.writeByte((byte) (int) (headYaw * 256.0F / 360.0F));
|
||||
DataTypeIO.writeVarInt(output, data);
|
||||
output.writeShort(velocityX * 8000);
|
||||
output.writeShort(velocityY * 8000);
|
||||
output.writeShort(velocityZ * 8000);
|
||||
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,49 +19,39 @@
|
|||
|
||||
package com.loohp.limbo.network.protocol.packets;
|
||||
|
||||
import com.loohp.limbo.location.GlobalPos;
|
||||
import com.loohp.limbo.registry.PacketRegistry;
|
||||
import com.loohp.limbo.utils.DataTypeIO;
|
||||
import net.kyori.adventure.key.Key;
|
||||
import com.loohp.limbo.world.BlockPosition;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class PacketPlayOutSpawnPosition extends PacketOut {
|
||||
|
||||
private final GlobalPos position;
|
||||
private final float yaw;
|
||||
private final float pitch;
|
||||
private final BlockPosition position;
|
||||
private final float angle;
|
||||
|
||||
public PacketPlayOutSpawnPosition(GlobalPos position, float yaw, float pitch) {
|
||||
public PacketPlayOutSpawnPosition(BlockPosition position, float angle) {
|
||||
this.position = position;
|
||||
this.yaw = yaw;
|
||||
this.pitch = pitch;
|
||||
this.angle = angle;
|
||||
}
|
||||
|
||||
public GlobalPos getPosition() {
|
||||
return position;
|
||||
}
|
||||
public BlockPosition getPosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
public float getYaw() {
|
||||
return yaw;
|
||||
}
|
||||
public float getAngle() {
|
||||
return angle;
|
||||
}
|
||||
|
||||
public float getPitch() {
|
||||
return pitch;
|
||||
}
|
||||
|
||||
public byte[] serializePacket() throws IOException {
|
||||
public byte[] serializePacket() throws IOException {
|
||||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
|
||||
DataOutputStream output = new DataOutputStream(buffer);
|
||||
output.writeByte(PacketRegistry.getPacketId(getClass()));
|
||||
DataTypeIO.writeString(output, Key.key(position.getWorld().getName()).toString(), StandardCharsets.UTF_8);
|
||||
DataTypeIO.writeBlockPosition(output, position.getPos());
|
||||
output.writeFloat(yaw);
|
||||
output.writeFloat(pitch);
|
||||
DataTypeIO.writeBlockPosition(output, position);
|
||||
output.writeFloat(angle);
|
||||
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,14 +97,14 @@ public class Player extends LivingEntity implements CommandSender, InventoryHold
|
|||
protected final InventoryView inventoryView;
|
||||
private final AtomicInteger containerIdCounter;
|
||||
|
||||
@WatchableField(MetadataIndex = 15, WatchableObjectType = WatchableObjectType.BYTE)
|
||||
protected byte mainHand = 1;
|
||||
@WatchableField(MetadataIndex = 16, WatchableObjectType = WatchableObjectType.BYTE)
|
||||
protected byte skinLayers = 0;
|
||||
@WatchableField(MetadataIndex = 17, WatchableObjectType = WatchableObjectType.FLOAT)
|
||||
@WatchableField(MetadataIndex = 15, WatchableObjectType = WatchableObjectType.FLOAT)
|
||||
protected float additionalHearts = 0.0F;
|
||||
@WatchableField(MetadataIndex = 18, WatchableObjectType = WatchableObjectType.VARINT)
|
||||
@WatchableField(MetadataIndex = 16, WatchableObjectType = WatchableObjectType.VARINT)
|
||||
protected int score = 0;
|
||||
@WatchableField(MetadataIndex = 17, WatchableObjectType = WatchableObjectType.BYTE)
|
||||
protected byte skinLayers = 0;
|
||||
@WatchableField(MetadataIndex = 18, WatchableObjectType = WatchableObjectType.BYTE)
|
||||
protected byte mainHand = 1;
|
||||
//@WatchableField(MetadataIndex = 19, WatchableObjectType = WatchableObjectType.NBT)
|
||||
//protected Entity leftShoulder = null;
|
||||
//@WatchableField(MetadataIndex = 20, WatchableObjectType = WatchableObjectType.NBT)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ package com.loohp.limbo.player;
|
|||
import com.loohp.limbo.Limbo;
|
||||
import com.loohp.limbo.entity.Entity;
|
||||
import com.loohp.limbo.location.Location;
|
||||
import com.loohp.limbo.location.Vector;
|
||||
import com.loohp.limbo.network.ClientConnection;
|
||||
import com.loohp.limbo.network.protocol.packets.ClientboundChunkBatchFinishedPacket;
|
||||
import com.loohp.limbo.network.protocol.packets.ClientboundChunkBatchStartPacket;
|
||||
|
|
@ -82,7 +81,7 @@ public class PlayerInteractManager {
|
|||
Set<Entity> entitiesInRange = player.getWorld().getEntities().stream().filter(each -> each.getLocation().distanceSquared(location) < viewDistanceBlocks * viewDistanceBlocks).collect(Collectors.toSet());
|
||||
for (Entity entity : entitiesInRange) {
|
||||
if (!entities.contains(entity)) {
|
||||
PacketPlayOutSpawnEntity packet = new PacketPlayOutSpawnEntity(entity.getEntityId(), entity.getUniqueId(), entity.getType(), entity.getX(), entity.getY(), entity.getZ(), entity.getYaw(), entity.getPitch(), entity.getPitch(), 0, new Vector(0, 0, 0));
|
||||
PacketPlayOutSpawnEntity packet = new PacketPlayOutSpawnEntity(entity.getEntityId(), entity.getUniqueId(), entity.getType(), entity.getX(), entity.getY(), entity.getZ(), entity.getYaw(), entity.getPitch(), entity.getPitch(), 0, (short) 0, (short) 0, (short) 0);
|
||||
player.clientConnection.sendPacket(packet);
|
||||
|
||||
PacketPlayOutEntityMetadata meta = new PacketPlayOutEntityMetadata(entity);
|
||||
|
|
|
|||
|
|
@ -351,38 +351,4 @@ public class DataTypeIO {
|
|||
}
|
||||
}
|
||||
|
||||
private static double sanitize(double d0) {
|
||||
return Double.isNaN(d0) ? 0.0D : Math.min(Math.max(d0, -1.7179869183E10D), 1.7179869183E10D);
|
||||
}
|
||||
|
||||
private static long pack(double d0) {
|
||||
return Math.round((d0 * 0.5D + 0.5D) * 32766.0D);
|
||||
}
|
||||
|
||||
public static void writeLpVec3(DataOutputStream out, Vector vec3d) throws IOException {
|
||||
double d0 = sanitize(vec3d.getX());
|
||||
double d1 = sanitize(vec3d.getY());
|
||||
double d2 = sanitize(vec3d.getZ());
|
||||
double d3 = Math.max(Math.abs(d0), Math.max(Math.abs(d1), Math.abs(d2)));
|
||||
|
||||
if (d3 < 3.051944088384301E-5D) {
|
||||
out.writeByte(0);
|
||||
} else {
|
||||
long i = (long) Math.ceil(d3);
|
||||
boolean flag = (i & 3L) != i;
|
||||
long j = flag ? i & 3L | 4L : i;
|
||||
long k = pack(d0 / (double) i) << 3;
|
||||
long l = pack(d1 / (double) i) << 18;
|
||||
long i1 = pack(d2 / (double) i) << 33;
|
||||
long j1 = j | k | l | i1;
|
||||
|
||||
out.writeByte((byte) ((int) j1));
|
||||
out.writeByte((byte) ((int) (j1 >> 8)));
|
||||
out.writeInt((int) (j1 >> 16));
|
||||
if (flag) {
|
||||
writeVarInt(out, (int) (i >> 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class DeclareCommands {
|
|||
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
|
||||
DataOutputStream output = new DataOutputStream(buffer);
|
||||
|
||||
if (commands.isEmpty()) {
|
||||
if (commands.isEmpty()) {
|
||||
DataTypeIO.writeVarInt(output, 1);
|
||||
|
||||
output.writeByte(0);
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ public class MojangAPIUtils {
|
|||
connection.addRequestProperty("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||
connection.addRequestProperty("Pragma", "no-cache");
|
||||
if (connection.getResponseCode() == HttpsURLConnection.HTTP_OK) {
|
||||
String reply = new BufferedReader(new InputStreamReader(connection.getInputStream())).lines().collect(Collectors.joining("")).replace(" ", "");
|
||||
String reply = String.join("", new BufferedReader(new InputStreamReader(connection.getInputStream())).lines().collect(Collectors.toList())).replace(" ", "");
|
||||
String skin = reply.split("\"value\":\"")[1].split("\"")[0];
|
||||
String signature = reply.split("\"signature\":\"")[1].split("\"")[0];
|
||||
return new SkinResponse(skin, signature);
|
||||
|
|
|
|||
|
|
@ -1,18 +1,22 @@
|
|||
{
|
||||
"ambient_light": 0.25,
|
||||
"ambient_light": 0.0,
|
||||
"bed_works": false,
|
||||
"coordinate_scale": 1.0,
|
||||
"effects": "minecraft:the_end",
|
||||
"fixed_time": 6000,
|
||||
"has_ceiling": false,
|
||||
"has_raids": true,
|
||||
"has_skylight": true,
|
||||
"has_skylight": false,
|
||||
"height": 256,
|
||||
"infiniburn": "#minecraft:infiniburn_end",
|
||||
"logical_height": 256,
|
||||
"min_y": 0,
|
||||
"monster_spawn_block_light_limit": 0,
|
||||
"monster_spawn_light_level": 15,
|
||||
"monster_spawn_light_level": {
|
||||
"type": "minecraft:uniform",
|
||||
"max_inclusive": 7,
|
||||
"min_inclusive": 0
|
||||
},
|
||||
"natural": false,
|
||||
"piglin_safe": false,
|
||||
"respawn_anchor_works": false,
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@
|
|||
"minecraft:mushroom_island_vegetation",
|
||||
"minecraft:brown_mushroom_taiga",
|
||||
"minecraft:red_mushroom_taiga",
|
||||
"minecraft:patch_pumpkin",
|
||||
"minecraft:patch_sugar_cane",
|
||||
"minecraft:patch_firefly_bush_near_water"
|
||||
],
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,9 +4,6 @@
|
|||
"minecraft:clear_dialog": {
|
||||
"protocol_id": 17
|
||||
},
|
||||
"minecraft:code_of_conduct": {
|
||||
"protocol_id": 19
|
||||
},
|
||||
"minecraft:cookie_request": {
|
||||
"protocol_id": 0
|
||||
},
|
||||
|
|
@ -63,9 +60,6 @@
|
|||
}
|
||||
},
|
||||
"serverbound": {
|
||||
"minecraft:accept_code_of_conduct": {
|
||||
"protocol_id": 9
|
||||
},
|
||||
"minecraft:client_information": {
|
||||
"protocol_id": 0
|
||||
},
|
||||
|
|
@ -186,7 +180,7 @@
|
|||
"protocol_id": 13
|
||||
},
|
||||
"minecraft:clear_dialog": {
|
||||
"protocol_id": 137
|
||||
"protocol_id": 132
|
||||
},
|
||||
"minecraft:clear_titles": {
|
||||
"protocol_id": 14
|
||||
|
|
@ -222,343 +216,328 @@
|
|||
"protocol_id": 24
|
||||
},
|
||||
"minecraft:custom_report_details": {
|
||||
"protocol_id": 134
|
||||
"protocol_id": 129
|
||||
},
|
||||
"minecraft:damage_event": {
|
||||
"protocol_id": 25
|
||||
},
|
||||
"minecraft:debug/block_value": {
|
||||
"minecraft:debug_sample": {
|
||||
"protocol_id": 26
|
||||
},
|
||||
"minecraft:debug/chunk_value": {
|
||||
"minecraft:delete_chat": {
|
||||
"protocol_id": 27
|
||||
},
|
||||
"minecraft:debug/entity_value": {
|
||||
"minecraft:disconnect": {
|
||||
"protocol_id": 28
|
||||
},
|
||||
"minecraft:debug/event": {
|
||||
"minecraft:disguised_chat": {
|
||||
"protocol_id": 29
|
||||
},
|
||||
"minecraft:debug_sample": {
|
||||
"minecraft:entity_event": {
|
||||
"protocol_id": 30
|
||||
},
|
||||
"minecraft:delete_chat": {
|
||||
"minecraft:entity_position_sync": {
|
||||
"protocol_id": 31
|
||||
},
|
||||
"minecraft:disconnect": {
|
||||
"minecraft:explode": {
|
||||
"protocol_id": 32
|
||||
},
|
||||
"minecraft:disguised_chat": {
|
||||
"minecraft:forget_level_chunk": {
|
||||
"protocol_id": 33
|
||||
},
|
||||
"minecraft:entity_event": {
|
||||
"minecraft:game_event": {
|
||||
"protocol_id": 34
|
||||
},
|
||||
"minecraft:entity_position_sync": {
|
||||
"minecraft:horse_screen_open": {
|
||||
"protocol_id": 35
|
||||
},
|
||||
"minecraft:explode": {
|
||||
"minecraft:hurt_animation": {
|
||||
"protocol_id": 36
|
||||
},
|
||||
"minecraft:forget_level_chunk": {
|
||||
"minecraft:initialize_border": {
|
||||
"protocol_id": 37
|
||||
},
|
||||
"minecraft:game_event": {
|
||||
"minecraft:keep_alive": {
|
||||
"protocol_id": 38
|
||||
},
|
||||
"minecraft:game_test_highlight_pos": {
|
||||
"minecraft:level_chunk_with_light": {
|
||||
"protocol_id": 39
|
||||
},
|
||||
"minecraft:horse_screen_open": {
|
||||
"minecraft:level_event": {
|
||||
"protocol_id": 40
|
||||
},
|
||||
"minecraft:hurt_animation": {
|
||||
"minecraft:level_particles": {
|
||||
"protocol_id": 41
|
||||
},
|
||||
"minecraft:initialize_border": {
|
||||
"minecraft:light_update": {
|
||||
"protocol_id": 42
|
||||
},
|
||||
"minecraft:keep_alive": {
|
||||
"minecraft:login": {
|
||||
"protocol_id": 43
|
||||
},
|
||||
"minecraft:level_chunk_with_light": {
|
||||
"minecraft:map_item_data": {
|
||||
"protocol_id": 44
|
||||
},
|
||||
"minecraft:level_event": {
|
||||
"minecraft:merchant_offers": {
|
||||
"protocol_id": 45
|
||||
},
|
||||
"minecraft:level_particles": {
|
||||
"minecraft:move_entity_pos": {
|
||||
"protocol_id": 46
|
||||
},
|
||||
"minecraft:light_update": {
|
||||
"minecraft:move_entity_pos_rot": {
|
||||
"protocol_id": 47
|
||||
},
|
||||
"minecraft:login": {
|
||||
"protocol_id": 48
|
||||
},
|
||||
"minecraft:map_item_data": {
|
||||
"minecraft:move_entity_rot": {
|
||||
"protocol_id": 49
|
||||
},
|
||||
"minecraft:merchant_offers": {
|
||||
"protocol_id": 50
|
||||
},
|
||||
"minecraft:move_entity_pos": {
|
||||
"protocol_id": 51
|
||||
},
|
||||
"minecraft:move_entity_pos_rot": {
|
||||
"protocol_id": 52
|
||||
},
|
||||
"minecraft:move_entity_rot": {
|
||||
"protocol_id": 54
|
||||
},
|
||||
"minecraft:move_minecart_along_track": {
|
||||
"protocol_id": 53
|
||||
"protocol_id": 48
|
||||
},
|
||||
"minecraft:move_vehicle": {
|
||||
"protocol_id": 55
|
||||
"protocol_id": 50
|
||||
},
|
||||
"minecraft:open_book": {
|
||||
"protocol_id": 56
|
||||
"protocol_id": 51
|
||||
},
|
||||
"minecraft:open_screen": {
|
||||
"protocol_id": 57
|
||||
"protocol_id": 52
|
||||
},
|
||||
"minecraft:open_sign_editor": {
|
||||
"protocol_id": 58
|
||||
"protocol_id": 53
|
||||
},
|
||||
"minecraft:ping": {
|
||||
"protocol_id": 59
|
||||
"protocol_id": 54
|
||||
},
|
||||
"minecraft:place_ghost_recipe": {
|
||||
"protocol_id": 61
|
||||
"protocol_id": 56
|
||||
},
|
||||
"minecraft:player_abilities": {
|
||||
"protocol_id": 62
|
||||
"protocol_id": 57
|
||||
},
|
||||
"minecraft:player_chat": {
|
||||
"protocol_id": 63
|
||||
"protocol_id": 58
|
||||
},
|
||||
"minecraft:player_combat_end": {
|
||||
"protocol_id": 64
|
||||
"protocol_id": 59
|
||||
},
|
||||
"minecraft:player_combat_enter": {
|
||||
"protocol_id": 65
|
||||
},
|
||||
"minecraft:player_combat_kill": {
|
||||
"protocol_id": 66
|
||||
},
|
||||
"minecraft:player_info_remove": {
|
||||
"protocol_id": 67
|
||||
},
|
||||
"minecraft:player_info_update": {
|
||||
"protocol_id": 68
|
||||
},
|
||||
"minecraft:player_look_at": {
|
||||
"protocol_id": 69
|
||||
},
|
||||
"minecraft:player_position": {
|
||||
"protocol_id": 70
|
||||
},
|
||||
"minecraft:player_rotation": {
|
||||
"protocol_id": 71
|
||||
},
|
||||
"minecraft:pong_response": {
|
||||
"protocol_id": 60
|
||||
},
|
||||
"minecraft:player_combat_kill": {
|
||||
"protocol_id": 61
|
||||
},
|
||||
"minecraft:player_info_remove": {
|
||||
"protocol_id": 62
|
||||
},
|
||||
"minecraft:player_info_update": {
|
||||
"protocol_id": 63
|
||||
},
|
||||
"minecraft:player_look_at": {
|
||||
"protocol_id": 64
|
||||
},
|
||||
"minecraft:player_position": {
|
||||
"protocol_id": 65
|
||||
},
|
||||
"minecraft:player_rotation": {
|
||||
"protocol_id": 66
|
||||
},
|
||||
"minecraft:pong_response": {
|
||||
"protocol_id": 55
|
||||
},
|
||||
"minecraft:projectile_power": {
|
||||
"protocol_id": 133
|
||||
},
|
||||
"minecraft:recipe_book_add": {
|
||||
"protocol_id": 72
|
||||
},
|
||||
"minecraft:recipe_book_remove": {
|
||||
"protocol_id": 73
|
||||
},
|
||||
"minecraft:recipe_book_settings": {
|
||||
"protocol_id": 74
|
||||
},
|
||||
"minecraft:remove_entities": {
|
||||
"protocol_id": 75
|
||||
},
|
||||
"minecraft:remove_mob_effect": {
|
||||
"protocol_id": 76
|
||||
},
|
||||
"minecraft:reset_score": {
|
||||
"protocol_id": 77
|
||||
},
|
||||
"minecraft:resource_pack_pop": {
|
||||
"protocol_id": 78
|
||||
},
|
||||
"minecraft:resource_pack_push": {
|
||||
"protocol_id": 79
|
||||
},
|
||||
"minecraft:respawn": {
|
||||
"protocol_id": 80
|
||||
},
|
||||
"minecraft:rotate_head": {
|
||||
"protocol_id": 81
|
||||
},
|
||||
"minecraft:section_blocks_update": {
|
||||
"protocol_id": 82
|
||||
},
|
||||
"minecraft:select_advancements_tab": {
|
||||
"protocol_id": 83
|
||||
},
|
||||
"minecraft:server_data": {
|
||||
"protocol_id": 84
|
||||
},
|
||||
"minecraft:server_links": {
|
||||
"protocol_id": 135
|
||||
},
|
||||
"minecraft:set_action_bar_text": {
|
||||
"protocol_id": 85
|
||||
},
|
||||
"minecraft:set_border_center": {
|
||||
"protocol_id": 86
|
||||
},
|
||||
"minecraft:set_border_lerp_size": {
|
||||
"protocol_id": 87
|
||||
},
|
||||
"minecraft:set_border_size": {
|
||||
"protocol_id": 88
|
||||
},
|
||||
"minecraft:set_border_warning_delay": {
|
||||
"protocol_id": 89
|
||||
},
|
||||
"minecraft:set_border_warning_distance": {
|
||||
"protocol_id": 90
|
||||
},
|
||||
"minecraft:set_camera": {
|
||||
"protocol_id": 91
|
||||
},
|
||||
"minecraft:set_chunk_cache_center": {
|
||||
"protocol_id": 92
|
||||
},
|
||||
"minecraft:set_chunk_cache_radius": {
|
||||
"protocol_id": 93
|
||||
},
|
||||
"minecraft:set_cursor_item": {
|
||||
"protocol_id": 94
|
||||
},
|
||||
"minecraft:set_default_spawn_position": {
|
||||
"protocol_id": 95
|
||||
},
|
||||
"minecraft:set_display_objective": {
|
||||
"protocol_id": 96
|
||||
},
|
||||
"minecraft:set_entity_data": {
|
||||
"protocol_id": 97
|
||||
},
|
||||
"minecraft:set_entity_link": {
|
||||
"protocol_id": 98
|
||||
},
|
||||
"minecraft:set_entity_motion": {
|
||||
"protocol_id": 99
|
||||
},
|
||||
"minecraft:set_equipment": {
|
||||
"protocol_id": 100
|
||||
},
|
||||
"minecraft:set_experience": {
|
||||
"protocol_id": 101
|
||||
},
|
||||
"minecraft:set_health": {
|
||||
"protocol_id": 102
|
||||
},
|
||||
"minecraft:set_held_slot": {
|
||||
"protocol_id": 103
|
||||
},
|
||||
"minecraft:set_objective": {
|
||||
"protocol_id": 104
|
||||
},
|
||||
"minecraft:set_passengers": {
|
||||
"protocol_id": 105
|
||||
},
|
||||
"minecraft:set_player_inventory": {
|
||||
"protocol_id": 106
|
||||
},
|
||||
"minecraft:set_player_team": {
|
||||
"protocol_id": 107
|
||||
},
|
||||
"minecraft:set_score": {
|
||||
"protocol_id": 108
|
||||
},
|
||||
"minecraft:set_simulation_distance": {
|
||||
"protocol_id": 109
|
||||
},
|
||||
"minecraft:set_subtitle_text": {
|
||||
"protocol_id": 110
|
||||
},
|
||||
"minecraft:set_time": {
|
||||
"protocol_id": 111
|
||||
},
|
||||
"minecraft:set_title_text": {
|
||||
"protocol_id": 112
|
||||
},
|
||||
"minecraft:set_titles_animation": {
|
||||
"protocol_id": 113
|
||||
},
|
||||
"minecraft:show_dialog": {
|
||||
"protocol_id": 138
|
||||
},
|
||||
"minecraft:sound": {
|
||||
"protocol_id": 115
|
||||
},
|
||||
"minecraft:sound_entity": {
|
||||
"protocol_id": 114
|
||||
},
|
||||
"minecraft:start_configuration": {
|
||||
"protocol_id": 116
|
||||
},
|
||||
"minecraft:stop_sound": {
|
||||
"protocol_id": 117
|
||||
},
|
||||
"minecraft:store_cookie": {
|
||||
"protocol_id": 118
|
||||
},
|
||||
"minecraft:system_chat": {
|
||||
"protocol_id": 119
|
||||
},
|
||||
"minecraft:tab_list": {
|
||||
"protocol_id": 120
|
||||
},
|
||||
"minecraft:tag_query": {
|
||||
"protocol_id": 121
|
||||
},
|
||||
"minecraft:take_item_entity": {
|
||||
"protocol_id": 122
|
||||
},
|
||||
"minecraft:teleport_entity": {
|
||||
"protocol_id": 123
|
||||
},
|
||||
"minecraft:test_instance_block_status": {
|
||||
"protocol_id": 124
|
||||
},
|
||||
"minecraft:ticking_state": {
|
||||
"protocol_id": 125
|
||||
},
|
||||
"minecraft:ticking_step": {
|
||||
"protocol_id": 126
|
||||
},
|
||||
"minecraft:transfer": {
|
||||
"protocol_id": 127
|
||||
},
|
||||
"minecraft:update_advancements": {
|
||||
"protocol_id": 128
|
||||
},
|
||||
"minecraft:update_attributes": {
|
||||
"protocol_id": 129
|
||||
"minecraft:recipe_book_add": {
|
||||
"protocol_id": 67
|
||||
},
|
||||
"minecraft:update_mob_effect": {
|
||||
"minecraft:recipe_book_remove": {
|
||||
"protocol_id": 68
|
||||
},
|
||||
"minecraft:recipe_book_settings": {
|
||||
"protocol_id": 69
|
||||
},
|
||||
"minecraft:remove_entities": {
|
||||
"protocol_id": 70
|
||||
},
|
||||
"minecraft:remove_mob_effect": {
|
||||
"protocol_id": 71
|
||||
},
|
||||
"minecraft:reset_score": {
|
||||
"protocol_id": 72
|
||||
},
|
||||
"minecraft:resource_pack_pop": {
|
||||
"protocol_id": 73
|
||||
},
|
||||
"minecraft:resource_pack_push": {
|
||||
"protocol_id": 74
|
||||
},
|
||||
"minecraft:respawn": {
|
||||
"protocol_id": 75
|
||||
},
|
||||
"minecraft:rotate_head": {
|
||||
"protocol_id": 76
|
||||
},
|
||||
"minecraft:section_blocks_update": {
|
||||
"protocol_id": 77
|
||||
},
|
||||
"minecraft:select_advancements_tab": {
|
||||
"protocol_id": 78
|
||||
},
|
||||
"minecraft:server_data": {
|
||||
"protocol_id": 79
|
||||
},
|
||||
"minecraft:server_links": {
|
||||
"protocol_id": 130
|
||||
},
|
||||
"minecraft:set_action_bar_text": {
|
||||
"protocol_id": 80
|
||||
},
|
||||
"minecraft:set_border_center": {
|
||||
"protocol_id": 81
|
||||
},
|
||||
"minecraft:set_border_lerp_size": {
|
||||
"protocol_id": 82
|
||||
},
|
||||
"minecraft:set_border_size": {
|
||||
"protocol_id": 83
|
||||
},
|
||||
"minecraft:set_border_warning_delay": {
|
||||
"protocol_id": 84
|
||||
},
|
||||
"minecraft:set_border_warning_distance": {
|
||||
"protocol_id": 85
|
||||
},
|
||||
"minecraft:set_camera": {
|
||||
"protocol_id": 86
|
||||
},
|
||||
"minecraft:set_chunk_cache_center": {
|
||||
"protocol_id": 87
|
||||
},
|
||||
"minecraft:set_chunk_cache_radius": {
|
||||
"protocol_id": 88
|
||||
},
|
||||
"minecraft:set_cursor_item": {
|
||||
"protocol_id": 89
|
||||
},
|
||||
"minecraft:set_default_spawn_position": {
|
||||
"protocol_id": 90
|
||||
},
|
||||
"minecraft:set_display_objective": {
|
||||
"protocol_id": 91
|
||||
},
|
||||
"minecraft:set_entity_data": {
|
||||
"protocol_id": 92
|
||||
},
|
||||
"minecraft:set_entity_link": {
|
||||
"protocol_id": 93
|
||||
},
|
||||
"minecraft:set_entity_motion": {
|
||||
"protocol_id": 94
|
||||
},
|
||||
"minecraft:set_equipment": {
|
||||
"protocol_id": 95
|
||||
},
|
||||
"minecraft:set_experience": {
|
||||
"protocol_id": 96
|
||||
},
|
||||
"minecraft:set_health": {
|
||||
"protocol_id": 97
|
||||
},
|
||||
"minecraft:set_held_slot": {
|
||||
"protocol_id": 98
|
||||
},
|
||||
"minecraft:set_objective": {
|
||||
"protocol_id": 99
|
||||
},
|
||||
"minecraft:set_passengers": {
|
||||
"protocol_id": 100
|
||||
},
|
||||
"minecraft:set_player_inventory": {
|
||||
"protocol_id": 101
|
||||
},
|
||||
"minecraft:set_player_team": {
|
||||
"protocol_id": 102
|
||||
},
|
||||
"minecraft:set_score": {
|
||||
"protocol_id": 103
|
||||
},
|
||||
"minecraft:set_simulation_distance": {
|
||||
"protocol_id": 104
|
||||
},
|
||||
"minecraft:set_subtitle_text": {
|
||||
"protocol_id": 105
|
||||
},
|
||||
"minecraft:set_time": {
|
||||
"protocol_id": 106
|
||||
},
|
||||
"minecraft:set_title_text": {
|
||||
"protocol_id": 107
|
||||
},
|
||||
"minecraft:set_titles_animation": {
|
||||
"protocol_id": 108
|
||||
},
|
||||
"minecraft:show_dialog": {
|
||||
"protocol_id": 133
|
||||
},
|
||||
"minecraft:sound": {
|
||||
"protocol_id": 110
|
||||
},
|
||||
"minecraft:sound_entity": {
|
||||
"protocol_id": 109
|
||||
},
|
||||
"minecraft:start_configuration": {
|
||||
"protocol_id": 111
|
||||
},
|
||||
"minecraft:stop_sound": {
|
||||
"protocol_id": 112
|
||||
},
|
||||
"minecraft:store_cookie": {
|
||||
"protocol_id": 113
|
||||
},
|
||||
"minecraft:system_chat": {
|
||||
"protocol_id": 114
|
||||
},
|
||||
"minecraft:tab_list": {
|
||||
"protocol_id": 115
|
||||
},
|
||||
"minecraft:tag_query": {
|
||||
"protocol_id": 116
|
||||
},
|
||||
"minecraft:take_item_entity": {
|
||||
"protocol_id": 117
|
||||
},
|
||||
"minecraft:teleport_entity": {
|
||||
"protocol_id": 118
|
||||
},
|
||||
"minecraft:test_instance_block_status": {
|
||||
"protocol_id": 119
|
||||
},
|
||||
"minecraft:ticking_state": {
|
||||
"protocol_id": 120
|
||||
},
|
||||
"minecraft:ticking_step": {
|
||||
"protocol_id": 121
|
||||
},
|
||||
"minecraft:transfer": {
|
||||
"protocol_id": 122
|
||||
},
|
||||
"minecraft:update_advancements": {
|
||||
"protocol_id": 123
|
||||
},
|
||||
"minecraft:update_attributes": {
|
||||
"protocol_id": 124
|
||||
},
|
||||
"minecraft:update_mob_effect": {
|
||||
"protocol_id": 125
|
||||
},
|
||||
"minecraft:update_recipes": {
|
||||
"protocol_id": 131
|
||||
"protocol_id": 126
|
||||
},
|
||||
"minecraft:update_tags": {
|
||||
"protocol_id": 132
|
||||
"protocol_id": 127
|
||||
},
|
||||
"minecraft:waypoint": {
|
||||
"protocol_id": 136
|
||||
"protocol_id": 131
|
||||
}
|
||||
},
|
||||
"serverbound": {
|
||||
|
|
@ -631,7 +610,7 @@
|
|||
"minecraft:custom_payload": {
|
||||
"protocol_id": 21
|
||||
},
|
||||
"minecraft:debug_subscription_request": {
|
||||
"minecraft:debug_sample_subscription": {
|
||||
"protocol_id": 22
|
||||
},
|
||||
"minecraft:edit_book": {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue