Skip to content

Commit 80db983

Browse files
committed
Indicate support for 1.12.12x, update Bedrock protocol library, bump Bedrock network dependency
1 parent 765128c commit 80db983

File tree

6 files changed

+21
-11
lines changed

6 files changed

+21
-11
lines changed

core/src/main/java/org/geysermc/geyser/entity/type/Entity.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
import org.geysermc.mcprotocollib.protocol.data.game.entity.type.EntityType;
7373

7474
import java.util.Collections;
75-
import java.util.EnumSet;
75+
import java.util.EnumMap;
7676
import java.util.List;
7777
import java.util.Objects;
7878
import java.util.Optional;
@@ -142,7 +142,7 @@ public class Entity implements GeyserEntity {
142142
* think they are set to false.
143143
*/
144144
@Getter(AccessLevel.NONE)
145-
protected final EnumSet<EntityFlag> flags = EnumSet.noneOf(EntityFlag.class);
145+
protected final EnumMap<EntityFlag, Boolean> flags = new EnumMap<>(EntityFlag.class);
146146
/**
147147
* Indicates if flags have been updated and need to be sent to the client.
148148
*/
@@ -362,14 +362,19 @@ public void updateRotation(float yaw, float pitch, boolean isOnGround) {
362362
}
363363

364364
public final boolean getFlag(EntityFlag flag) {
365-
return this.flags.contains(flag);
365+
Boolean value = this.flags.get(flag);
366+
return value != null && value;
366367
}
367368

368369
/**
369370
* Updates a flag value and determines if the flags would need synced with the Bedrock client.
370371
*/
371372
public final void setFlag(EntityFlag flag, boolean value) {
372-
flagsDirty |= value ? this.flags.add(flag) : this.flags.remove(flag);
373+
Boolean previous = this.flags.get(flag);
374+
if (previous == null || value != previous) {
375+
flagsDirty = true;
376+
}
377+
this.flags.put(flag, value);
373378
}
374379

375380
/**

core/src/main/java/org/geysermc/geyser/entity/type/living/ArmorStandEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ private void updateSecondEntityStatus(boolean sendMetadata) {
353353
secondEntity.positionRequiresOffset = true; // Offset should always be applied
354354
secondEntity.getDirtyMetadata().put(EntityDataTypes.NAME, nametag);
355355
secondEntity.getDirtyMetadata().put(EntityDataTypes.NAMETAG_ALWAYS_SHOW, isNameTagVisible ? (byte) 1 : (byte) 0);
356-
secondEntity.flags.addAll(this.flags);
356+
secondEntity.flags.putAll(this.flags);
357357
// Guarantee this copy is NOT invisible
358358
secondEntity.setFlag(EntityFlag.INVISIBLE, false);
359359
// Scale to 0 to show nametag

core/src/main/java/org/geysermc/geyser/entity/type/player/AvatarEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ public void setPose(Pose pose) {
334334

335335
@Override
336336
public void setPitch(float pitch) {
337-
super.setPitch(getFlag(EntityFlag.CRAWLING) && !(this instanceof SessionPlayerEntity) ? 0 : pitch);
337+
super.setPitch(getFlag(EntityFlag.CRAWLING) ? 0 : pitch);
338338
}
339339

340340
@Override

core/src/main/java/org/geysermc/geyser/entity/type/player/SessionPlayerEntity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,11 @@ public void setPose(Pose pose) {
276276
}
277277
}
278278

279+
@Override
280+
public void setPitch(float pitch) {
281+
this.pitch = pitch;
282+
}
283+
279284
public float getMaxHealth() {
280285
return maxHealth;
281286
}

core/src/main/java/org/geysermc/geyser/network/GameProtocol.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public final class GameProtocol {
8888
register(Bedrock_v819.CODEC, "1.21.93", "1.21.94");
8989
register(Bedrock_v827.CODEC, "1.21.100", "1.21.101");
9090
register(Bedrock_v844.CODEC, "1.21.111", "1.21.112", "1.21.113", "1.21.114");
91-
register(Bedrock_v859.CODEC, "1.21.120");
91+
register(Bedrock_v859.CODEC, "1.21.120", "1.21.121", "1.21.122", "1.21.123");
9292

9393
MinecraftVersion latestBedrock = SUPPORTED_BEDROCK_VERSIONS.get(SUPPORTED_BEDROCK_VERSIONS.size() - 1);
9494
DEFAULT_BEDROCK_VERSION = latestBedrock.versionString();

gradle/libs.versions.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ guava = "29.0-jre"
1212
gson = "2.3.1" # Provided by Spigot 1.8.8 TODO bump to 2.8.1 or similar (Spigot 1.16.5 version) after Merge
1313
gson-runtime = "2.10.1"
1414
websocket = "1.5.1"
15-
protocol-connection = "3.0.0.Beta10-20251014.180344-2"
16-
protocol-common = "3.0.0.Beta10-20251014.180344-2"
17-
protocol-codec = "3.0.0.Beta10-20251014.180344-2"
18-
raknet = "1.0.0.CR3-20250811.214335-20"
15+
protocol-connection = "3.0.0.Beta11-20251105.180808-3"
16+
protocol-common = "3.0.0.Beta11-20251105.180808-2"
17+
protocol-codec = "3.0.0.Beta11-20251105.180808-3"
18+
raknet = "1.0.0.CR3-20251031.125212-22"
1919
minecraftauth = "5.0.0"
2020
mcprotocollib = "1.21.9-20251029.184056-18"
2121
adventure = "4.25.0"

0 commit comments

Comments
 (0)