Skip to content

Commit 79db3a2

Browse files
committed
v9.8.0
1 parent a186c11 commit 79db3a2

File tree

7 files changed

+138
-17
lines changed

7 files changed

+138
-17
lines changed

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.github.cryptomorin</groupId>
88
<artifactId>XSeries</artifactId>
9-
<version>9.7.0</version>
9+
<version>9.8.0</version>
1010

1111
<name>XSeries</name>
1212
<description>A set of utilities for Minecraft plugins</description>
@@ -58,6 +58,7 @@
5858
<repository>
5959
<id>nms-repo</id>
6060
<url>https://repo.codemc.org/repository/nms/</url>
61+
<!-- https://repo.codemc.io/service/rest/repository/browse/nms/org/spigotmc/spigot/-->
6162
</repository>
6263
<!-- <repository>-->
6364
<!-- &lt;!&ndash; Sometimes codemc's snapshots don't have the mojang packages. &ndash;&gt;-->
@@ -68,7 +69,7 @@
6869

6970
<properties>
7071
<!-- Latest version -->
71-
<spigotVersion>1.20.2-R0.1-SNAPSHOT</spigotVersion>
72+
<spigotVersion>1.20.4-R0.1-SNAPSHOT</spigotVersion>
7273
</properties>
7374

7475
<dependencies>

src/main/java/com/cryptomorin/xseries/NMSExtras.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
* All the parameters are non-null.
4848
*
4949
* @author Crypto Morin
50-
* @version 5.3.1
50+
* @version 5.4.0
5151
*/
5252
public final class NMSExtras {
5353
public static final Class<?> EntityLivingClass = getNMSClass("world.entity", "EntityLiving");
@@ -121,7 +121,7 @@ public final class NMSExtras {
121121
Class<?> DataWatcherObjectClass = getNMSClass("network.syncher", "DataWatcherObject");
122122

123123
getHandle = lookup.findVirtual(CraftEntityClass, "getHandle", MethodType.methodType(nmsEntity));
124-
getDataWatcher = lookup.findVirtual(nmsEntity, v(20, 2, "al").v(19, "aj").v(18, "ai").orElse("getDataWatcher"), MethodType.methodType(DataWatcherClass)); // getEntityData()
124+
getDataWatcher = lookup.findVirtual(nmsEntity, v(20, 4, "an").v(20, 2, "al").v(19, "aj").v(18, "ai").orElse("getDataWatcher"), MethodType.methodType(DataWatcherClass)); // getEntityData()
125125
dataWatcherGetItem = lookup.findVirtual(DataWatcherClass, v(18, "b").orElse("get"), MethodType.methodType(Object.class, DataWatcherObjectClass)); // private <T> Item<T> c(DataWatcherObject<T> datawatcherobject)
126126
dataWatcherSetItem = lookup.findVirtual(DataWatcherClass, v(18, "b").orElse("set"), MethodType.methodType(void.class, DataWatcherObjectClass, Object.class)); // private <T> Item<T> c(DataWatcherObject<T> datawatcherobject)
127127

@@ -228,7 +228,7 @@ public final class NMSExtras {
228228

229229
tileEntitySign = lookup.findConstructor(TileEntitySign, MethodType.methodType(void.class, blockPos, BLOCK_DATA));
230230
tileEntitySign_getUpdatePacket = lookup.findVirtual(TileEntitySign,
231-
v(20, "j").v(19, "f").v(18, "c").orElse("getUpdatePacket"),
231+
v(20, 4, "m").v(20, "j").v(19, "f").v(18, "c").orElse("getUpdatePacket"),
232232
MethodType.methodType(PacketPlayOutTileEntityData));
233233

234234
if (supports(20)) {

src/main/java/com/cryptomorin/xseries/ReflectionUtils.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
* A useful resource used to compare mappings is <a href="https://minidigger.github.io/MiniMappingViewer/#/spigot">Mini's Mapping Viewer</a>
5151
*
5252
* @author Crypto Morin
53-
* @version 7.1.0
53+
* @version 7.1.0.0.1
5454
*/
5555
public final class ReflectionUtils {
5656
/**
@@ -105,8 +105,13 @@ public final class ReflectionUtils {
105105
*/
106106
public static final int MINOR_NUMBER;
107107
/**
108-
* The raw patch version number.
109-
* E.g. {@code v1_17_R1} to {@code 1}
108+
* The raw patch version number. Refers to the <a href="https://en.wikipedia.org/wiki/Software_versioning">major.minor.patch version scheme</a>.
109+
* E.g.
110+
* <ul>
111+
* <li>{@code v1.20.4} to {@code 4}</li>
112+
* <li>{@code v1.18.2} to {@code 2}</li>
113+
* <li>{@code v1.19.1} to {@code 1}</li>
114+
* </ul>
110115
* <p>
111116
* I'd not recommend developers to support individual patches at all. You should always support the latest patch.
112117
* For example, between v1.14.0, v1.14.1, v1.14.2, v1.14.3 and v1.14.4 you should only support v1.14.4
@@ -194,7 +199,7 @@ public static Integer getLatestPatchNumberOf(int minorVersion) {
194199
/* 17 */ 1,// \_!_/
195200
/* 18 */ 2,
196201
/* 19 */ 4,
197-
/* 20 */ 2,
202+
/* 20 */ 4,
198203
};
199204

200205
if (minorVersion > patches.length) return null;

src/main/java/com/cryptomorin/xseries/SkullUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
* I don't know if this cache system works across other servers or is just specific to one server.
6868
*
6969
* @author Crypto Morin
70-
* @version 6.0.0
70+
* @version 6.0.0.1
7171
* @see XMaterial
7272
* @see ReflectionUtils
7373
*/
@@ -93,7 +93,7 @@ public class SkullUtils {
9393
* They don't seem to use anything complicated, but the length is inconsistent for some reasons.
9494
* It doesn't seem like uppercase characters are used either.
9595
*/
96-
private static final Pattern MOJANG_SHA256_APPROX = Pattern.compile("[0-9a-z]{60,70}");
96+
private static final Pattern MOJANG_SHA256_APPROX = Pattern.compile("[0-9a-z]{55,70}");
9797

9898
private static final AtomicLong MOJANG_SHA_FAKE_ID_ENUMERATOR = new AtomicLong(1);
9999

src/main/java/com/cryptomorin/xseries/XMaterial.java

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
* <b>/give @p minecraft:dirt 1 10</b> where 1 is the item amount, and 10 is the data value. The material {@link #DIRT} with a data value of {@code 10} doesn't exist.
6262
*
6363
* @author Crypto Morin
64-
* @version 11.4.1
64+
* @version 11.5.0
6565
* @see Material
6666
* @see ItemStack
6767
*/
@@ -235,6 +235,7 @@ public enum XMaterial {
235235
BRAIN_CORAL_FAN,
236236
BRAIN_CORAL_WALL_FAN,
237237
BREAD,
238+
BREEZE_SPAWN_EGG,
238239
BREWER_POTTERY_SHERD,
239240
BREWING_STAND("BREWING_STAND", "BREWING_STAND_ITEM"),
240241
BRICK("CLAY_BRICK"),
@@ -325,13 +326,16 @@ public enum XMaterial {
325326
CHICKEN_SPAWN_EGG(93, "MONSTER_EGG"),
326327
CHIPPED_ANVIL(1, "ANVIL"),
327328
CHISELED_BOOKSHELF,
329+
CHISELED_COPPER,
328330
CHISELED_DEEPSLATE,
329331
CHISELED_NETHER_BRICKS(1, "NETHER_BRICKS"),
330332
CHISELED_POLISHED_BLACKSTONE("POLISHED_BLACKSTONE"),
331333
CHISELED_QUARTZ_BLOCK(1, "QUARTZ_BLOCK"),
332334
CHISELED_RED_SANDSTONE(1, "RED_SANDSTONE"),
333335
CHISELED_SANDSTONE(1, "SANDSTONE"),
334336
CHISELED_STONE_BRICKS(3, "SMOOTH_BRICK"),
337+
CHISELED_TUFF,
338+
CHISELED_TUFF_BRICKS,
335339
CHORUS_FLOWER,
336340
CHORUS_FRUIT,
337341
CHORUS_PLANT,
@@ -379,15 +383,20 @@ public enum XMaterial {
379383
COOKED_SALMON(1, "COOKED_FISH"),
380384
COOKIE,
381385
COPPER_BLOCK,
386+
COPPER_BULB,
387+
COPPER_DOOR,
388+
COPPER_GRATE,
382389
COPPER_INGOT,
383390
COPPER_ORE,
391+
COPPER_TRAPDOOR,
384392
CORNFLOWER,
385393
COW_SPAWN_EGG(92, "MONSTER_EGG"),
386394
CRACKED_DEEPSLATE_BRICKS,
387395
CRACKED_DEEPSLATE_TILES,
388396
CRACKED_NETHER_BRICKS(2, "NETHER_BRICKS"),
389397
CRACKED_POLISHED_BLACKSTONE_BRICKS("POLISHED_BLACKSTONE_BRICKS"),
390398
CRACKED_STONE_BRICKS(2, "SMOOTH_BRICK"),
399+
CRAFTER,
391400
CRAFTING_TABLE("WORKBENCH"),
392401
CREEPER_BANNER_PATTERN,
393402
CREEPER_HEAD(4, "SKULL", "SKULL_ITEM"),
@@ -567,7 +576,12 @@ public enum XMaterial {
567576
EVOKER_SPAWN_EGG(34, "MONSTER_EGG"),
568577
EXPERIENCE_BOTTLE("EXP_BOTTLE"),
569578
EXPLORER_POTTERY_SHERD,
579+
EXPOSED_CHISELED_COPPER,
570580
EXPOSED_COPPER,
581+
EXPOSED_COPPER_BULB,
582+
EXPOSED_COPPER_DOOR,
583+
EXPOSED_COPPER_GRATE,
584+
EXPOSED_COPPER_TRAPDOOR,
571585
EXPOSED_CUT_COPPER,
572586
EXPOSED_CUT_COPPER_SLAB,
573587
EXPOSED_CUT_COPPER_STAIRS,
@@ -646,7 +660,6 @@ public enum XMaterial {
646660
GRANITE_SLAB,
647661
GRANITE_STAIRS,
648662
GRANITE_WALL,
649-
GRASS(1, "LONG_GRASS"),
650663
GRASS_BLOCK("GRASS"),
651664
GRAVEL,
652665
GRAY_BANNER(8, "STANDING_BANNER", "BANNER"),
@@ -1013,7 +1026,12 @@ public enum XMaterial {
10131026
ORANGE_WALL_BANNER(14, "WALL_BANNER"),
10141027
ORANGE_WOOL(1, "WOOL"),
10151028
OXEYE_DAISY(8, "RED_ROSE"),
1029+
OXIDIZED_CHISELED_COPPER,
10161030
OXIDIZED_COPPER,
1031+
OXIDIZED_COPPER_BULB,
1032+
OXIDIZED_COPPER_DOOR,
1033+
OXIDIZED_COPPER_GRATE,
1034+
OXIDIZED_COPPER_TRAPDOOR,
10171035
OXIDIZED_CUT_COPPER,
10181036
OXIDIZED_CUT_COPPER_SLAB,
10191037
OXIDIZED_CUT_COPPER_STAIRS,
@@ -1088,6 +1106,10 @@ public enum XMaterial {
10881106
POLISHED_GRANITE(2, "STONE"),
10891107
POLISHED_GRANITE_SLAB,
10901108
POLISHED_GRANITE_STAIRS,
1109+
POLISHED_TUFF,
1110+
POLISHED_TUFF_SLAB,
1111+
POLISHED_TUFF_STAIRS,
1112+
POLISHED_TUFF_WALL,
10911113
POPPED_CHORUS_FRUIT("CHORUS_FRUIT_POPPED"),
10921114
POPPY("RED_ROSE"),
10931115
PORKCHOP("PORK"),
@@ -1279,6 +1301,11 @@ public enum XMaterial {
12791301
SHEEP_SPAWN_EGG(91, "MONSTER_EGG"),
12801302
SHELTER_POTTERY_SHERD,
12811303
SHIELD,
1304+
/**
1305+
* 1.13.0: LONG_GRASS:1
1306+
* 1.20.4: GRASS -> SHORT_GRASS
1307+
*/
1308+
SHORT_GRASS(1, "GRASS", "LONG_GRASS"),
12821309
SHROOMLIGHT,
12831310
SHULKER_BOX("PURPLE_SHULKER_BOX"),
12841311
SHULKER_SHELL,
@@ -1430,6 +1457,8 @@ public enum XMaterial {
14301457
TOTEM_OF_UNDYING("TOTEM"),
14311458
TRADER_LLAMA_SPAWN_EGG,
14321459
TRAPPED_CHEST,
1460+
TRIAL_KEY,
1461+
TRIAL_SPAWNER,
14331462
TRIDENT,
14341463
TRIPWIRE,
14351464
TRIPWIRE_HOOK,
@@ -1441,6 +1470,13 @@ public enum XMaterial {
14411470
TUBE_CORAL_FAN,
14421471
TUBE_CORAL_WALL_FAN,
14431472
TUFF,
1473+
TUFF_BRICKS,
1474+
TUFF_BRICK_SLAB,
1475+
TUFF_BRICK_STAIRS,
1476+
TUFF_BRICK_WALL,
1477+
TUFF_SLAB,
1478+
TUFF_STAIRS,
1479+
TUFF_WALL,
14441480
TURTLE_EGG,
14451481
TURTLE_HELMET,
14461482
TURTLE_SPAWN_EGG,
@@ -1491,24 +1527,49 @@ public enum XMaterial {
14911527
WATER("STATIONARY_WATER"),
14921528
WATER_BUCKET,
14931529
WATER_CAULDRON,
1530+
WAXED_CHISELED_COPPER,
14941531
WAXED_COPPER_BLOCK,
1532+
WAXED_COPPER_BULB,
1533+
WAXED_COPPER_DOOR,
1534+
WAXED_COPPER_GRATE,
1535+
WAXED_COPPER_TRAPDOOR,
14951536
WAXED_CUT_COPPER,
14961537
WAXED_CUT_COPPER_SLAB,
14971538
WAXED_CUT_COPPER_STAIRS,
1539+
WAXED_EXPOSED_CHISELED_COPPER,
14981540
WAXED_EXPOSED_COPPER,
1541+
WAXED_EXPOSED_COPPER_BULB,
1542+
WAXED_EXPOSED_COPPER_DOOR,
1543+
WAXED_EXPOSED_COPPER_GRATE,
1544+
WAXED_EXPOSED_COPPER_TRAPDOOR,
14991545
WAXED_EXPOSED_CUT_COPPER,
15001546
WAXED_EXPOSED_CUT_COPPER_SLAB,
15011547
WAXED_EXPOSED_CUT_COPPER_STAIRS,
1548+
WAXED_OXIDIZED_CHISELED_COPPER,
15021549
WAXED_OXIDIZED_COPPER,
1550+
WAXED_OXIDIZED_COPPER_BULB,
1551+
WAXED_OXIDIZED_COPPER_DOOR,
1552+
WAXED_OXIDIZED_COPPER_GRATE,
1553+
WAXED_OXIDIZED_COPPER_TRAPDOOR,
15031554
WAXED_OXIDIZED_CUT_COPPER,
15041555
WAXED_OXIDIZED_CUT_COPPER_SLAB,
15051556
WAXED_OXIDIZED_CUT_COPPER_STAIRS,
1557+
WAXED_WEATHERED_CHISELED_COPPER,
15061558
WAXED_WEATHERED_COPPER,
1559+
WAXED_WEATHERED_COPPER_BULB,
1560+
WAXED_WEATHERED_COPPER_DOOR,
1561+
WAXED_WEATHERED_COPPER_GRATE,
1562+
WAXED_WEATHERED_COPPER_TRAPDOOR,
15071563
WAXED_WEATHERED_CUT_COPPER,
15081564
WAXED_WEATHERED_CUT_COPPER_SLAB,
15091565
WAXED_WEATHERED_CUT_COPPER_STAIRS,
15101566
WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE,
1567+
WEATHERED_CHISELED_COPPER,
15111568
WEATHERED_COPPER,
1569+
WEATHERED_COPPER_BULB,
1570+
WEATHERED_COPPER_DOOR,
1571+
WEATHERED_COPPER_GRATE,
1572+
WEATHERED_COPPER_TRAPDOOR,
15121573
WEATHERED_CUT_COPPER,
15131574
WEATHERED_CUT_COPPER_SLAB,
15141575
WEATHERED_CUT_COPPER_STAIRS,
@@ -1657,7 +1718,7 @@ public enum XMaterial {
16571718
// MELON_SLICE, CARROTS, POTATOES, BEETROOTS, GRASS_BLOCK, BRICKS, NETHER_BRICKS, BROWN_MUSHROOM
16581719
// Using the constructor to add elements will decide to allocate more size which we don't need.
16591720
DUPLICATED = new HashSet<>(4);
1660-
DUPLICATED.add(GRASS.name());
1721+
DUPLICATED.add("GRASS");
16611722
DUPLICATED.add(MELON.name());
16621723
DUPLICATED.add(BRICK.name());
16631724
DUPLICATED.add(NETHER_BRICK.name());

0 commit comments

Comments
 (0)