Paper/nms-patches/RecipeBookServer.patch
2019-06-21 20:00:00 +10:00

28 lines
1.3 KiB
Diff

--- a/net/minecraft/server/RecipeBookServer.java
+++ b/net/minecraft/server/RecipeBookServer.java
@@ -9,6 +9,7 @@
import java.util.function.Consumer;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
public class RecipeBookServer extends RecipeBook {
@@ -28,7 +29,7 @@
IRecipe<?> irecipe = (IRecipe) iterator.next();
MinecraftKey minecraftkey = irecipe.getKey();
- if (!this.a.contains(minecraftkey) && !irecipe.isComplex()) {
+ if (!this.a.contains(minecraftkey) && !irecipe.isComplex() && CraftEventFactory.handlePlayerRecipeListUpdateEvent(entityplayer, minecraftkey)) { // CraftBukkit
this.a(minecraftkey);
this.c(minecraftkey);
list.add(minecraftkey);
@@ -62,6 +63,7 @@
}
private void a(PacketPlayOutRecipes.Action packetplayoutrecipes_action, EntityPlayer entityplayer, List<MinecraftKey> list) {
+ if (entityplayer.playerConnection == null) return; // SPIGOT-4478 during PlayerLoginEvent
entityplayer.playerConnection.sendPacket(new PacketPlayOutRecipes(packetplayoutrecipes_action, list, Collections.emptyList(), this.c, this.d, this.e, this.f));
}