diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/stats/RecipeBookServer.patch')
-rw-r--r-- | patch-remap/og/net/minecraft/stats/RecipeBookServer.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/patch-remap/og/net/minecraft/stats/RecipeBookServer.patch b/patch-remap/og/net/minecraft/stats/RecipeBookServer.patch new file mode 100644 index 0000000000..82d48407a1 --- /dev/null +++ b/patch-remap/og/net/minecraft/stats/RecipeBookServer.patch @@ -0,0 +1,28 @@ +--- a/net/minecraft/stats/RecipeBookServer.java ++++ b/net/minecraft/stats/RecipeBookServer.java +@@ -20,6 +20,8 @@ + import net.minecraft.world.item.crafting.RecipeHolder; + import org.slf4j.Logger; + ++import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit ++ + public class RecipeBookServer extends RecipeBook { + + public static final String RECIPE_BOOK_TAG = "recipeBook"; +@@ -36,7 +38,7 @@ + RecipeHolder<?> recipeholder = (RecipeHolder) iterator.next(); + MinecraftKey minecraftkey = recipeholder.id(); + +- if (!this.known.contains(minecraftkey) && !recipeholder.value().isSpecial()) { ++ if (!this.known.contains(minecraftkey) && !recipeholder.value().isSpecial() && CraftEventFactory.handlePlayerRecipeListUpdateEvent(entityplayer, minecraftkey)) { // CraftBukkit + this.add(minecraftkey); + this.addHighlight(minecraftkey); + list.add(minecraftkey); +@@ -73,6 +75,7 @@ + } + + private void sendRecipes(PacketPlayOutRecipes.Action packetplayoutrecipes_action, EntityPlayer entityplayer, List<MinecraftKey> list) { ++ if (entityplayer.connection == null) return; // SPIGOT-4478 during PlayerLoginEvent + entityplayer.connection.send(new PacketPlayOutRecipes(packetplayoutrecipes_action, list, Collections.emptyList(), this.getBookSettings())); + } + |