13
0
geforkt von Mirrors/Paper
Paper/Spigot-Server-Patches/don-t-throw-when-loading-invalid-TEs.patch
2021-04-21 20:05:50 +01:00

34 Zeilen
1.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 20 Apr 2021 01:15:04 +0100
Subject: [PATCH] don't throw when loading invalid TEs
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TileEntity.java
@@ -0,0 +0,0 @@ package net.minecraft.world.level.block.entity;
import javax.annotation.Nullable;
import net.minecraft.CrashReportSystemDetails;
+import net.minecraft.ResourceKeyInvalidException;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.IRegistry;
import net.minecraft.nbt.NBTTagCompound;
@@ -0,0 +0,0 @@ public abstract class TileEntity implements net.minecraft.server.KeyedObject { /
public static TileEntity create(IBlockData iblockdata, NBTTagCompound nbttagcompound) {
String s = nbttagcompound.getString("id");
- return (TileEntity) IRegistry.BLOCK_ENTITY_TYPE.getOptional(new MinecraftKey(s)).map((tileentitytypes) -> {
+ // Paper
+ MinecraftKey minecraftKey = null;
+ try {
+ minecraftKey = new MinecraftKey(s);
+ } catch (ResourceKeyInvalidException ex) {}
+ // Paper end
+ return (TileEntity) IRegistry.BLOCK_ENTITY_TYPE.getOptional(minecraftKey).map((tileentitytypes) -> {
try {
return tileentitytypes.a();
} catch (Throwable throwable) {