mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-24 01:19:25 +00:00
Updated Upstream (Gale/Purpur)
This commit is contained in:
@@ -2,7 +2,7 @@ group = cn.dreeam.leaf
|
||||
mcVersion = 1.20.6
|
||||
version = 1.20.6-R0.1-SNAPSHOT
|
||||
|
||||
galeCommit = 8a47f583dfe7bf9f4ae448c572ccbacdeccdaad8
|
||||
galeCommit = 4ddda03524476d9a6e925241c288edab709e973d
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-rc-1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-rc-2-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: 1bbb0334799623b7d50beb920f35bd5f591471d1
|
||||
Commit: 2842b97ddf051139e4f76b54ec1731e73e0140ba
|
||||
|
||||
Patches below are removed in this patch:
|
||||
Pufferfish-API-Changes.patch
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur generated-api Changes
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: 1bbb0334799623b7d50beb920f35bd5f591471d1
|
||||
Commit: 2842b97ddf051139e4f76b54ec1731e73e0140ba
|
||||
|
||||
diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java
|
||||
index 43f4deacef349502cbb207aafc4f9cb7a75177c5..6b692c24a62e2172116a6b9c371b1c0e2411c27e 100644
|
||||
|
||||
@@ -44,10 +44,10 @@ index d27be346b91f390e06702d654058cab4d3f39b8c..e3fdd0677b3029be0ddc5f59489f66e2
|
||||
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
||||
entity.discard();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 5613659b44f83d07a253882e227ee1e604695417..9a87e5cb9708dc0879e4fd70d7cecbfea50c730e 100644
|
||||
index f30b3aba1ee92aa6cb5425862502b0fdfe6e9768..16993e38aeb0748e298f9b0a91d0e8bc722066a6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -427,6 +427,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -426,6 +426,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
private UUID originWorld;
|
||||
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||
public boolean fixedPose = false; // Paper - Expand Pose API
|
||||
@@ -69,7 +69,7 @@ index a46bf73c608641bf1f00fd55242de71a0f2ee06e..58298a1f85f462abc4f07deffe913abb
|
||||
private String descriptionId;
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index e0e7c35fa9c9395eec5b4504e250ee2d58f98e30..c9240785d65227b33f2b1cce28cb3de9d854ad8b 100644
|
||||
index 2d91941eb780de588202113700f68cca853eb62b..1eb7d8ac91e0799c012fabb503558ae9da69ac72 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -242,10 +242,10 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
|
||||
@@ -198,7 +198,7 @@ index 53dbe9d296a89d23b19f2551b20b464731ee800e..40dad395aabb04c21ac26fadce823ce8
|
||||
TadpoleAi.updateActivity(this);
|
||||
super.customServerAiStep();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 55d2144af223a2813b784e6e249fe94f610ef079..1bf1e2714f210188202a97219765428f9cf2c956 100644
|
||||
index a6b6dd1715f7cb278b66381cbb0dd9d7069ce6ed..79ef4a1a4f4d404121087e2e6bcc3855556a88db 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -190,8 +190,10 @@ public class Goat extends Animal {
|
||||
|
||||
@@ -7,10 +7,10 @@ Original license: GPL v3
|
||||
Original project: https://github.com/pufferfish-gg/Pufferfish
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 9a87e5cb9708dc0879e4fd70d7cecbfea50c730e..66857a4f55c2505228f015764930e3309db3c20a 100644
|
||||
index 16993e38aeb0748e298f9b0a91d0e8bc722066a6..1ea7d87ce569af8c693c63f33f5479bd20f41bf4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -868,6 +868,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -867,6 +867,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public void tick() {
|
||||
|
||||
@@ -8,7 +8,7 @@ TODO - Dreeam: Check TODOs in ServerGamePacketListenerImpl & Fix-pufferfish-issu
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: 1bbb0334799623b7d50beb920f35bd5f591471d1
|
||||
Commit: 2842b97ddf051139e4f76b54ec1731e73e0140ba
|
||||
|
||||
Patches below are removed in this patch:
|
||||
Metrics changes in Purpur-config-files.patch
|
||||
@@ -828,7 +828,7 @@ index e3c6e5cf297d32c62bc6bb9f8682a665e98470a1..2d3f733c70ff63f7d0d272b205496ad1
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/commands/EnchantCommand.java b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
index 84f1ba6275f04624f46ccd772924b5e075e7b205..bfb455fb74f0a9645212f90acb54f68d1c7d9772 100644
|
||||
index 84f1ba6275f04624f46ccd772924b5e075e7b205..5178d120e6bb5774e073fdabad0b4668b0de36c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
+++ b/src/main/java/net/minecraft/server/commands/EnchantCommand.java
|
||||
@@ -70,7 +70,7 @@ public class EnchantCommand {
|
||||
@@ -845,7 +845,7 @@ index 84f1ba6275f04624f46ccd772924b5e075e7b205..bfb455fb74f0a9645212f90acb54f68d
|
||||
if (!itemStack.isEmpty()) {
|
||||
if (enchantment2.canEnchant(itemStack)
|
||||
- && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(itemStack).keySet(), enchantment2)) {
|
||||
+ && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(itemStack).keySet(), enchantment2) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur
|
||||
+ && EnchantmentHelper.isEnchantmentCompatible(EnchantmentHelper.getEnchantmentsForCrafting(itemStack).keySet(), enchantment2) || (org.purpurmc.purpur.PurpurConfig.allowUnsafeEnchantCommand && !itemStack.hasEnchantment(enchantment2))) { // Purpur
|
||||
itemStack.enchant(enchantment2, level);
|
||||
i++;
|
||||
} else if (targets.size() == 1) {
|
||||
@@ -1102,7 +1102,7 @@ index 759062d219ff490a3cb19e710c4d18e3e08288e0..8f74c2ec5252b6265549589310d74233
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index db3c9d0d1428549ca6955120661cae38e40f7f8a..f1e4ed6f62472737a534fc457aa483d0725e92e3 100644
|
||||
index 73f7d1af9ec545535d980afaa0ed11bb7e82f2b4..cb2683c7e090a8d040b581bc95a0505998f17f43 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -77,7 +77,7 @@ public class ServerEntity {
|
||||
@@ -1300,7 +1300,7 @@ index e3fdd0677b3029be0ddc5f59489f66e28f5c2853..b9d9ef327753272a537bebccc54d9fbc
|
||||
}
|
||||
// Paper end - Fix merchant inventory not closing on entity removal
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b5222917f066323 100644
|
||||
index 9be1ba758cc3cac54501c39c05ea057dedeae610..fd3f177012d82fe774069b4c53f7efef3e9b991f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -299,6 +299,10 @@ public class ServerPlayer extends Player {
|
||||
@@ -1314,7 +1314,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
|
||||
// Paper start - replace player chunk loader
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
@@ -609,6 +613,9 @@ public class ServerPlayer extends Player {
|
||||
@@ -610,6 +614,9 @@ public class ServerPlayer extends Player {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1324,7 +1324,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -685,6 +692,9 @@ public class ServerPlayer extends Player {
|
||||
@@ -686,6 +693,9 @@ public class ServerPlayer extends Player {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1334,7 +1334,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -814,6 +824,15 @@ public class ServerPlayer extends Player {
|
||||
@@ -815,6 +825,15 @@ public class ServerPlayer extends Player {
|
||||
this.trackEnteredOrExitedLavaOnVehicle();
|
||||
this.updatePlayerAttributes();
|
||||
this.advancements.flushDirty(this);
|
||||
@@ -1350,7 +1350,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
}
|
||||
|
||||
private void updatePlayerAttributes() {
|
||||
@@ -1077,6 +1096,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1078,6 +1097,7 @@ public class ServerPlayer extends Player {
|
||||
}));
|
||||
PlayerTeam scoreboardteam = this.getTeam();
|
||||
|
||||
@@ -1358,7 +1358,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
if (scoreboardteam != null && scoreboardteam.getDeathMessageVisibility() != Team.Visibility.ALWAYS) {
|
||||
if (scoreboardteam.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
||||
this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent);
|
||||
@@ -1180,6 +1200,16 @@ public class ServerPlayer extends Player {
|
||||
@@ -1181,6 +1201,16 @@ public class ServerPlayer extends Player {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -1375,7 +1375,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
|
||||
|
||||
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
@@ -1323,6 +1353,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1324,6 +1354,7 @@ public class ServerPlayer extends Player {
|
||||
playerlist.sendPlayerPermissionLevel(this);
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
@@ -1383,7 +1383,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
|
||||
// CraftBukkit end
|
||||
this.setServerLevel(worldserver);
|
||||
@@ -1478,7 +1509,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1479,7 +1510,7 @@ public class ServerPlayer extends Player {
|
||||
return entitymonster.isPreventingPlayerRest(this);
|
||||
});
|
||||
|
||||
@@ -1392,7 +1392,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
return Either.left(Player.BedSleepingProblem.NOT_SAFE);
|
||||
}
|
||||
}
|
||||
@@ -1518,7 +1549,19 @@ public class ServerPlayer extends Player {
|
||||
@@ -1519,7 +1550,19 @@ public class ServerPlayer extends Player {
|
||||
});
|
||||
|
||||
if (!this.serverLevel().canSleepThroughNights()) {
|
||||
@@ -1413,7 +1413,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
}
|
||||
|
||||
((ServerLevel) this.level()).updateSleepingPlayerList();
|
||||
@@ -1640,6 +1683,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1641,6 +1684,7 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public void openTextEdit(SignBlockEntity sign, boolean front) {
|
||||
@@ -1421,7 +1421,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level(), sign.getBlockPos()));
|
||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos(), front));
|
||||
}
|
||||
@@ -1974,6 +2018,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -1975,6 +2019,26 @@ public class ServerPlayer extends Player {
|
||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||
}
|
||||
|
||||
@@ -1448,7 +1448,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
@Override
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
@@ -2299,8 +2363,68 @@ public class ServerPlayer extends Player {
|
||||
@@ -2300,8 +2364,68 @@ public class ServerPlayer extends Player {
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -1517,7 +1517,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
public ServerStatsCounter getStats() {
|
||||
return this.stats;
|
||||
}
|
||||
@@ -2874,4 +2998,50 @@ public class ServerPlayer extends Player {
|
||||
@@ -2875,4 +2999,50 @@ public class ServerPlayer extends Player {
|
||||
return (CraftPlayer) super.getBukkitEntity();
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -1569,7 +1569,7 @@ index 54eabdbe28ef05a9f29d692c0e0bb998859825cb..89200d0e0ff60514d22c1cde4b522291
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 5cedce1f432f6b809b25269242a16477682c824f..6d194797d8fe2cd6e5652d596f4bc66ffc3b6375 100644
|
||||
index 1047027610624c9ba4bb5afd5d7f0714a062b198..7424246750d6ceca1acd5d9ebfd48f0d66504c5d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -400,6 +400,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -1643,7 +1643,7 @@ index c3a1969e7d3e42b2f0fd0dd0a3d6a5f1dc9b1a1e..bc14f7ae7c5d3dab3a3fc1ce56c975c3
|
||||
try {
|
||||
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 5c1e1ffcd63ab01ddea88acfc2744411f882dc24..c53e01260b4ca6f637b3d55798cda4cab822b5fe 100644
|
||||
index 0228be9bce81e688e739b3e9e625783bf135ea75..2d9495b94a03f0d31eb1c4c728834b4dcd909a73 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -336,6 +336,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2256,7 +2256,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb0943e8d996 100644
|
||||
index 1ea7d87ce569af8c693c63f33f5479bd20f41bf4..b96be9429a43439e27558d6f945d7c11fffa6b73 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -163,7 +163,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -2268,7 +2268,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
// CraftBukkit start
|
||||
private static final int CURRENT_LEVEL = 2;
|
||||
public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first setPositionRotation
|
||||
@@ -341,6 +341,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -340,6 +340,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public double xOld;
|
||||
public double yOld;
|
||||
public double zOld;
|
||||
@@ -2276,7 +2276,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
public boolean noPhysics;
|
||||
public final RandomSource random;
|
||||
public int tickCount;
|
||||
@@ -382,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -381,7 +382,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -2285,7 +2285,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -429,6 +430,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -428,6 +429,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public boolean fixedPose = false; // Paper - Expand Pose API
|
||||
public boolean activatedPriorityReset = false; // Pufferfish - DAB
|
||||
public int activatedPriority = org.dreeam.leaf.config.modules.opt.DynamicActivationofBrain.maximumActivationPrio; // Pufferfish - DAB (golf score)
|
||||
@@ -2293,7 +2293,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -561,6 +563,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -560,6 +562,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2319,7 +2319,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
public final boolean hardCollides() {
|
||||
return this.hardCollides;
|
||||
}
|
||||
@@ -581,7 +602,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -580,7 +601,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.bb = Entity.INITIAL_AABB;
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
this.nextStep = 1.0F;
|
||||
@@ -2328,7 +2328,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
this.remainingFireTicks = -this.getFireImmuneTicks();
|
||||
this.fluidHeight = new Object2DoubleArrayMap(2);
|
||||
this.fluidOnEyes = new HashSet();
|
||||
@@ -961,10 +982,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -960,10 +981,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
|
||||
public void checkBelowWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -2341,7 +2341,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
this.onBelowWorld();
|
||||
}
|
||||
|
||||
@@ -1879,7 +1901,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1878,7 +1900,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public boolean fireImmune() {
|
||||
@@ -2350,7 +2350,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
}
|
||||
|
||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||
@@ -1952,7 +1974,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -1951,7 +1973,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
@@ -2359,7 +2359,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
Entity entity = this.getVehicle();
|
||||
|
||||
if (entity instanceof Boat entityboat) {
|
||||
@@ -2584,6 +2606,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2583,6 +2605,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
||||
}
|
||||
// Paper end
|
||||
@@ -2371,7 +2371,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2731,6 +2758,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2730,6 +2757,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
||||
}
|
||||
// Paper end
|
||||
@@ -2383,7 +2383,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||
@@ -3115,6 +3147,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3114,6 +3146,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -2397,7 +2397,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
||||
}
|
||||
}
|
||||
@@ -3154,6 +3193,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3153,6 +3192,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return false;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -2412,7 +2412,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -3232,12 +3279,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3231,12 +3278,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
@@ -2429,7 +2429,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
}
|
||||
|
||||
this.isInsidePortal = true;
|
||||
@@ -3462,7 +3512,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3461,7 +3511,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
@@ -2438,7 +2438,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
}
|
||||
|
||||
public int getAirSupply() {
|
||||
@@ -3929,7 +3979,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -3928,7 +3978,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
@@ -2447,7 +2447,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
}
|
||||
|
||||
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
|
||||
@@ -4230,6 +4280,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4229,6 +4279,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
@@ -2468,7 +2468,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
@Override
|
||||
public void sendSystemMessage(Component message) {}
|
||||
|
||||
@@ -4517,6 +4581,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4516,6 +4580,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -2481,7 +2481,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
if (false && this.touchingUnloadedChunk()) { // Gale - Airplane - reduce entity fluid lookups if no fluids - cost of a lookup here is the same cost as below, so skip
|
||||
return false;
|
||||
@@ -4925,7 +4995,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -4924,7 +4994,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
public float maxUpStep() {
|
||||
@@ -2490,7 +2490,7 @@ index 66857a4f55c2505228f015764930e3309db3c20a..a1fae61c8d238b06915037eacec2cb09
|
||||
}
|
||||
|
||||
public void onExplosionHit(@Nullable Entity entity) {}
|
||||
@@ -5097,4 +5167,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -5096,4 +5166,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end - Expose entity id counter
|
||||
@@ -2649,10 +2649,10 @@ index a207a31d80a302dbdfe80f8727222542d3a78da2..f5debc8ddc496cd3e2d8b253511ee5cc
|
||||
public int getValue() {
|
||||
return this.value;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..3e2ea26c23e88c395856b65001f2895db6a52bd4 100644
|
||||
index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..b69d924fa8034eabbf4aab8d3434f4f4e2529373 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -23,6 +23,39 @@ public class GlowSquid extends Squid {
|
||||
@@ -23,6 +23,38 @@ public class GlowSquid extends Squid {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -2662,7 +2662,6 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..3e2ea26c23e88c395856b65001f2895d
|
||||
+ return level().purpurConfig.glowSquidRidable;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isControllable() {
|
||||
+ return level().purpurConfig.glowSquidControllable;
|
||||
@@ -2693,7 +2692,7 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..3e2ea26c23e88c395856b65001f2895d
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 7c7e9f40b1d46b1780f55e1cfbf89b6dbd82f2ae..d06c5d16d312187b6a53c8995d524c0ec2d9f921 100644
|
||||
index 337ad7a9e7a49f5fc8d89187168347ee84ff3e01..335de9b1272eab2428a45de35f820f93d0dbc314 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -228,9 +228,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3018,7 +3017,7 @@ index 7c7e9f40b1d46b1780f55e1cfbf89b6dbd82f2ae..d06c5d16d312187b6a53c8995d524c0e
|
||||
|
||||
this.gameEvent(GameEvent.ELYTRA_GLIDE);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 54cc3b7baa0988972151319245e0ff89151efa5e..1f787798b6d557a2379546f9a4910a7e7a12b178 100644
|
||||
index b8862f6535ad688a0caf8cb31d0d52b2dd3015b1..3a9ab3be32524b4e84588880a4055786410fdd0f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -74,6 +74,7 @@ import net.minecraft.world.item.SpawnEggItem;
|
||||
@@ -4357,7 +4356,7 @@ index 824e5e4fe7619ae46061c3c978c9a044db8c84ab..f0b6118a9995bb41836685bbf94d2e7f
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 5a7b1be351834a6b8889b1380cede1be025cb302..1691a98caabf27ea092a9b422649ac84bc0a7235 100644
|
||||
index e336934f37075a827843e4b1bb2b6b660d2c60c9..4541e72bc93b19df6aecc781b4e381a7224aa4a7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
|
||||
@@ -4468,16 +4467,16 @@ index 5a7b1be351834a6b8889b1380cede1be025cb302..1691a98caabf27ea092a9b422649ac84
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (itemstack.is(Items.BUCKET) && !this.isBaby()) {
|
||||
@@ -101,7 +152,7 @@ public class Cow extends Animal {
|
||||
PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level(), player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET, hand);
|
||||
@@ -102,7 +153,7 @@ public class Cow extends Animal {
|
||||
|
||||
if (event.isCancelled()) {
|
||||
player.containerMenu.sendAllDataToRemote(); // Paper - Fix inventory desync
|
||||
- return InteractionResult.PASS;
|
||||
+ return tryRide(player, hand); // Purpur
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -110,6 +161,10 @@ public class Cow extends Animal {
|
||||
@@ -111,6 +162,10 @@ public class Cow extends Animal {
|
||||
|
||||
player.setItemInHand(hand, itemstack1);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -4488,7 +4487,7 @@ index 5a7b1be351834a6b8889b1380cede1be025cb302..1691a98caabf27ea092a9b422649ac84
|
||||
} else {
|
||||
return super.mobInteract(player, hand);
|
||||
}
|
||||
@@ -125,4 +180,69 @@ public class Cow extends Animal {
|
||||
@@ -126,4 +181,69 @@ public class Cow extends Animal {
|
||||
public EntityDimensions getDefaultDimensions(Pose pose) {
|
||||
return this.isBaby() ? Cow.BABY_DIMENSIONS : super.getDefaultDimensions(pose);
|
||||
}
|
||||
@@ -7028,7 +7027,7 @@ index 40dad395aabb04c21ac26fadce823ce8b4f79b3a..e6861fd5f9817ec54294976f0e93952b
|
||||
TadpoleAi.updateActivity(this);
|
||||
super.customServerAiStep();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 1bf1e2714f210188202a97219765428f9cf2c956..65d01a9c1b2d66446eb08a4a2bcdbe8284ce9e43 100644
|
||||
index 79ef4a1a4f4d404121087e2e6bcc3855556a88db..47edb3ee02eeb0e2e6a2d817ab8193dc26cd2bec 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -91,6 +91,38 @@ public class Goat extends Animal {
|
||||
@@ -7079,7 +7078,7 @@ index 1bf1e2714f210188202a97219765428f9cf2c956..65d01a9c1b2d66446eb08a4a2bcdbe82
|
||||
this.getBrain().tick((ServerLevel) this.level(), this);
|
||||
GoatAi.updateActivity(this);
|
||||
super.customServerAiStep();
|
||||
@@ -392,6 +424,7 @@ public class Goat extends Animal {
|
||||
@@ -393,6 +425,7 @@ public class Goat extends Animal {
|
||||
|
||||
// Paper start - Goat ram API
|
||||
public void ram(net.minecraft.world.entity.LivingEntity entity) {
|
||||
@@ -13630,10 +13629,10 @@ index 786e4a8700cb84b16dd9b8892a0d1d5803924d81..b108ca4c7900ccf6a14ebea01c21c103
|
||||
// CraftBukkit start
|
||||
Level world = pointer.level();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ArmorStandItem.java b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
|
||||
index 1634a7d5ff06583408cf2f02f2b5f90931b1e02a..fd83261f64c6469aebde8ab13a6777b9b269cea2 100644
|
||||
index 066a6e5ed2632a55324ec0d10f2f8a6bf3f30a0f..1921ecf2c0a9f18c93d207692fb9c2db58c9358f 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ArmorStandItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ArmorStandItem.java
|
||||
@@ -58,6 +58,14 @@ public class ArmorStandItem extends Item {
|
||||
@@ -59,6 +59,14 @@ public class ArmorStandItem extends Item {
|
||||
return InteractionResult.FAIL;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -13863,7 +13862,7 @@ index 4ebd634cff286b10868e26eeb3ecf34abdcab22e..7dc811335caa46870d1d895899a1e6c2
|
||||
com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) user.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Projectile) entityegg.getBukkitEntity());
|
||||
if (event.callEvent() && world.addFreshEntity(entityegg)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/item/EndCrystalItem.java b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
|
||||
index ded33fd166cbb95917f7e321875acc4222caff46..da43fd53a5c44cc0ed7d1fa5297b77c43a894fc5 100644
|
||||
index 50312825fade96ccc8c1231ca1eaf6c36d892746..ba33679991bed0c53adf17f173675380bdf1f755 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/EndCrystalItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
|
||||
@@ -27,7 +27,7 @@ public class EndCrystalItem extends Item {
|
||||
@@ -13933,23 +13932,23 @@ index 530167ce8e5bb72a418f8ec61411e38a5892fd72..35dc7546793dba34bf6debad3f214f61
|
||||
|
||||
if (((HangingEntity) object).survives()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/item/HoeItem.java b/src/main/java/net/minecraft/world/item/HoeItem.java
|
||||
index 06497b5141e611cc7a1b6030a7b9c54b5c4eda06..28df1b3230762e52b5458ac93a85c9a5d41eb6a6 100644
|
||||
index 06497b5141e611cc7a1b6030a7b9c54b5c4eda06..6251c6226c59763b27b79e541b7e7089ea804ff8 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/HoeItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/HoeItem.java
|
||||
@@ -46,15 +46,23 @@ public class HoeItem extends DiggerItem {
|
||||
@@ -46,15 +46,25 @@ public class HoeItem extends DiggerItem {
|
||||
public InteractionResult useOn(UseOnContext context) {
|
||||
Level level = context.getLevel();
|
||||
BlockPos blockPos = context.getClickedPos();
|
||||
- Pair<Predicate<UseOnContext>, Consumer<UseOnContext>> pair = TILLABLES.get(level.getBlockState(blockPos).getBlock());
|
||||
- if (pair == null) {
|
||||
- return InteractionResult.PASS;
|
||||
- } else {
|
||||
- Predicate<UseOnContext> predicate = pair.getFirst();
|
||||
- Consumer<UseOnContext> consumer = pair.getSecond();
|
||||
+ // Purpur start
|
||||
+ Block clickedBlock = level.getBlockState(blockPos).getBlock();
|
||||
+ var tillable = level.purpurConfig.hoeTillables.get(clickedBlock);
|
||||
+ if (tillable == null) { return InteractionResult.PASS; } else {
|
||||
+ if (tillable == null) {
|
||||
return InteractionResult.PASS;
|
||||
} else {
|
||||
- Predicate<UseOnContext> predicate = pair.getFirst();
|
||||
- Consumer<UseOnContext> consumer = pair.getSecond();
|
||||
+ Predicate<UseOnContext> predicate = tillable.condition().predicate();
|
||||
+ Consumer<UseOnContext> consumer = (ctx) -> {
|
||||
+ level.setBlock(blockPos, tillable.into().defaultBlockState(), 11);
|
||||
@@ -13967,7 +13966,7 @@ index 06497b5141e611cc7a1b6030a7b9c54b5c4eda06..28df1b3230762e52b5458ac93a85c9a5
|
||||
if (!level.isClientSide) {
|
||||
consumer.accept(context);
|
||||
if (player != null) {
|
||||
@@ -62,7 +70,7 @@ public class HoeItem extends DiggerItem {
|
||||
@@ -62,7 +72,7 @@ public class HoeItem extends DiggerItem {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13977,18 +13976,18 @@ index 06497b5141e611cc7a1b6030a7b9c54b5c4eda06..28df1b3230762e52b5458ac93a85c9a5
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0d04028f1 100644
|
||||
index 5bb861930d2e81d48d33121100d797ebca4394ea..b65671c7c3f507c7b3c9baf62e267c4ef6ca23f5 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -475,6 +475,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
|
||||
@@ -476,6 +476,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
world.isBlockPlaceCancelled = true; // Paper - prevent calling cleanup logic when undoing a block place upon a cancelled BlockPlaceEvent
|
||||
for (BlockState blockstate : blocks) {
|
||||
blockstate.update(true, false);
|
||||
+ ((CraftBlock) blockstate.getBlock()).getNMS().getBlock().forgetPlacer(); // Purpur
|
||||
}
|
||||
world.isBlockPlaceCancelled = false; // Paper - prevent calling cleanup logic when undoing a block place upon a cancelled BlockPlaceEvent
|
||||
world.preventPoiUpdated = false;
|
||||
|
||||
@@ -506,6 +507,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -508,6 +509,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
|
||||
block.onPlace(world, newblockposition, oldBlock, true, context); // Paper - pass context
|
||||
}
|
||||
@@ -13996,7 +13995,7 @@ index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0
|
||||
|
||||
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
|
||||
}
|
||||
@@ -636,6 +638,16 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -638,6 +640,16 @@ public final class ItemStack implements DataComponentHolder {
|
||||
return this.isDamageableItem() && this.getDamageValue() > 0;
|
||||
}
|
||||
|
||||
@@ -14013,7 +14012,7 @@ index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0
|
||||
public int getDamageValue() {
|
||||
return Mth.clamp((Integer) this.getOrDefault(DataComponents.DAMAGE, 0), 0, this.getMaxDamage());
|
||||
}
|
||||
@@ -653,7 +665,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -655,7 +667,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||
int j;
|
||||
|
||||
if (amount > 0) {
|
||||
@@ -14022,7 +14021,7 @@ index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0
|
||||
int k = 0;
|
||||
|
||||
for (int l = 0; j > 0 && l < amount; ++l) {
|
||||
@@ -729,6 +741,12 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -731,6 +743,12 @@ public final class ItemStack implements DataComponentHolder {
|
||||
this.hurtAndBreak(amount, randomsource, entity, () -> { // Paper - Add EntityDamageItemEvent
|
||||
entity.broadcastBreakEvent(slot);
|
||||
Item item = this.getItem();
|
||||
@@ -14035,7 +14034,7 @@ index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0
|
||||
// CraftBukkit start - Check for item breaking
|
||||
if (this.count == 1 && entity instanceof net.minecraft.world.entity.player.Player) {
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((net.minecraft.world.entity.player.Player) entity, this);
|
||||
@@ -1210,6 +1228,16 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -1212,6 +1230,16 @@ public final class ItemStack implements DataComponentHolder {
|
||||
return !((ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY)).isEmpty();
|
||||
}
|
||||
|
||||
@@ -14053,7 +14052,7 @@ index 1856d56b2ef1f8839bf2526133b945be637ef062..ae3e1ebb26a04e744e5db3ebd68196e0
|
||||
return (ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index d00b59efb754594cf532f8598f4b6d3b29693232..42b322879629afb2d2fc64a215f010f5d5ce9e02 100644
|
||||
index d00b59efb754594cf532f8598f4b6d3b29693232..55f753668ccb769e2f7af50bda69c41b09238130 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -338,7 +338,7 @@ public class Items {
|
||||
@@ -14070,7 +14069,7 @@ index d00b59efb754594cf532f8598f4b6d3b29693232..42b322879629afb2d2fc64a215f010f5
|
||||
);
|
||||
public static final Item GLOW_BERRIES = registerItem(
|
||||
- "glow_berries", new ItemNameBlockItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES))
|
||||
+ "glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES)) // Purpur
|
||||
+ "glow_berries", new org.purpurmc.purpur.item.GlowBerryItem(Blocks.CAVE_VINES, new Item.Properties().food(Foods.GLOW_BERRIES)) // Purpur
|
||||
);
|
||||
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
|
||||
public static final Item SOUL_CAMPFIRE = registerBlock(
|
||||
@@ -14101,7 +14100,7 @@ index 0f83ae4b0d5f52ff9ccfff6bbcc31153d45bd619..d0751274e89042715cab8e9e72387042
|
||||
|
||||
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
|
||||
diff --git a/src/main/java/net/minecraft/world/item/MinecartItem.java b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
index 66074445d3908b9bb1c8d70e1e27d057720ec8e5..0fd4f2ab929df479360755a3f1e58a933ae59520 100644
|
||||
index d524fcc191cb95d6ec7f12ae7fceeb8077bb08fc..4b8cebb321eddc852b4ec7def7f51d781f67927b 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
@@ -120,8 +120,9 @@ public class MinecartItem extends Item {
|
||||
@@ -14116,7 +14115,7 @@ index 66074445d3908b9bb1c8d70e1e27d057720ec8e5..0fd4f2ab929df479360755a3f1e58a93
|
||||
ItemStack itemstack = context.getItemInHand();
|
||||
|
||||
if (world instanceof ServerLevel) {
|
||||
@@ -146,6 +147,6 @@ public class MinecartItem extends Item {
|
||||
@@ -147,6 +148,6 @@ public class MinecartItem extends Item {
|
||||
|
||||
itemstack.shrink(1);
|
||||
return InteractionResult.sidedSuccess(world.isClientSide);
|
||||
@@ -14489,10 +14488,10 @@ index eb152f9ab41fc7b7219f9be26b574d61506c55d5..e9e0c91299b2669e0ff452176bf9758c
|
||||
Set<BlockPos> set = Sets.newHashSet();
|
||||
boolean flag = true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index ba2c1672a018dbd0a179e71f7166fb9df87782dd..45adf5a7c46ee4e3a06e62fbbb22548175359180 100644
|
||||
index c97b031c6beca995599642b26dcb888f4977ed5f..8be636ef55f8f2cb0ed1edad42156b742281b044 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -175,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
// Gale end - Gale configuration
|
||||
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
@@ -14500,7 +14499,7 @@ index ba2c1672a018dbd0a179e71f7166fb9df87782dd..45adf5a7c46ee4e3a06e62fbbb225481
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -185,6 +186,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -186,6 +187,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(this.random.nextLong()); // Gale - Pufferfish - move random tick random
|
||||
|
||||
@@ -14550,7 +14549,7 @@ index ba2c1672a018dbd0a179e71f7166fb9df87782dd..45adf5a7c46ee4e3a06e62fbbb225481
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -224,6 +268,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -225,6 +269,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
|
||||
this.galeConfig = galeWorldConfigCreator.apply(this.spigotConfig); // Gale - Gale configuration
|
||||
@@ -14559,7 +14558,7 @@ index ba2c1672a018dbd0a179e71f7166fb9df87782dd..45adf5a7c46ee4e3a06e62fbbb225481
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
@@ -1908,4 +1954,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1909,4 +1955,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return null;
|
||||
}
|
||||
// Paper end - optimize redstone (Alternate Current)
|
||||
@@ -16956,7 +16955,7 @@ index 9d93130f23addb18b97d7f5ec013faef17a74529..29d2fb87a65778926aea2cfc7a5b486c
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 32002eb8b7fd81ef1d0e2ca79292ccb1354b3b02..c10ad40f02009006552691642c057b328904f4b8 100644
|
||||
index 4cd21c40653dae6bb7ee145a67b5c849bd4f3093..14379b1d2e53abdc57edf2bcd25c3248463ab442 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -409,6 +409,20 @@ public final class CraftServer implements Server {
|
||||
@@ -17004,7 +17003,7 @@ index 32002eb8b7fd81ef1d0e2ca79292ccb1354b3b02..c10ad40f02009006552691642c057b32
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -1576,6 +1593,55 @@ public final class CraftServer implements Server {
|
||||
@@ -1577,6 +1594,55 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -17060,7 +17059,7 @@ index 32002eb8b7fd81ef1d0e2ca79292ccb1354b3b02..c10ad40f02009006552691642c057b32
|
||||
@Override
|
||||
public List<Recipe> getRecipesFor(ItemStack result) {
|
||||
Preconditions.checkArgument(result != null, "ItemStack cannot be null");
|
||||
@@ -3046,6 +3112,18 @@ public final class CraftServer implements Server {
|
||||
@@ -3047,6 +3113,18 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
// Gale end - Gale configuration - API
|
||||
|
||||
@@ -17079,7 +17078,7 @@ index 32002eb8b7fd81ef1d0e2ca79292ccb1354b3b02..c10ad40f02009006552691642c057b32
|
||||
@Override
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
@@ -3328,4 +3406,15 @@ public final class CraftServer implements Server {
|
||||
@@ -3329,4 +3407,15 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
// Gale end - YAPFA - last tick time - API
|
||||
|
||||
@@ -17476,7 +17475,7 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..5c1cda88080850314dac196dbe71ff12
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index aa351df679f300018367244c7ccb3e5a59e9276f..b452ebbe11145987fb5e66b39993898457322080 100644
|
||||
index 2d4e49f386be35ee8912c1bca38f74b8d8926f3a..9060380754e5553b1628f17402bcb80ba9042fae 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -505,7 +505,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -112,10 +112,10 @@ index b9d9ef327753272a537bebccc54d9fbc16ed3bdc..f8d11853af6bfc08d1bd8a0f537fd576
|
||||
j = this.levelData.getDayTime() + 24000L;
|
||||
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index a1fae61c8d238b06915037eacec2cb0943e8d996..47928af7b85543fe74ad7272286df4e8b1921426 100644
|
||||
index b96be9429a43439e27558d6f945d7c11fffa6b73..b152cf0c89e735470ea61b4bb0d88f3467f1a8d0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -568,13 +568,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -567,13 +567,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
|
||||
// Purpur start - copied from Mob
|
||||
@@ -148,7 +148,7 @@ index a1fae61c8d238b06915037eacec2cb0943e8d996..47928af7b85543fe74ad7272286df4e8
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -891,7 +907,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -890,7 +906,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public void tick() {
|
||||
// Pufferfish start - entity TTL
|
||||
if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
|
||||
@@ -158,7 +158,7 @@ index a1fae61c8d238b06915037eacec2cb0943e8d996..47928af7b85543fe74ad7272286df4e8
|
||||
}
|
||||
// Pufferfish end - entity TTL
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d06c5d16d312187b6a53c8995d524c0ec2d9f921..d55d869f0a389d58d001e59e26b1b5912b5c94a8 100644
|
||||
index 335de9b1272eab2428a45de35f820f93d0dbc314..d112423b368ccfd2041974aac0274564eefa6010 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1068,17 +1068,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -186,7 +186,7 @@ index d06c5d16d312187b6a53c8995d524c0ec2d9f921..d55d869f0a389d58d001e59e26b1b591
|
||||
// Purpur start
|
||||
if (entity instanceof LivingEntity entityliving) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 1f787798b6d557a2379546f9a4910a7e7a12b178..6264d70f45be0aaee26c0ed0478228ceb36614d0 100644
|
||||
index 3a9ab3be32524b4e84588880a4055786410fdd0f..e4c8a9571bccbdad7e4f369e50a79a1423b3d15e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -747,7 +747,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
|
||||
|
||||
@@ -1715,10 +1715,10 @@ index 85b4b24361e785acf75571ff98f924c00ae80748..ac67dd7a30616fe70f73426e332972b7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 45adf5a7c46ee4e3a06e62fbbb22548175359180..99a8f683bdd5c89db7caff161ef0d23b351cc7b4 100644
|
||||
index 8be636ef55f8f2cb0ed1edad42156b742281b044..e77db67592e13a06133cafb364f227686fcc336b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -176,7 +176,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -177,7 +177,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||
@@ -1726,7 +1726,7 @@ index 45adf5a7c46ee4e3a06e62fbbb22548175359180..99a8f683bdd5c89db7caff161ef0d23b
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
private org.spigotmc.TickLimiter tileLimiter;
|
||||
@@ -352,7 +351,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -353,7 +352,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {}
|
||||
});
|
||||
// CraftBukkit end
|
||||
@@ -1734,7 +1734,7 @@ index 45adf5a7c46ee4e3a06e62fbbb22548175359180..99a8f683bdd5c89db7caff161ef0d23b
|
||||
this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
|
||||
this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
|
||||
this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
@@ -1317,15 +1315,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1318,15 +1316,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
protected void tickBlockEntities() {
|
||||
@@ -1750,7 +1750,7 @@ index 45adf5a7c46ee4e3a06e62fbbb22548175359180..99a8f683bdd5c89db7caff161ef0d23b
|
||||
// Spigot start
|
||||
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
|
||||
boolean flag = this.tickRateManager().runsNormally();
|
||||
@@ -1354,9 +1349,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1355,9 +1350,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
|
||||
|
||||
@@ -1819,7 +1819,7 @@ index 8dc1436fe78759cee5247cc28e8a18999e738a1b..ce3cc2d4b8cdfae98c02e03f7290c611
|
||||
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
|
||||
public CraftPersistentDataContainer persistentDataContainer;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 35147d7a6649708c2b068065eb44831f40c3ab8e..1a2ef85cd8a62824b23f4212a5e2a70ce89e344f 100644
|
||||
index f2a1787ba10bcb67ad5a2a36165bac55ea7f0a3e..184b69dc39749734f8176d3f3c2bf9f690a099f0 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -792,7 +792,6 @@ public class LevelChunk extends ChunkAccess {
|
||||
@@ -1862,7 +1862,7 @@ index 35147d7a6649708c2b068065eb44831f40c3ab8e..1a2ef85cd8a62824b23f4212a5e2a70c
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index c10ad40f02009006552691642c057b328904f4b8..97890866386b382e131e624011ad16cce413a752 100644
|
||||
index 14379b1d2e53abdc57edf2bcd25c3248463ab442..a3e90368e1e34c08508a54fc8c279f12b2bf763e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -472,7 +472,6 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -9,10 +9,10 @@ Original project: https://github.com/LeavesMC/Leaves
|
||||
Commit: 87bfa2d2bbc597c8351ec8776b14c5a6166ed01c
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 47928af7b85543fe74ad7272286df4e8b1921426..638709c6393cb7f3ca4e3328b50ae8c0294953e1 100644
|
||||
index b152cf0c89e735470ea61b4bb0d88f3467f1a8d0..1da09a313f73c35be5b1b46da6b489a599f745f4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -431,6 +431,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -430,6 +430,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
public boolean activatedPriorityReset = false; // Pufferfish - DAB
|
||||
public int activatedPriority = org.dreeam.leaf.config.modules.opt.DynamicActivationofBrain.maximumActivationPrio; // Pufferfish - DAB (golf score)
|
||||
public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API
|
||||
@@ -20,7 +20,7 @@ index 47928af7b85543fe74ad7272286df4e8b1921426..638709c6393cb7f3ca4e3328b50ae8c0
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -2627,6 +2628,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2626,6 +2627,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
nbttagcompound.putBoolean("Purpur.FireImmune", immuneToFire);
|
||||
}
|
||||
// Purpur end
|
||||
@@ -28,7 +28,7 @@ index 47928af7b85543fe74ad7272286df4e8b1921426..638709c6393cb7f3ca4e3328b50ae8c0
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2779,6 +2781,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2778,6 +2780,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
immuneToFire = nbt.getBoolean("Purpur.FireImmune");
|
||||
}
|
||||
// Purpur end
|
||||
@@ -40,7 +40,7 @@ index 47928af7b85543fe74ad7272286df4e8b1921426..638709c6393cb7f3ca4e3328b50ae8c0
|
||||
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||
@@ -5223,4 +5230,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -5222,4 +5229,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return false;
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -75,10 +75,10 @@ index e7a1ce585c9e552e6f9ce9acd26fdfe5c43e0b5d..f9ae853fa762f103cfc6d7ad6f975ce0
|
||||
this.updateInWaterStateAndDoFluidPushing();
|
||||
if (this.isInLava()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 99a8f683bdd5c89db7caff161ef0d23b351cc7b4..04bef9b8d5551bc76f4be593b92f5bcf5521a4fd 100644
|
||||
index e77db67592e13a06133cafb364f227686fcc336b..968186bef3ff92cfdc23241d67233407b629263e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1562,12 +1562,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1563,12 +1563,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return this.getChunk(chunkX, chunkZ, ChunkStatus.FULL, false);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ Co-authored by: Martijn Muijsers <martijnmuijsers@live.nl>
|
||||
Co-authored by: MachineBreaker <machinebreaker>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 04bef9b8d5551bc76f4be593b92f5bcf5521a4fd..9342c3d4d9d1c5afadceb3a257734e6b4fa17504 100644
|
||||
index 968186bef3ff92cfdc23241d67233407b629263e..25e93a0a58b0ecf02f2669fc8f01ef2f2f938dc7 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -379,17 +379,19 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -380,17 +380,19 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
for (int i = 0, len = entities.size(); i < len; ++i) {
|
||||
Entity entity = entities.get(i);
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@ index 3102be6066b0a8065cc0c80b5c4a5d369dc35b72..7feb830447da1f487de66d1dba1c1d1f
|
||||
super.customServerAiStep();
|
||||
if ((this.tickCount + this.getId()) % 120 == 0) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
index b04f7ce0805453f6c737fa9dc11c4129ca64e934..7ee2e841b364928620f36bd65b39aab354f9051e 100644
|
||||
index e0aec3b3e04d603dc208029554f981c6b9e6b43e..8d45048622be6b85bf9f31badd71cd9364c41f0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
@@ -45,7 +45,7 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
@@ -206,7 +206,7 @@ index b04f7ce0805453f6c737fa9dc11c4129ca64e934..7ee2e841b364928620f36bd65b39aab3
|
||||
}
|
||||
|
||||
public ChestBoat(Level world, double d0, double d1, double d2) {
|
||||
@@ -172,7 +172,7 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
@@ -170,7 +170,7 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
|
||||
@Override
|
||||
public int getContainerSize() {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-2025
|
||||
Mojang issues: https://bugs.mojang.com/browse/MC-2025
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 638709c6393cb7f3ca4e3328b50ae8c0294953e1..386fd36c56787966537df63337534c039e6858d0 100644
|
||||
index 1da09a313f73c35be5b1b46da6b489a599f745f4..a1af147bdf54a5001a8c65c97f309a2a4ec71567 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2629,6 +2629,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2628,6 +2628,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
}
|
||||
// Purpur end
|
||||
nbttagcompound.put("Leaves.Data", leavesData); // Leaves - leaves ex data
|
||||
@@ -26,7 +26,7 @@ index 638709c6393cb7f3ca4e3328b50ae8c0294953e1..386fd36c56787966537df63337534c03
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2706,6 +2716,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -2705,6 +2715,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
this.reapplyPosition();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Including 5s in getTPS()
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index a5a7a5fc506c0ca094f37d26b2b27192d09a0a66..6828fee616a77c9816851a29da1cee4921c11d5c 100644
|
||||
index 88bc9033981662e8ba62b833eac2a0301ab504da..15208e87f583f2670fa4b2ffcef2a6c774f2ef6f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3153,6 +3153,8 @@ public final class CraftServer implements Server {
|
||||
@@ -3154,6 +3154,8 @@ public final class CraftServer implements Server {
|
||||
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
|
||||
@@ -9,7 +9,7 @@ AFK command & command cooldown
|
||||
AFK title message
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index c0bd91b1cab7066f9582d2c734f61ee50e76098d..13d066f4d0c115445b807db22d365ad14926b734 100644
|
||||
index 00a9348b4585d9e69364e0d1ac88a59f43ebeee6..21f1b80794e2234c7fe34959ca03190617659bb0 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -250,6 +250,7 @@ public class Commands {
|
||||
@@ -21,10 +21,10 @@ index c0bd91b1cab7066f9582d2c734f61ee50e76098d..13d066f4d0c115445b807db22d365ad1
|
||||
org.purpurmc.purpur.command.DemoCommand.register(this.dispatcher); // Purpur
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 3bbb3b5444976c859d7f357aa4283947b45f3100..cc9f8e8f871b64028351e4d061b7f01d1b9ca0be 100644
|
||||
index 9b97d5ca67c0e53f318a54465708e21ae906e994..0e772d847d9a9b4000bcb9547f07663f17d9f2a4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2369,6 +2369,8 @@ public class ServerPlayer extends Player {
|
||||
@@ -2370,6 +2370,8 @@ public class ServerPlayer extends Player {
|
||||
|
||||
// Purpur Start
|
||||
private boolean isAfk = false;
|
||||
@@ -33,7 +33,7 @@ index 3bbb3b5444976c859d7f357aa4283947b45f3100..cc9f8e8f871b64028351e4d061b7f01d
|
||||
|
||||
@Override
|
||||
public void setAfk(boolean afk) {
|
||||
@@ -2406,6 +2408,9 @@ public class ServerPlayer extends Player {
|
||||
@@ -2407,6 +2409,9 @@ public class ServerPlayer extends Player {
|
||||
String prefix = (split.length > 0 ? split[0] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListPrefix, "");
|
||||
String suffix = (split.length > 1 ? split[1] : "").replace(org.purpurmc.purpur.PurpurConfig.afkTabListSuffix, "");
|
||||
if (afk) {
|
||||
@@ -44,7 +44,7 @@ index 3bbb3b5444976c859d7f357aa4283947b45f3100..cc9f8e8f871b64028351e4d061b7f01d
|
||||
} else {
|
||||
getBukkitEntity().setPlayerListName(prefix + scoreboardName + suffix, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index cc9c30b8555e0509162a82c4a01de9fc51ba59af..7830e21dce33ad389441227d728750606dcd3c56 100644
|
||||
index 01fe83e04ed8ce8d91dad5feffe164346fa8a13e..4300ba74bd91e3229c8721d4b2c160eaa9f8a456 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2254,8 +2254,34 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
@@ -205,7 +205,7 @@ index 927bdebdb8ae01613f0cea074b3367bd7ffe9ab1..652e471c85cc12e934958103f7ce203a
|
||||
|
||||
StructureSet.StructureSelectionEntry structureset_a1;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
|
||||
index a6b6e5ea191c0e2cd7a2e4f01b89d8af40a83c1b..6acf180e65e8a30e71e2c472ce34b63998e5a458 100644
|
||||
index 713fced29fbd819ee6f151c7f3e462f58a21d5e6..46bb51933ca8977a263872058e4bed071f622235 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
|
||||
@@ -39,6 +39,11 @@ import net.minecraft.world.level.levelgen.structure.placement.RandomSpreadStruct
|
||||
@@ -581,7 +581,7 @@ index 82b4bd669c57b18fb0b443bcd94495023cd5a528..2d336a8bb12e9e41b717caf883d39de1
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b56ba8d477a86dc983a2170f99fa29bb7472a081..1d84882a613fd3d602df0eccd27e1b0381aaadd4 100644
|
||||
index 15208e87f583f2670fa4b2ffcef2a6c774f2ef6f..4b00b6d66ebe578778e103335747183b9e44c94c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -266,6 +266,10 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot
|
||||
@@ -595,7 +595,7 @@ index b56ba8d477a86dc983a2170f99fa29bb7472a081..1d84882a613fd3d602df0eccd27e1b03
|
||||
public final class CraftServer implements Server {
|
||||
private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
|
||||
private final String serverVersion;
|
||||
@@ -1362,7 +1366,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1363,7 +1367,7 @@ public final class CraftServer implements Server {
|
||||
iregistrycustom_dimension = leveldataanddimensions.dimensions().dimensionsRegistryAccess();
|
||||
} else {
|
||||
LevelSettings worldsettings;
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
||||
Date: Thu, 9 May 2024 20:30:32 -0400
|
||||
Subject: [PATCH] Skip null banner pattern
|
||||
|
||||
Try to fix https://github.com/PaperMC/Paper/issues/10677
|
||||
And waiting https://github.com/PaperMC/Paper/pull/10740
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
|
||||
index 6a3b0c7f0cc3ffb17a231383ad103fa792d7b7ba..3286a2a485dab1fb35910ffa350b1d85fde3ad80 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBanner.java
|
||||
@@ -79,6 +79,7 @@ public class CraftMetaBanner extends CraftMetaItem implements BannerMeta {
|
||||
List<BannerPatternLayers.Layer> patterns = entityTag.layers();
|
||||
for (int i = 0; i < Math.min(patterns.size(), 20); i++) {
|
||||
BannerPatternLayers.Layer p = patterns.get(i);
|
||||
+ if (p.pattern() == null || p.pattern().value() == null) continue; // Leaf - Skip null banner pattern
|
||||
DyeColor color = DyeColor.getByWoolData((byte) p.color().getId());
|
||||
PatternType pattern = CraftPatternType.minecraftHolderToBukkit(p.pattern());
|
||||
|
||||
Reference in New Issue
Block a user