Mirror von
https://github.com/ViaVersion/ViaBackwards.git
synchronisiert 2024-12-26 16:12:43 +01:00
Rename Position
Dieser Commit ist enthalten in:
Ursprung
d7f550fc4f
Commit
0618037a0e
@ -20,7 +20,7 @@ package com.viaversion.viabackwards.protocol.v1_13_1to1_13.rewriter;
|
|||||||
import com.viaversion.viabackwards.protocol.v1_13_1to1_13.Protocol1_13_1To1_13;
|
import com.viaversion.viabackwards.protocol.v1_13_1to1_13.Protocol1_13_1To1_13;
|
||||||
import com.viaversion.viaversion.api.minecraft.BlockFace;
|
import com.viaversion.viaversion.api.minecraft.BlockFace;
|
||||||
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
import com.viaversion.viaversion.api.type.Types;
|
import com.viaversion.viaversion.api.type.Types;
|
||||||
@ -59,7 +59,7 @@ public class WorldPacketRewriter1_13_1 {
|
|||||||
} else if (id == 2000) { // Smoke
|
} else if (id == 2000) { // Smoke
|
||||||
switch (data) { // Down
|
switch (data) { // Down
|
||||||
case 0, 1 -> { // Up
|
case 0, 1 -> { // Up
|
||||||
Position pos = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
BlockPosition pos = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
||||||
BlockFace relative = data == 0 ? BlockFace.BOTTOM : BlockFace.TOP;
|
BlockFace relative = data == 0 ? BlockFace.BOTTOM : BlockFace.TOP;
|
||||||
wrapper.set(Types.BLOCK_POSITION1_8, 0, pos.getRelative(relative)); // Y Offset
|
wrapper.set(Types.BLOCK_POSITION1_8, 0, pos.getRelative(relative)); // Y Offset
|
||||||
wrapper.set(Types.INT, 1, 4); // Self
|
wrapper.set(Types.INT, 1, 4); // Self
|
||||||
|
@ -26,7 +26,7 @@ import com.viaversion.viabackwards.protocol.v1_13to1_12_2.block_entity_handlers.
|
|||||||
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.block_entity_handlers.SpawnerHandler;
|
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.block_entity_handlers.SpawnerHandler;
|
||||||
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage.BackwardsBlockStorage;
|
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage.BackwardsBlockStorage;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.platform.providers.Provider;
|
import com.viaversion.viaversion.api.platform.providers.Provider;
|
||||||
import com.viaversion.nbt.tag.CompoundTag;
|
import com.viaversion.nbt.tag.CompoundTag;
|
||||||
import com.viaversion.nbt.tag.StringTag;
|
import com.viaversion.nbt.tag.StringTag;
|
||||||
@ -62,7 +62,7 @@ public class BackwardsBlockEntityProvider implements Provider {
|
|||||||
* @param position The position of the block entity
|
* @param position The position of the block entity
|
||||||
* @param tag The block entity tag
|
* @param tag The block entity tag
|
||||||
*/
|
*/
|
||||||
public CompoundTag transform(UserConnection user, Position position, CompoundTag tag) {
|
public CompoundTag transform(UserConnection user, BlockPosition position, CompoundTag tag) {
|
||||||
final StringTag idTag = tag.getStringTag("id");
|
final StringTag idTag = tag.getStringTag("id");
|
||||||
if (idTag == null) {
|
if (idTag == null) {
|
||||||
return tag;
|
return tag;
|
||||||
@ -90,7 +90,7 @@ public class BackwardsBlockEntityProvider implements Provider {
|
|||||||
* @param position The position of the block entity
|
* @param position The position of the block entity
|
||||||
* @param id The block entity id
|
* @param id The block entity id
|
||||||
*/
|
*/
|
||||||
public CompoundTag transform(UserConnection user, Position position, String id) {
|
public CompoundTag transform(UserConnection user, BlockPosition position, String id) {
|
||||||
CompoundTag tag = new CompoundTag();
|
CompoundTag tag = new CompoundTag();
|
||||||
tag.putString("id", id);
|
tag.putString("id", id);
|
||||||
tag.putInt("x", Math.toIntExact(position.x()));
|
tag.putInt("x", Math.toIntExact(position.x()));
|
||||||
|
@ -31,7 +31,7 @@ import com.viaversion.viaversion.api.Via;
|
|||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
|
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
|
||||||
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.DataPalette;
|
import com.viaversion.viaversion.api.minecraft.chunks.DataPalette;
|
||||||
@ -142,7 +142,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
if (blockId == 25) { // Note block
|
if (blockId == 25) { // Note block
|
||||||
final NoteBlockStorage noteBlockStorage = wrapper.user().get(NoteBlockStorage.class);
|
final NoteBlockStorage noteBlockStorage = wrapper.user().get(NoteBlockStorage.class);
|
||||||
|
|
||||||
final Position position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
final BlockPosition position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
||||||
final Pair<Integer, Integer> update = noteBlockStorage.getNoteBlockUpdate(position);
|
final Pair<Integer, Integer> update = noteBlockStorage.getNoteBlockUpdate(position);
|
||||||
if (update != null) { // Use values from block state update
|
if (update != null) { // Use values from block state update
|
||||||
wrapper.set(Types.UNSIGNED_BYTE, 0, update.key().shortValue());
|
wrapper.set(Types.UNSIGNED_BYTE, 0, update.key().shortValue());
|
||||||
@ -187,7 +187,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
int chunkMaxZ = chunkMinZ + 15;
|
int chunkMaxZ = chunkMinZ + 15;
|
||||||
BackwardsBlockStorage blockStorage = wrapper.user().get(BackwardsBlockStorage.class);
|
BackwardsBlockStorage blockStorage = wrapper.user().get(BackwardsBlockStorage.class);
|
||||||
blockStorage.getBlocks().entrySet().removeIf(entry -> {
|
blockStorage.getBlocks().entrySet().removeIf(entry -> {
|
||||||
Position position = entry.getKey();
|
BlockPosition position = entry.getKey();
|
||||||
return position.x() >= chunkMinX && position.z() >= chunkMinZ
|
return position.x() >= chunkMinX && position.z() >= chunkMinZ
|
||||||
&& position.x() <= chunkMaxX && position.z() <= chunkMaxZ;
|
&& position.x() <= chunkMaxX && position.z() <= chunkMaxZ;
|
||||||
});
|
});
|
||||||
@ -201,7 +201,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
|
|
||||||
handler(wrapper -> {
|
handler(wrapper -> {
|
||||||
int blockState = wrapper.read(Types.VAR_INT);
|
int blockState = wrapper.read(Types.VAR_INT);
|
||||||
Position position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
BlockPosition position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
||||||
|
|
||||||
// Note block special treatment
|
// Note block special treatment
|
||||||
if (blockState >= 249 && blockState <= 748) { // Note block states id range
|
if (blockState >= 249 && blockState <= 748) { // Note block states id range
|
||||||
@ -234,7 +234,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
int chunkX = wrapper.get(Types.INT, 0);
|
int chunkX = wrapper.get(Types.INT, 0);
|
||||||
int chunkZ = wrapper.get(Types.INT, 1);
|
int chunkZ = wrapper.get(Types.INT, 1);
|
||||||
int block = record.getBlockId();
|
int block = record.getBlockId();
|
||||||
Position position = new Position(
|
BlockPosition position = new BlockPosition(
|
||||||
record.getSectionX() + (chunkX * 16),
|
record.getSectionX() + (chunkX * 16),
|
||||||
record.getY(),
|
record.getY(),
|
||||||
record.getSectionZ() + (chunkZ * 16));
|
record.getSectionZ() + (chunkZ * 16));
|
||||||
@ -306,9 +306,9 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
ChunkSection section = chunk.getSections()[sectionIndex];
|
ChunkSection section = chunk.getSections()[sectionIndex];
|
||||||
|
|
||||||
int x = tag.getNumberTag("x").asInt();
|
int x = tag.getNumberTag("x").asInt();
|
||||||
int y = tag.getNumberTag("y").asInt();
|
short y = tag.getNumberTag("y").asShort();
|
||||||
int z = tag.getNumberTag("z").asInt();
|
int z = tag.getNumberTag("z").asInt();
|
||||||
Position position = new Position(x, (short) y, z);
|
BlockPosition position = new BlockPosition(x, y, z);
|
||||||
|
|
||||||
int block = section.palette(PaletteType.BLOCKS).idAt(x & 0xF, y & 0xF, z & 0xF);
|
int block = section.palette(PaletteType.BLOCKS).idAt(x & 0xF, y & 0xF, z & 0xF);
|
||||||
storage.checkAndStore(position, block);
|
storage.checkAndStore(position, block);
|
||||||
@ -332,7 +332,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
|
|
||||||
// Check if the block is a flower
|
// Check if the block is a flower
|
||||||
if (FlowerPotHandler.isFlowah(block)) {
|
if (FlowerPotHandler.isFlowah(block)) {
|
||||||
Position pos = new Position(
|
BlockPosition pos = new BlockPosition(
|
||||||
(x + (chunk.getX() << 4)),
|
(x + (chunk.getX() << 4)),
|
||||||
(short) (y + (i << 4)),
|
(short) (y + (i << 4)),
|
||||||
(z + (chunk.getZ() << 4))
|
(z + (chunk.getZ() << 4))
|
||||||
@ -964,7 +964,7 @@ public class BlockItemPacketRewriter1_13 extends BackwardsItemRewriter<Clientbou
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO find a less hacky way to do this (https://bugs.mojang.com/browse/MC-74231)
|
// TODO find a less hacky way to do this (https://bugs.mojang.com/browse/MC-74231)
|
||||||
private static void flowerPotSpecialTreatment(UserConnection user, int blockState, Position position) {
|
private static void flowerPotSpecialTreatment(UserConnection user, int blockState, BlockPosition position) {
|
||||||
if (FlowerPotHandler.isFlowah(blockState)) {
|
if (FlowerPotHandler.isFlowah(blockState)) {
|
||||||
BackwardsBlockEntityProvider beProvider = Via.getManager().getProviders().get(BackwardsBlockEntityProvider.class);
|
BackwardsBlockEntityProvider beProvider = Via.getManager().getProviders().get(BackwardsBlockEntityProvider.class);
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import com.viaversion.viabackwards.protocol.v1_13to1_12_2.data.ParticleIdMapping
|
|||||||
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage.TabCompleteStorage;
|
import com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage.TabCompleteStorage;
|
||||||
import com.viaversion.viabackwards.utils.ChatUtil;
|
import com.viaversion.viabackwards.utils.ChatUtil;
|
||||||
import com.viaversion.viaversion.api.Via;
|
import com.viaversion.viaversion.api.Via;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.item.Item;
|
import com.viaversion.viaversion.api.minecraft.item.Item;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.State;
|
import com.viaversion.viaversion.api.protocol.packet.State;
|
||||||
@ -411,7 +411,7 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
|
|||||||
int y = wrapper.read(Types.INT);
|
int y = wrapper.read(Types.INT);
|
||||||
int z = wrapper.read(Types.INT);
|
int z = wrapper.read(Types.INT);
|
||||||
|
|
||||||
wrapper.write(Types.BLOCK_POSITION1_8, new Position(x, (short) y, z));
|
wrapper.write(Types.BLOCK_POSITION1_8, new BlockPosition(x, (short) y, z));
|
||||||
|
|
||||||
wrapper.passthrough(Types.STRING); //Command
|
wrapper.passthrough(Types.STRING); //Command
|
||||||
|
|
||||||
@ -433,7 +433,7 @@ public class PlayerPacketRewriter1_13 extends RewriterBase<Protocol1_13To1_12_2>
|
|||||||
int x = wrapper.read(Types.INT);
|
int x = wrapper.read(Types.INT);
|
||||||
int y = wrapper.read(Types.INT);
|
int y = wrapper.read(Types.INT);
|
||||||
int z = wrapper.read(Types.INT);
|
int z = wrapper.read(Types.INT);
|
||||||
wrapper.write(Types.BLOCK_POSITION1_8, new Position(x, (short) y, z));
|
wrapper.write(Types.BLOCK_POSITION1_8, new BlockPosition(x, (short) y, z));
|
||||||
wrapper.write(Types.VAR_INT, wrapper.read(Types.BYTE) - 1);
|
wrapper.write(Types.VAR_INT, wrapper.read(Types.BYTE) - 1);
|
||||||
String mode = wrapper.read(Types.STRING);
|
String mode = wrapper.read(Types.STRING);
|
||||||
int modeId = mode.equals("SAVE") ? 0 : mode.equals("LOAD") ? 1 : mode.equals("CORNER") ? 2 : 3;
|
int modeId = mode.equals("SAVE") ? 0 : mode.equals("LOAD") ? 1 : mode.equals("CORNER") ? 2 : 3;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
package com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage;
|
package com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.libs.fastutil.ints.IntOpenHashSet;
|
import com.viaversion.viaversion.libs.fastutil.ints.IntOpenHashSet;
|
||||||
import com.viaversion.viaversion.libs.fastutil.ints.IntSet;
|
import com.viaversion.viaversion.libs.fastutil.ints.IntSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -66,9 +66,9 @@ public class BackwardsBlockStorage implements StorableObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Map<Position, Integer> blocks = new ConcurrentHashMap<>();
|
private final Map<BlockPosition, Integer> blocks = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public void checkAndStore(Position position, int block) {
|
public void checkAndStore(BlockPosition position, int block) {
|
||||||
if (!WHITELIST.contains(block)) {
|
if (!WHITELIST.contains(block)) {
|
||||||
// Remove if not whitelisted
|
// Remove if not whitelisted
|
||||||
blocks.remove(position);
|
blocks.remove(position);
|
||||||
@ -78,11 +78,11 @@ public class BackwardsBlockStorage implements StorableObject {
|
|||||||
blocks.put(position, block);
|
blocks.put(position, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable Integer get(Position position) {
|
public @Nullable Integer get(BlockPosition position) {
|
||||||
return blocks.get(position);
|
return blocks.get(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int remove(Position position) {
|
public int remove(BlockPosition position) {
|
||||||
return blocks.remove(position);
|
return blocks.remove(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ public class BackwardsBlockStorage implements StorableObject {
|
|||||||
blocks.clear();
|
blocks.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Position, Integer> getBlocks() {
|
public Map<BlockPosition, Integer> getBlocks() {
|
||||||
return blocks;
|
return blocks;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
package com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage;
|
package com.viaversion.viabackwards.protocol.v1_13to1_12_2.storage;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
|
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntMap;
|
||||||
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
|
import com.viaversion.viaversion.libs.fastutil.objects.Object2IntOpenHashMap;
|
||||||
import com.viaversion.viaversion.util.Pair;
|
import com.viaversion.viaversion.util.Pair;
|
||||||
@ -27,13 +27,13 @@ public class NoteBlockStorage implements StorableObject {
|
|||||||
|
|
||||||
private static final int MAX_NOTE_ID = 24;
|
private static final int MAX_NOTE_ID = 24;
|
||||||
|
|
||||||
private final Object2IntMap<Position> noteBlockUpdates = new Object2IntOpenHashMap<>();
|
private final Object2IntMap<BlockPosition> noteBlockUpdates = new Object2IntOpenHashMap<>();
|
||||||
|
|
||||||
public void storeNoteBlockUpdate(final Position position, final int blockStateId) {
|
public void storeNoteBlockUpdate(final BlockPosition position, final int blockStateId) {
|
||||||
noteBlockUpdates.put(position, blockStateId);
|
noteBlockUpdates.put(position, blockStateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pair<Integer, Integer> getNoteBlockUpdate(final Position position) {
|
public Pair<Integer, Integer> getNoteBlockUpdate(final BlockPosition position) {
|
||||||
if (!noteBlockUpdates.containsKey(position)) {
|
if (!noteBlockUpdates.containsKey(position)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import com.viaversion.viabackwards.protocol.v1_14to1_13_2.storage.EntityPosition
|
|||||||
import com.viaversion.viaversion.api.data.entity.EntityTracker;
|
import com.viaversion.viaversion.api.data.entity.EntityTracker;
|
||||||
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
||||||
import com.viaversion.viaversion.api.minecraft.Particle;
|
import com.viaversion.viaversion.api.minecraft.Particle;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.VillagerData;
|
import com.viaversion.viaversion.api.minecraft.VillagerData;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_13;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_13;
|
||||||
@ -57,7 +57,7 @@ public class EntityPacketRewriter1_14 extends LegacyEntityRewriter<ClientboundPa
|
|||||||
|
|
||||||
// Cache the position for every newly tracked entity
|
// Cache the position for every newly tracked entity
|
||||||
if (type == EntityTypes1_14.PAINTING) {
|
if (type == EntityTypes1_14.PAINTING) {
|
||||||
final Position position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
final BlockPosition position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
||||||
positionHandler.cacheEntityPosition(wrapper, position.x(), position.y(), position.z(), true, false);
|
positionHandler.cacheEntityPosition(wrapper, position.x(), position.y(), position.z(), true, false);
|
||||||
} else if (wrapper.getId() != ClientboundPackets1_14.LOGIN.getId()) { // ignore join game
|
} else if (wrapper.getId() != ClientboundPackets1_14.LOGIN.getId()) { // ignore join game
|
||||||
positionHandler.cacheEntityPosition(wrapper, true, false);
|
positionHandler.cacheEntityPosition(wrapper, true, false);
|
||||||
@ -411,7 +411,7 @@ public class EntityPacketRewriter1_14 extends LegacyEntityRewriter<ClientboundPa
|
|||||||
filter().type(EntityTypes1_14.LIVING_ENTITY).handler((event, meta) -> {
|
filter().type(EntityTypes1_14.LIVING_ENTITY).handler((event, meta) -> {
|
||||||
int index = event.index();
|
int index = event.index();
|
||||||
if (index == 12) {
|
if (index == 12) {
|
||||||
Position position = (Position) meta.getValue();
|
BlockPosition position = (BlockPosition) meta.getValue();
|
||||||
if (position != null) {
|
if (position != null) {
|
||||||
// Use bed
|
// Use bed
|
||||||
PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_13.PLAYER_SLEEP, null, event.user());
|
PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_13.PLAYER_SLEEP, null, event.user());
|
||||||
|
@ -19,7 +19,7 @@ package com.viaversion.viabackwards.protocol.v1_14to1_13_2.rewriter;
|
|||||||
|
|
||||||
import com.viaversion.viabackwards.protocol.v1_14to1_13_2.Protocol1_14To1_13_2;
|
import com.viaversion.viabackwards.protocol.v1_14to1_13_2.Protocol1_14To1_13_2;
|
||||||
import com.viaversion.viabackwards.protocol.v1_14to1_13_2.storage.DifficultyStorage;
|
import com.viaversion.viabackwards.protocol.v1_14to1_13_2.storage.DifficultyStorage;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
import com.viaversion.viaversion.api.rewriter.RewriterBase;
|
import com.viaversion.viaversion.api.rewriter.RewriterBase;
|
||||||
import com.viaversion.viaversion.api.type.Types;
|
import com.viaversion.viaversion.api.type.Types;
|
||||||
@ -111,7 +111,7 @@ public class PlayerPacketRewriter1_14 extends RewriterBase<Protocol1_14To1_13_2>
|
|||||||
});
|
});
|
||||||
|
|
||||||
protocol.registerServerbound(ServerboundPackets1_13.USE_ITEM_ON, wrapper -> {
|
protocol.registerServerbound(ServerboundPackets1_13.USE_ITEM_ON, wrapper -> {
|
||||||
Position position = wrapper.read(Types.BLOCK_POSITION1_8);
|
BlockPosition position = wrapper.read(Types.BLOCK_POSITION1_8);
|
||||||
int face = wrapper.read(Types.VAR_INT);
|
int face = wrapper.read(Types.VAR_INT);
|
||||||
int hand = wrapper.read(Types.VAR_INT);
|
int hand = wrapper.read(Types.VAR_INT);
|
||||||
float x = wrapper.read(Types.FLOAT);
|
float x = wrapper.read(Types.FLOAT);
|
||||||
|
@ -22,7 +22,7 @@ import com.viaversion.viabackwards.protocol.v1_18to1_17_1.Protocol1_18To1_17_1;
|
|||||||
import com.viaversion.viabackwards.protocol.v1_18to1_17_1.data.BlockEntityMappings1_17_1;
|
import com.viaversion.viabackwards.protocol.v1_18to1_17_1.data.BlockEntityMappings1_17_1;
|
||||||
import com.viaversion.viaversion.api.data.ParticleMappings;
|
import com.viaversion.viaversion.api.data.ParticleMappings;
|
||||||
import com.viaversion.viaversion.api.data.entity.EntityTracker;
|
import com.viaversion.viaversion.api.data.entity.EntityTracker;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity;
|
import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
@ -147,7 +147,7 @@ public final class BlockItemPacketRewriter1_18 extends BackwardsItemRewriter<Cli
|
|||||||
// If those were the only fields on the block entity (e.g.: skull, bed), we'll receive a null NBT
|
// If those were the only fields on the block entity (e.g.: skull, bed), we'll receive a null NBT
|
||||||
// We initialize one and add the missing fields, so it can be handled correctly down the line
|
// We initialize one and add the missing fields, so it can be handled correctly down the line
|
||||||
final CompoundTag newTag = tag == null ? new CompoundTag() : tag;
|
final CompoundTag newTag = tag == null ? new CompoundTag() : tag;
|
||||||
final Position pos = wrapper.get(Types.BLOCK_POSITION1_14, 0);
|
final BlockPosition pos = wrapper.get(Types.BLOCK_POSITION1_14, 0);
|
||||||
|
|
||||||
// The protocol converters downstream rely on this field, let's add it back
|
// The protocol converters downstream rely on this field, let's add it back
|
||||||
newTag.putString("id", Key.namespaced(identifier));
|
newTag.putString("id", Key.namespaced(identifier));
|
||||||
|
@ -24,7 +24,7 @@ import com.viaversion.viabackwards.protocol.v1_19to1_18_2.storage.StoredPainting
|
|||||||
import com.viaversion.viaversion.api.data.ParticleMappings;
|
import com.viaversion.viaversion.api.data.ParticleMappings;
|
||||||
import com.viaversion.viaversion.api.data.entity.StoredEntityData;
|
import com.viaversion.viaversion.api.data.entity.StoredEntityData;
|
||||||
import com.viaversion.viaversion.api.minecraft.Particle;
|
import com.viaversion.viaversion.api.minecraft.Particle;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_19;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_19;
|
||||||
import com.viaversion.viaversion.api.minecraft.entitydata.EntityDataType;
|
import com.viaversion.viaversion.api.minecraft.entitydata.EntityDataType;
|
||||||
@ -87,7 +87,7 @@ public final class EntityPacketRewriter1_19 extends EntityRewriter<ClientboundPa
|
|||||||
// The entity has been tracked, now we wait for the metadata packet
|
// The entity has been tracked, now we wait for the metadata packet
|
||||||
final int entityId = wrapper.get(Types.VAR_INT, 0);
|
final int entityId = wrapper.get(Types.VAR_INT, 0);
|
||||||
final StoredEntityData entityData = tracker(wrapper.user()).entityData(entityId);
|
final StoredEntityData entityData = tracker(wrapper.user()).entityData(entityId);
|
||||||
final Position position = new Position(wrapper.get(Types.DOUBLE, 0).intValue(), wrapper.get(Types.DOUBLE, 1).intValue(), wrapper.get(Types.DOUBLE, 2).intValue());
|
final BlockPosition position = new BlockPosition(wrapper.get(Types.DOUBLE, 0).intValue(), wrapper.get(Types.DOUBLE, 1).intValue(), wrapper.get(Types.DOUBLE, 2).intValue());
|
||||||
entityData.put(new StoredPainting(entityId, wrapper.get(Types.UUID, 0), position, data));
|
entityData.put(new StoredPainting(entityId, wrapper.get(Types.UUID, 0), position, data));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -18,17 +18,17 @@
|
|||||||
package com.viaversion.viabackwards.protocol.v1_19to1_18_2.storage;
|
package com.viaversion.viabackwards.protocol.v1_19to1_18_2.storage;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public final class StoredPainting implements StorableObject {
|
public final class StoredPainting implements StorableObject {
|
||||||
|
|
||||||
private final int entityId;
|
private final int entityId;
|
||||||
private final UUID uuid;
|
private final UUID uuid;
|
||||||
private final Position position;
|
private final BlockPosition position;
|
||||||
private final byte direction;
|
private final byte direction;
|
||||||
|
|
||||||
public StoredPainting(final int entityId, final UUID uuid, final Position position, final int direction3d) {
|
public StoredPainting(final int entityId, final UUID uuid, final BlockPosition position, final int direction3d) {
|
||||||
this.entityId = entityId;
|
this.entityId = entityId;
|
||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
this.position = position;
|
this.position = position;
|
||||||
@ -43,7 +43,7 @@ public final class StoredPainting implements StorableObject {
|
|||||||
return uuid;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Position position() {
|
public BlockPosition position() {
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,12 +20,11 @@ package com.viaversion.viabackwards.protocol.v1_20_2to1_20.rewriter;
|
|||||||
import com.viaversion.viabackwards.api.rewriters.EntityRewriter;
|
import com.viaversion.viabackwards.api.rewriters.EntityRewriter;
|
||||||
import com.viaversion.viabackwards.protocol.v1_20_2to1_20.Protocol1_20_2To1_20;
|
import com.viaversion.viabackwards.protocol.v1_20_2to1_20.Protocol1_20_2To1_20;
|
||||||
import com.viaversion.viabackwards.protocol.v1_20_2to1_20.storage.ConfigurationPacketStorage;
|
import com.viaversion.viabackwards.protocol.v1_20_2to1_20.storage.ConfigurationPacketStorage;
|
||||||
import com.viaversion.viaversion.api.minecraft.GlobalPosition;
|
import com.viaversion.viaversion.api.minecraft.GlobalBlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_19_4;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_19_4;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
|
||||||
import com.viaversion.viaversion.api.type.Types;
|
import com.viaversion.viaversion.api.type.Types;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_20;
|
import com.viaversion.viaversion.api.type.types.version.Types1_20;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_20_2;
|
import com.viaversion.viaversion.api.type.types.version.Types1_20_2;
|
||||||
@ -168,7 +167,7 @@ public final class EntityPacketRewriter1_20_2 extends EntityRewriter<Clientbound
|
|||||||
wrapper.passthrough(Types.BOOLEAN); // Debug
|
wrapper.passthrough(Types.BOOLEAN); // Debug
|
||||||
wrapper.passthrough(Types.BOOLEAN); // Flat
|
wrapper.passthrough(Types.BOOLEAN); // Flat
|
||||||
|
|
||||||
final GlobalPosition lastDeathPosition = wrapper.read(Types.OPTIONAL_GLOBAL_POSITION);
|
final GlobalBlockPosition lastDeathPosition = wrapper.read(Types.OPTIONAL_GLOBAL_POSITION);
|
||||||
final int portalCooldown = wrapper.read(Types.VAR_INT);
|
final int portalCooldown = wrapper.read(Types.VAR_INT);
|
||||||
|
|
||||||
wrapper.passthrough(Types.BYTE); // Data to keep
|
wrapper.passthrough(Types.BYTE); // Data to keep
|
||||||
|
@ -26,7 +26,7 @@ import com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.rewriter.EntityPacke
|
|||||||
import com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage.ResourcepackIDStorage;
|
import com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage.ResourcepackIDStorage;
|
||||||
import com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage.SpawnPositionStorage;
|
import com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage.SpawnPositionStorage;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_3;
|
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_20_3;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.provider.PacketTypesProvider;
|
import com.viaversion.viaversion.api.protocol.packet.provider.PacketTypesProvider;
|
||||||
@ -315,7 +315,7 @@ public final class Protocol1_20_3To1_20_2 extends BackwardsProtocol<ClientboundP
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
registerClientbound(ClientboundPackets1_20_3.SET_DEFAULT_SPAWN_POSITION, wrapper -> {
|
registerClientbound(ClientboundPackets1_20_3.SET_DEFAULT_SPAWN_POSITION, wrapper -> {
|
||||||
final Position position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
final BlockPosition position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
||||||
final float angle = wrapper.passthrough(Types.FLOAT);
|
final float angle = wrapper.passthrough(Types.FLOAT);
|
||||||
|
|
||||||
wrapper.user().get(SpawnPositionStorage.class).setSpawnPosition(Pair.of(position, angle));
|
wrapper.user().get(SpawnPositionStorage.class).setSpawnPosition(Pair.of(position, angle));
|
||||||
@ -325,7 +325,7 @@ public final class Protocol1_20_3To1_20_2 extends BackwardsProtocol<ClientboundP
|
|||||||
|
|
||||||
if (reason == 13) { // Level chunks load start
|
if (reason == 13) { // Level chunks load start
|
||||||
wrapper.cancel();
|
wrapper.cancel();
|
||||||
final Pair<Position, Float> spawnPositionAndAngle = wrapper.user().get(SpawnPositionStorage.class).getSpawnPosition();
|
final Pair<BlockPosition, Float> spawnPositionAndAngle = wrapper.user().get(SpawnPositionStorage.class).getSpawnPosition();
|
||||||
|
|
||||||
// To emulate the old behavior, we send a fake spawn pos packet containing the actual spawn pos which forces
|
// To emulate the old behavior, we send a fake spawn pos packet containing the actual spawn pos which forces
|
||||||
// the 1.20.2 client to close the downloading terrain screen like the new game state does
|
// the 1.20.2 client to close the downloading terrain screen like the new game state does
|
||||||
|
@ -18,21 +18,21 @@
|
|||||||
package com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage;
|
package com.viaversion.viabackwards.protocol.v1_20_3to1_20_2.storage;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.libs.fastutil.Pair;
|
import com.viaversion.viaversion.libs.fastutil.Pair;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class SpawnPositionStorage implements StorableObject {
|
public class SpawnPositionStorage implements StorableObject {
|
||||||
public static final Pair<Position, Float> DEFAULT_SPAWN_POSITION = Pair.of(new Position(8, 64, 8), 0.0F); // Default values copied from the original client
|
public static final Pair<BlockPosition, Float> DEFAULT_SPAWN_POSITION = Pair.of(new BlockPosition(8, 64, 8), 0.0F); // Default values copied from the original client
|
||||||
|
|
||||||
private Pair<Position, Float> spawnPosition;
|
private Pair<BlockPosition, Float> spawnPosition;
|
||||||
private String dimension;
|
private String dimension;
|
||||||
|
|
||||||
public Pair<Position, Float> getSpawnPosition() {
|
public Pair<BlockPosition, Float> getSpawnPosition() {
|
||||||
return spawnPosition;
|
return spawnPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSpawnPosition(final Pair<Position, Float> spawnPosition) {
|
public void setSpawnPosition(final Pair<BlockPosition, Float> spawnPosition) {
|
||||||
this.spawnPosition = spawnPosition;
|
this.spawnPosition = spawnPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import com.viaversion.viabackwards.protocol.v1_20to1_19_4.Protocol1_20To1_19_4;
|
|||||||
import com.viaversion.viabackwards.protocol.v1_20to1_19_4.storage.BackSignEditStorage;
|
import com.viaversion.viabackwards.protocol.v1_20to1_19_4.storage.BackSignEditStorage;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
|
import com.viaversion.viaversion.api.minecraft.BlockChangeRecord;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity;
|
import com.viaversion.viaversion.api.minecraft.blockentity.BlockEntity;
|
||||||
import com.viaversion.viaversion.api.minecraft.item.Item;
|
import com.viaversion.viaversion.api.minecraft.item.Item;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
@ -130,7 +130,7 @@ public final class BlockItemPacketRewriter1_20 extends BackwardsItemRewriter<Cli
|
|||||||
});
|
});
|
||||||
|
|
||||||
protocol.registerClientbound(ClientboundPackets1_19_4.OPEN_SIGN_EDITOR, wrapper -> {
|
protocol.registerClientbound(ClientboundPackets1_19_4.OPEN_SIGN_EDITOR, wrapper -> {
|
||||||
final Position position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
final BlockPosition position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
||||||
final boolean frontSide = wrapper.read(Types.BOOLEAN);
|
final boolean frontSide = wrapper.read(Types.BOOLEAN);
|
||||||
if (frontSide) {
|
if (frontSide) {
|
||||||
wrapper.user().remove(BackSignEditStorage.class);
|
wrapper.user().remove(BackSignEditStorage.class);
|
||||||
@ -139,7 +139,7 @@ public final class BlockItemPacketRewriter1_20 extends BackwardsItemRewriter<Cli
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
protocol.registerServerbound(ServerboundPackets1_19_4.SIGN_UPDATE, wrapper -> {
|
protocol.registerServerbound(ServerboundPackets1_19_4.SIGN_UPDATE, wrapper -> {
|
||||||
final Position position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
final BlockPosition position = wrapper.passthrough(Types.BLOCK_POSITION1_14);
|
||||||
final BackSignEditStorage backSignEditStorage = wrapper.user().remove(BackSignEditStorage.class);
|
final BackSignEditStorage backSignEditStorage = wrapper.user().remove(BackSignEditStorage.class);
|
||||||
final boolean frontSide = backSignEditStorage == null || !backSignEditStorage.position().equals(position);
|
final boolean frontSide = backSignEditStorage == null || !backSignEditStorage.position().equals(position);
|
||||||
wrapper.write(Types.BOOLEAN, frontSide);
|
wrapper.write(Types.BOOLEAN, frontSide);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
package com.viaversion.viabackwards.protocol.v1_20to1_19_4.storage;
|
package com.viaversion.viabackwards.protocol.v1_20to1_19_4.storage;
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.connection.StorableObject;
|
import com.viaversion.viaversion.api.connection.StorableObject;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
|
|
||||||
public record BackSignEditStorage(Position position) implements StorableObject {
|
public record BackSignEditStorage(BlockPosition position) implements StorableObject {
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ package com.viaversion.viabackwards.protocol.v1_9_3to1_9_1;
|
|||||||
import com.viaversion.viabackwards.protocol.v1_9_3to1_9_1.data.BlockEntity1_9_1;
|
import com.viaversion.viabackwards.protocol.v1_9_3to1_9_1.data.BlockEntity1_9_1;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
import com.viaversion.viaversion.api.minecraft.ClientWorld;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
|
import com.viaversion.viaversion.api.protocol.AbstractProtocol;
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers;
|
||||||
@ -50,7 +50,7 @@ public class Protocol1_9_3To1_9_1 extends AbstractProtocol<ClientboundPackets1_9
|
|||||||
map(Types.NAMED_COMPOUND_TAG); //NBT
|
map(Types.NAMED_COMPOUND_TAG); //NBT
|
||||||
handler(wrapper -> {
|
handler(wrapper -> {
|
||||||
if (wrapper.get(Types.UNSIGNED_BYTE, 0) == 9) {
|
if (wrapper.get(Types.UNSIGNED_BYTE, 0) == 9) {
|
||||||
Position position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
BlockPosition position = wrapper.get(Types.BLOCK_POSITION1_8, 0);
|
||||||
CompoundTag tag = wrapper.get(Types.NAMED_COMPOUND_TAG, 0);
|
CompoundTag tag = wrapper.get(Types.NAMED_COMPOUND_TAG, 0);
|
||||||
|
|
||||||
wrapper.clearPacket(); //Clear the packet
|
wrapper.clearPacket(); //Clear the packet
|
||||||
|
@ -19,7 +19,7 @@ package com.viaversion.viabackwards.protocol.v1_9_3to1_9_1.data;
|
|||||||
|
|
||||||
import com.viaversion.viabackwards.protocol.v1_9_3to1_9_1.Protocol1_9_3To1_9_1;
|
import com.viaversion.viabackwards.protocol.v1_9_3to1_9_1.Protocol1_9_3To1_9_1;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.api.minecraft.Position;
|
import com.viaversion.viaversion.api.minecraft.BlockPosition;
|
||||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
|
||||||
import com.viaversion.viaversion.api.type.Types;
|
import com.viaversion.viaversion.api.type.Types;
|
||||||
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ClientboundPackets1_9_3;
|
import com.viaversion.viaversion.protocols.v1_9_1to1_9_3.packet.ClientboundPackets1_9_3;
|
||||||
@ -62,16 +62,16 @@ public class BlockEntity1_9_1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int x = tag.getNumberTag("x").asInt();
|
int x = tag.getNumberTag("x").asInt();
|
||||||
int y = tag.getNumberTag("y").asInt();
|
short y = tag.getNumberTag("y").asShort();
|
||||||
int z = tag.getNumberTag("z").asInt();
|
int z = tag.getNumberTag("z").asInt();
|
||||||
|
|
||||||
Position pos = new Position(x, (short) y, z);
|
BlockPosition pos = new BlockPosition(x, y, z);
|
||||||
|
|
||||||
updateBlockEntity(pos, (short) newId, tag, connection);
|
updateBlockEntity(pos, (short) newId, tag, connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void updateBlockEntity(Position pos, short id, CompoundTag tag, UserConnection connection) {
|
private static void updateBlockEntity(BlockPosition pos, short id, CompoundTag tag, UserConnection connection) {
|
||||||
PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_9_3.BLOCK_ENTITY_DATA, null, connection);
|
PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_9_3.BLOCK_ENTITY_DATA, null, connection);
|
||||||
wrapper.write(Types.BLOCK_POSITION1_8, pos);
|
wrapper.write(Types.BLOCK_POSITION1_8, pos);
|
||||||
wrapper.write(Types.UNSIGNED_BYTE, id);
|
wrapper.write(Types.UNSIGNED_BYTE, id);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren