mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-08 17:27:41 +01:00
8a3c8cfcd4
By: md_5 <git@md-5.net>
29 lines
1.3 KiB
Diff
29 lines
1.3 KiB
Diff
--- 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()));
|
|
}
|
|
|