From 92a019385d506b4dc8153ca29811585ffd3bddbd Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Tue, 14 Mar 2023 20:04:41 -0700 Subject: [PATCH] HIDE_UPGRADES and fixes for sniffer and new smithing table --- .../0421-Add-new-HIDE_UPGRADES-ItemFlag.patch | 25 +++++++++ ...3-Fix-sniffer-and-new-smithing-table.patch | 55 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 patches/api/0421-Add-new-HIDE_UPGRADES-ItemFlag.patch create mode 100644 patches/server/0963-Fix-sniffer-and-new-smithing-table.patch diff --git a/patches/api/0421-Add-new-HIDE_UPGRADES-ItemFlag.patch b/patches/api/0421-Add-new-HIDE_UPGRADES-ItemFlag.patch new file mode 100644 index 0000000000..7851dfc37d --- /dev/null +++ b/patches/api/0421-Add-new-HIDE_UPGRADES-ItemFlag.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Tue, 14 Mar 2023 19:37:29 -0700 +Subject: [PATCH] Add new HIDE_UPGRADES ItemFlag + + +diff --git a/src/main/java/org/bukkit/inventory/ItemFlag.java b/src/main/java/org/bukkit/inventory/ItemFlag.java +index 73ed2d3c4aded81a24489381db16184383e625bb..ee99ef92d0afffe90f4e77da1f04e5724f868546 100644 +--- a/src/main/java/org/bukkit/inventory/ItemFlag.java ++++ b/src/main/java/org/bukkit/inventory/ItemFlag.java +@@ -35,7 +35,13 @@ public enum ItemFlag { + /** + * Setting to show/hide dyes from coloured leather armour + */ +- HIDE_DYE; ++ HIDE_DYE, ++ // Paper start ++ /** ++ * Setting to show/hide armor trim information. ++ */ ++ @org.jetbrains.annotations.ApiStatus.Experimental // Paper - 1.20 ++ HIDE_UPGRADES; + // Paper start + /** + * Setting to show/hide item-specific information, including, but not limited to: diff --git a/patches/server/0963-Fix-sniffer-and-new-smithing-table.patch b/patches/server/0963-Fix-sniffer-and-new-smithing-table.patch new file mode 100644 index 0000000000..7dc220c0f2 --- /dev/null +++ b/patches/server/0963-Fix-sniffer-and-new-smithing-table.patch @@ -0,0 +1,55 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic +Date: Tue, 14 Mar 2023 20:03:21 -0700 +Subject: [PATCH] Fix sniffer and new smithing table + + +diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java +index efcfce93d17507bb6cc870a94eaa777429050d18..5719172a31f005ce419f365011d53712a9b2820f 100644 +--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java ++++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java +@@ -74,12 +74,20 @@ public class Sniffer extends Animal { + + public Sniffer(EntityType type, Level world) { + super(type, world); +- this.entityData.define(DATA_STATE, Sniffer.State.IDLING); +- this.entityData.define(DATA_DROP_SEED_AT_TICK, 0); ++ // Paper - move to defineSyncedData + this.getNavigation().setCanFloat(true); + this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F); + } + ++ // Paper start ++ @Override ++ protected void defineSynchedData() { ++ super.defineSynchedData(); ++ this.entityData.define(DATA_STATE, Sniffer.State.IDLING); ++ this.entityData.define(DATA_DROP_SEED_AT_TICK, 0); ++ } ++ // Paper end ++ + @Override + protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) { + return this.getDimensions(pose).height * 0.6F; +@@ -388,7 +396,7 @@ public class Sniffer extends Animal { + + @Override + public Brain getBrain() { +- return super.getBrain(); ++ return (Brain) super.getBrain(); // Paper - decompile issue + } + + @Override +diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +index 109e6afb8fcce0fb539ef93c6c872daa010dc3ff..f60e94560b89a3c6ed1ad0f8bc636d58bf48d222 100644 +--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +@@ -1668,7 +1668,7 @@ public class CraftEventFactory { + public static void callPrepareSmithingEvent(InventoryView view, ItemStack item) { // Paper - verify nothing uses return - handled below in PrepareResult + PrepareSmithingEvent event = new PrepareSmithingEvent(view, CraftItemStack.asCraftMirror(item)); // Paper - remove clone + //event.getView().getPlayer().getServer().getPluginManager().callEvent(event); // Paper - disable event +- event.getInventory().setItem(2, event.getResult()); ++ event.getInventory().setItem(view.getType() == org.bukkit.event.inventory.InventoryType.SMITHING_NEW ? 3 : 2, event.getResult()); // Paper - use correct result slot index depending on inventory type + //return event; // Paper + } + // Paper end