Skip to content

Commit 7edefc4

Browse files
committed
25w05a
1 parent 30b11f5 commit 7edefc4

File tree

12 files changed

+46
-73
lines changed

12 files changed

+46
-73
lines changed

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/codec/MinecraftCodec.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@
218218

219219
public class MinecraftCodec {
220220
public static final PacketCodec CODEC = PacketCodec.builder()
221-
.protocolVersion((1 << 30) | 231)
222-
.minecraftVersion("25w04a")
221+
.protocolVersion((1 << 30) | 232)
222+
.minecraftVersion("25w05a")
223223
.state(ProtocolState.HANDSHAKE, MinecraftPacketRegistry.builder()
224224
.registerServerboundPacket(ClientIntentionPacket.class, ClientIntentionPacket::new)
225225
)

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/entity/metadata/MetadataType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public class MetadataType<T> {
5151
public static final OptionalIntMetadataType OPTIONAL_VARINT = new OptionalIntMetadataType(ObjectEntityMetadata::new);
5252
public static final MetadataType<Pose> POSE = new MetadataType<>(MinecraftTypes::readPose, MinecraftTypes::writePose, ObjectEntityMetadata::new);
5353
public static final IntMetadataType CAT_VARIANT = new IntMetadataType(MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntEntityMetadata::new);
54+
public static final IntMetadataType COW_VARIANT = new IntMetadataType(MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntEntityMetadata::new);
5455
public static final MetadataType<Holder<WolfVariant>> WOLF_VARIANT = new MetadataType<>(MinecraftTypes::readWolfVariant, MinecraftTypes::writeWolfVariant, ObjectEntityMetadata::new);
5556
public static final IntMetadataType FROG_VARIANT = new IntMetadataType(MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntEntityMetadata::new);
5657
public static final MetadataType<Holder<PigVariant>> PIG_VARIANT = new MetadataType<>(MinecraftTypes::readPigVariant, MinecraftTypes::writePigVariant, ObjectEntityMetadata::new);

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/item/component/BlocksAttacks.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package org.geysermc.mcprotocollib.protocol.data.game.item.component;
22

3+
import net.kyori.adventure.key.Key;
34
import org.geysermc.mcprotocollib.protocol.data.game.level.sound.Sound;
45
import org.jetbrains.annotations.Nullable;
56

67
import java.util.List;
78

89
public record BlocksAttacks(float blockDelaySeconds, float disableCooldownScale, List<DamageReduction> damageReductions,
9-
ItemDamageFunction itemDamage, @Nullable Sound blockSound, @Nullable Sound disableSound) {
10+
ItemDamageFunction itemDamage, @Nullable Key bypassedBy, @Nullable Sound blockSound, @Nullable Sound disableSound) {
1011

11-
public record DamageReduction(@Nullable HolderSet type, float base, float factor) {
12+
public record DamageReduction(float horizontalBlockingAngle, @Nullable HolderSet type, float base, float factor) {
1213
}
1314

1415
public record ItemDamageFunction(float threshold, float base, float factor) {

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/item/component/DataComponentType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ public class DataComponentType<T> {
109109
public static final IntComponentType MOOSHROOM_VARIANT = new IntComponentType("mooshroom/variant", MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntDataComponent::new);
110110
public static final IntComponentType RABBIT_VARIANT = new IntComponentType("rabbit/variant", MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntDataComponent::new);
111111
public static final DataComponentType<Holder<PigVariant>> PIG_VARIANT = new DataComponentType<>("pig/variant", MinecraftTypes::readPigVariant, MinecraftTypes::writePigVariant, ObjectDataComponent::new);
112+
public static final IntComponentType COW_VARIANT = new IntComponentType("cow/variant", MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntDataComponent::new);
112113
public static final IntComponentType FROG_VARIANT = new IntComponentType("frog/variant", MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntDataComponent::new);
113114
public static final IntComponentType HORSE_VARIANT = new IntComponentType("horse/variant", MinecraftTypes::readVarInt, MinecraftTypes::writeVarInt, IntDataComponent::new);
114115
public static final DataComponentType<Holder<PaintingVariant>> PAINTING_VARIANT = new DataComponentType<>("painting/variant", MinecraftTypes::readPaintingVariant, MinecraftTypes::writePaintingVariant, ObjectDataComponent::new);

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/item/component/ItemTypes.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,23 +176,26 @@ public static BlocksAttacks readBlocksAttacks(ByteBuf buf) {
176176
float disableCooldownScale = buf.readFloat();
177177

178178
List<BlocksAttacks.DamageReduction> damageReductions = MinecraftTypes.readList(buf, (input) -> {
179+
float horizontalBlockingAngle = input.readFloat();
179180
HolderSet type = MinecraftTypes.readNullable(input, MinecraftTypes::readHolderSet);
180181
float base = input.readFloat();
181182
float factor = input.readFloat();
182-
return new BlocksAttacks.DamageReduction(type, base, factor);
183+
return new BlocksAttacks.DamageReduction(horizontalBlockingAngle, type, base, factor);
183184
});
184185

185186
BlocksAttacks.ItemDamageFunction itemDamage = new BlocksAttacks.ItemDamageFunction(buf.readFloat(), buf.readFloat(), buf.readFloat());
187+
Key bypassedBy = MinecraftTypes.readNullable(buf, MinecraftTypes::readResourceLocation);
186188
Sound blockSound = MinecraftTypes.readNullable(buf, input -> MinecraftTypes.readById(input, BuiltinSound::from, MinecraftTypes::readSoundEvent));
187189
Sound disableSound = MinecraftTypes.readNullable(buf, input -> MinecraftTypes.readById(input, BuiltinSound::from, MinecraftTypes::readSoundEvent));
188-
return new BlocksAttacks(blockDelaySeconds, disableCooldownScale, damageReductions, itemDamage, blockSound, disableSound);
190+
return new BlocksAttacks(blockDelaySeconds, disableCooldownScale, damageReductions, itemDamage, bypassedBy, blockSound, disableSound);
189191
}
190192

191193
public static void writeBlocksAttacks(ByteBuf buf, BlocksAttacks blocksAttacks) {
192194
buf.writeFloat(blocksAttacks.blockDelaySeconds());
193195
buf.writeFloat(blocksAttacks.disableCooldownScale());
194196

195197
MinecraftTypes.writeList(buf, blocksAttacks.damageReductions(), (output, entry) -> {
198+
output.writeFloat(entry.horizontalBlockingAngle());
196199
MinecraftTypes.writeNullable(output, entry.type(), MinecraftTypes::writeHolderSet);
197200
output.writeFloat(entry.base());
198201
output.writeFloat(entry.factor());
@@ -201,6 +204,7 @@ public static void writeBlocksAttacks(ByteBuf buf, BlocksAttacks blocksAttacks)
201204
buf.writeFloat(blocksAttacks.itemDamage().threshold());
202205
buf.writeFloat(blocksAttacks.itemDamage().base());
203206
buf.writeFloat(blocksAttacks.itemDamage().factor());
207+
MinecraftTypes.writeNullable(buf, blocksAttacks.bypassedBy(), MinecraftTypes::writeResourceLocation);
204208

205209
MinecraftTypes.writeNullable(buf, blocksAttacks.blockSound(), (output, sound) -> {
206210
if (sound instanceof CustomSound) {

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/level/particle/ParticleType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@ public enum ParticleType {
113113
OMINOUS_SPAWNING,
114114
RAID_OMEN,
115115
TRIAL_OMEN,
116-
BLOCK_CRUMBLE;
116+
BLOCK_CRUMBLE,
117+
FIREFLY;
117118

118119
private static final ParticleType[] VALUES = values();
119120

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/data/game/level/sound/BuiltinSound.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ public enum BuiltinSound implements Sound {
413413
ITEM_CROSSBOW_QUICK_CHARGE_2("item.crossbow.quick_charge_2"),
414414
ITEM_CROSSBOW_QUICK_CHARGE_3("item.crossbow.quick_charge_3"),
415415
ITEM_CROSSBOW_SHOOT("item.crossbow.shoot"),
416+
BLOCK_DEADBUSH_IDLE("block.deadbush.idle"),
416417
BLOCK_DECORATED_POT_BREAK("block.decorated_pot.break"),
417418
BLOCK_DECORATED_POT_FALL("block.decorated_pot.fall"),
418419
BLOCK_DECORATED_POT_HIT("block.decorated_pot.hit"),
@@ -1233,6 +1234,8 @@ public enum BuiltinSound implements Sound {
12331234
BLOCK_SAND_HIT("block.sand.hit"),
12341235
BLOCK_SAND_PLACE("block.sand.place"),
12351236
BLOCK_SAND_STEP("block.sand.step"),
1237+
BLOCK_SAND_IDLE("block.sand.idle"),
1238+
BLOCK_SAND_WIND("block.sand.wind"),
12361239
BLOCK_SCAFFOLDING_BREAK("block.scaffolding.break"),
12371240
BLOCK_SCAFFOLDING_FALL("block.scaffolding.fall"),
12381241
BLOCK_SCAFFOLDING_HIT("block.scaffolding.hit"),
Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,14 @@
11
package org.geysermc.mcprotocollib.protocol.data.game.scoreboard;
22

3-
import java.util.HashMap;
4-
import java.util.Map;
5-
63
public enum CollisionRule {
7-
ALWAYS("always"),
8-
NEVER("never"),
9-
PUSH_OTHER_TEAMS("pushOtherTeams"),
10-
PUSH_OWN_TEAM("pushOwnTeam");
11-
12-
private final String name;
13-
14-
CollisionRule(String name) {
15-
this.name = name;
16-
}
4+
ALWAYS,
5+
NEVER,
6+
PUSH_OTHER_TEAMS,
7+
PUSH_OWN_TEAM;
178

18-
public String getName() {
19-
return this.name;
20-
}
21-
22-
private static final Map<String, CollisionRule> VALUES = new HashMap<>();
23-
24-
public static CollisionRule from(String name) {
25-
return VALUES.get(name);
26-
}
9+
private static final CollisionRule[] VALUES = values();
2710

28-
static {
29-
for (CollisionRule rule : values()) {
30-
VALUES.put(rule.getName(), rule);
31-
}
11+
public static CollisionRule from(int id) {
12+
return id >= 0 && id < VALUES.length ? VALUES[id] : VALUES[0];
3213
}
3314
}
Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,14 @@
11
package org.geysermc.mcprotocollib.protocol.data.game.scoreboard;
22

3-
import java.util.HashMap;
4-
import java.util.Map;
5-
63
public enum NameTagVisibility {
7-
ALWAYS("always"),
8-
NEVER("never"),
9-
HIDE_FOR_OTHER_TEAMS("hideForOtherTeams"),
10-
HIDE_FOR_OWN_TEAM("hideForOwnTeam");
11-
12-
private final String name;
13-
14-
NameTagVisibility(String name) {
15-
this.name = name;
16-
}
4+
ALWAYS,
5+
NEVER,
6+
HIDE_FOR_OTHER_TEAMS,
7+
HIDE_FOR_OWN_TEAM;
178

18-
public String getName() {
19-
return this.name;
20-
}
21-
22-
private static final Map<String, NameTagVisibility> VALUES = new HashMap<>();
23-
24-
public static NameTagVisibility from(String name) {
25-
return VALUES.get(name);
26-
}
9+
private static final NameTagVisibility[] VALUES = values();
2710

28-
static {
29-
for (NameTagVisibility option : values()) {
30-
VALUES.put(option.getName(), option);
31-
}
11+
public static NameTagVisibility from(int id) {
12+
return id >= 0 && id < VALUES.length ? VALUES[id] : VALUES[0];
3213
}
3314
}

protocol/src/main/java/org/geysermc/mcprotocollib/protocol/packet/ingame/clientbound/level/ClientboundBlockEventPacket.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@ public class ClientboundBlockEventPacket implements MinecraftPacket {
3939
// Do we really want these hardcoded values?
4040
private static final int NOTE_BLOCK = 109;
4141
private static final int STICKY_PISTON = 128;
42-
private static final int PISTON = 135;
43-
private static final int MOB_SPAWNER = 182;
44-
private static final int CHEST = 185;
45-
private static final int ENDER_CHEST = 365;
46-
private static final int TRAPPED_CHEST = 434;
47-
private static final int END_GATEWAY = 631;
48-
private static final int SHULKER_BOX_LOWER = 641;
49-
private static final int SHULKER_BOX_HIGHER = 657;
50-
private static final int BELL = 811;
51-
private static final int DECORATED_POT = 1087;
42+
private static final int PISTON = 136;
43+
private static final int MOB_SPAWNER = 183;
44+
private static final int CHEST = 186;
45+
private static final int ENDER_CHEST = 366;
46+
private static final int TRAPPED_CHEST = 435;
47+
private static final int END_GATEWAY = 632;
48+
private static final int SHULKER_BOX_LOWER = 642;
49+
private static final int SHULKER_BOX_HIGHER = 658;
50+
private static final int BELL = 812;
51+
private static final int DECORATED_POT = 1088;
5252
private static final Logger log = LoggerFactory.getLogger(ClientboundBlockEventPacket.class);
5353

5454
private final @NonNull Vector3i position;

0 commit comments

Comments
 (0)