70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
36 lines
1.5 KiB
Diff
36 lines
1.5 KiB
Diff
From 453c9662414093f38b5608b9945a423e1eafa7a8 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sat, 16 Jun 2018 16:23:38 -0400
|
|
Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors
|
|
|
|
This code was causing NPE's in saving player data, potentially related to reloads.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/RecipeBookServer.java b/src/main/java/net/minecraft/server/RecipeBookServer.java
|
|
index 440e8f134..091c4abbd 100644
|
|
--- a/src/main/java/net/minecraft/server/RecipeBookServer.java
|
|
+++ b/src/main/java/net/minecraft/server/RecipeBookServer.java
|
|
@@ -78,6 +78,10 @@ public class RecipeBookServer extends RecipeBook {
|
|
|
|
while (iterator.hasNext()) {
|
|
MinecraftKey minecraftkey = (MinecraftKey) iterator.next();
|
|
+ // Paper start - ignore missing recipes
|
|
+ final Optional<? extends IRecipe<?>> recipe = this.l.a(minecraftkey);
|
|
+ if (!recipe.isPresent()) continue;
|
|
+ // Paper end
|
|
|
|
nbttaglist.add(new NBTTagString(minecraftkey.toString()));
|
|
}
|
|
@@ -88,6 +92,10 @@ public class RecipeBookServer extends RecipeBook {
|
|
|
|
while (iterator1.hasNext()) {
|
|
MinecraftKey minecraftkey1 = (MinecraftKey) iterator1.next();
|
|
+ // Paper start - ignore missing recipes
|
|
+ final Optional<? extends IRecipe<?>> recipe = this.l.a(minecraftkey1);
|
|
+ if (!recipe.isPresent()) continue;
|
|
+ // Paper end
|
|
|
|
nbttaglist1.add(new NBTTagString(minecraftkey1.toString()));
|
|
}
|
|
--
|
|
2.21.0
|
|
|