diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/Bedrock_v685.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/Bedrock_v685.java index 2396edfb3..5f39d05ec 100644 --- a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/Bedrock_v685.java +++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/Bedrock_v685.java @@ -11,10 +11,7 @@ import org.cloudburstmc.protocol.bedrock.codec.v594.serializer.AvailableCommandsSerializer_v594; import org.cloudburstmc.protocol.bedrock.codec.v671.Bedrock_v671; import org.cloudburstmc.protocol.bedrock.codec.v685.serializer.*; -import org.cloudburstmc.protocol.bedrock.data.LevelEvent; -import org.cloudburstmc.protocol.bedrock.data.LevelEventType; -import org.cloudburstmc.protocol.bedrock.data.PacketRecipient; -import org.cloudburstmc.protocol.bedrock.data.SoundEvent; +import org.cloudburstmc.protocol.bedrock.data.*; import org.cloudburstmc.protocol.bedrock.data.command.CommandParam; import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataFormat; import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataTypes; @@ -23,6 +20,10 @@ public class Bedrock_v685 extends Bedrock_v671 { + protected static final TypeMap PARTICLE_TYPES = Bedrock_v671.PARTICLE_TYPES.toBuilder() + .insert(93, ParticleType.OMINOUS_ITEM_SPAWNER) + .build(); + protected static final TypeMap SOUND_EVENTS = Bedrock_v671.SOUND_EVENTS .toBuilder() .insert(516, SoundEvent.TRAIL_SPAWNER_CHARGE_ACTIVATE) @@ -54,6 +55,7 @@ public class Bedrock_v685 extends Bedrock_v671 { .build(); protected static final TypeMap LEVEL_EVENTS = Bedrock_v671.LEVEL_EVENTS.toBuilder() + .insert(LEVEL_EVENT_PARTICLE_TYPE, PARTICLE_TYPES) .replace(LEVEL_EVENT_BLOCK + 115, LevelEvent.PARTICLE_TRIAL_SPAWNER_DETECTION_CHARGED) .insert(LEVEL_EVENT_BLOCK + 116, LevelEvent.PARTICLE_TRIAL_SPAWNER_BECOME_CHARGED) .insert(LEVEL_EVENT_BLOCK + 117, LevelEvent.ALL_PLAYERS_SLEEPING) diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/serializer/CraftingDataSerializer_v685.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/serializer/CraftingDataSerializer_v685.java index 7a90087b1..4be68816a 100644 --- a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/serializer/CraftingDataSerializer_v685.java +++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/codec/v685/serializer/CraftingDataSerializer_v685.java @@ -89,10 +89,7 @@ protected void writeShapedRecipe(ByteBuf buffer, BedrockCodecHelper helper, Shap } protected RecipeUnlockingRequirement readRequirement(ByteBuf buffer, BedrockCodecHelper helper, CraftingDataType type) { - if (!type.equals(CraftingDataType.SHAPED) && !type.equals(CraftingDataType.SHAPELESS)) { - return RecipeUnlockingRequirement.INVALID; - } - final RecipeUnlockingRequirement requirement = new RecipeUnlockingRequirement(RecipeUnlockingRequirement.UnlockingContext.from(buffer.readByte())); + RecipeUnlockingRequirement requirement = new RecipeUnlockingRequirement(RecipeUnlockingRequirement.UnlockingContext.from(buffer.readByte())); if (requirement.getContext().equals(RecipeUnlockingRequirement.UnlockingContext.NONE)) { helper.readArray(buffer, requirement.getIngredients(), (buf, h) -> h.readIngredient(buf)); } @@ -100,9 +97,6 @@ protected RecipeUnlockingRequirement readRequirement(ByteBuf buffer, BedrockCode } protected void writeRequirement(ByteBuf buffer, BedrockCodecHelper helper, CraftingRecipeData data) { - if (!data.getType().equals(CraftingDataType.SHAPED) && !data.getType().equals(CraftingDataType.SHAPELESS)) { - return; - } buffer.writeByte(data.getRequirement().getContext().ordinal()); if (data.getRequirement().getContext().equals(RecipeUnlockingRequirement.UnlockingContext.NONE)) { helper.writeArray(buffer, data.getRequirement().getIngredients(), (buf, h, ingredient) -> h.writeIngredient(buf, ingredient)); diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ParticleType.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ParticleType.java index b838140e5..33c392759 100644 --- a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ParticleType.java +++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/data/ParticleType.java @@ -117,5 +117,9 @@ public enum ParticleType implements LevelEventType { /** * @since v671 */ - WOLF_ARMOR_BREAK + WOLF_ARMOR_BREAK, + /** + * @since 685 + */ + OMINOUS_ITEM_SPAWNER, } diff --git a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/TextPacket.java b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/TextPacket.java index 1eae9ada8..896df2ad4 100644 --- a/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/TextPacket.java +++ b/bedrock-codec/src/main/java/org/cloudburstmc/protocol/bedrock/packet/TextPacket.java @@ -22,7 +22,7 @@ public class TextPacket implements BedrockPacket { /** * @since v685 */ - private String filteredMessage; + private String filteredMessage = ""; @Override public final PacketSignal handle(BedrockPacketHandler handler) {