diff options
Diffstat (limited to 'patch-remap/og/net/minecraft/stats')
3 files changed, 69 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())); + } + diff --git a/patch-remap/og/net/minecraft/stats/ServerStatisticManager.patch b/patch-remap/og/net/minecraft/stats/ServerStatisticManager.patch new file mode 100644 index 0000000000..ac3c4fffdf --- /dev/null +++ b/patch-remap/og/net/minecraft/stats/ServerStatisticManager.patch @@ -0,0 +1,26 @@ +--- a/net/minecraft/stats/ServerStatisticManager.java ++++ b/net/minecraft/stats/ServerStatisticManager.java +@@ -1,3 +1,4 @@ ++// mc-dev import + package net.minecraft.stats; + + import com.google.common.collect.Maps; +@@ -158,13 +159,12 @@ + } + + private <T> Optional<Statistic<T>> getStat(StatisticWrapper<T> statisticwrapper, String s) { +- Optional optional = Optional.ofNullable(MinecraftKey.tryParse(s)); +- IRegistry iregistry = statisticwrapper.getRegistry(); ++ // CraftBukkit - decompile error start ++ Optional<MinecraftKey> optional = Optional.ofNullable(MinecraftKey.tryParse(s)); ++ IRegistry<T> iregistry = statisticwrapper.getRegistry(); + +- Objects.requireNonNull(iregistry); +- optional = optional.flatMap(iregistry::getOptional); +- Objects.requireNonNull(statisticwrapper); +- return optional.map(statisticwrapper::get); ++ return optional.flatMap(iregistry::getOptional).map(statisticwrapper::get); ++ // CraftBukkit - decompile error end + } + + private static NBTTagCompound fromJson(JsonObject jsonobject) { diff --git a/patch-remap/og/net/minecraft/stats/StatisticManager.patch b/patch-remap/og/net/minecraft/stats/StatisticManager.patch new file mode 100644 index 0000000000..118075d566 --- /dev/null +++ b/patch-remap/og/net/minecraft/stats/StatisticManager.patch @@ -0,0 +1,15 @@ +--- a/net/minecraft/stats/StatisticManager.java ++++ b/net/minecraft/stats/StatisticManager.java +@@ -16,6 +16,12 @@ + public void increment(EntityHuman entityhuman, Statistic<?> statistic, int i) { + int j = (int) Math.min((long) this.getValue(statistic) + (long) i, 2147483647L); + ++ // CraftBukkit start - fire Statistic events ++ org.bukkit.event.Cancellable cancellable = org.bukkit.craftbukkit.event.CraftEventFactory.handleStatisticsIncrease(entityhuman, statistic, this.getValue(statistic), j); ++ if (cancellable != null && cancellable.isCancelled()) { ++ return; ++ } ++ // CraftBukkit end + this.setValue(entityhuman, statistic, j); + } + |