150 patches done

This commit is contained in:
granny
2024-12-03 21:01:29 -08:00
parent 087bfb64f5
commit 6d7a7b6e32
50 changed files with 170 additions and 170 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand
diff --git a/src/main/java/net/minecraft/world/item/NameTagItem.java b/src/main/java/net/minecraft/world/item/NameTagItem.java
index 000d1863bfba98b5132dfc6743362d687b2f54f3..20fece9908382f40b4082f7b1fb7d41914ae31be 100644
index df9cdcb9544a171a5a07c65ba0150933fb70d5fc..793bd6392ca3c3792306a20538233e4d7fb69b86 100644
--- a/src/main/java/net/minecraft/world/item/NameTagItem.java
+++ b/src/main/java/net/minecraft/world/item/NameTagItem.java
@@ -23,6 +23,7 @@ public class NameTagItem extends Item {

View File

@@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 257eac851b6f4628b94784cab7a5cd4ec804944a..a8e2a2096f209fcd24e7921947556691fe6c254a 100644
index b6200fdef6d032cbaa3fdc4c2c8494fc0ad8ad65..bc17512c6077777169c9759fa445e21f9e51543b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -474,7 +474,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -473,7 +473,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean requiresCustomPersistence() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add configurable snowball damage
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index 70961e151666a0ecf5b791853f4581eaebbdcc8b..8c853b6fbbc966ee6ba9ad3770d4e2e2a50ef388 100644
index 048ca5232d71f07d8ba7d3eaf0236660494c6b35..f712963fcd80535eee2bd04ec55ae1abdadef2bd 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -58,7 +58,7 @@ public class Snowball extends ThrowableItemProjectile {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index e99b72b89abdded3e988bd1a92d36055fb1a84dc..784bf7754c43b02d337da61d6dd7bed134465d11 100644
index d845d4a0a2ce99b90d4004146be8db90b9ea64c3..263db57683045e99210a68184de382a6d91e0f71 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1428,7 +1428,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -1426,7 +1426,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
attributemodifiable.addPermanentModifier(new AttributeModifier(Mob.RANDOM_SPAWN_BONUS_ID, randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.ADD_MULTIPLIED_BASE));
}

View File

@@ -5,16 +5,16 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f841586ac2 100644
index 6f769f90038042ac11cdd59f36d7f3fd85cfd490..f63c1eca0c7ecaec70aaae56c479aaae42df3008 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1442,7 +1442,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1439,7 +1439,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
if (this.isInvulnerableTo(world, source)) {
return false;
} else {
- if (source.is(DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur
- if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur
+ // Purpur start
+ if (source.is(DamageTypeTags.IS_FALL)) { // Purpur
+ if (source.is(net.minecraft.tags.DamageTypeTags.IS_FALL)) { // Purpur
+ if (getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) {
+ return false;
+ }
@@ -23,9 +23,9 @@ index cbe608df708d5530813230cddd78568c1a63b448..36058eac6f861ae919bbe8ae6386e8f8
+ }
+ }
+ // Purpur end
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
Entity entity = source.getEntity();
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
if (entity instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 897fac3caeab051cf2634d4e8b3dca62b389acd8..3bd6931d3b19bd9687cdaee2b245cd3f2e9df0bc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -90,10 +90,10 @@ index 8508ac7de8cda3127b73e11ff4aee62502e65ead..b1544e028d5a9b84b944e1fb5a12bb16
throwHalfStack(entity, this.trades, villager);
}
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
index bb65d46967cb04f611b3c9c97d5732cfb21ede9b..7f4156e4690bbd57f9e9141f008851062cae733d 100644
index 41f4107101bcd5d753b72cdbabe7946a1975c653..4475b406dde30e5be8ce9d2ff45f8d22d242690c 100644
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerGoalPackages.java
@@ -52,8 +52,13 @@ public class VillagerGoalPackages {
@@ -74,8 +74,13 @@ public class VillagerGoalPackages {
}
public static ImmutableList<Pair<Integer, ? extends BehaviorControl<? super Villager>>> getWorkPackage(VillagerProfession profession, float speed) {
@@ -136,7 +136,7 @@ index a0e0692d17760f440fe81d52887284c787e562db..ab9bebc07b5228dbc0d3ba4b0f7d1bbe
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 3528cc251ebae1011ec3dac4b893157e446a1e22..280f35782e4b336465ed45373e7843dd9f697d85 100644
index 973dd0cdccb7787bdb36e4c1e8135490ab59c317..0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -227,7 +227,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

View File

@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
Rabid wolves attack all players, mobs, and animals.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index bb2e5e97d33ffaf95a6c88b3c077de1a89a60c6e..34ca92be146bec3d2f6e46f473c3e68b0a97b168 100644
index 71f76046b37705d064dc532ae1244ecc2920393a..7eeb283d969c93e884791709734abf8b64b730d5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -103,6 +103,37 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol

View File

@@ -7,7 +7,7 @@ This allows for the server to set a default collar color when a wolf or cat is t
Resets to RED when the value is invalid.
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index f79146925e99da08492e7b445006be003a56f340..8a89ea47d79065e85bb831578c6a1ab71ca5a040 100644
index 4be5d2c0ed8d314e09d43cb00d52f2452f84a426..c8e7eb5af0b7288d5ad3637ad5d1883b0cffc923 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -355,6 +355,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -26,7 +26,7 @@ index f79146925e99da08492e7b445006be003a56f340..8a89ea47d79065e85bb831578c6a1ab7
@Override
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 34ca92be146bec3d2f6e46f473c3e68b0a97b168..89566a88a98af2e4ec2b062ed12d4828a32b576d 100644
index 7eeb283d969c93e884791709734abf8b64b730d5..c05dd4e3489ea9c8a25244d2b4ccdb967c19d7db 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -212,6 +212,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 987b860f85a1be3159233fb3291773792d291348..39ae23d4942178ce95d4c06e676545aa9a1e8756 100644
index 604c4b971279699dd3fbef3b9c5f4b92c01b46e9..f6f96c1d7d43c5dee023152456b243f3590b0b37 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -238,6 +238,7 @@ public class Phantom extends FlyingMob implements Enemy {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for chests to open even with a solid block on top
diff --git a/src/main/java/net/minecraft/world/level/block/ChestBlock.java b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
index edef8fc62f8dba1b57214d8d7d805ff0d83f4114..663eb96b8227f000448957b5d8ea13ca78cee329 100644
index ca69a9fbd4942f9079aeaab7cead2d7a2c3b8659..54f351f1cbb50a5b1aa3167e3a0b10bb0456c1cf 100644
--- a/src/main/java/net/minecraft/world/level/block/ChestBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ChestBlock.java
@@ -341,6 +341,7 @@ public class ChestBlock extends AbstractChestBlock<ChestBlockEntity> implements
@@ -336,6 +336,7 @@ public class ChestBlock extends AbstractChestBlock<ChestBlockEntity> implements
}
public static boolean isBlockedChestByBlock(BlockGetter world, BlockPos pos) {

View File

@@ -17,10 +17,10 @@ index 02c7b57eef9a4462af413415ff268b9daeea0b93..632fd1b7d3474889b700b153d9cb4967
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 1349b2bbdc38e9f13617c78d3f1079b9e36aece4..b389d24e6f6c2cb1d0592a48bd5b41aa818aad75 100644
index 6ab178e0541f027791406d547c38f63c1d72ef25..791fa782d5092e17f332dd6660c42d151182e854 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1158,6 +1158,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1159,6 +1159,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.safeShutdown(waitForShutdown, false);
}
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
@@ -41,10 +41,10 @@ index c142f25e520e69d343702fcd83dfbbb117370d69..3596c659b638eeaeb8e8bd8f0b02e5cc
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 36058eac6f861ae919bbe8ae6386e8f841586ac2..80426ba728016273990f00db638ea327b75c1883 100644
index f63c1eca0c7ecaec70aaae56c479aaae42df3008..01eff7ae375b9289360336ce728155b32b8cf347 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -330,6 +330,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -328,6 +328,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public @Nullable String clientBrandName = null; // Paper - Brand support
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
public boolean purpurClient = false; // Purpur
@@ -52,7 +52,7 @@ index 36058eac6f861ae919bbe8ae6386e8f841586ac2..80426ba728016273990f00db638ea327
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -692,6 +693,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -690,6 +691,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
});
}
@@ -60,7 +60,7 @@ index 36058eac6f861ae919bbe8ae6386e8f841586ac2..80426ba728016273990f00db638ea327
}
@Override
@@ -744,6 +746,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -742,6 +744,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
}
this.saveEnderPearls(nbt);
@@ -68,7 +68,7 @@ index 36058eac6f861ae919bbe8ae6386e8f841586ac2..80426ba728016273990f00db638ea327
}
private void saveParentVehicle(CompoundTag nbt) {
@@ -3440,5 +3443,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -3420,5 +3423,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.server.getPlayerList().respawn(this, true, RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH, to);
}
}
@@ -83,7 +83,7 @@ index 36058eac6f861ae919bbe8ae6386e8f841586ac2..80426ba728016273990f00db638ea327
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5ff27cecc7fc0ad5e42a61c18783c7f76fdcbcdf..9624e1fc13d794eab394bc05bfaa3cd120d3ad49 100644
index 98992aae7c7724a25fc6f6aaee27b07dccbe2292..db0fe267c1eeb6e2f3ac03a64431d3126d7f5d5a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -419,6 +419,7 @@ public abstract class PlayerList {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 0cc49b0a600a5e6fb4fc21e698e3a5fef5996df1..bb2283fa9a21d7fc609f0a914cdb8b1370d90235 100644
index bfafa45575b99f08cbeb234bdb9c287f9f531b16..d99a621a4f7507d216c2793e9d1d9b84ea679acf 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -483,6 +483,19 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f11dc92d796d3044adc8cbd97edf00e047ba72f1..edec3a0e85d0349476a3316b7ae8a8559b067b7c 100644
index c1446e31b608f4496b15cb424581e4ce2efecd78..7c58f969d86c87555764afcac56961de7f43e114 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1203,6 +1203,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1256,6 +1256,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
final int maxBookPageSize = pageMax.intValue();
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
long byteAllowed = maxBookPageSize;
@@ -19,7 +19,7 @@ index f11dc92d796d3044adc8cbd97edf00e047ba72f1..edec3a0e85d0349476a3316b7ae8a855
for (final String page : pageList) {
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
byteTotal += byteLength;
@@ -1227,7 +1231,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1280,7 +1284,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
if (byteTotal > byteAllowed) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 773be9c116a664e4d0349c58c00df34f203f8ebf..ae5f7c275003b6fb9f6c5a0277482b4fddf8e74c 100644
index bf6c8abe3c0ba4144c37f2ee53bfb96563340e87..3dbb473655c4f115e28ce31fa647cd0cb7fbe3c6 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -353,6 +353,17 @@ public abstract class Player extends LivingEntity {
@@ -356,6 +356,17 @@ public abstract class Player extends LivingEntity {
this.turtleHelmetTick();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a5626e8fa 100644
index 1add518a30e1f44849aea6c805cf3cef849f1992..fe183dcfb32e915af4c58f8b40c35e349e39d189 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1903,7 +1903,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1914,7 +1914,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper
@@ -18,10 +18,10 @@ index f8ec83a135feab4140ec075ee45250ebfc511993..0b9ece407fb90636d3869e85cd8c6c0a
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 784bf7754c43b02d337da61d6dd7bed134465d11..01da954d982b59bca8d8b76e66021ee04138a923 100644
index 263db57683045e99210a68184de382a6d91e0f71..30be625e2f9c84f9ee3dbb68c8fc3806eae8a510 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -706,7 +706,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -714,7 +714,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
Level world = this.level();
if (world instanceof ServerLevel worldserver) {
@@ -92,7 +92,7 @@ index 9d245d08be61d7edee9138196ae3bf52023e3993..771bb96032149a8573d1de14fa2ab190
} else if (this.nextStartTick > 0) {
--this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e0940aeb66e 100644
index fe7c99a3f1450bb86a7949b9450e63c5b8f66d8f..cbbf6b8c72a1897d819ce3a448311c28eb6b1bd7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1370,7 +1370,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
@@ -105,7 +105,7 @@ index 0024345d1906e6fb6bbdb189f6d4dbc631b90f9f..3870803139f162793598cef8f2700e09
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 629a0729cae629dea89fdf491afa9eed96e7a38a..d0ab026af1642b6b3094d37a0c994deb633da577 100644
index b92965674200836e367a0632487226ed124fbe2d..557b9bab60d7bb9d611929a524cc796cdf2d651d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -634,7 +634,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -131,7 +131,7 @@ index 3f97118c8ce4f4e9a5f2a2fc3acdc68a6828baed..6c12817e00125a3957df1a37a06a5c6a
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa782ed10b 100644
index 8cfe0d5f09fa08c3606f29ce243d6ce5f84090a0..bc4a86cc4110453709dcf5a6808a6c54ed3a75d7 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -591,7 +591,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,10 +144,10 @@ index f356110850dd71d066243ec29853f547d94e4400..cb9f73605e5cfbbff9935340529a2daa
// flag1 = worldserver.removeBlock(blockposition, false) || flag1;
flag1 = true;
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be884635ec3 100644
index 093dd2a5ac09767df7406e00d25985d0507957ef..0ee25a30186b3ce367853a1955640f730df17942 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -499,7 +499,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
@@ -498,7 +498,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick;
@@ -157,10 +157,10 @@ index e808cd292afc9531d5ec6025e1e83076ba487c0f..92711d5460b128310739188347f68be8
j = Mth.floor(this.getBbWidth() / 2.0F + 1.0F);
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93d256eb7c 100644
index bc17512c6077777169c9759fa445e21f9e51543b..7c738e8d5a7eaef2f8c2d04085683c3baff4640d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -522,7 +522,15 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -521,7 +521,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -177,7 +177,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93
}
@Override
@@ -568,7 +576,15 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -567,7 +575,15 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
@@ -195,7 +195,7 @@ index a8e2a2096f209fcd24e7921947556691fe6c254a..b150e41077ecf23dca828a519a545f93
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e17b1541a 100644
index 354e3f82c26cb5dde524bea3c4bfd593fb919698..db3f7befb52ab58240ca6a8a101a955d4068768e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -367,7 +367,7 @@ public class Evoker extends SpellcasterIllager {
@@ -208,10 +208,10 @@ index 72d855a22e1507ad5f735df17db820c9b3fb2251..63ddac9c83d70107dace11fe1f033d7e
} else {
List<Sheep> list = worldserver.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index fdf30a72c6c1bf4024592dc3071fc101256a1138..f257258473e036ae60d9463ae97d848192a61af7 100644
index 3d49ee1c5e4dbbb76f03075ad4a5b326ab056699..265c84c778eb995d7da88fdb760fed5fb62bcda7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -184,7 +184,7 @@ public class Ravager extends Raider {
@@ -181,7 +181,7 @@ public class Ravager extends Raider {
if (world instanceof ServerLevel) {
ServerLevel worldserver = (ServerLevel) world;
@@ -249,10 +249,10 @@ index c31a72bad0b75940ea550acf47fab2220ff669ff..9c58d01fc7ba148d4e5d50731eaee71a
BlockPos blockposition = BlockPos.containing(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ()).relative(this.selectedDirection);
BlockState iblockdata = this.mob.level().getBlockState(blockposition);
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index 23673d9ce87acda718d12fce9af0ef5f27983f1a..f0decc0f4421a6dcd640ad8f0bfb56249bf31944 100644
index fd756b9f51d3ca857ea520288230afa5ab455b95..26090db2ed0cbd99e2f50368ba9f2bf6e56670da 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -430,7 +430,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -438,7 +438,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@Override
public boolean wantsToPickUp(ServerLevel world, ItemStack stack) {
@@ -291,10 +291,10 @@ index 2f00676f62478897ae4931ea06e047567c407535..55ea7f82fac9a3de6d7e0725a9b6ea08
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index af8dc4a57987cc84cb1002f2e5f25c28ec98173f..a7df9c2a3f210bc944cf76cdcc8d2a9484704bd1 100644
index 0dbfa1e9ae1f0b8b9c4e9de59a7844ae96f63077..40a1514637a6a26666ba877e6dcf5bc42bd54a51 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -510,7 +510,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
@@ -498,7 +498,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
public boolean mayInteract(ServerLevel world, BlockPos pos) {
Entity entity = this.getOwner();
@@ -317,7 +317,7 @@ index bb159ea4baf208aab6d6fcfbbddacd5b089b55c8..588b07ec4501924a49264183b414a7fd
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b1834c5c3a22 100644
index cee1e4db2312efb4843c4b6dc18f4af10b91d304..68525419f18c18931d771d66fb15c9301d611416 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -345,7 +345,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -330,7 +330,7 @@ index ab132041982df2a701e4baea8195873f31b4a5fb..722c1660cf6b93d0f9c05cafe587b183
return true;
} else if (this.mob.getCurrentRaid().isOver()) {
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index 1ada5ed825501666addacf527a513ab7bd4a3a58..49484773e67eb84e7dadc993406edd6da568dcd5 100644
index 1967ff3fcb94988be85985c4754904f0077de066..8cf8aeb34cba078bc7a554f03054d580d96fe908 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -180,7 +180,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java
index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50181749de 100644
index af46f2885ead1e3ec1734504d8ba134c886e04fb..47ee0538c8ea94136b2416c324c8a264e54d2c09 100644
--- a/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndGatewayBlock.java
@@ -104,6 +104,13 @@ public class EndGatewayBlock extends BaseEntityBlock implements Portal {
@@ -35,7 +35,7 @@ index a7a21f071161fb7e73a046717d2462f871ab653c..abb75f9389167a1f51a2c50831664d50
TheEndGatewayBlockEntity.triggerCooldown(world, pos, state, tileentityendgateway);
}
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7d8ec04f3 100644
index 8cb4142562db0be1f1a7d961ec5a10d4abf31692..84ecb012cb0a47e47799dc73c7fadc75f462f47a 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -70,6 +70,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
@@ -53,7 +53,7 @@ index 4aa14f975e1ceedf3d4a427e0daefb58b12fcafe..2dffc3990d9ae3d595d923239885e3a7
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.ENDER); // Paper - add portal type
world.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b768de5a9f8 100644
index 3e9642e5236d9a1cc8e8f3b375d76810f4bc7c6c..5169cba4c43d80ce3597c57bf7d40bd0148ec8a0 100644
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
@@ -117,6 +117,13 @@ public class NetherPortalBlock extends Block implements Portal {
@@ -71,7 +71,7 @@ index 2b31bf586c1c0bd393d2aa8d0b6635dd9f22f21c..c00b13482ce3f603f1d85b9a5ad36b76
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()), org.bukkit.PortalType.NETHER); // Paper - add portal type
world.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca1dda4a14 100644
index 12c65755f85acce10c2d5359539d64498138127b..c0b6efefc4d4f31602f39afa76f837300c22f804 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -246,6 +246,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -83,7 +83,7 @@ index 0d835621a7af64563c86c17358632aa26ac281cd..ac4064172f982a6efc25378fbd088cca
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 358f42585c865efbd814787879f919f70234e5c4..6abf043faf27d1385ad45c264822a9f49974863d 100644
index 350165d6616a1dfe931d0a35de0dbbd9222da216..75986a13b87c2024c96742fbbab960026b256837 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1440,6 +1440,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c5880e627ff48e5e176baf483c08f35a1af488f8..70581da7310da5c78e20c6257c3423168704fbc4 100644
index 692b4afe8616dac52f687baee86cbbd2af6763ec..7d7b1e21ad22831630cb825abcb75b1d69da5e14 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2017,7 +2017,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2040,7 +2040,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.isInWater() || flag;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fedc1d2b77 100644
index 01eff7ae375b9289360336ce728155b32b8cf347..ca88e602674e85b63b9622c0f94b588448480c12 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1687,6 +1687,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1678,6 +1678,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved();
// CraftBukkit end
@@ -17,10 +17,10 @@ index 80426ba728016273990f00db638ea327b75c1883..70a82e80d686337cbe19365ec2d858fe
this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 70581da7310da5c78e20c6257c3423168704fbc4..a8884300f2b9483e74036cacd98356c818578bd4 100644
index 7d7b1e21ad22831630cb825abcb75b1d69da5e14..114e3ce75fefef8bab339c09128601325d9084f9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3438,14 +3438,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3468,14 +3468,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Vec3.directionFromRotation(this.getRotationVector());
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for water sensitive mob damage
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index 0f5be53c6f6a66c61dc3f2bebeb18ca61d06c10d..a83187312422b0e087785d89f4a49b4c67427b95 100644
index e282af89d635a2866a8655d1e4956f1bd2c6a85b..52223ecfbc8a66ea3f79c60ef299d2d0e1808ac2 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -48,6 +48,11 @@ public class GlowSquid extends Squid {
@@ -37,10 +37,10 @@ index 656088e81781a5711521edec565f4e34313b7bc6..29445156f8660d84bb9840c6ac85e0e2
public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb1409c2f0c97 100644
index 235a2b732fd62bf7e8c34c14333c41a49a2418e0..e6e5954ca4366ad20b1d1413053739c767c45824 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -182,7 +182,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -186,7 +186,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
// Paper end - Fix MC-167279
this.lookControl = new Bee.BeeLookControl(this);
this.setPathfindingMalus(PathType.DANGER_FIRE, -1.0F);
@@ -49,7 +49,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140
this.setPathfindingMalus(PathType.WATER_BORDER, 16.0F);
this.setPathfindingMalus(PathType.COCOA, -1.0F);
this.setPathfindingMalus(PathType.FENCE, -1.0F);
@@ -496,6 +496,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -500,6 +500,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
return this.level().purpurConfig.beeBreedingTicks;
}
@@ -62,7 +62,7 @@ index 51b736979e43cd0e60a8ecaf2cf95511b9f4d858..d47e5f774567aa4710686430b66eb140
public int getRemainingPersistentAngerTime() {
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 8a89ea47d79065e85bb831578c6a1ab71ca5a040..1a060021f92822a85aa45d682ee09d8ef69d7a1f 100644
index c8e7eb5af0b7288d5ad3637ad5d1883b0cffc923..84094d19d9f3de9b474381c6b0aab1726fcdc40e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -134,6 +134,11 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -142,7 +142,7 @@ index be74a5732bc24eb3c909d28b4ef46d5175d999d2..bcc6435c177189aa59a3fbe67795ae50
@Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, EntitySpawnReason spawnReason, @Nullable SpawnGroupData entityData) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 3870803139f162793598cef8f2700e0940aeb66e..85cb838e8b31880468b02671dd4d04a5e1909e69 100644
index cbbf6b8c72a1897d819ce3a448311c28eb6b1bd7..6e70eb26c338c3b9293c217677b57d954f5b09ee 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -193,6 +193,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Variant> {
@@ -174,10 +174,10 @@ index 500109364b4741fc310eb22c151754a153db027e..6396d31a14815fbe4f9f51dc610af317
protected void registerGoals() {
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 3397fa689c6e36981f3944586c2059c8eb7b1e50..9d85342439977d3ac72ef133733df4f57a68714a 100644
index f17c30c55a75eba58fcda2407d8039f64e646e7f..951f94da000587def4832a5fae68c1f5a6c9e2ea 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -92,6 +92,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -91,6 +91,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
return this.level().purpurConfig.mooshroomBreedingTicks;
}
@@ -222,10 +222,10 @@ index 3da181a7baa04e7852f7cdf7f12728ec448d707b..95d70b140aaeddc771d05420347e5ce0
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index e99e33fecba3d6506d704a0a27c578f1efeaf77b..b3dab2eda7aa109c4715e027fd6bba6ac320a106 100644
index 993d535e7b6d61b2b3583758b3bf5d1113348a7a..fbb252029c049d19eb8dc2e89688e036fd9c23de 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -199,6 +199,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -198,6 +198,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
return 6000;
}
@@ -286,7 +286,7 @@ index f43faa4a6918a442cfdb1553ce6a509f1f73e7ae..be78d703bab323f0e64e120172c220d3
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index d0ab026af1642b6b3094d37a0c994deb633da577..8e316da789cb7a8d4c630c71724a56d6159cf0ac 100644
index 557b9bab60d7bb9d611929a524cc796cdf2d651d..16e9f6f2f66090d39f89188b74d3eceaa23f450b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -150,6 +150,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
@@ -302,10 +302,10 @@ index d0ab026af1642b6b3094d37a0c994deb633da577..8e316da789cb7a8d4c630c71724a56d6
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
index 9ec3479b0db1f42493db127081e341fa5acc8e41..486709c9701657c7aa93586f539c18e4157f8ef3 100644
index 1295003dfceb585ef23705c17862efb3feff3868..cd995f8ce3bfd76fa0f4ea3fda71101b09d64ce2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
@@ -49,6 +49,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder<Salmo
@@ -52,6 +52,11 @@ public class Salmon extends AbstractSchoolingFish implements VariantHolder<Salmo
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.salmonMaxHealth);
}
@@ -318,10 +318,10 @@ index 9ec3479b0db1f42493db127081e341fa5acc8e41..486709c9701657c7aa93586f539c18e4
public int getMaxSchoolSize() {
return 5;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
index 8d94e1a33ac7748ded0f75212738ba13bd18d492..3f54b38a3182b116b80ef9ba53c160b343da855a 100644
index 59fe849d3b7a41b2a606031b7bf494affc0d148d..731df554fe64846869f18014e263e5dedc1dd18e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -119,6 +119,11 @@ public class Sheep extends Animal implements Shearable {
@@ -112,6 +112,11 @@ public class Sheep extends Animal implements Shearable {
return this.level().purpurConfig.sheepBreedingTicks;
}
@@ -347,7 +347,7 @@ index 6c12817e00125a3957df1a37a06a5c6a9406a11f..02cf5a92ff56ada1198e157e0f87f243
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 4d2992a16865fa60dd38d0ff6dc341f9c5f6bd00..3cf9a511ae819ec92aac402c01c37c9015939d19 100644
index 8920fcbb5c76e11a91a9a8702525cd59b18fa057..34647054fe2fce16bc9b31d8af374079fd932c5c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -93,6 +93,11 @@ public class Squid extends AgeableWaterCreature {
@@ -395,7 +395,7 @@ index 6b2e27e2f8aeccfc4d84c73be0fa5a04f5a962e2..96a6f13fe6ea02412974fd4c8cf01546
this.entityData.set(Turtle.HOME_POS, pos);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 89566a88a98af2e4ec2b062ed12d4828a32b576d..6e3ed974f6e55aed8ae83fc90e8ae8a7ee2bb8a8 100644
index c05dd4e3489ea9c8a25244d2b4ccdb967c19d7db..988b98a1b29af94b4fcc78abdaa72375bc4f0ac6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -218,6 +218,11 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -523,7 +523,7 @@ index 069783ed1bb4bbb7dece4b7883fe4d306a1b92bd..516cf0042eff8b7c74449cd4dbd8f42f
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 845f75a48f07e7f25e71ed7b04a2f6b1dc87cbb8..d1012e118cd07e374a483f07adf46e354b1b5723 100644
index ec7b3fc6dbc78b226d33b517cbe2eed8eaa35d89..84e0e3c309d45a1e2490884b2e102bff6175988e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -75,6 +75,11 @@ public class TraderLlama extends Llama {
@@ -555,7 +555,7 @@ index b7eda8855bc7162566975849f9bae7f182ad801c..5ffb2ca8dd4cd1d32f7d239a767ac68d
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index cb9f73605e5cfbbff9935340529a2daa782ed10b..9aeee3b61bb33d378d7ace77c1cb02bbb081790a 100644
index bc4a86cc4110453709dcf5a6808a6c54ed3a75d7..6f7a74c9d98c880ee529d1edc0f711d0d3ae1399 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -191,6 +191,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -571,7 +571,7 @@ index cb9f73605e5cfbbff9935340529a2daa782ed10b..9aeee3b61bb33d378d7ace77c1cb02bb
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 92711d5460b128310739188347f68be884635ec3..6e65fbad43baa8338b6732d8f78422e80f82331c 100644
index 0ee25a30186b3ce367853a1955640f730df17942..b58d90fd6173e14daab31a2dcbbfbb5e59eca0cc 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -120,6 +120,11 @@ public class WitherBoss extends Monster implements RangedAttackMob {
@@ -641,10 +641,10 @@ index 54225cfd13e7b62e80f24b4885c720d6e6ce8700..78da4454fb6eccb1d17d1f0cb1901388
protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 7b3c999a03d91c167dfc1a1c90750b2efd4eb675..1f41e4a88fb41347b8b1ac6b3d1c454ad35ebfc4 100644
index fef4417c167ad8526dbbfc0de3e8f2a2b55621ca..f33fa55bd8f894389121d38eb811ff739f31c811 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -100,6 +100,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -103,6 +103,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.drownedSpawnReinforcements);
}
@@ -673,10 +673,10 @@ index 1cfb85a72e270a953c13102490dc38f3dbfb76d1..a0c76ffa16edffdfa75fd539e58282d3
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index b150e41077ecf23dca828a519a545f93d256eb7c..62a2249e9611bd3801b8adb880929e3ba9693b73 100644
index 7c738e8d5a7eaef2f8c2d04085683c3baff4640d..8348c8191e6b576ac71aa5c5b5454f7ba38f7730 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -92,7 +92,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -91,7 +91,7 @@ public class EnderMan extends Monster implements NeutralMob {
public EnderMan(EntityType<? extends EnderMan> type, Level world) {
super(type, world);
@@ -685,7 +685,7 @@ index b150e41077ecf23dca828a519a545f93d256eb7c..62a2249e9611bd3801b8adb880929e3b
}
// Purpur start
@@ -288,7 +288,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -287,7 +287,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean isSensitiveToWater() {
@@ -711,7 +711,7 @@ index 89f808dd5470c9d94a0cd6b690b9711136027f8a..e8b7e291c96ff6856832fc6612f792fc
protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index 63ddac9c83d70107dace11fe1f033d7e17b1541a..2a0561d0e0cfc6e732c2342e12a1af4dfa73befe 100644
index db3f7befb52ab58240ca6a8a101a955d4068768e..2c9c4de193ae92e8e2639b33dd8db6fa37ab1ee1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -76,6 +76,11 @@ public class Evoker extends SpellcasterIllager {
@@ -823,7 +823,7 @@ index 3656c83ed02392f4121dab69ea7e0e5a64a984b0..0dde6fb0fbf85d1b5afe0fe25941c0c0
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, 0.2F);
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73e48da5eb 100644
index f6f96c1d7d43c5dee023152456b243f3590b0b37..6a180656fb53b2f2a70cf219dc9ce7918b7d88ad 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -137,6 +137,11 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -839,10 +839,10 @@ index 39ae23d4942178ce95d4c06e676545aa9a1e8756..6e665d75f2c3a6cec6307a2befb07e73
public boolean isFlapping() {
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355a517b46d 100644
index 16a5de23d095cc1b62c76eebe3828231018a572e..d7e67efed76401afbafc19285984a1175fbf250d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -87,6 +87,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
@@ -90,6 +90,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.pillagerScale);
}
@@ -855,10 +855,10 @@ index 3613b82bef45dddf7e356deaee6353c48455e33a..b85579065ac006589120d4d7ed83d355
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da4a2d88c2 100644
index 265c84c778eb995d7da88fdb760fed5fb62bcda7..d5faedc263714a200ae2fd12b2f3ae1e3e18ed59 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -106,6 +106,11 @@ public class Ravager extends Raider {
@@ -104,6 +104,11 @@ public class Ravager extends Raider {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.ravagerScale);
}
@@ -871,7 +871,7 @@ index f257258473e036ae60d9463ae97d848192a61af7..48c66c97784f7c81029a81efb63eb6da
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index ebc50e517093329dc5c76cdcd3b6d7e7e66bf55f..4a04ade0cfeac23afbac1a5ef7dfff0df2136191 100644
index 4e7c449ed4e093e7853f91547a8447e9afd9bf64..ef44ab79cba3778111c9f27f77219b384761d9e4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -121,6 +121,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -969,7 +969,7 @@ index 577d9a5d93e29b40f659ce194253f6f6d819896d..e2d3aefdb245da136d10053be40a6121
EntityType<Stray> type, ServerLevelAccessor world, EntitySpawnReason spawnReason, BlockPos pos, RandomSource random
) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index bb2283fa9a21d7fc609f0a914cdb8b1370d90235..6c7b3b306b69c5b0526e48e4e636ed24d5c96820 100644
index d99a621a4f7507d216c2793e9d1d9b84ea679acf..cdb8d5c625e18a2a4cf6b5d2da923f63127b6e9c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -91,7 +91,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -1039,10 +1039,10 @@ index 790e36ae4bd1d6290e16ec579127f8017ac43335..151169d76276409d6a042945b05ae680
protected void registerGoals() {
super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
index 89ed0d044426aa0415f5cb4eb3f02342fcdddc7d..4c426f87fe2833382f48e353b27f381b48774fd9 100644
index b0054b998e5494d64de538450daae432416c4d55..5f2e9d87c410551b9858c60fa2ca7ff66e23cb2f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
@@ -56,6 +56,11 @@ public class WitherSkeleton extends AbstractSkeleton {
@@ -59,6 +59,11 @@ public class WitherSkeleton extends AbstractSkeleton {
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.witherSkeletonScale);
}
@@ -1087,7 +1087,7 @@ index e6fb53b828c1a2e76d398e88449260f6206145c3..d79eb7bd6d38a4f1aee89cf0cf331a12
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index eb6daba7d44542739f1c537cbeef8f87c6db61bf..7298ba35cb27269e778de6b265933baed3077b36 100644
index 2ee91a1822584fe11b139a747d60b6fa832fa177..95315588a523439a53ac7af3db5fc23adbed6f01 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -112,6 +112,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -1135,10 +1135,10 @@ index 0ee5bdae0d8e42b3d6475bfe49bfa41ee3192769..1103274ba096b0cab3c89f0bdfeba15f
public boolean canBeLeashed() {
return true;
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index f0decc0f4421a6dcd640ad8f0bfb56249bf31944..39cf09e03cd178471757e51334b07b4daffb43be 100644
index 26090db2ed0cbd99e2f50368ba9f2bf6e56670da..570af47cd176dfa56c0920a8d41400aa1ade5fd0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -119,6 +119,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -122,6 +122,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
this.getAttribute(Attributes.SCALE).setBaseValue(this.level().purpurConfig.piglinScale);
}
@@ -1167,7 +1167,7 @@ index 6459e588e6feb6d7bcf999e36b658bbad4069af2..9c196b0cf49cb6f69bd17748fd13ce59
return Monster.createMonsterAttributes()
.add(Attributes.MAX_HEALTH, 50.0)
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 280f35782e4b336465ed45373e7843dd9f697d85..22a015f46aa1bb7ef8076fe34d2b69d9870780f1 100644
index 0ceeaef16ce0c4abcc3bd7350ed147c91bda8d64..43932be4584995bd5f4ca4d712f3d3ec4d0c743a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -193,6 +193,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

View File

@@ -20,10 +20,10 @@ index b0944fa1f3849dd24cd010fa0a6638f5fd7179d1..d409ae987088df3d47192128401d7491
return;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 1a060021f92822a85aa45d682ee09d8ef69d7a1f..8f0a31c896340907aa8017c0a56fb58db48c2c65 100644
index 84094d19d9f3de9b474381c6b0aab1726fcdc40e..4d9b177dd640e1b569cfd5575ad795d5962ae7b8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -522,7 +522,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -521,7 +521,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
}
private void tryToTame(Player player) {
@@ -33,10 +33,10 @@ index 1a060021f92822a85aa45d682ee09d8ef69d7a1f..8f0a31c896340907aa8017c0a56fb58d
this.setOrderedToSit(true);
this.level().broadcastEntityEvent(this, (byte) 7);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index b3dab2eda7aa109c4715e027fd6bba6ac320a106..9c7e29307b811d859a0d743b232463e18391b5f0 100644
index fbb252029c049d19eb8dc2e89688e036fd9c23de..f951905a9b985cfeb3a960898724651e395b42e8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -324,7 +324,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -322,7 +322,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
}
if (!this.level().isClientSide) {
@@ -46,7 +46,7 @@ index b3dab2eda7aa109c4715e027fd6bba6ac320a106..9c7e29307b811d859a0d743b232463e1
this.level().broadcastEntityEvent(this, (byte) 7);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 6e3ed974f6e55aed8ae83fc90e8ae8a7ee2bb8a8..5fea6f7e9b7c5d2b4845effdd1b9d40b5b8033b3 100644
index 988b98a1b29af94b4fcc78abdaa72375bc4f0ac6..cbc28ca0d359f64bf583e9a1134bc18363e516ec 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -637,7 +637,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 9aeee3b61bb33d378d7ace77c1cb02bbb081790a..c9e3bb91ff506a35551a58f469ad2849e6058668 100644
index 6f7a74c9d98c880ee529d1edc0f711d0d3ae1399..eff4424fa9cbea4358c8d8cd4d20c53182f5179e 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1155,6 +1155,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -1169,6 +1169,7 @@ public class EnderDragon extends Mob implements Enemy {
@Override
protected boolean canRide(Entity entity) {
@@ -17,10 +17,10 @@ index 9aeee3b61bb33d378d7ace77c1cb02bbb081790a..c9e3bb91ff506a35551a58f469ad2849
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 6e65fbad43baa8338b6732d8f78422e80f82331c..f94bb66eb1118a2de2aa89a1b42c3ba24b769d4d 100644
index b58d90fd6173e14daab31a2dcbbfbb5e59eca0cc..8b89c5e88a14b31a807080d54f38148d5901d579 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -736,6 +736,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
@@ -735,6 +735,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
@Override
protected boolean canRide(Entity entity) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Dont run with scissors!
inspired by https://modrinth.com/mod/dont-run-with-scissors
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index edec3a0e85d0349476a3316b7ae8a8559b067b7c..abec164f413342bf1d2d25479ea8a42fce6a66c7 100644
index 7c58f969d86c87555764afcac56961de7f43e114..f993d33caa44a2d782780c8829a7785ed74b3dcc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1667,6 +1667,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1720,6 +1720,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.tryResetCurrentImpulseContext();
}
@@ -23,7 +23,7 @@ index edec3a0e85d0349476a3316b7ae8a8559b067b7c..abec164f413342bf1d2d25479ea8a42f
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1706,6 +1713,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1759,6 +1766,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] One Punch Man!
inspired by https://modrinth.com/mod/creative-one-punch
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 0b9ece407fb90636d3869e85cd8c6c0a5626e8fa..ce9988bc7209deabe36c3ad921085f52d8d39c3c 100644
index fe183dcfb32e915af4c58f8b40c35e349e39d189..062f05f855ef50872d9b3074bf1951eabd97e0c6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1468,6 +1468,24 @@ public abstract class LivingEntity extends Entity implements Attackable {

View File

@@ -30,10 +30,10 @@ index bd2684528157f928460f2143dd71a48e11983123..a044a5242ce1d1f6e34ecd5b45685534
this.playSound(worldserver, vec3d);
diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
index b232390d8ee8e449e61c0ea7f3af60df507abb97..ad99c6fb7bcd8ccbdeb405ca7ff73ae4d1c2f2ee 100644
index eaee34054233c8f0296b65a09f1287ba515496f2..83bd9b1eff5b7f581c3f0af6f0f15bdf4b9de201 100644
--- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java
+++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
@@ -35,6 +35,7 @@ public class EnderpearlItem extends Item {
@@ -37,6 +37,7 @@ public class EnderpearlItem extends Item {
world.playSound((Player) null, user.getX(), user.getY(), user.getZ(), SoundEvents.ENDER_PEARL_THROW, SoundSource.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
user.awardStat(Stats.ITEM_USED.get(this));

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 70a82e80d686337cbe19365ec2d858fedc1d2b77..5f6cab9de8a854ecbd031f9f9b4152f06b28267e 100644
index ca88e602674e85b63b9622c0f94b588448480c12..af7d238fafa84428509563548d343005fe17d460 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1798,7 +1798,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1789,7 +1789,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
return entitymonster.isPreventingPlayerRest(this.serverLevel(), this);
});

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 62a2249e9611bd3801b8adb880929e3ba9693b73..9f51fbea2399df8ccd0cc90032223db06c41e29d 100644
index 8348c8191e6b576ac71aa5c5b5454f7ba38f7730..a5a13d9e56306f6fc53736d0c4af81fa3d972a45 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -132,7 +132,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -131,7 +131,7 @@ public class EnderMan extends Monster implements NeutralMob {
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt));
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));

View File

@@ -7,16 +7,16 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 9f51fbea2399df8ccd0cc90032223db06c41e29d..7adfc08d511efcb69f954fc1f4b4eba90b9d15df 100644
index a5a13d9e56306f6fc53736d0c4af81fa3d972a45..dec6be6b823b00642a0066726e3cad298b7ed6a7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -260,7 +260,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -259,7 +259,7 @@ public class EnderMan extends Monster implements NeutralMob {
boolean isBeingStaredBy(Player player) {
// Paper start - EndermanAttackPlayerEvent
- boolean shouldAttack = isBeingStaredBy0(player);
+ boolean shouldAttack = !this.level().purpurConfig.endermanDisableStareAggro && isBeingStaredBy0(player); // Purpur
com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent event = new com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent((org.bukkit.entity.Enderman) getBukkitEntity(), (org.bukkit.entity.Player) player.getBukkitEntity());
// Paper start - EndermanAttackPlayerEvent
- final boolean shouldAttack = isBeingStaredBy0(player);
+ final boolean shouldAttack = !this.level().purpurConfig.endermanDisableStareAggro && isBeingStaredBy0(player); // Purpur
final com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent event = new com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent((org.bukkit.entity.Enderman) getBukkitEntity(), (org.bukkit.entity.Player) player.getBukkitEntity());
event.setCancelled(!shouldAttack);
return event.callEvent();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable ravager griefable blocks list
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 48c66c97784f7c81029a81efb63eb6da4a2d88c2..94f5b153627eca433905106a90e1bbdfb73e4e2d 100644
index d5faedc263714a200ae2fd12b2f3ae1e3e18ed59..af91726d482156a7687355f0409eb18b3c6242a1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -199,7 +199,7 @@ public class Ravager extends Raider {
@@ -196,7 +196,7 @@ public class Ravager extends Raider {
BlockState iblockdata = worldserver.getBlockState(blockposition);
Block block = iblockdata.getBlock();
@@ -18,7 +18,7 @@ index 48c66c97784f7c81029a81efb63eb6da4a2d88c2..94f5b153627eca433905106a90e1bbdf
if (!CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state
continue;
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index 49484773e67eb84e7dadc993406edd6da568dcd5..3f7440eb164ea7593844de6c496ee1a998759347 100644
index 8cf8aeb34cba078bc7a554f03054d580d96fe908..c1707b502911d76d0c3a706e44bfdc3a12eb8f97 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
@@ -180,7 +180,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {

View File

@@ -18,10 +18,10 @@ index a96f859a5d0c6ec692d4627a69f3c9ee49199dbc..adecb4915a0428b71e8c1e59b11f94dd
if (enuminteractionresult1.consumesAction()) {
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
index db837b250fc35af5b528bf973b3b07f63e79bc46..ed3a310d56a0cca8c4c11c3768ac2056cd11edea 100644
index 9264ba58188a7a682eeb8eb449b89ff8e60f91d6..809a820dd8eec3e48dd3263335c62fbea4cd4f2c 100644
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
@@ -241,18 +241,27 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
@@ -243,18 +243,27 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(stack.getItem())) {
@@ -60,7 +60,7 @@ index db837b250fc35af5b528bf973b3b07f63e79bc46..ed3a310d56a0cca8c4c11c3768ac2056
return InteractionResult.SUCCESS;
} else {
@@ -260,6 +269,25 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
@@ -262,6 +271,25 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 104d0db6e36c724960a757266cbcf1ec069e6a28..ad4f51ed28c797cae83a80234837203ac5dd9017 100644
index 34698bf825f4d857bca2b76fb368616731937786..bd4dbaee9a90909b9fd63d7c6fbac235a1d2264e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -748,7 +748,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -749,7 +749,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
long j;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 22a015f46aa1bb7ef8076fe34d2b69d9870780f1..fd319cf5ac1a3aa8f3562bbab4bf2a8e15b10ae2 100644
index 43932be4584995bd5f4ca4d712f3d3ec4d0c743a..5a522d73d41f9aa3977807173d7e34c057a37c7a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -377,6 +377,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a8884300f2b9483e74036cacd98356c818578bd4..8d0e578c5ee54af4e9f183b2865573881a3f9062 100644
index 114e3ce75fefef8bab339c09128601325d9084f9..60ffa728e6b8c861b0d108d1562150ccb671af33 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3665,7 +3665,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -3695,7 +3695,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public int getMaxAirSupply() {
@@ -18,10 +18,10 @@ index a8884300f2b9483e74036cacd98356c818578bd4..8d0e578c5ee54af4e9f183b286557388
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ce9988bc7209deabe36c3ad921085f52d8d39c3c..127befc7514ca36b75735b718751fb4cf3f915c4 100644
index 062f05f855ef50872d9b3074bf1951eabd97e0c6..327ff173c3f1223d457112f094116e0eec90fcc8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -491,7 +491,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -489,7 +489,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (flag1) {
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
@@ -30,15 +30,15 @@ index ce9988bc7209deabe36c3ad921085f52d8d39c3c..127befc7514ca36b75735b718751fb4c
this.setAirSupply(0);
Vec3 vec3d = this.getDeltaMovement();
@@ -503,7 +503,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -501,7 +501,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d0, this.getY() + d2, this.getZ() + d3, vec3d.x, vec3d.y, vec3d.z);
}
- this.hurt(this.damageSources().drown(), 2.0F);
+ this.hurt(this.damageSources().drown(), (float) this.level().purpurConfig.damageFromDrowning); // Purpur
}
}
} else if (this.getAirSupply() < this.getMaxAirSupply()) {
this.setAirSupply(this.increaseAirSupply(this.getAirSupply()));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e6096491e26d5ad7df5f1d626a14c771662d2898..0f8348bedaf101fa9b9d50c3288aec0953cb56f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -78,10 +78,10 @@ index a7c3338ed6edcd26fce869ec66fdcaa4c32c0e4f..346681cf9c3c9ff5274f63236b0cc7c4
((ServerPlayer) this.player).connection.send(new ClientboundContainerSetDataPacket(this.containerId, 0, this.cost.get()));
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index dcb656be3d37f29bdbe7d25ace05c6dd1889e252..d644d02b039ca918391a32a04549f7a34386b3f9 100644
index 7c5770a6a576e47c8ad90c5be80df423607e06f5..095c86ea25fc4f385d96d2e92fa67a150e27c489 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1351,6 +1351,12 @@ public final class ItemStack implements DataComponentHolder {
@@ -1369,6 +1369,12 @@ public final class ItemStack implements DataComponentHolder {
return !((ItemEnchantments) this.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY)).isEmpty();
}

View File

@@ -8,7 +8,7 @@ Allows the total area and radius of water blocks the sponge can absorb to be cha
Co-authored by: granny <granny@purpurmc.org>
diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
index 59cf905b1b5686f6f4f2bad94730ffa69d3a2834..d82c62cdb219cee0bbc3083e38e18b7615ad09ef 100644
index e9a77c1ae09af42d2d444ad6b5f6c8ac395044e1..9201d911cf155aab7735600073426a0d4213f38b 100644
--- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java
@@ -61,7 +61,7 @@ public class SpongeBlock extends Block {

View File

@@ -18,10 +18,10 @@ index 1d4d0799a86b9940b5e3b614c5a188ade5133f7e..58fa528e4b2589d362eb976afd6221cd
world.playSound(
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91ccae6b4f 100644
index be1902a307a54434644b242b429ad47c271d2a0c..cac4de9877b91bd805a5a8f4b84d27449fc5001f 100644
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
@@ -69,7 +69,7 @@ public class CrossbowItem extends ProjectileWeaponItem {
@@ -70,7 +70,7 @@ public class CrossbowItem extends ProjectileWeaponItem {
ItemStack itemStack = user.getItemInHand(hand);
ChargedProjectiles chargedProjectiles = itemStack.get(DataComponents.CHARGED_PROJECTILES);
if (chargedProjectiles != null && !chargedProjectiles.isEmpty()) {
@@ -31,62 +31,62 @@ index 52c40eafc77e50a6fd21b9a7a250cea501f11690..86204c2ab5bbd5d45ddb1d626f844d91
} else if (!user.getProjectile(itemStack).isEmpty()) {
this.startSoundPlayed = false;
diff --git a/src/main/java/net/minecraft/world/item/EggItem.java b/src/main/java/net/minecraft/world/item/EggItem.java
index 3ddd34e5d05fa1355a2affd329d72dea216cd0e4..770bdb3fb2426083ff6785f1c38ffe9d11f898e5 100644
index 6d559fef484036194e4d899b82aaa7b5d518311e..9fb04b4e5b61ea497238e042fefa9a06f7489618 100644
--- a/src/main/java/net/minecraft/world/item/EggItem.java
+++ b/src/main/java/net/minecraft/world/item/EggItem.java
@@ -27,7 +27,7 @@ public class EggItem extends Item implements ProjectileItem {
@@ -29,7 +29,7 @@ public class EggItem extends Item implements ProjectileItem {
if (world instanceof ServerLevel worldserver) {
// CraftBukkit start
// Paper start - PlayerLaunchProjectileEvent
- final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F);
+ final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur
- final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, 1.0F);
+ final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, worldserver, itemstack, user, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.eggProjectileOffset); // Purpur
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) thrownEgg.projectile().getBukkitEntity());
if (event.callEvent() && thrownEgg.attemptSpawn()) {
if (event.shouldConsume()) {
diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
index ad99c6fb7bcd8ccbdeb405ca7ff73ae4d1c2f2ee..4039d300debadf29e6c544e8b4c950b7121a02d1 100644
index 83bd9b1eff5b7f581c3f0af6f0f15bdf4b9de201..392f2600e4fb1ff937c3ec5635156b358eb36888 100644
--- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java
+++ b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
@@ -24,7 +24,7 @@ public class EnderpearlItem extends Item {
@@ -26,7 +26,7 @@ public class EnderpearlItem extends Item {
if (world instanceof ServerLevel worldserver) {
// CraftBukkit start
// Paper start - PlayerLaunchProjectileEvent
- final Projectile.Delayed<ThrownEnderpearl> thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F);
+ final Projectile.Delayed<ThrownEnderpearl> thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur
- final Projectile.Delayed<ThrownEnderpearl> thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, 1.0F);
+ final Projectile.Delayed<ThrownEnderpearl> thrownEnderpearl = Projectile.spawnProjectileFromRotationDelayed(ThrownEnderpearl::new, worldserver, itemstack, user, 0.0F, EnderpearlItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.enderPearlProjectileOffset); // Purpur
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) thrownEnderpearl.projectile().getBukkitEntity());
if (event.callEvent() && thrownEnderpearl.attemptSpawn()) {
if (event.shouldConsume()) {
diff --git a/src/main/java/net/minecraft/world/item/SnowballItem.java b/src/main/java/net/minecraft/world/item/SnowballItem.java
index 57872ebef6beb8cdc03c9f8f19de94652ee19062..60a064c26de0566aaf9f8be886402e291c03ca3b 100644
index d3bba4665ae14cc279c0f937831f909f8831b12b..27499f01ef0bc89c4c3f60eb696ca07cc5984809 100644
--- a/src/main/java/net/minecraft/world/item/SnowballItem.java
+++ b/src/main/java/net/minecraft/world/item/SnowballItem.java
@@ -27,7 +27,7 @@ public class SnowballItem extends Item implements ProjectileItem {
@@ -29,7 +29,7 @@ public class SnowballItem extends Item implements ProjectileItem {
// world.playSound((EntityHuman) null, entityhuman.getX(), entityhuman.getY(), entityhuman.getZ(), SoundEffects.SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
if (world instanceof ServerLevel worldserver) {
// Paper start - PlayerLaunchProjectileEvent
- final Projectile.Delayed<Snowball> snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, 1.0F);
+ final Projectile.Delayed<Snowball> snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, 1.5F, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur
- final Projectile.Delayed<Snowball> snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, 1.0F);
+ final Projectile.Delayed<Snowball> snowball = Projectile.spawnProjectileFromRotationDelayed(Snowball::new, worldserver, itemstack, user, 0.0F, SnowballItem.PROJECTILE_SHOOT_POWER, (float) worldserver.purpurConfig.snowballProjectileOffset); // Purpur
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) snowball.projectile().getBukkitEntity());
if (event.callEvent() && snowball.attemptSpawn()) {
user.awardStat(Stats.ITEM_USED.get(this));
diff --git a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
index fa9d2ae44fcdd06f8f33cd14ffca422b20a01451..ffbc71ca2a27800d7758e3db339bf06a39ef1f11 100644
index e422881d1ab0f1a5bb2cb741d23089a2e35de2d4..bbd65d35d91d4f3ffabeb355b82f22ddde0f868b 100644
--- a/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
+++ b/src/main/java/net/minecraft/world/item/ThrowablePotionItem.java
@@ -21,7 +21,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem {
@@ -23,7 +23,7 @@ public class ThrowablePotionItem extends PotionItem implements ProjectileItem {
ItemStack itemStack = user.getItemInHand(hand);
if (world instanceof ServerLevel serverLevel) {
// Paper start - PlayerLaunchProjectileEvent
- final Projectile.Delayed<ThrownPotion> thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, 1.0F);
+ final Projectile.Delayed<ThrownPotion> thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, 0.5F, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur
- final Projectile.Delayed<ThrownPotion> thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, 1.0F);
+ final Projectile.Delayed<ThrownPotion> thrownPotion = Projectile.spawnProjectileFromRotationDelayed(ThrownPotion::new, serverLevel, itemStack, user, -20.0F, PROJECTILE_SHOOT_POWER, (float) serverLevel.purpurConfig.throwablePotionProjectileOffset); // Purpur
// Paper start - PlayerLaunchProjectileEvent
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) thrownPotion.projectile().getBukkitEntity());
if (event.callEvent() && thrownPotion.attemptSpawn()) {
diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java
index 5133443911f932e8f6b5d3ca8baccecfd6f81c00..9134c4aada4e0cd7b51810a59405c07d433f7c78 100644
index aff4f33be216f62d6c6e139dcd7fd82efdbd267c..810082126567eb02bec395065b95b3c3902d4973 100644
--- a/src/main/java/net/minecraft/world/item/TridentItem.java
+++ b/src/main/java/net/minecraft/world/item/TridentItem.java
@@ -88,7 +88,7 @@ public class TridentItem extends Item implements ProjectileItem {
@@ -89,7 +89,7 @@ public class TridentItem extends Item implements ProjectileItem {
// itemstack.hurtWithoutBreaking(1, entityhuman); // CraftBukkit - moved down
if (f == 0.0F) {
// Paper start - PlayerLaunchProjectileEvent