Update to 20w18a

This commit is contained in:
basaigh 2023-05-11 19:39:00 +01:00
parent b90ee7ec73
commit 39bb8ff08c
8 changed files with 28 additions and 28 deletions

View file

@ -578,8 +578,6 @@ public class MinecraftCodecHelper extends BasePacketCodecHelper {
}
public LightUpdateData readLightUpdateData(ByteBuf buf) {
boolean trustEdges = buf.readBoolean();
BitSet skyYMask = BitSet.valueOf(this.readLongArray(buf));
BitSet blockYMask = BitSet.valueOf(this.readLongArray(buf));
BitSet emptySkyYMask = BitSet.valueOf(this.readLongArray(buf));
@ -597,12 +595,10 @@ public class MinecraftCodecHelper extends BasePacketCodecHelper {
blockUpdates.add(this.readByteArray(buf));
}
return new LightUpdateData(skyYMask, blockYMask, emptySkyYMask, emptyBlockYMask, skyUpdates, blockUpdates, trustEdges);
return new LightUpdateData(skyYMask, blockYMask, emptySkyYMask, emptyBlockYMask, skyUpdates, blockUpdates);
}
public void writeLightUpdateData(ByteBuf buf, LightUpdateData data) {
buf.writeBoolean(data.isTrustEdges());
writeBitSet(buf, data.getSkyYMask());
writeBitSet(buf, data.getBlockYMask());
writeBitSet(buf, data.getEmptySkyYMask());

View file

@ -16,17 +16,18 @@ public class Advancement {
private final @NonNull List<List<String>> requirements;
private final String parentId;
private final DisplayData displayData;
private final boolean sendsTelemetryEvent;
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements) {
this(id, criteria, requirements, null, null);
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements, boolean sendsTelemetryEvent) {
this(id, criteria, requirements, null, null, sendsTelemetryEvent);
}
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements, String parentId) {
this(id, criteria, requirements, parentId, null);
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements, String parentId, boolean sendsTelemetryEvent) {
this(id, criteria, requirements, parentId, null, sendsTelemetryEvent);
}
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements, DisplayData displayData) {
this(id, criteria, requirements, null, displayData);
public Advancement(@NonNull String id, @NonNull List<String> criteria, @NonNull List<List<String>> requirements, DisplayData displayData, boolean sendsTelemetryEvent) {
this(id, criteria, requirements, null, displayData, sendsTelemetryEvent);
}
@Data

View file

@ -20,15 +20,12 @@ public class LightUpdateData {
private final @NonNull BitSet emptyBlockYMask;
private final @NonNull List<byte[]> skyUpdates;
private final @NonNull List<byte[]> blockUpdates;
private final boolean trustEdges;
public static LightUpdateData read(ByteBuf in, MinecraftCodecHelper helper) throws IOException {
return new LightUpdateData(in, helper);
}
private LightUpdateData(ByteBuf in, MinecraftCodecHelper helper) throws IOException {
this.trustEdges = in.readBoolean();
this.skyYMask = BitSet.valueOf(helper.readLongArray(in));
this.blockYMask = BitSet.valueOf(helper.readLongArray(in));
this.emptySkyYMask = BitSet.valueOf(helper.readLongArray(in));
@ -52,8 +49,6 @@ public class LightUpdateData {
}
private void write(ByteBuf out, MinecraftCodecHelper helper) throws IOException {
out.writeBoolean(this.trustEdges);
writeBitSet(out, helper, this.skyYMask);
writeBitSet(out, helper, this.blockYMask);
writeBitSet(out, helper, this.emptySkyYMask);

View file

@ -808,6 +808,7 @@ public enum BuiltinSound implements Sound {
MUSIC_DISC_WAIT("music_disc.wait"),
MUSIC_DISC_WARD("music_disc.ward"),
MUSIC_DISC_OTHERSIDE("music_disc.otherside"),
MUSIC_DISC_RELIC("music_disc.relic"),
MUSIC_DRAGON("music.dragon"),
MUSIC_END("music.end"),
MUSIC_GAME("music.game"),
@ -820,7 +821,7 @@ public enum BuiltinSound implements Sound {
MUSIC_OVERWORLD_JAGGED_PEAKS("music.overworld.jagged_peaks"),
MUSIC_OVERWORLD_LUSH_CAVES("music.overworld.lush_caves"),
MUSIC_OVERWORLD_SWAMP("music.overworld.swamp"),
MUSIC_OVERWORLD_JUNGLE_AND_FOREST("music.overworld.jungle_and_forest"),
MUSIC_OVERWORLD_FOREST("music.overworld.forest"),
MUSIC_OVERWORLD_OLD_GROWTH_TAIGA("music.overworld.old_growth_taiga"),
MUSIC_OVERWORLD_MEADOW("music.overworld.meadow"),
MUSIC_OVERWORLD_CHERRY_GROVE("music.overworld.cherry_grove"),
@ -830,6 +831,12 @@ public enum BuiltinSound implements Sound {
MUSIC_NETHER_SOUL_SAND_VALLEY("music.nether.soul_sand_valley"),
MUSIC_OVERWORLD_STONY_PEAKS("music.overworld.stony_peaks"),
MUSIC_NETHER_WARPED_FOREST("music.nether.warped_forest"),
MUSIC_OVERWORLD_FLOWER_FOREST("music.overworld.flower_forest"),
MUSIC_OVERWORLD_DESERT("music.overworld.desert"),
MUSIC_OVERWORLD_BADLANDS("music.overworld.badlands"),
MUSIC_OVERWORLD_JUNGLE("music.overworld.jungle"),
MUSIC_OVERWORLD_SPARSE_JUNGLE("music.overworld.sparse_jungle"),
MUSIC_OVERWORLD_BAMBOO_JUNGLE("music.overworld.bamboo_jungle"),
MUSIC_UNDER_WATER("music.under_water"),
BLOCK_NETHER_BRICKS_BREAK("block.nether_bricks.break"),
BLOCK_NETHER_BRICKS_STEP("block.nether_bricks.step"),
@ -1238,8 +1245,9 @@ public enum BuiltinSound implements Sound {
ENTITY_SNIFFER_DIGGING("entity.sniffer.digging"),
ENTITY_SNIFFER_DIGGING_STOP("entity.sniffer.digging_stop"),
ENTITY_SNIFFER_HAPPY("entity.sniffer.happy"),
ENTITY_SNIFFER_EGG_CRACK("entity.sniffer.egg_crack"),
ENTITY_SNIFFER_EGG_HATCH("entity.sniffer.egg_hatch"),
BLOCK_SNIFFER_EGG_PLOP("block.sniffer_egg.plop"),
BLOCK_SNIFFER_EGG_CRACK("block.sniffer_egg.crack"),
BLOCK_SNIFFER_EGG_HATCH("block.sniffer_egg.hatch"),
ENTITY_SNOWBALL_THROW("entity.snowball.throw"),
BLOCK_SNOW_BREAK("block.snow.break"),
BLOCK_SNOW_FALL("block.snow.fall"),

View file

@ -90,7 +90,9 @@ public class ClientboundUpdateAdvancementsPacket implements MinecraftPacket {
requirements.add(requirement);
}
this.advancements[i] = new Advancement(id, criteria, requirements, parentId, displayData);
boolean sendTelemetryEvent = in.readBoolean();
this.advancements[i] = new Advancement(id, criteria, requirements, parentId, displayData, sendTelemetryEvent);
}
this.removedAdvancements = new String[helper.readVarInt(in)];
@ -175,6 +177,8 @@ public class ClientboundUpdateAdvancementsPacket implements MinecraftPacket {
helper.writeString(out, criterion);
}
}
out.writeBoolean(advancement.isSendsTelemetryEvent());
}
helper.writeVarInt(out, this.removedAdvancements.length);

View file

@ -17,13 +17,12 @@ public class ClientboundSectionBlocksUpdatePacket implements MinecraftPacket {
private final int chunkX;
private final int chunkY;
private final int chunkZ;
private final boolean ignoreOldLight;
/**
* The server sends the record position in terms of the local chunk coordinate but it is stored here in terms of global coordinates.
*/
private final @NonNull BlockChangeEntry[] entries;
public ClientboundSectionBlocksUpdatePacket(int chunkX, int chunkY, int chunkZ, boolean ignoreOldLight, BlockChangeEntry... entries) {
public ClientboundSectionBlocksUpdatePacket(int chunkX, int chunkY, int chunkZ, BlockChangeEntry... entries) {
if (entries == null || entries.length == 0) {
throw new IllegalArgumentException("Entries must contain at least 1 value.");
}
@ -31,7 +30,6 @@ public class ClientboundSectionBlocksUpdatePacket implements MinecraftPacket {
this.chunkX = chunkX;
this.chunkY = chunkY;
this.chunkZ = chunkZ;
this.ignoreOldLight = ignoreOldLight;
this.entries = entries;
}
@ -40,7 +38,6 @@ public class ClientboundSectionBlocksUpdatePacket implements MinecraftPacket {
this.chunkX = (int) (chunkPosition >> 42);
this.chunkY = (int) (chunkPosition << 44 >> 44);
this.chunkZ = (int) (chunkPosition << 22 >> 42);
this.ignoreOldLight = in.readBoolean();
this.entries = new BlockChangeEntry[helper.readVarInt(in)];
for (int index = 0; index < this.entries.length; index++) {
long blockData = helper.readVarLong(in);
@ -58,7 +55,6 @@ public class ClientboundSectionBlocksUpdatePacket implements MinecraftPacket {
chunkPosition |= (this.chunkX & 0x3FFFFFL) << 42;
chunkPosition |= (this.chunkZ & 0x3FFFFFL) << 20;
out.writeLong(chunkPosition | (this.chunkY & 0xFFFFFL));
out.writeBoolean(this.ignoreOldLight);
helper.writeVarInt(out, this.entries.length);
for (BlockChangeEntry entry : this.entries) {
short position = (short) ((entry.getPosition().getX() - (this.chunkX << 4)) << 8 | (entry.getPosition().getZ() - (this.chunkZ << 4)) << 4 | (entry.getPosition().getY() - (this.chunkY << 4)));

View file

@ -17,12 +17,12 @@ public class ClientboundLevelChunkWithLightPacketTest extends PacketTest {
this.setPackets(
new ClientboundLevelChunkWithLightPacket(0, 0,
new byte[0], new CompoundTag("HeightMaps"), new BlockEntityInfo[0],
new LightUpdateData(new BitSet(), new BitSet(), new BitSet(), new BitSet(), Collections.emptyList(), Collections.emptyList(), false)
new LightUpdateData(new BitSet(), new BitSet(), new BitSet(), new BitSet(), Collections.emptyList(), Collections.emptyList())
),
new ClientboundLevelChunkWithLightPacket(1, 1,
new byte[256], new CompoundTag("HeightMaps"), new BlockEntityInfo[] {
new BlockEntityInfo(1, 0, 1, BlockEntityType.CHEST, null)
}, new LightUpdateData(new BitSet(), new BitSet(), new BitSet(), new BitSet(), Collections.emptyList(), Collections.emptyList(), true)
}, new LightUpdateData(new BitSet(), new BitSet(), new BitSet(), new BitSet(), Collections.emptyList(), Collections.emptyList())
)
);
}

View file

@ -10,7 +10,7 @@ public class ClientboundSectionBlocksUpdatePacketTest extends PacketTest {
@Before
public void setup() {
this.setPackets(
new ClientboundSectionBlocksUpdatePacket(3, 4, 12, false, new BlockChangeEntry(Vector3i.from(50, 65, 200), 3))
new ClientboundSectionBlocksUpdatePacket(3, 4, 12, new BlockChangeEntry(Vector3i.from(50, 65, 200), 3))
);
}