Commits

DerFrZocker authored and md_5 committed bb3284a8942
#1479: Use custom #isBlock method in legacy init instead of the one in Material, since it relies on legacy being init
No tags

src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java

Modified
324 324
325 325 SharedConstants.tryDetectVersion();
326 326 DispenserRegistry.bootStrap();
327 327
328 328 for (Material material : Material.values()) {
329 329 if (!material.isLegacy()) {
330 330 continue;
331 331 }
332 332
333 333 // Handle blocks
334 - if (material.isBlock()) {
334 + if (isBlock(material)) { // Use custom method instead of Material#isBlock since it relies on this being already run
335 335 for (byte data = 0; data < 16; data++) {
336 336 MaterialData matData = new MaterialData(material, data);
337 337 Dynamic blockTag = DataConverterFlattenData.getTag(material.getId() << 4 | data);
338 338 blockTag = DataConverterRegistry.getDataFixer().update(DataConverterTypes.BLOCK_STATE, blockTag, 100, CraftMagicNumbers.INSTANCE.getDataVersion());
339 339 // TODO: better skull conversion, chests
340 340 if (blockTag.get("Name").asString("").contains("%%FILTER_ME%%")) {
341 341 continue;
342 342 }
343 343
344 344 String name = blockTag.get("Name").asString("");
431 431 for (Map.Entry<Byte, Material> entry : SPAWN_EGGS.entrySet()) {
432 432 MaterialData matData = new MaterialData(Material.LEGACY_MONSTER_EGG, entry.getKey());
433 433 Item newMaterial = CraftMagicNumbers.getItem(entry.getValue());
434 434
435 435 materialToItem.put(matData, newMaterial);
436 436 itemToMaterial.put(newMaterial, matData);
437 437 }
438 438 }
439 439 }
440 440
441 + private static boolean isBlock(Material material) {
442 + // From Material#isBlock before the rewrite to ItemType / BlockType
443 + // Git hash: 42f6cdf4c5dcdd52a27543403dcd17fb60311621
444 + return 0 <= material.getId() && material.getId() < 256;
445 + }
446 +
441 447 public static void main(String[] args) {
442 448 System.err.println("");
443 449 }
444 450 }

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut