Skip to content

Commit dae7f35

Browse files
committed
Initial 1.21.11 support
1 parent 6178739 commit dae7f35

File tree

6 files changed

+25
-8
lines changed

6 files changed

+25
-8
lines changed

api/src/main/java/net/elytrium/limboapi/api/chunk/BlockEntityVersion.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public enum BlockEntityVersion {
3131
MINECRAFT_1_21_5(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_5)),
3232
MINECRAFT_1_21_6(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_6)),
3333
MINECRAFT_1_21_7(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_7)),
34-
MINECRAFT_1_21_9(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_9));
34+
MINECRAFT_1_21_9(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_9)),
35+
MINECRAFT_1_21_11(EnumSet.of(ProtocolVersion.MINECRAFT_1_21_11));
3536

3637
private static final EnumMap<ProtocolVersion, BlockEntityVersion> MC_VERSION_TO_ITEM_VERSIONS = new EnumMap<>(ProtocolVersion.class);
3738
private static final Map<String, BlockEntityVersion> KEY_LOOKUP = Map.copyOf(EnumUniverse.createProtocolLookup(values()));

api/src/main/java/net/elytrium/limboapi/api/material/WorldVersion.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ public enum WorldVersion {
3535
MINECRAFT_1_21_5(ProtocolVersion.MINECRAFT_1_21_5),
3636
MINECRAFT_1_21_6(ProtocolVersion.MINECRAFT_1_21_6),
3737
MINECRAFT_1_21_7(ProtocolVersion.MINECRAFT_1_21_7),
38-
MINECRAFT_1_21_9(EnumSet.range(ProtocolVersion.MINECRAFT_1_21_9, ProtocolVersion.MAXIMUM_VERSION));
38+
MINECRAFT_1_21_9(ProtocolVersion.MINECRAFT_1_21_9),
39+
MINECRAFT_1_21_11(EnumSet.range(ProtocolVersion.MINECRAFT_1_21_11, ProtocolVersion.MAXIMUM_VERSION));
3940

4041
private static final EnumMap<ProtocolVersion, WorldVersion> MC_VERSION_TO_ITEM_VERSIONS = new EnumMap<>(ProtocolVersion.class);
4142
private static final Map<String, WorldVersion> KEY_LOOKUP = Map.copyOf(EnumUniverse.createProtocolLookup(values()));

plugin/build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ enum MinecraftVersion {
134134
MINECRAFT_1_21_5(770),
135135
MINECRAFT_1_21_6(771),
136136
MINECRAFT_1_21_7(772),
137-
MINECRAFT_1_21_9(773)
137+
MINECRAFT_1_21_9(773),
138+
MINECRAFT_1_21_11(774)
138139

139140
public static final List<MinecraftVersion> WORLD_VERSIONS = List.of(
140141
MINECRAFT_1_13,
@@ -155,7 +156,8 @@ enum MinecraftVersion {
155156
MINECRAFT_1_21_5,
156157
MINECRAFT_1_21_6,
157158
MINECRAFT_1_21_7,
158-
MINECRAFT_1_21_9
159+
MINECRAFT_1_21_9,
160+
MINECRAFT_1_21_11
159161
)
160162

161163
public static final MinecraftVersion MINIMUM_VERSION = MINECRAFT_1_7_2
@@ -214,7 +216,9 @@ File downloadVersionManifest(String version) {
214216
this.println("> Downloading ${version} manifest...")
215217

216218
Object manifest = new JsonSlurper().parse(versionManifestFile)
217-
def optional = manifest.versions.stream().filter({ it.id == version }).findFirst()
219+
220+
// TODO: remove
221+
def optional = manifest.versions.stream().filter({ version == "1.21.11" ? it.id == version + "-rc3" : it.id == version }).findFirst()
218222
if (optional.empty()) {
219223
throw new RuntimeException("Couldn't find version: ${version}")
220224
}

plugin/src/main/java/net/elytrium/limboapi/LimboAPI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
@SuppressFBWarnings("MS_EXPOSE_REP")
129129
public class LimboAPI implements LimboFactory {
130130

131-
private static final int SUPPORTED_MAXIMUM_PROTOCOL_VERSION_NUMBER = 773;
131+
private static final int SUPPORTED_MAXIMUM_PROTOCOL_VERSION_NUMBER = 774;
132132

133133
@MonotonicNonNull
134134
private static Logger LOGGER;

plugin/src/main/java/net/elytrium/limboapi/Settings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public static class MAIN {
8787
"1_7_2, 1_7_6, 1_8, 1_9, 1_9_1, 1_9_2, 1_9_4, 1_10, 1_11, 1_11_1, 1_12, 1_12_1, 1_12_2,",
8888
"1_13, 1_13_1, 1_13_2, 1_14, 1_14_1, 1_14_2, 1_14_3, 1_14_4, 1_15, 1_15_1, 1_15_2,",
8989
"1_16, 1_16_1, 1_16_2, 1_16_3, 1_16_4, 1_17, 1_17_1, 1_18, 1_18_2, 1_19, 1_19_1, 1_19_3,",
90-
"1_20, 1_20_2, 1_20_3, 1_20_5, 1_21, 1_21_2, 1_21_4, 1_21_5, 1_21_6, 1_21_7, 1_21_9, LATEST"
90+
"1_20, 1_20_2, 1_20_3, 1_20_5, 1_21, 1_21_2, 1_21_4, 1_21_5, 1_21_6, 1_21_7, 1_21_9, 1_21_11, LATEST"
9191
})
9292
public String PREPARE_MIN_VERSION = "1_7_2";
9393
public String PREPARE_MAX_VERSION = "LATEST";

plugin/src/main/java/net/elytrium/limboapi/server/LimboImpl.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,8 @@ protected void refresh() {
246246
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_20_5, ProtocolVersion.MINECRAFT_1_20_5);
247247
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_21, ProtocolVersion.MINECRAFT_1_21);
248248
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_21_2, ProtocolVersion.MINECRAFT_1_21_4);
249-
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_21_5, ProtocolVersion.MAXIMUM_VERSION);
249+
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_21_5, ProtocolVersion.MINECRAFT_1_21_9);
250+
this.createRegistrySyncModern(configPackets, ProtocolVersion.MINECRAFT_1_21_11, ProtocolVersion.MAXIMUM_VERSION);
250251
if (this.shouldUpdateTags) {
251252
configPackets.prepare(this::createTagsUpdate, ProtocolVersion.MINECRAFT_1_20_2);
252253
}
@@ -1055,6 +1056,16 @@ private JoinGamePacket createJoinGamePacket(ProtocolVersion version) {
10551056

10561057
registryContainer.put("minecraft:wolf_variant", this.createRegistry("minecraft:wolf_variant",
10571058
Map.of("minecraft:ashen", wolfVariant.build())));
1059+
1060+
if (version.compareTo(ProtocolVersion.MINECRAFT_1_21_11) >= 0) {
1061+
// Zombie nautilus variant
1062+
CompoundBinaryTag zombieVariant = CompoundBinaryTag.builder()
1063+
.putString("asset_id", "minecraft:entity/nautilus/zombie_nautilus")
1064+
.put("spawn_conditions", ListBinaryTag.empty()).build();
1065+
1066+
registryContainer.put("minecraft:zombie_nautilus_variant", this.createRegistry("minecraft:zombie_nautilus_variant",
1067+
Map.of("minecraft:temperate", zombieVariant)));
1068+
}
10581069
} else {
10591070
CompoundBinaryTag.Builder wolfVariant = CompoundBinaryTag.builder()
10601071
.putString("wild_texture", "minecraft:entity/wolf/wolf_ashen")

0 commit comments

Comments
 (0)