craftbukkit/nms-patches/net/minecraft/stats/RecipeBookServer.patch

29 lines
1.3 KiB
Diff
Raw Normal View History

2021-03-16 09:00:00 +11:00
--- a/net/minecraft/stats/RecipeBookServer.java
+++ b/net/minecraft/stats/RecipeBookServer.java
@@ -20,6 +20,8 @@
2023-09-22 02:40:00 +10:00
import net.minecraft.world.item.crafting.RecipeHolder;
2022-03-01 02:00:00 +11:00
import org.slf4j.Logger;
2021-03-09 08:47:33 +11:00
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
+
public class RecipeBookServer extends RecipeBook {
2021-06-11 15:00:00 +10:00
public static final String RECIPE_BOOK_TAG = "recipeBook";
@@ -36,7 +38,7 @@
2023-09-22 02:40:00 +10:00
RecipeHolder<?> recipeholder = (RecipeHolder) iterator.next();
MinecraftKey minecraftkey = recipeholder.id();
2023-09-22 02:40:00 +10:00
- if (!this.known.contains(minecraftkey) && !recipeholder.value().isSpecial()) {
+ if (!this.known.contains(minecraftkey) && !recipeholder.value().isSpecial() && CraftEventFactory.handlePlayerRecipeListUpdateEvent(entityplayer, minecraftkey)) { // CraftBukkit
2021-11-22 09:00:00 +11:00
this.add(minecraftkey);
this.addHighlight(minecraftkey);
2018-12-26 08:00:00 +11:00
list.add(minecraftkey);
2023-06-08 01:30:00 +10:00
@@ -73,6 +75,7 @@
}
2021-11-22 09:00:00 +11:00
private void sendRecipes(PacketPlayOutRecipes.Action packetplayoutrecipes_action, EntityPlayer entityplayer, List<MinecraftKey> list) {
2021-06-11 15:00:00 +10:00
+ if (entityplayer.connection == null) return; // SPIGOT-4478 during PlayerLoginEvent
2021-11-22 09:00:00 +11:00
entityplayer.connection.send(new PacketPlayOutRecipes(packetplayoutrecipes_action, list, Collections.emptyList(), this.getBookSettings()));
}