geforkt von Mirrors/Paper
16 Zeilen
940 B
Diff
16 Zeilen
940 B
Diff
|
--- a/net/minecraft/nbt/NbtUtils.java
|
||
|
+++ b/net/minecraft/nbt/NbtUtils.java
|
||
|
@@ -149,8 +149,10 @@
|
||
|
if (!nbt.contains("Name", 8)) {
|
||
|
return Blocks.AIR.defaultBlockState();
|
||
|
} else {
|
||
|
- ResourceLocation resourceLocation = ResourceLocation.parse(nbt.getString("Name"));
|
||
|
- Optional<? extends Holder<Block>> optional = blockLookup.get(ResourceKey.create(Registries.BLOCK, resourceLocation));
|
||
|
+ // Paper start - Validate resource location
|
||
|
+ ResourceLocation resourceLocation = ResourceLocation.tryParse(nbt.getString("Name"));
|
||
|
+ Optional<? extends Holder<Block>> optional = resourceLocation != null ? blockLookup.get(ResourceKey.create(Registries.BLOCK, resourceLocation)) : Optional.empty();
|
||
|
+ // Paper end - Validate resource location
|
||
|
if (optional.isEmpty()) {
|
||
|
return Blocks.AIR.defaultBlockState();
|
||
|
} else {
|