fix compilation errors

This commit is contained in:
granny
2025-01-12 18:41:47 -08:00
committed by granny
parent e529e5056a
commit 5f36af52aa
9 changed files with 56 additions and 55 deletions

View File

@@ -18,10 +18,10 @@ index 29d402620d2e1cbed94f941f933ae8eb5d786e7f..ec0998369158286fccb38c8e10c3cfa2
public boolean isLocalPlayer() {
return true;
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index baf7b92843d2536a8a6c3958ded0c84045c4a54a..1eeea8d9e44857537d4591cce4dfd944ad48e2b2 100644
index 6a8aa33bbfbf1cd5afcd40abede3176975e8fae9..2bd5a295be2500f198230a62f48900b51038d22b 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1734,6 +1734,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1744,6 +1744,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
serverLevel.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
serverLevel.updateLagCompensationTick(); // Paper - lag compensation
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = serverLevel.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
@@ -42,10 +42,10 @@ index 6f1cb7b9c01111eca0e0e253dddc1ad84b2aac15..8ad8e9879ada5f7b96a2600cd7a6692f
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 07786a459c46b79d06b55a248d609e6dd353071a..2c7bc52de6e7498e1056711d5671294efcf50438 100644
index 30f36d3beb477e3e37b4b2ca27cd84a58f1e1cc2..580818b9d2f992dd33b4831dbc612ba28c1bd725 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -845,6 +845,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -848,6 +848,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.trackEnteredOrExitedLavaOnVehicle();
this.updatePlayerAttributes();
this.advancements.flushDirty(this);
@@ -62,10 +62,10 @@ index 07786a459c46b79d06b55a248d609e6dd353071a..2c7bc52de6e7498e1056711d5671294e
private void updatePlayerAttributes() {
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 1c28e91e46d16a77da00f6fc06b9be1bd61ee5df..6f4d69a0c8a3ce91954ee61381dd2ad87510c11d 100644
index 4b1c9dc3f14973f9a1403d6cc407a31017f9a468..4dc6531bca6bd91d4f04e0559d21ce6ba07c05df 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2819,6 +2819,8 @@ public class ServerGamePacketListenerImpl
@@ -2828,6 +2828,8 @@ public class ServerGamePacketListenerImpl
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -75,10 +75,10 @@ index 1c28e91e46d16a77da00f6fc06b9be1bd61ee5df..6f4d69a0c8a3ce91954ee61381dd2ad8
if ((target instanceof Bucketable && target instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 04b14a3eaf74236d72ea9ea090ae53f692e4b9ab..d22350f58ad29700bdca54f4697110bf4639faf9 100644
index 51d240167f1079239cdc99a7262fc6bc0051f0b3..250676c904f6083edd06a2284307569cd76f0694 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -3136,6 +3136,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3156,6 +3156,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.passengers = ImmutableList.copyOf(list);
}
@@ -92,7 +92,7 @@ index 04b14a3eaf74236d72ea9ea090ae53f692e4b9ab..d22350f58ad29700bdca54f4697110bf
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
}
}
@@ -3177,6 +3184,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3197,6 +3204,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return false;
}
// CraftBukkit end
@@ -107,7 +107,7 @@ index 04b14a3eaf74236d72ea9ea090ae53f692e4b9ab..d22350f58ad29700bdca54f4697110bf
if (this.passengers.size() == 1 && this.passengers.get(0) == passenger) {
this.passengers = ImmutableList.of();
} else {
@@ -5100,4 +5115,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5120,4 +5135,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return ((ServerLevel) this.level).isPositionEntityTicking(this.blockPosition());
}
// Paper end - Expose entity id counter
@@ -177,7 +177,7 @@ index 95d78dcdb6777df73898694367ee17b1cb76d7a2..d0313fd5368baa53ec511c8c07fc78a1
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 0e05efd9d795496b8f632abfc543a36ccdff8349..2de776d7570f97f763033392ceeb8ffdbc0fafcd 100644
index b42390df47688309d8862914d2bfa763fa442d30..e2da1610ccb816acafb8abdbf82efd2e9760070c 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -250,9 +250,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -210,7 +210,7 @@ index 0e05efd9d795496b8f632abfc543a36ccdff8349..2de776d7570f97f763033392ceeb8ffd
@Override
protected void checkFallDamage(double y, boolean onGround, BlockState state, BlockPos pos) {
@@ -3534,8 +3535,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3535,8 +3536,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
profilerFiller.pop();
// Paper start - Add EntityMoveEvent
@@ -223,7 +223,7 @@ index 0e05efd9d795496b8f632abfc543a36ccdff8349..2de776d7570f97f763033392ceeb8ffd
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3545,6 +3548,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3546,6 +3549,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}
@@ -568,7 +568,7 @@ index c0997c8c0f8ee4474d3acdd5938b1879c4e589a2..28ae152125ed83d8917674b6068f227f
double d = this.wantedX - this.fish.getX();
double d1 = this.wantedY - this.fish.getY();
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
index 31c9e0cdcd7b3f5426d62f64453aa4e63e1af8df..b9bf40c389460d65d2566786ddd6f6740243e9a4 100644
index 3793570827eb6ca21c6b990d76c679c00ad100f4..af0cf64b4c74d290dec8032f8a6127867e301130 100644
--- a/net/minecraft/world/entity/animal/Bee.java
+++ b/net/minecraft/world/entity/animal/Bee.java
@@ -145,6 +145,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1162,7 +1162,7 @@ index a8aeb79b1c1413d74a5d18a57bd4ba4beca6039c..1292146341022483f78a9128ef9d7a88
// Paper end - custom shear drops
}
diff --git a/net/minecraft/world/entity/animal/Ocelot.java b/net/minecraft/world/entity/animal/Ocelot.java
index 5b59f68141c2ceeaf7907bbf5e7b9e08cbe2239e..ce042556d41836ad5fa7eca6d019176f6207d5cb 100644
index e193696b2e3eb1c1c689c05592ab4318a98772ad..d26a8658c8c56c3b0df4e5908de1ac23ac2dd351 100644
--- a/net/minecraft/world/entity/animal/Ocelot.java
+++ b/net/minecraft/world/entity/animal/Ocelot.java
@@ -62,6 +62,23 @@ public class Ocelot extends Animal {
@@ -1763,7 +1763,7 @@ index 29427515b648b84248f486c156c5cd7a0995ba14..52de92b118b613217b8f92ff672c01dd
}
diff --git a/net/minecraft/world/entity/animal/Squid.java b/net/minecraft/world/entity/animal/Squid.java
index df58ed15ca22f297f2ce087dc80df7cf9811233d..dee371381817a992d249f62977ad7bd6eb8d5873 100644
index c776d40896a6514ab9c66df206c93469ec682b23..e3f43e8c6ddbae289a82157cab4beb18f682dd75 100644
--- a/net/minecraft/world/entity/animal/Squid.java
+++ b/net/minecraft/world/entity/animal/Squid.java
@@ -69,9 +69,32 @@ public class Squid extends AgeableWaterCreature {
@@ -2308,7 +2308,7 @@ index 97adf8142cdd322c4873c420ed760e9dee34da23..e888e606b4b14fa6485de7426bc146b6
profilerFiller.pop();
profilerFiller.push("tadpoleActivityUpdate");
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
index 504a30ead8d2bb13d559acbde62f9d44a5dda1cb..9924a39953fb49954d02c771ae1a51411226ceac 100644
index 30fd6bfad846c7a268ab87254974bad2ee0e0422..c4c78885373347ee052be9575b9f3b8dd9f2b781 100644
--- a/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
@@ -111,6 +111,23 @@ public class Goat extends Animal {
@@ -2983,7 +2983,7 @@ index 95cf215e8804cc2d7b681723dfebd1dcb8cbaeee..5d97ae09292fb3209e7362df778e88dc
public boolean isPowered() {
diff --git a/net/minecraft/world/entity/monster/AbstractSkeleton.java b/net/minecraft/world/entity/monster/AbstractSkeleton.java
index e9d4e05849c7113e058df13a5753c495536a17b3..291cfff445f707d04d89a709ad28fcc1251b77b9 100644
index 1e97cb34aa22ad3150b598232dd339213b236f5c..e186aee80b052b7fc4bfe02763010bfb2d55ea35 100644
--- a/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -73,12 +73,14 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
@@ -3976,10 +3976,10 @@ index e855ebc5be2cef3b96e2c01a8c1d388e433c0d52..4e799981f04cd17a34f043dda82869ad
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false));
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
index 4a4d01abfbbdd4ab4bf89ce990ec287ca03dbc29..09910d526cdf3484474463ee4ea1ca8501280e45 100644
index 6f0fad37a05e9cd53b6e15c119127da492737c95..fb4e91c4f37619ce273ada0909932b32ba3b53f5 100644
--- a/net/minecraft/world/entity/monster/Ravager.java
+++ b/net/minecraft/world/entity/monster/Ravager.java
@@ -66,14 +66,39 @@ public class Ravager extends Raider {
@@ -66,15 +66,40 @@ public class Ravager extends Raider {
this.setPathfindingMalus(PathType.LEAVES, 0.0F);
}
@@ -4010,6 +4010,7 @@ index 4a4d01abfbbdd4ab4bf89ce990ec287ca03dbc29..09910d526cdf3484474463ee4ea1ca85
protected void registerGoals() {
super.registerGoals();
this.goalSelector.addGoal(0, new FloatGoal(this));
if (level().purpurConfig.ravagerAvoidRabbits) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.AvoidEntityGoal<>(this, net.minecraft.world.entity.animal.Rabbit.class, 6.0F, 1.0D, 1.2D)); // Purpur - option to make ravagers afraid of rabbits
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.0, true));
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4));
@@ -4019,7 +4020,7 @@ index 4a4d01abfbbdd4ab4bf89ce990ec287ca03dbc29..09910d526cdf3484474463ee4ea1ca85
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, Raider.class).setAlertOthers());
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Player.class, true));
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true, (entity, level) -> !entity.isBaby()));
@@ -130,7 +155,7 @@ public class Ravager extends Raider {
@@ -131,7 +156,7 @@ public class Ravager extends Raider {
@Override
public void aiStep() {
super.aiStep();
@@ -4112,7 +4113,7 @@ index b1ea60d5f42d0407b7ca492dff5ca6dc820a4921..2e96d3de312c49fafc173e6d0c69ada1
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
}
diff --git a/net/minecraft/world/entity/monster/Skeleton.java b/net/minecraft/world/entity/monster/Skeleton.java
index 72468b903a9bbebca817d8a1c6796dc05342a29d..4fa5495893ddaa3e4df1b44c16476948b7419370 100644
index f0022458e3e01f6d01df0f8d69b2db73c77fb914..d4426daf3b8079a7e769013d43f44c72b0fce697 100644
--- a/net/minecraft/world/entity/monster/Skeleton.java
+++ b/net/minecraft/world/entity/monster/Skeleton.java
@@ -25,6 +25,23 @@ public class Skeleton extends AbstractSkeleton {
@@ -4943,7 +4944,7 @@ index 9f476e587d7df797129e49738f101cccca7e10b7..f968e5c99bdb23b268bc34ea1ba5d54a
&& this.level() == entity.level()
&& EntitySelector.NO_CREATIVE_OR_SPECTATOR.test(entity)
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
index 1ee0c9bcbca1296f83dcde4acb200caa654cae6d..52b54c59efd68a955a6e7cc49b01f614043c505d 100644
index e6a2190e784cc3ebed528fb301d5263e3e821358..ffcb621de492461d33b748a6e27eec8ffc9e2c38 100644
--- a/net/minecraft/world/entity/npc/Villager.java
+++ b/net/minecraft/world/entity/npc/Villager.java
@@ -246,6 +246,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -5007,7 +5008,7 @@ index 1ee0c9bcbca1296f83dcde4acb200caa654cae6d..52b54c59efd68a955a6e7cc49b01f614
this.startTrading(player);
}
diff --git a/net/minecraft/world/entity/npc/WanderingTrader.java b/net/minecraft/world/entity/npc/WanderingTrader.java
index 99947e9877b79c0d419e1639c2b1379fc1504c6a..7e4d14d30eb3f06c0c7426e09084355ab4f3857d 100644
index fab309dc34eb88f2b9c844078f167885121675c1..0f8ec3abead11c46205cd21290c65ec2b859efdc 100644
--- a/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -76,6 +76,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index a8287654d3023f0a5fb183d4ad2dd418126dc305..6c7422cd30b76ccb591613264de586ad23959228 100644
index 580818b9d2f992dd33b4831dbc612ba28c1bd725..3c7a30c9d1aa00f2b8e25c505ec57ad27344ffe5 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1237,6 +1237,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1240,6 +1240,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
} else {
// Purpur start - Add boat fall damage config
if (damageSource.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) {

View File

@@ -7,14 +7,13 @@ temporarily migrate to paper's config
drop patch on the next minecraft release
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 1eeea8d9e44857537d4591cce4dfd944ad48e2b2..7526322f7be340470db3848973844013a31a5d72 100644
index 2bd5a295be2500f198230a62f48900b51038d22b..96253bf49a6895524f6f606a9c434cb1b78948a6 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1211,7 +1211,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
LOGGER.info("*************************************************************************************");
@@ -1222,6 +1222,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end - Add onboarding message for initial server start
-
// Purpur end - config for startup commands
+ // Purpur start - Configurable void damage height and damage
+ if (org.purpurmc.purpur.configuration.transformation.VoidDamageHeightMigration.HAS_BEEN_REGISTERED) {
+ try {
@@ -24,14 +23,15 @@ index 1eeea8d9e44857537d4591cce4dfd944ad48e2b2..7526322f7be340470db3848973844013
+ }
+ }
+ // Purpur end - Configurable void damage height and damage
+
while (this.running) {
long l;
if (!this.isPaused() && this.tickRateManager.isSprinting() && this.tickRateManager.checkShouldSprintThisTick()) {
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
index 2e0846bd7d98d1c33d5a74ccbd41f4c4092ea6a1..5d897a8b9752e7416e528a79f4d12f712528dde8 100644
index 8b9689d8903cf6cf6f4168d9d9d8684cfc60d762..4c81c4172d2e077ec7d627c2db8e7294c5b90a64 100644
--- a/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
@@ -208,6 +208,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -209,6 +209,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
org.spigotmc.SpigotConfig.registerCommands();
// Spigot end
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // Paper - load mappings for stacktrace deobf and etc.

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index b96fc67d28809f66181b1d36b475a8f85d596ea7..4c7c8840584736fc55782314342e55cc84f233ec 100644
index a82b57734afdd5f470db14c8ad953b5a5d1f69bd..f70bf8f32064a8ec33367107cfcc51b7780f5870 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -3592,7 +3592,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3593,7 +3593,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (i1 % 2 == 0) {
List<EquipmentSlot> list = EquipmentSlot.VALUES.stream().filter(slot -> canGlideUsing(this.getItemBySlot(slot), slot)).toList();
EquipmentSlot equipmentSlot = Util.getRandom(list, this.random);
@@ -72,10 +72,10 @@ index ef66c7b03696c2601d1fd0379fa038336ee0bb87..735ede5c5aa4b74639660fb4966101dc
onBreak.accept(item);
}
diff --git a/net/minecraft/world/item/TridentItem.java b/net/minecraft/world/item/TridentItem.java
index 1019241ccf75991fa58ea22acf791a46c5339b3a..0e431178e54fdfeac2528be2163b0b35ee7a36c6 100644
index 07f8c7644a112bb1ba283d1eadd8661010e888a4..7ea7db834e7b627a1d7d37ca87cd43eb61408565 100644
--- a/net/minecraft/world/item/TridentItem.java
+++ b/net/minecraft/world/item/TridentItem.java
@@ -130,6 +130,18 @@ public class TridentItem extends Item implements ProjectileItem {
@@ -133,6 +133,18 @@ public class TridentItem extends Item implements ProjectileItem {
f1 *= tridentSpinAttackStrength / squareRoot;
f2 *= tridentSpinAttackStrength / squareRoot;
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerRiptideEvent(player, stack, f, f1, f2); // CraftBukkit

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index b2b7c55dcd3813f69d23c7999e858c1be35dd0cf..59202dbaae6b0bc222895f3e0d8772a15d183e15 100644
index 67711964552a8e32d3590a64aff78e1db768b026..d58829c88b86358a0c06a982b302fc9a31c15853 100644
--- a/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -26,6 +26,12 @@ public class EndCrystal extends Entity {
@@ -21,11 +21,10 @@ index b2b7c55dcd3813f69d23c7999e858c1be35dd0cf..59202dbaae6b0bc222895f3e0d8772a1
public EndCrystal(EntityType<? extends EndCrystal> entityType, Level level) {
super(entityType, level);
@@ -92,6 +98,50 @@ public class EndCrystal extends Entity {
}
}
@@ -94,6 +100,49 @@ public class EndCrystal extends Entity {
// Paper end - Fix invulnerable end crystals
+
if (this.level().purpurConfig.endCrystalCramming > 0 && this.level().getEntitiesOfClass(EndCrystal.class, getBoundingBox()).size() > this.level().purpurConfig.endCrystalCramming) this.hurt(this.damageSources().cramming(), 6.0F); // Purpur - End Crystal Cramming
+ // Purpur start - Phantoms attracted to crystals and crystals shoot phantoms
+ if (level().purpurConfig.phantomAttackedByCrystalRadius <= 0 || --idleCooldown > 0) {
+ return; // on cooldown

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 4c7c8840584736fc55782314342e55cc84f233ec..1e37b69139cc72ca54109d2d1316820d3b89b995 100644
index f70bf8f32064a8ec33367107cfcc51b7780f5870..bbf8dce405942b2840028d12f0d80fc0779bc14f 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -1815,7 +1815,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1816,7 +1816,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.level() instanceof ServerLevel serverLevel) {
boolean var6 = false;
if (this.dead && entitySource instanceof WitherBoss) { // Paper
@@ -192,10 +192,10 @@ index d3d7e11a12af404d83e81888a9a633dfb93412ec..91574baf7ca095eae909e8e7225ad500
} else {
List<Sheep> nearbyEntities = serverLevel.getNearbyEntities(
diff --git a/net/minecraft/world/entity/monster/Ravager.java b/net/minecraft/world/entity/monster/Ravager.java
index 55ddffbea1b86fa0fd5c5f435a5f7633702c3e5b..b83886f2533026550759c823e1e11930665fc5bd 100644
index 36ebfc1102a18e4050eb9a2441d75bafcf3784b8..3449628fb87fd760abd730d84699c3a09c6ec761 100644
--- a/net/minecraft/world/entity/monster/Ravager.java
+++ b/net/minecraft/world/entity/monster/Ravager.java
@@ -174,7 +174,7 @@ public class Ravager extends Raider {
@@ -175,7 +175,7 @@ public class Ravager extends Raider {
if (this.level() instanceof ServerLevel serverLevel
&& this.horizontalCollision
@@ -346,11 +346,11 @@ index 9c0ded7ae7e3a520704033a866f80743ae85d772..4f3646961beb877520e257e11224c304
}
// CraftBukkit end
diff --git a/net/minecraft/world/level/block/TurtleEggBlock.java b/net/minecraft/world/level/block/TurtleEggBlock.java
index 88b8e4e5b2bea68739f55648926f4b423a09f6f2..960640b19e99fb8793739bca459aa195398d8605 100644
index c97d5bd7b4c1b6f8eccbe2d123292e913a285ef2..a3a093d95306baac22e5cf720f5b14f733b548d4 100644
--- a/net/minecraft/world/level/block/TurtleEggBlock.java
+++ b/net/minecraft/world/level/block/TurtleEggBlock.java
@@ -210,7 +210,7 @@ public class TurtleEggBlock extends Block {
}
@@ -216,7 +216,7 @@ public class TurtleEggBlock extends Block {
// Purpur end - Option to disable turtle egg trampling with feather falling
if (entity instanceof Player) return true;
- return level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING);

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index d22350f58ad29700bdca54f4697110bf4639faf9..bc4f44fc16361903d6c1caac0114d8498a413de3 100644
index 250676c904f6083edd06a2284307569cd76f0694..f11f3aa49ad40c6efd08274e30573ec19c84c23d 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -533,6 +533,24 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -534,6 +534,24 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// Purpur end - Add canSaveToDisk to Entity
@@ -35,7 +35,7 @@ index d22350f58ad29700bdca54f4697110bf4639faf9..bc4f44fc16361903d6c1caac0114d849
this.type = entityType;
this.level = level;
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 1e37b69139cc72ca54109d2d1316820d3b89b995..87ee2ba1f2563eaaecfab52c7083c01aba0315e7 100644
index bbf8dce405942b2840028d12f0d80fc0779bc14f..19a36386efdeb135e17e13153fa5adf0e9a8c925 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -301,6 +301,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -67,7 +67,7 @@ index 1e37b69139cc72ca54109d2d1316820d3b89b995..87ee2ba1f2563eaaecfab52c7083c01a
}
// CraftBukkit start
@@ -3571,6 +3579,32 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3572,6 +3580,32 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.level() instanceof ServerLevel serverLevel && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
this.hurtServer(serverLevel, this.damageSources().drown(), 1.0F);
}
@@ -127,7 +127,7 @@ index d93584c6793818463e8883ffe399bf16b03263a9..70ee86993d381445855ac7e7290da384
@Override
diff --git a/net/minecraft/world/entity/monster/AbstractSkeleton.java b/net/minecraft/world/entity/monster/AbstractSkeleton.java
index 291cfff445f707d04d89a709ad28fcc1251b77b9..fd21dc78e3cae17aff24b60ab1345df672faee5c 100644
index e186aee80b052b7fc4bfe02763010bfb2d55ea35..223739818e9ac6c9fe396b82bce53a3ab029610a 100644
--- a/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -64,11 +64,12 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo

View File

@@ -5,7 +5,7 @@
}
+ // Purpur start - Add toggle for enchant level clamping - load config files early
+ org.bukkit.configuration.file.YamlConfiguration purpurConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionset.valueOf("purpur-settings"));
+ org.bukkit.configuration.file.YamlConfiguration purpurConfiguration = io.papermc.paper.configuration.PaperConfigurations.loadLegacyConfigFile((File) optionSet.valueOf("purpur-settings"));
+ org.purpurmc.purpur.PurpurConfig.clampEnchantLevels = purpurConfiguration.getBoolean("settings.enchantment.clamp-levels", true);
+ org.purpurmc.purpur.PurpurConfig.registerMinecraftDebugCommands = purpurConfiguration.getBoolean("settings.register-minecraft-debug-commands"); // Purpur - register minecraft debug commands
+ // Purpur end - Add toggle for enchant level clamping - load config files early