mirror of
https://hub.spigotmc.org/stash/scm/spigot/craftbukkit.git
synced 2025-07-13 20:15:47 +00:00
39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
--- a/net/minecraft/stats/RecipeBookServer.java
|
|
+++ b/net/minecraft/stats/RecipeBookServer.java
|
|
@@ -25,6 +25,8 @@
|
|
import net.minecraft.world.item.crafting.display.RecipeDisplayId;
|
|
import org.slf4j.Logger;
|
|
|
|
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
|
|
+
|
|
public class RecipeBookServer extends RecipeBook {
|
|
|
|
public static final String RECIPE_BOOK_TAG = "recipeBook";
|
|
@@ -66,7 +68,7 @@
|
|
for (RecipeHolder<?> recipeholder : collection) {
|
|
ResourceKey<IRecipe<?>> resourcekey = recipeholder.id();
|
|
|
|
- if (!this.known.contains(resourcekey) && !recipeholder.value().isSpecial()) {
|
|
+ if (!this.known.contains(resourcekey) && !recipeholder.value().isSpecial() && CraftEventFactory.handlePlayerRecipeListUpdateEvent(entityplayer, resourcekey.location())) { // CraftBukkit
|
|
this.add(resourcekey);
|
|
this.addHighlight(resourcekey);
|
|
this.displayResolver.displaysForRecipe(resourcekey, (recipedisplayentry) -> {
|
|
@@ -76,7 +78,7 @@
|
|
}
|
|
}
|
|
|
|
- if (!list.isEmpty()) {
|
|
+ if (!list.isEmpty() && entityplayer.connection != null) { // SPIGOT-4478 during PlayerLoginEvent
|
|
entityplayer.connection.send(new ClientboundRecipeBookAddPacket(list, false));
|
|
}
|
|
|
|
@@ -97,7 +99,7 @@
|
|
}
|
|
}
|
|
|
|
- if (!list.isEmpty()) {
|
|
+ if (!list.isEmpty() && entityplayer.connection != null) { // SPIGOT-4478 during PlayerLoginEvent
|
|
entityplayer.connection.send(new ClientboundRecipeBookRemovePacket(list));
|
|
}
|
|
|