just some patches yaknow

This commit is contained in:
Ben Kerllenevich
2021-11-24 21:59:13 -05:00
parent 9b2dda7ee6
commit 34c85fb554
12 changed files with 96 additions and 97 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index e29b0a90019b12bd6586ad0f7b5314f307e527ba..e3f5a66eb4e36cfd633dfa4ae64eab5015b0e961 100644
index ee53453440177537fc653ea156785d7591498614..b4ccd80663feed1b1e9d02806dcffd0bba8930e1 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -226,9 +226,14 @@ public class TimingsExport extends Thread {
@@ -225,9 +225,14 @@ public class TimingsExport extends Thread {
// Information on the users Config
parent.put("config", createObject(
@@ -25,7 +25,7 @@ index e29b0a90019b12bd6586ad0f7b5314f307e527ba..e3f5a66eb4e36cfd633dfa4ae64eab50
));
new TimingsExport(listeners, parent, history).start();
@@ -269,6 +274,19 @@ public class TimingsExport extends Thread {
@@ -268,6 +273,19 @@ public class TimingsExport extends Thread {
return timingsCost;
}
@@ -46,10 +46,10 @@ index e29b0a90019b12bd6586ad0f7b5314f307e527ba..e3f5a66eb4e36cfd633dfa4ae64eab50
JSONObject object = new JSONObject();
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 2509a170b8ddd812ad5be49e5345ec5a3c0cf2b8..3937a78981fe3e2cb0db752365d20a3165ff3333 100644
index ce2cc249439d525d2089302f3febde758aa96929..3672c289c108cf82fb198bdaf81b878a7581b32f 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -206,7 +206,7 @@ public class PaperConfig {
@@ -228,7 +228,7 @@ public class PaperConfig {
private static void timings() {
boolean timings = getBoolean("timings.enabled", true);
boolean verboseTimings = getBoolean("timings.verbose", true);

View File

@@ -80,7 +80,7 @@ index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..a26cb4e4e4e23a06c970ea3c42c10601
this.activeChest = blockEntity;
}
diff --git a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
index 7e45c97acce83a9fe8ada486e9fcdafe58769736..e3c84ad3fad4ee479bb00b7dc02a2502f2088984 100644
index 16d677234616daec24e7250ff3e93aa3a83e9715..4e50f404baab0ae03f79de3b424c6a1765927f84 100644
--- a/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EnderChestBlock.java
@@ -86,6 +86,27 @@ public class EnderChestBlock extends AbstractChestBlock<EnderChestBlockEntity> i
@@ -112,7 +112,7 @@ index 7e45c97acce83a9fe8ada486e9fcdafe58769736..e3c84ad3fad4ee479bb00b7dc02a2502
}, CONTAINER_TITLE));
player.awardStat(Stats.OPEN_ENDERCHEST);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
index f494063ead9c6303fb3ca880aba2a877ae8d83ab..aa4d3a8a51050df14d5df4a494ee6665a065e2cb 100644
index 5a47d58071b83ea911e4cb5e1cc5468801ad0d55..45e3b3bbfc5f188d7339550e3ce4b835fbd7048d 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
@@ -68,7 +68,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
@@ -133,7 +133,7 @@ index f494063ead9c6303fb3ca880aba2a877ae8d83ab..aa4d3a8a51050df14d5df4a494ee6665
this.openersCounter = new ContainerOpenersCounter() {
@Override
protected void onOpen(Level world, BlockPos pos, BlockState state) {
@@ -120,7 +129,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
@@ -119,7 +128,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
@Override
public int getContainerSize() {
@@ -151,11 +151,11 @@ index f494063ead9c6303fb3ca880aba2a877ae8d83ab..aa4d3a8a51050df14d5df4a494ee6665
}
@Override
@@ -140,7 +158,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
@@ -139,7 +157,16 @@ public class BarrelBlockEntity extends RandomizableContainerBlockEntity {
@Override
protected AbstractContainerMenu createMenu(int syncId, Inventory playerInventory) {
- return ChestMenu.threeRows(syncId, playerInventory, (Container) this);
- return ChestMenu.threeRows(syncId, playerInventory, this);
+ // Purpur start
+ return switch (net.pl3x.purpur.PurpurConfig.barrelRows) {
+ case 6 -> ChestMenu.sixRows(syncId, playerInventory, this);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Llama API
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
index e037d618955de9a213a9cd90752b29d189faace4..34dec0a94840a8865f1d80857ec54a1022ae5b84 100644
index 721971f7618751a2e95f1c49fdc48a9c0c672cab..7b141c495095afcd9c8b04c059d692e829259e7a 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/LlamaFollowCaravanGoal.java
@@ -22,6 +22,7 @@ public class LlamaFollowCaravanGoal extends Goal {
@@ -25,10 +25,10 @@ index e037d618955de9a213a9cd90752b29d189faace4..34dec0a94840a8865f1d80857ec54a10
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb138ca9d219 100644
index a077a0ac66f7244ca895835f97edbe4c65fc5553..e2271a52448583cdbda844bc55b42dd3665a2a26 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -65,6 +65,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -66,6 +66,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
private Llama caravanHead;
@Nullable
private Llama caravanTail;
@@ -36,7 +36,7 @@ index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb13
public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world);
@@ -149,7 +150,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -150,7 +151,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
}
@@ -45,7 +45,7 @@ index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb13
}
@Override
@@ -161,6 +162,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -162,6 +163,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
}
@@ -58,7 +58,7 @@ index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb13
this.updateContainerEquipment();
}
@@ -482,6 +489,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -484,6 +491,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public void leaveCaravan() {
if (this.caravanHead != null) {
@@ -66,7 +66,7 @@ index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb13
this.caravanHead.caravanTail = null;
}
@@ -489,6 +497,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -491,6 +499,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
}
public void joinCaravan(Llama llama) {
@@ -74,7 +74,7 @@ index 6ee84f21e5dc64cbd5bdf51acd69fff09494f056..98da60e297f08dc77bf1cd754458cb13
this.caravanHead = llama;
this.caravanHead.caravanTail = this;
}
@@ -506,6 +515,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -508,6 +517,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
return this.caravanHead;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6c7628bb6f7f46555650195b19318c7f338825ae..f819cc4f5e6e2d5c820a840fa76226ea381b96d6 100644
index bd0363b1c2d0604841c7d8161733281d7898110a..86f012e54a8c2778c535b2b13584705419037b8c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1953,8 +1953,58 @@ public class ServerPlayer extends Player {
@@ -1939,8 +1939,58 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();
@@ -68,10 +68,10 @@ index 6c7628bb6f7f46555650195b19318c7f338825ae..f819cc4f5e6e2d5c820a840fa76226ea
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 6a71bbd96f3720321bb840d94bbd8942378fa695..5c15deee4105df67716edb117ecf0ac0ba978e39 100644
index 9f1bba2736648ea323390fd0442826fc3e561b68..49a769dc5d38cfc29fe824c7f94917f5597cdbca 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -294,6 +294,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -293,6 +293,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private boolean justTeleported = false;
private boolean hasMoved; // Spigot
@@ -92,7 +92,7 @@ index 6a71bbd96f3720321bb840d94bbd8942378fa695..5c15deee4105df67716edb117ecf0ac0
public CraftPlayer getCraftPlayer() {
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
}
@@ -390,6 +404,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -389,6 +403,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
@@ -105,7 +105,7 @@ index 6a71bbd96f3720321bb840d94bbd8942378fa695..5c15deee4105df67716edb117ecf0ac0
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -662,6 +682,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -653,6 +673,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -114,16 +114,16 @@ index 6a71bbd96f3720321bb840d94bbd8942378fa695..5c15deee4105df67716edb117ecf0ac0
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1425,7 +1447,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1385,7 +1407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
flag1 = true; // Paper - diff on change, this should be moved wrongly
flag1 = true;
- ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!", this.player.getName().getString());
+ ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!, ({})", this.player.getName().getString(), d11); // Purpur
}
this.player.absMoveTo(d0, d1, d2, f, f1);
@@ -1475,6 +1497,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1424,6 +1446,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -155,22 +155,22 @@ index 823efad652d8ff9e96b99375b102fef6f017716e..60f89d7c77a5e792e21e93e35ed1670b
}
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java
index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab46b3f1684 100644
index e39965c2e50bc8ee424ea07819346e0611398e28..212ea98eeaaf4b20ba0896dab03cd092c494471a 100644
--- a/src/main/java/net/minecraft/world/entity/EntitySelector.java
+++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java
@@ -27,6 +27,7 @@ public final class EntitySelector {
return !entity.isSpectator();
@@ -28,6 +28,7 @@ public final class EntitySelector {
};
public static final Predicate<Entity> CAN_BE_COLLIDED_WITH = EntitySelector.NO_SPECTATORS.and(Entity::canBeCollidedWith);
public static Predicate<Player> isInsomniac = (player) -> net.minecraft.util.Mth.clamp(((net.minecraft.server.level.ServerPlayer) player).getStats().getValue(net.minecraft.stats.Stats.CUSTOM.get(net.minecraft.stats.Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= 72000; // Paper
+ public static Predicate<Player> notAfk = (player) -> !player.isAfk(); // Purpur
private EntitySelector() {}
// Paper start
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
index 3ee691d4caccbc1b3e0f52decb41d436ac0d08ec..dc0900dd6aee20cf1735bbb490b79d7e33468751 100644
index a7575b5ef56af6f53448d391abb4956e130148ca..0a9e4dc5d6d567605c587df9bcbb57d379b62877 100644
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
@@ -63,6 +63,10 @@ public class TargetingConditions {
@@ -64,6 +64,10 @@ public class TargetingConditions {
return false;
} else if (this.selector != null && !this.selector.test(targetEntity)) {
return false;
@@ -182,10 +182,10 @@ index 3ee691d4caccbc1b3e0f52decb41d436ac0d08ec..dc0900dd6aee20cf1735bbb490b79d7e
if (baseEntity == null) {
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 218ad12db29d2201667dc252b0ee55b6d94b89f7..3d66d2e86cef17bcd8813d4c2b29078beebf23fe 100644
index 4b574df4bfe3e1f1bfa58439baa01a369365b05c..cf0e43f835073deb58945e24c9d5f0bc66aaaaf1 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {
@@ -194,6 +194,13 @@ public abstract class Player extends LivingEntity {
// Purpur start
public abstract void resetLastActionTime();
@@ -200,10 +200,10 @@ index 218ad12db29d2201667dc252b0ee55b6d94b89f7..3d66d2e86cef17bcd8813d4c2b29078b
public boolean processClick(InteractionHand hand) {
Entity vehicle = getRootVehicle();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index 7224c56e8a68870364c6538c82c04f371b74aabd..730e8a856b9e9560a62d959cefb6efadd056e9d3 100644
index bc3bfe8d3c2f87e2e9f167b9ff34d9ca8a696391..5232aa033e37c7b707c348431a4520c56f25f6f9 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -161,7 +161,7 @@ public interface EntityGetter {
@@ -145,7 +145,7 @@ public interface EntityGetter {
default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) {
for(Player player : this.players()) {
@@ -263,10 +263,10 @@ index 20215510857b8e49ea0c93d35eddfbad7cd355b0..996171e7271e62e72c0b2b213c21caf5
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 614efd4204eb0cb712964c71566ad7e2c609c439..bd68d2509fe08955eaab08a73924d6d58064c2b7 100644
index 3efa7e395d05386e095ff2fd04d9012285599473..5262508601274de1106300f8a90518205814b273 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -424,10 +424,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -427,10 +427,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
@@ -283,7 +283,7 @@ index 614efd4204eb0cb712964c71566ad7e2c609c439..bd68d2509fe08955eaab08a73924d6d5
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2583,5 +2588,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2526,5 +2531,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}
@@ -305,7 +305,7 @@ index 614efd4204eb0cb712964c71566ad7e2c609c439..bd68d2509fe08955eaab08a73924d6d5
// Purpur end
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 9c456cce42ef9d1654df9047d6fc1e0da13dc1c9..12ffca6a545e4af5c66ecd8b15d9d8e20a6327c1 100644
index e0302f82356e8cba848aa8cec1e821e02abbd6f6..3c05a09820491ebdfaad0e922b73ed0403ce04c2 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -194,6 +194,7 @@ public class ActivationRange

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
index 0544ac93513d3a274bfb53bb6120bd598f4d603b..9ce5984fbeba4839290c9d213d441957d38fe835 100644
index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99bd95022b9 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
@@ -18,6 +18,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
@@ -17,10 +17,10 @@ index 0544ac93513d3a274bfb53bb6120bd598f4d603b..9ce5984fbeba4839290c9d213d441957
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 665eca7a2d8ad49f2016e3ec81a724bc638ab2a1..67f23320a4dc4e2eef4b55bf371b367dcf5d8369 100644
index a59270a4702ae7d567e9c4e425b1793e6d50c4c8..fcfaa50e482ff1a5cc521e68dcfd3631fa87b274 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2735,4 +2735,11 @@ public final class CraftServer implements Server {
@@ -2718,4 +2718,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2965c79daf2126b691307442ad4a41ce3420ed34..66c357a01759c04463c663bad10bd1be9753ec26 100644
index 3ab79c0a12d0e6e91578e8649c7157122086bf25..6c7efdf64af09a9ec87338b313a10904a9afdda7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1730,7 +1730,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1616,7 +1616,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 99d0403fbe40206e91687a208f790f5b4bb08cae..a0b8154c44401dde57a729e202ba59688aea54bd 100644
index 8780eed3ee4ba8ffb72e411d47dbd6fb3337d8d2..aa39670f465ce4687dd443d564a119d59461aae1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity {
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity {
// CraftBukkit start
public int expToDrop;
public int maxAirTicks = 300;
@@ -16,7 +16,7 @@ index 99d0403fbe40206e91687a208f790f5b4bb08cae..a0b8154c44401dde57a729e202ba5968
public boolean forceDrops;
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -353,8 +354,8 @@ public abstract class LivingEntity extends Entity {
@@ -350,8 +351,8 @@ public abstract class LivingEntity extends Entity {
this.tryAddSoulSpeed();
}
@@ -27,7 +27,7 @@ index 99d0403fbe40206e91687a208f790f5b4bb08cae..a0b8154c44401dde57a729e202ba5968
if (!landedState.isAir()) {
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
@@ -1891,7 +1892,7 @@ public abstract class LivingEntity extends Entity {
@@ -1890,7 +1891,7 @@ public abstract class LivingEntity extends Entity {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -37,10 +37,10 @@ index 99d0403fbe40206e91687a208f790f5b4bb08cae..a0b8154c44401dde57a729e202ba5968
protected void playBlockFallSound() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 44d5f629da36a88e5245e9a2cff39dd946be4ea1..dbd34f589a146b9b408318c3810321ab6bce57f6 100644
index 8a34dd179eecb84ca3975fa8a0ae2e7bc2d57cee..56694c9918ab2e8d0ff5cfda6d60360b0cd16674 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -321,7 +321,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -323,7 +323,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
@@ -62,7 +62,7 @@ index c67f33f2e2e0ff5c2a85782185103325a6bf4535..a8ffdc8810152d77668aad7bad15a00c
// Purpur start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 4cdc80b31ac56b63df80fefec87e4ba8b4dcf455..916d487372efdbf68a383f4ae761cccd75e0a1d8 100644
index c022751e3b45469cc0ad6732e2d6ff08918bafa4..1dcfe129ec3633de67404ab5ab72cdcee31d3d9d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -920,4 +920,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 66c357a01759c04463c663bad10bd1be9753ec26..1049f5f40d07f0c0fde965b1ab927607651b3e38 100644
index 6c7efdf64af09a9ec87338b313a10904a9afdda7..86f056cd797881a88593a1933a411200fb5ae154 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -306,6 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -303,6 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
public final double[] recentTps = new double[ 3 ];
@@ -16,7 +16,7 @@ index 66c357a01759c04463c663bad10bd1be9753ec26..1049f5f40d07f0c0fde965b1ab927607
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
public static long currentTickLong = 0L; // Paper
@@ -1265,6 +1266,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1169,6 +1170,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();
// Paper end
@@ -41,10 +41,10 @@ index bc5f937e7480d954680c7b9f1d698aff3e28665d..c0e7027ad804d7b801ef8cb94963c113
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 67f23320a4dc4e2eef4b55bf371b367dcf5d8369..895799585e1a6964b709094d4aa4dfe8fe6470d4 100644
index fcfaa50e482ff1a5cc521e68dcfd3631fa87b274..8a15ed616f10d822dd6c0a144fad084df21c14d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2741,5 +2741,10 @@ public final class CraftServer implements Server {
@@ -2724,5 +2724,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 1c446dba5de89698397041ee38a2e1a00bec8a56..686417e2bd45c1f10964a8c22014b98de4f8d381 100644
index 419a7e9614af2328ed401fc954196056243a984c..3177e4f0af6ec4dd22c7e809d23f3711a8dfda54 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -286,6 +286,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) type.build(id));
@@ -285,6 +285,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
return (EntityType) Registry.register(Registry.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
}
+ // Purpur start
@@ -25,7 +25,7 @@ index 1c446dba5de89698397041ee38a2e1a00bec8a56..686417e2bd45c1f10964a8c22014b98d
public static ResourceLocation getKey(EntityType<?> type) {
return Registry.ENTITY_TYPE.getKey(type);
}
@@ -453,6 +463,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -450,6 +460,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
return this.category;
}
@@ -43,7 +43,7 @@ index 1c446dba5de89698397041ee38a2e1a00bec8a56..686417e2bd45c1f10964a8c22014b98d
if (this.descriptionId == null) {
this.descriptionId = Util.makeDescriptionId("entity", Registry.ENTITY_TYPE.getKey(this));
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
index 6cb0be998757d3ec89cc1064480c3a3ddc3cc381..deb02b8263dd9fe4196cb1db3d73ed9db533f41d 100644
index 3d9daa9e2c35d7fd277bde37cd5d1bfc9362d2ee..f67c4a4e4ea5eab54b2fb7740711f158adddf63a 100644
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
@@ -68,6 +68,15 @@ public class SpawnEggItem extends Item {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 686417e2bd45c1f10964a8c22014b98de4f8d381..3aeeba4465a5ff551a56ac50e23036074f9315c3 100644
index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..d143282263dd371cc3128a42da8a43ffab7d3f40 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -334,13 +334,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -333,13 +333,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@Nullable
public Entity spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) {
@@ -26,12 +26,12 @@ index 686417e2bd45c1f10964a8c22014b98de4f8d381..3aeeba4465a5ff551a56ac50e2303607
+ public T spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable CompoundTag itemNbt, @Nullable Component name, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) {
+ // Purpur end
// CraftBukkit start
- return this.spawnCreature(world, itemNbt, name, player, pos, spawnReason, alignPosition, invertY, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
+ return this.spawn(world, stack, itemNbt, name, player, pos, spawnReason, alignPosition, invertY, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG, null); // Purpur
- return this.spawn(world, itemNbt, name, player, pos, spawnReason, alignPosition, invertY, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
+ return this.spawn(world, itemNbt, name, player, pos, spawnReason, alignPosition, invertY, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG, null); // Purpur
}
@Nullable
@@ -365,9 +372,29 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -364,9 +371,29 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
}
}
// Paper end
@@ -59,5 +59,5 @@ index 686417e2bd45c1f10964a8c22014b98de4f8d381..3aeeba4465a5ff551a56ac50e2303607
+ // Purpur end
+
if (t0 != null) {
worldserver.addAllEntities(t0, spawnReason);
worldserver.addFreshEntityWithPassengers(t0, spawnReason);
return !t0.isRemoved() ? t0 : null; // Don't return an entity when CreatureSpawnEvent is canceled

View File

@@ -5,26 +5,26 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef140c3f96ed 100644
index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231b7d74db7 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -259,6 +259,7 @@ public class ServerPlayer extends Player {
@@ -253,6 +253,7 @@ public class ServerPlayer extends Player {
// CraftBukkit end
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public boolean purpurClient = false; // Purpur
+ public boolean acceptingResourcePack = false; // Purpur
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
@@ -335,6 +336,7 @@ public class ServerPlayer extends Player {
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
@@ -328,6 +329,7 @@ public class ServerPlayer extends Player {
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
}
// Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) {
@@ -976,6 +978,12 @@ public class ServerPlayer extends Player {
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
@@ -987,6 +989,12 @@ public class ServerPlayer extends Player {
}
@@ -37,7 +37,7 @@ index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef14
@Override
public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) {
@@ -983,7 +991,7 @@ public class ServerPlayer extends Player {
@@ -994,7 +1002,7 @@ public class ServerPlayer extends Player {
} else {
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
@@ -46,7 +46,7 @@ index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef14
return false;
} else {
if (source instanceof EntityDamageSource) {
@@ -1158,6 +1166,7 @@ public class ServerPlayer extends Player {
@@ -1167,6 +1175,7 @@ public class ServerPlayer extends Player {
}
// Paper end
@@ -54,7 +54,7 @@ index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef14
return this;
}
}
@@ -1943,6 +1952,7 @@ public class ServerPlayer extends Player {
@@ -1929,6 +1938,7 @@ public class ServerPlayer extends Player {
}
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
@@ -62,7 +62,7 @@ index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef14
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
}
@@ -2449,9 +2459,17 @@ public class ServerPlayer extends Player {
@@ -2438,9 +2448,17 @@ public class ServerPlayer extends Player {
@Override
public boolean isImmobile() {
@@ -82,10 +82,10 @@ index f819cc4f5e6e2d5c820a840fa76226ea381b96d6..7368e7df44c95aa5daa84e617d13ef14
public Scoreboard getScoreboard() {
return this.getBukkitEntity().getScoreboard().getHandle();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 5c15deee4105df67716edb117ecf0ac0ba978e39..b836820ce38bbb9b0594c4cedcf716b4cf85485f 100644
index 49a769dc5d38cfc29fe824c7f94917f5597cdbca..479acafb1f8759f3097ee425e26f645c0027ea14 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1940,12 +1940,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1874,12 +1874,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
@@ -108,10 +108,10 @@ index 5c15deee4105df67716edb117ecf0ac0ba978e39..b836820ce38bbb9b0594c4cedcf716b4
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
// Paper end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b0ff18e420d064db81f4e8f3a383e1d208abf783..8e4c01a9b8994c3467bbb64661d457ce64ba3a6b 100644
index 50bdaf7edc14f6de7ed5562df9d6ed424a022f80..c597f76d04eca83264b992c670d0142dbd39c3aa 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -998,6 +998,8 @@ public abstract class PlayerList {
@@ -991,6 +991,8 @@ public abstract class PlayerList {
}
// Paper end
@@ -143,10 +143,10 @@ index 996171e7271e62e72c0b2b213c21caf53c815e97..8e9ba3a8582c8e5d1e14bf3bfa8ecfce
public boolean babiesAreRidable = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index bd68d2509fe08955eaab08a73924d6d58064c2b7..e72e2ec797526772dc9c490739f5b45e4d135c89 100644
index 5262508601274de1106300f8a90518205814b273..55d101ee664babbcaf02f8801e5522c1156c3cdb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2603,5 +2603,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2546,5 +2546,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,15 +5,14 @@ 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 b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84c0368f34 100644
index b40377e882d9cc3571f527e706862e27c59b1fd0..d380267df31de55430db11c5f9bc6ff426cff8eb 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;
@@ -2,7 +2,11 @@ package net.minecraft.world.inventory;
import java.util.Iterator;
import java.util.Map;
+import net.minecraft.nbt.IntTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
+import net.minecraft.network.protocol.game.ClientboundContainerSetDataPacket;
+import net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket;
@@ -21,7 +20,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.Tag;
import net.minecraft.world.entity.player.Inventory;
@@ -42,6 +46,8 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -41,6 +45,8 @@ public class AnvilMenu extends ItemCombinerMenu {
public int maximumRepairCost = 40;
private CraftInventoryView bukkitEntity;
// CraftBukkit end
@@ -30,12 +29,12 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
public AnvilMenu(int syncId, Inventory inventory) {
this(syncId, inventory, ContainerLevelAccess.NULL);
@@ -60,12 +66,14 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -59,12 +65,14 @@ public class AnvilMenu extends ItemCombinerMenu {
@Override
protected boolean mayPickup(Player player, boolean present) {
- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() >= 0; // Paper - fix anvil prepare event not working with 0 xp
+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() >= 0); // Paper - fix anvil prepare event not working with 0 xp // Purpur
- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() > 0;
+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() > 0); // Purpur
}
@Override
@@ -46,7 +45,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
player.giveExperienceLevels(-this.cost.get());
}
@@ -116,6 +124,12 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -115,6 +123,12 @@ public class AnvilMenu extends ItemCombinerMenu {
@Override
public void createResult() {
@@ -59,7 +58,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
ItemStack itemstack = this.inputSlots.getItem(0);
this.cost.set(1);
@@ -192,7 +206,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -191,7 +205,7 @@ public class AnvilMenu extends ItemCombinerMenu {
int i2 = (Integer) map1.get(enchantment);
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
@@ -68,7 +67,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
flag3 = true;
@@ -204,7 +218,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -203,7 +217,7 @@ public class AnvilMenu extends ItemCombinerMenu {
Enchantment enchantment1 = (Enchantment) iterator1.next();
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
@@ -77,7 +76,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
++i;
}
}
@@ -275,6 +289,13 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -274,6 +288,13 @@ public class AnvilMenu extends ItemCombinerMenu {
this.cost.set(this.maximumRepairCost - 1); // CraftBukkit
}
@@ -91,7 +90,7 @@ index b62c6b56867b645520cb3c3e382ec96d421e7e97..ca8dd8b7f7bf8826472f11cb9472cf84
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
sendAllDataToRemote(); // CraftBukkit - SPIGOT-6686: Always send completed inventory to stay in sync with client
this.broadcastChanges();