mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
Preliminary update to 1.17.1
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae31bb5f95 100644
|
||||
index 3070ad3a4bbe83485c6b4a68aa634045c70cafdd..ddfb89d62d2ec316683e9f0f5550e298ab26d137 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -2,8 +2,12 @@ package net.minecraft.world.inventory;
|
||||
@@ -46,7 +46,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
|
||||
player.giveExperienceLevels(-this.cost.get());
|
||||
}
|
||||
|
||||
@@ -117,6 +125,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -116,6 +124,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
|
||||
@Override
|
||||
public void createResult() {
|
||||
@@ -59,7 +59,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
|
||||
ItemStack itemstack = this.inputSlots.getItem(0);
|
||||
|
||||
this.cost.set(1);
|
||||
@@ -193,7 +207,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -192,7 +206,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
int i2 = (Integer) map1.get(enchantment);
|
||||
|
||||
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
|
||||
@@ -68,7 +68,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
|
||||
|
||||
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
|
||||
flag3 = true;
|
||||
@@ -205,7 +219,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -204,7 +218,7 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
Enchantment enchantment1 = (Enchantment) iterator1.next();
|
||||
|
||||
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
|
||||
@@ -77,7 +77,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
|
||||
++i;
|
||||
}
|
||||
}
|
||||
@@ -276,6 +290,13 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -275,6 +289,13 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
this.cost.set(this.maximumRepairCost - 1); // CraftBukkit
|
||||
}
|
||||
|
||||
@@ -91,13 +91,13 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
|
||||
if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit
|
||||
itemstack1 = ItemStack.EMPTY;
|
||||
}
|
||||
@@ -297,6 +318,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
@@ -296,6 +317,12 @@ public class AnvilMenu extends ItemCombinerMenu {
|
||||
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit
|
||||
this.broadcastChanges();
|
||||
+ // Purpur start
|
||||
+ if (canDoUnsafeEnchants && itemstack1 != ItemStack.EMPTY) {
|
||||
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, 2, itemstack1));
|
||||
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, incrementStateId(), 2, itemstack1));
|
||||
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
|
||||
+ }
|
||||
+ // Purpur end
|
||||
|
||||
Reference in New Issue
Block a user