entities with passengers can go through portals now, closes #1540

This commit is contained in:
granny
2024-06-25 01:21:03 -07:00
parent ad910f8210
commit 39617d5c9d
115 changed files with 613 additions and 609 deletions

View File

@@ -35,7 +35,7 @@ index 3f5bb5c9ceb5b31fcc9ef0a7a6157e1e1cb2a09f..9bd56c48119fe630f272427a2ec99ffe
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 01333f69b622141b2eb53441c6cbd69e4a059d55..96854366c0abc7424b7e8164e4438f5a4627e9f0 100644
index 01333f69b622141b2eb53441c6cbd69e4a059d55..9c11a615fbfd4fcaff5df2a15d1b8578897ab2b4 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -65,6 +65,13 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
@@ -43,7 +43,7 @@ index 01333f69b622141b2eb53441c6cbd69e4a059d55..96854366c0abc7424b7e8164e4438f5a
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
if (entity.canUsePortal(false) && Shapes.joinIsNotEmpty(Shapes.create(entity.getBoundingBox().move((double) (-pos.getX()), (double) (-pos.getY()), (double) (-pos.getZ()))), state.getShape(world, pos), BooleanOp.AND)) {
+ // Purpur start
+ if (entity.isPassenger() || entity.isVehicle()) {
+ if (world.purpurConfig.imposeTeleportRestrictionsOnEndPortals && (entity.isVehicle() || entity.isPassenger())) {
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, PlayerTeleportEvent.TeleportCause.END_PORTAL).callEvent()) {
+ return;
+ }
@@ -53,7 +53,7 @@ index 01333f69b622141b2eb53441c6cbd69e4a059d55..96854366c0abc7424b7e8164e4438f5a
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 ddab7de1d376e9e486e2f920174397ea8804aa29..ef75ee1a19b68258083c3ea064b0dcfcbf417f0e 100644
index ddab7de1d376e9e486e2f920174397ea8804aa29..e170176497b833e9addbdc652edcc074e598d26a 100644
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
@@ -109,6 +109,13 @@ public class NetherPortalBlock extends Block implements Portal {
@@ -61,7 +61,7 @@ index ddab7de1d376e9e486e2f920174397ea8804aa29..ef75ee1a19b68258083c3ea064b0dcfc
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent
if (entity.canUsePortal(false)) {
+ // Purpur start
+ if (entity.isPassenger() || entity.isVehicle()) {
+ if (world.purpurConfig.imposeTeleportRestrictionsOnNetherPortals && (entity.isVehicle() || entity.isPassenger())) {
+ if (!new org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent(entity.getBukkitEntity(), entity.isPassenger() ? org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_PASSENGER : org.purpurmc.purpur.event.entity.EntityTeleportHinderedEvent.Reason.IS_VEHICLE, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.NETHER_PORTAL).callEvent()) {
+ return;
+ }
@@ -95,22 +95,26 @@ index 745e57d58966dbe60b2301818c23d25eecdb6dc2..33425cdcde10f6446f059b290d4c372d
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 489beb355db7ea1119470164c987408e9c34a60f..85414be0698396cfee3851e85f8f903737dd4d19 100644
index 489beb355db7ea1119470164c987408e9c34a60f..ea8288b00d7a9cf5d1529a13011b7df7aac55a3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {
@@ -117,6 +117,9 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
+ public boolean imposeTeleportRestrictionsOnGateways = false;
+ public boolean imposeTeleportRestrictionsOnNetherPortals = false;
+ public boolean imposeTeleportRestrictionsOnEndPortals = false;
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true;
@@ -133,6 +134,7 @@ public class PurpurWorldConfig {
@@ -133,6 +136,9 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
+ imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
+ imposeTeleportRestrictionsOnNetherPortals = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-nether-portals", imposeTeleportRestrictionsOnNetherPortals);
+ imposeTeleportRestrictionsOnEndPortals = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-end-portals", imposeTeleportRestrictionsOnEndPortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);

View File

@@ -37,10 +37,10 @@ index 99798220b6e0ad06db2ba5c9b74bfb72af185fee..12a0c69f8fec30fad64cbb00af2ca1bb
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3153c7d88efcf44f805febda73ae340978e0009b..001547cc8fca4d6f5b88c9f7b4f759fd1776018b 100644
index ea8288b00d7a9cf5d1529a13011b7df7aac55a3a..6958742eb8bafab17f79bb29137dde3f9d9ba5e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -449,10 +449,16 @@ public class PurpurWorldConfig {
@@ -453,10 +453,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -17,7 +17,7 @@ index a1ef38422631b3856160e054daa14eacb8f13c57..794f5ccc2147ad101e06576a704bb153
this.connection.teleport(exit); // 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 187f5a29cd6c2ee3d4e999fca78b8fa436605065..f80133ad16b65f99144c1a721885cffc6254e45f 100644
index f63430ca14b746419103994e03707610fcc059bf..d729c66ef03339b2a7cd982082c2e646601e2441 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3102,13 +3102,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -38,10 +38,10 @@ index 187f5a29cd6c2ee3d4e999fca78b8fa436605065..f80133ad16b65f99144c1a721885cffc
this.portalProcess = new PortalProcessor(portal, pos.immutable());
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a3f9c6fb8dab3152cafd0ba29a0c398e9bb52327..6499bd31e160fe349007051eaad712d222e7787c 100644
index fe262538b7c4f3f69cb481303d4b16b55e8b1082..17a57de1513c635640167b90334aca6cb3384a8d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -324,6 +324,7 @@ public class PurpurWorldConfig {
@@ -328,6 +328,7 @@ public class PurpurWorldConfig {
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
@@ -49,7 +49,7 @@ index a3f9c6fb8dab3152cafd0ba29a0c398e9bb52327..6499bd31e160fe349007051eaad712d2
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -339,6 +340,7 @@ public class PurpurWorldConfig {
@@ -343,6 +344,7 @@ public class PurpurWorldConfig {
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);

View File

@@ -59,7 +59,7 @@ index 43fcaa66b1c3a53a625aca63c50793e91b97d30f..b79707bafd7c18eda8ea64bc33d22625
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8583c7391cc0dd6dcd7e11e1f75c3e131afad842..7ec19337f557207808a2349aa23718a05beb4c72 100644
index 75d45b1c9eb9ad15154454802bc5526fb8e50d27..9110920bbcc32fa3cf67ea92030fa1b4101e44f4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {
@@ -70,7 +70,7 @@ index 8583c7391cc0dd6dcd7e11e1f75c3e131afad842..7ec19337f557207808a2349aa23718a0
public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -135,6 +136,7 @@ public class PurpurWorldConfig {
@@ -137,6 +138,7 @@ public class PurpurWorldConfig {
public int animalBreedingCooldownSeconds = 0;
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);

View File

@@ -53,10 +53,10 @@ index 72122333cf0247e4a8511ac633487f170b89586c..02f1d0418395b100cabfad7294466aaa
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7ec19337f557207808a2349aa23718a05beb4c72..6c12e058fc5f24ac15e946f261a0cf2920f1fb78 100644
index 9110920bbcc32fa3cf67ea92030fa1b4101e44f4..6f18225b00fa2b6c46265de0caa761695e3aeaee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -456,6 +456,43 @@ public class PurpurWorldConfig {
@@ -460,6 +460,43 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -29,10 +29,10 @@ index 714223f131cb4ece988ffacbfc90bb9d7d143636..3cc6db1e0a657468282caaba0d9dccea
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d0e25e5217e7076667a590c4186ec2e86b1f4bce..26db84f0b1fe1447f3e80f28db5fe7cd4a11ccc3 100644
index 6f18225b00fa2b6c46265de0caa761695e3aeaee..9d44e091645ab76f8b085ff94388788f1ea42b77 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -997,6 +997,7 @@ public class PurpurWorldConfig {
@@ -1001,6 +1001,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index d0e25e5217e7076667a590c4186ec2e86b1f4bce..26db84f0b1fe1447f3e80f28db5fe7cd
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -1015,6 +1016,7 @@ public class PurpurWorldConfig {
@@ -1019,6 +1020,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index d0e25e5217e7076667a590c4186ec2e86b1f4bce..26db84f0b1fe1447f3e80f28db5fe7cd
}
public boolean endermanRidable = false;
@@ -2297,6 +2299,7 @@ public class PurpurWorldConfig {
@@ -2301,6 +2303,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index d0e25e5217e7076667a590c4186ec2e86b1f4bce..26db84f0b1fe1447f3e80f28db5fe7cd
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2317,6 +2320,7 @@ public class PurpurWorldConfig {
@@ -2321,6 +2324,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -149,10 +149,10 @@ index f9d5718193f4b886a118d5a8b9191a3a4469d6d8..3c1b41f0ae58669d6fae640e8763c43e
public static String serverModName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 230a61c491aeacb8cb60c52019af7ef4f59fe982..65d6bbcc80e379aa3eb6a74bc45fd7e83b33a0c1 100644
index 9d44e091645ab76f8b085ff94388788f1ea42b77..9f5fd26c46daa685cca8382c5f1d410493c0cac6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -188,6 +188,10 @@ public class PurpurWorldConfig {
@@ -192,6 +192,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
public List<Item> itemImmuneToLightning = new ArrayList<>();
@@ -163,7 +163,7 @@ index 230a61c491aeacb8cb60c52019af7ef4f59fe982..65d6bbcc80e379aa3eb6a74bc45fd7e8
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -225,6 +229,10 @@ public class PurpurWorldConfig {
@@ -229,6 +233,10 @@ public class PurpurWorldConfig {
Item item = BuiltInRegistries.ITEM.get(ResourceLocation.parse(key.toString()));
if (item != Items.AIR) itemImmuneToLightning.add(item);
});

View File

@@ -35,10 +35,10 @@ index fc560ddef3542f9bf566917c3af9072857f1bd04..d76e8cf2a2d48548b0ad33c78dbf435b
float f1 = amount;
boolean flag = amount > 0.0F && this.isDamageSourceBlocked(source); // Copied from below
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 65d6bbcc80e379aa3eb6a74bc45fd7e83b33a0c1..3ad684558aa1d21f55e75b9ff8f253cdf3b535ff 100644
index 9f5fd26c46daa685cca8382c5f1d410493c0cac6..d866d35196055ff4581ee77c6996818ec1e5f977 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -335,6 +335,7 @@ public class PurpurWorldConfig {
@@ -339,6 +339,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -46,7 +46,7 @@ index 65d6bbcc80e379aa3eb6a74bc45fd7e83b33a0c1..3ad684558aa1d21f55e75b9ff8f253cd
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -351,6 +352,7 @@ public class PurpurWorldConfig {
@@ -355,6 +356,7 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);

View File

@@ -43,10 +43,10 @@ index 20a91d798d31a71b3c05efa2cc5bda55494e26cc..fc62754f93bd11a10c28b8b7b116e9ff
// Paper end - PlayerLaunchProjectileEvent
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3ad684558aa1d21f55e75b9ff8f253cdf3b535ff..e0eee89207713d39b1be36e3b8850ec0c55a3bc6 100644
index d866d35196055ff4581ee77c6996818ec1e5f977..7c283940d0127eb3800938164c4c20d957a6644d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -192,6 +192,10 @@ public class PurpurWorldConfig {
@@ -196,6 +196,10 @@ public class PurpurWorldConfig {
public boolean ignoreScissorsInWater = false;
public boolean ignoreScissorsInLava = false;
public double scissorsRunningDamage = 1D;
@@ -57,7 +57,7 @@ index 3ad684558aa1d21f55e75b9ff8f253cdf3b535ff..e0eee89207713d39b1be36e3b8850ec0
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -233,6 +237,10 @@ public class PurpurWorldConfig {
@@ -237,6 +241,10 @@ public class PurpurWorldConfig {
ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

View File

@@ -18,10 +18,10 @@ index 794f5ccc2147ad101e06576a704bb153e83550f7..27acdaa3d72198c822b92f6a0d27b7b1
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e0eee89207713d39b1be36e3b8850ec0c55a3bc6..1072011352d2a65467b3a319a2fb23e00374603a 100644
index 7c283940d0127eb3800938164c4c20d957a6644d..13aa8212f010540129b8db25c528c0ac89ab7f9c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -344,6 +344,7 @@ public class PurpurWorldConfig {
@@ -348,6 +348,7 @@ public class PurpurWorldConfig {
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index e0eee89207713d39b1be36e3b8850ec0c55a3bc6..1072011352d2a65467b3a319a2fb23e0
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -361,6 +362,7 @@ public class PurpurWorldConfig {
@@ -365,6 +366,7 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);

View File

@@ -18,10 +18,10 @@ index 21b2709f96b49c77807c9054843505a4fd0155f0..61602040352fe2eacd646ec3dc6728ea
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5fff156121766f8b1fbb7cf7d9a73a6da37dd72a..67568ba4d46b6bdd9c2e32eb91ec8a2700888bee 100644
index 13aa8212f010540129b8db25c528c0ac89ab7f9c..3f98f85fe5e4a44a8d0ad9900ced62075cfc0ae5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1048,6 +1048,8 @@ public class PurpurWorldConfig {
@@ -1052,6 +1052,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 5fff156121766f8b1fbb7cf7d9a73a6da37dd72a..67568ba4d46b6bdd9c2e32eb91ec8a27
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1057,12 +1059,18 @@ public class PurpurWorldConfig {
@@ -1061,12 +1063,18 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -20,10 +20,10 @@ index 61602040352fe2eacd646ec3dc6728ea733d4ca2..a68f63b73785e7db68127151aca5138d
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 67568ba4d46b6bdd9c2e32eb91ec8a2700888bee..f3bec22cab2714d54461cfe29173a9734d198de7 100644
index 3f98f85fe5e4a44a8d0ad9900ced62075cfc0ae5..126c4d3653b75c3aeccf46608ff32a07a2702add 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1050,6 +1050,8 @@ public class PurpurWorldConfig {
@@ -1054,6 +1054,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 67568ba4d46b6bdd9c2e32eb91ec8a2700888bee..f3bec22cab2714d54461cfe29173a973
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1071,6 +1073,8 @@ public class PurpurWorldConfig {
@@ -1075,6 +1077,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -36,10 +36,10 @@ index 84623c632d8c2f0fa7ec939c711316d757117d23..1851035b9fdcc076442d0699567a3b02
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0a4f21acb0171a61478a2aca9c753ed60607c882..6cfb3136785358b42e903d9b87c5c25379dd5985 100644
index 126c4d3653b75c3aeccf46608ff32a07a2702add..a3e30ce28e2255711101724dbf7bcafcea3a3e57 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -129,6 +129,7 @@ public class PurpurWorldConfig {
@@ -131,6 +131,7 @@ public class PurpurWorldConfig {
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true;
public boolean projectilesBypassMobGriefing = false;
@@ -47,7 +47,7 @@ index 0a4f21acb0171a61478a2aca9c753ed60607c882..6cfb3136785358b42e903d9b87c5c253
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -147,6 +148,7 @@ public class PurpurWorldConfig {
@@ -151,6 +152,7 @@ public class PurpurWorldConfig {
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);

View File

@@ -32,10 +32,10 @@ index 96f1eba4a356e131a8f3c689bedc9eb8821e1a72..8edfc34a17d8c05cfa2928738306c1ab
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 00113c0873da5df2a8a2e9a54d05d8bb44026c22..17c69726d9ebe45a958109755c5725342eb6d2aa 100644
index a3e30ce28e2255711101724dbf7bcafcea3a3e57..49172ba9126c728a4495f8c8b151c4b62cc9d0d2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1407,6 +1407,7 @@ public class PurpurWorldConfig {
@@ -1411,6 +1411,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 00113c0873da5df2a8a2e9a54d05d8bb44026c22..17c69726d9ebe45a958109755c572534
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1426,6 +1427,7 @@ public class PurpurWorldConfig {
@@ -1430,6 +1431,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -52,10 +52,10 @@ index 798d00aae04ba48ca0bbd70ccf3b3e91180d97b4..e9eeddf5c39d66535163e67f41dbc9ac
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 17c69726d9ebe45a958109755c5725342eb6d2aa..b01a18a7888625360fc77094f031d3d6c3833170 100644
index 49172ba9126c728a4495f8c8b151c4b62cc9d0d2..b820fae29b891ffbde87eed8166802e7187f7131 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -894,6 +894,7 @@ public class PurpurWorldConfig {
@@ -898,6 +898,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -63,7 +63,7 @@ index 17c69726d9ebe45a958109755c5725342eb6d2aa..b01a18a7888625360fc77094f031d3d6
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -909,6 +910,7 @@ public class PurpurWorldConfig {
@@ -913,6 +914,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index 2af4c365743b2956939335512f74e0a1d84298f7..a69e7e8da81bd13578d230cc1e3f0f90
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b01a18a7888625360fc77094f031d3d6c3833170..2f88038603e7538075633a5d911065fd52d9b23d 100644
index b820fae29b891ffbde87eed8166802e7187f7131..297edd2b0cf792713d41a7323f2cfd4d680482ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1802,6 +1802,7 @@ public class PurpurWorldConfig {
@@ -1806,6 +1806,7 @@ public class PurpurWorldConfig {
public double ravagerScale = 1.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index b01a18a7888625360fc77094f031d3d6c3833170..2f88038603e7538075633a5d911065fd
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1815,6 +1816,23 @@ public class PurpurWorldConfig {
@@ -1819,6 +1820,23 @@ public class PurpurWorldConfig {
ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -87,10 +87,10 @@ index d3d12f9114173f4971f95d7ef895a4374705bd3f..f34159f8d6c51af2341bf49db0d6d6f0
protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) {
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 96a05ffc7c9cf9a88b8a26bbf0ee17cfc24f8330..8519c8dbc648e3770bc06adafa2892eea5fd5aab 100644
index 297edd2b0cf792713d41a7323f2cfd4d680482ed..17093e3c696dc0f05735ed3514c37af9968083e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -471,6 +471,11 @@ public class PurpurWorldConfig {
@@ -475,6 +475,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -18,10 +18,10 @@ index a416766ababa6ec85d6d53e54042c87f82062a1f..aba483be8705ad41245604862cf403fd
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8519c8dbc648e3770bc06adafa2892eea5fd5aab..d657d9310db7646336c8fdb166ad4aed50733c30 100644
index 17093e3c696dc0f05735ed3514c37af9968083e2..fe46a714e5eaf260c39803b9e644f62a5f211dd2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {
@@ -351,6 +351,7 @@ public class PurpurWorldConfig {
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
@@ -29,7 +29,7 @@ index 8519c8dbc648e3770bc06adafa2892eea5fd5aab..d657d9310db7646336c8fdb166ad4aed
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -365,6 +366,7 @@ public class PurpurWorldConfig {
@@ -369,6 +370,7 @@ public class PurpurWorldConfig {
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);

View File

@@ -32,10 +32,10 @@ index 05c63eb6cf8a7067105c58d244c7cc27d6bf1125..7c2d5d28f8c2aba2cd8255a4aef22247
return InteractionResult.sidedSuccess(this.level().isClientSide);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 58534a280f2700bb317b6d471af3f7992e9cf204..b359af74ec6dee1fdfe7dbcfeeafccf35c5d45c2 100644
index fe46a714e5eaf260c39803b9e644f62a5f211dd2..9bf0c00ab7ad5c112250d908fd2fc32b7d955cde 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2256,6 +2256,7 @@ public class PurpurWorldConfig {
@@ -2260,6 +2260,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 58534a280f2700bb317b6d471af3f7992e9cf204..b359af74ec6dee1fdfe7dbcfeeafccf3
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2275,6 +2276,7 @@ public class PurpurWorldConfig {
@@ -2279,6 +2280,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -51,7 +51,7 @@ index 58534a280f2700bb317b6d471af3f7992e9cf204..b359af74ec6dee1fdfe7dbcfeeafccf3
}
public boolean vindicatorRidable = false;
@@ -2307,6 +2309,7 @@ public class PurpurWorldConfig {
@@ -2311,6 +2313,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -59,7 +59,7 @@ index 58534a280f2700bb317b6d471af3f7992e9cf204..b359af74ec6dee1fdfe7dbcfeeafccf3
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2321,6 +2324,7 @@ public class PurpurWorldConfig {
@@ -2325,6 +2328,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ 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 f80133ad16b65f99144c1a721885cffc6254e45f..555d0b747cc767a3d997b10e5ce8c2a00f261f43 100644
index d729c66ef03339b2a7cd982082c2e646601e2441..99562b8eb24c39a1771edf4b9084c26179c4f382 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3321,7 +3321,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -40,10 +40,10 @@ index d76e8cf2a2d48548b0ad33c78dbf435b61bf91c4..da28941d9a374be39cf7c1620f48ddaa
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b359af74ec6dee1fdfe7dbcfeeafccf35c5d45c2..1a4d5552d2c5e0080663dba95a3676b766bac5f8 100644
index 9bf0c00ab7ad5c112250d908fd2fc32b7d955cde..140dd4ebdb18fee2e5ab13ca1ff37bc3101e5a0e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -163,6 +163,15 @@ public class PurpurWorldConfig {
@@ -167,6 +167,15 @@ public class PurpurWorldConfig {
nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks);
}

View File

@@ -47,10 +47,10 @@ index fa29eb15934b3dad171d27c21d99b2451cfe553b..ba4aa69425d796d306791ea193f9c6b2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 947d46dcf7833ea0d2398551114af22cc4241ad4..2a33a64dfed9570f47515ef85f0c77883949bf03 100644
index 140dd4ebdb18fee2e5ab13ca1ff37bc3101e5a0e..575b2fe79c5d6ca5c19ee3026abf7ce4618c98dc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -592,6 +592,11 @@ public class PurpurWorldConfig {
@@ -596,6 +596,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -24,10 +24,10 @@ index 759839e912c54598b257ad738481364940f88a18..e60e6b3e5ae5a468cfe649ed2222412f
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2a33a64dfed9570f47515ef85f0c77883949bf03..f11fabfe8861b5c602093b4ce051c6aa15796041 100644
index 575b2fe79c5d6ca5c19ee3026abf7ce4618c98dc..92b722c01699f5889da25b7e2ac31862b6df956f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -557,6 +557,13 @@ public class PurpurWorldConfig {
@@ -561,6 +561,13 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -82,10 +82,10 @@ index 6dd75bc722f9c20b4869e6353115c3b02dd79f99..dfaf82f5b0180cf08c4125347867d37a
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2eab0c6ab2a74e141f1e5e6062a2c66f72d35389..39c80285a287714a82bc5b93a2be382446b7ba54 100644
index f72e3c436911acc9b91f61e0ef4cc36c0dc0cb54..146e2b193703f065dc42968f91ca84a6025ed7b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -496,6 +496,16 @@ public class PurpurWorldConfig {
@@ -500,6 +500,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -21,10 +21,10 @@ index 902825ec9ea05f4418b45f56a008d73f217bd178..a676ccfa6b02e8986df6f6a2e04cbb06
int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 39c80285a287714a82bc5b93a2be382446b7ba54..7ddb992f3c994d7ade40e4281b3fc9a7e0868a4a 100644
index 146e2b193703f065dc42968f91ca84a6025ed7b5..5bae9a1553b81a5a1afb0dbef30725e2ecfe088d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -621,6 +621,13 @@ public class PurpurWorldConfig {
@@ -625,6 +625,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,10 +96,10 @@ index 4934bae61114b49a9f8d0ed044fbb881210df32a..1be074074283f12543ac771ac9201580
entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7ddb992f3c994d7ade40e4281b3fc9a7e0868a4a..b69a58678e4dc20d7dff961d93c0997995180ce8 100644
index 5bae9a1553b81a5a1afb0dbef30725e2ecfe088d..75067fbba5ae696640302158b0e83bf77dd9e59d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -446,6 +446,23 @@ public class PurpurWorldConfig {
@@ -450,6 +450,23 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c2
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b69a58678e4dc20d7dff961d93c0997995180ce8..fbdde0870ff384e970ca81289201341c3487e145 100644
index 75067fbba5ae696640302158b0e83bf77dd9e59d..9cf6098cd7ab85090c279b0737336f515e9645bf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -607,6 +607,11 @@ public class PurpurWorldConfig {
@@ -611,6 +611,11 @@ public class PurpurWorldConfig {
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
}

View File

@@ -18,7 +18,7 @@ Difficulties:
3 - hard
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 730ef910afa911f264cf842a53281cda845ffac7..1e036ac5bca4c4c69e7f99390a48daf248364ed3 100644
index e170176497b833e9addbdc652edcc074e598d26a..c3f37df133250e1a948f3b58d432fbee83a3c2e3 100644
--- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java
@@ -77,7 +77,7 @@ public class NetherPortalBlock extends Block implements Portal {
@@ -31,10 +31,10 @@ index 730ef910afa911f264cf842a53281cda845ffac7..1e036ac5bca4c4c69e7f99390a48daf2
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 34cadf37bdfeb735c8f99cfb189f106202464905..fb612852a3b9a5f80554e7c237e16954c9f43d6b 100644
index 9cf6098cd7ab85090c279b0737336f515e9645bf..8e4f9132e04e43c7ae9b9ca11191f24c678920ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1734,6 +1734,7 @@ public class PurpurWorldConfig {
@@ -1738,6 +1738,7 @@ public class PurpurWorldConfig {
public double piglinScale = 1.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 34cadf37bdfeb735c8f99cfb189f106202464905..fb612852a3b9a5f80554e7c237e16954
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1747,6 +1748,7 @@ public class PurpurWorldConfig {
@@ -1751,6 +1752,7 @@ public class PurpurWorldConfig {
piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index e472df057d087fe46bd40b798c050ed6e38a283c..999453409c19abf7f5b5c2dc39969985
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fb612852a3b9a5f80554e7c237e16954c9f43d6b..110c1eb21a9aeafc8a438cf77d9e259d8d9814ce 100644
index 8e4f9132e04e43c7ae9b9ca11191f24c678920ce..b0c40b8c47d3fff4c1c6ab5903a062995cead9c7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2431,6 +2431,7 @@ public class PurpurWorldConfig {
@@ -2435,6 +2435,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index fb612852a3b9a5f80554e7c237e16954c9f43d6b..110c1eb21a9aeafc8a438cf77d9e259d
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2452,6 +2453,7 @@ public class PurpurWorldConfig {
@@ -2456,6 +2457,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -36,10 +36,10 @@ index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 21e088ecfd12a75af218df097e2da35de3ee1795..dc7689e43e3ba9d0da241e18e09dc3d1cb992535 100644
index b0c40b8c47d3fff4c1c6ab5903a062995cead9c7..9204429711e23019808f2e619aa6d5fa2c738dc5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -602,6 +602,11 @@ public class PurpurWorldConfig {
@@ -606,6 +606,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -28,10 +28,10 @@ index da28941d9a374be39cf7c1620f48ddaaa89a9010..ee48e98e6981225b486ea933d51fb4b9
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dc7689e43e3ba9d0da241e18e09dc3d1cb992535..8a81ddc4ab1117483f9bd28113e089bdef52d5bf 100644
index 9204429711e23019808f2e619aa6d5fa2c738dc5..c31823497efcabed036951e0daa6e3da64716c14 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {
@@ -134,6 +134,7 @@ public class PurpurWorldConfig {
public boolean persistentDroppableEntityDisplayNames = true;
public boolean projectilesBypassMobGriefing = false;
public boolean tickFluids = true;
@@ -39,7 +39,7 @@ index dc7689e43e3ba9d0da241e18e09dc3d1cb992535..8a81ddc4ab1117483f9bd28113e089bd
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -151,6 +152,7 @@ public class PurpurWorldConfig {
@@ -155,6 +156,7 @@ public class PurpurWorldConfig {
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
tickFluids = getBoolean("gameplay-mechanics.tick-fluids", tickFluids);

View File

@@ -21,10 +21,10 @@ index e9eeddf5c39d66535163e67f41dbc9ac98643742..3643f62853dd5782e1dd36bd533864e0
// CraftBukkit end
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cdafbe8b6259434d2b9bb6c2a9a924a4d8ade205..40b9650817b781192f668f662873329d22a8698a 100644
index c31823497efcabed036951e0daa6e3da64716c14..7af41d5c345861970d25b43b094834b16217c002 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -971,6 +971,7 @@ public class PurpurWorldConfig {
@@ -975,6 +975,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index cdafbe8b6259434d2b9bb6c2a9a924a4d8ade205..40b9650817b781192f668f662873329d
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -987,6 +988,7 @@ public class PurpurWorldConfig {
@@ -991,6 +992,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -25,10 +25,10 @@ index 0cf985cac3279c0cb6255f02b76a5012027cae99..446a2795aa8f2ddf472f8b379534978f
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 40b9650817b781192f668f662873329d22a8698a..71821fb520c5f367ccc657e2d549250d13fe7ed1 100644
index 7af41d5c345861970d25b43b094834b16217c002..1e07d5e1e85517c6d7918f2cd3b2bed62f58fbfd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1461,6 +1461,8 @@ public class PurpurWorldConfig {
@@ -1465,6 +1465,8 @@ public class PurpurWorldConfig {
public double ironGolemMaxHealth = 100.0D;
public double ironGolemScale = 1.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -37,7 +37,7 @@ index 40b9650817b781192f668f662873329d22a8698a..71821fb520c5f367ccc657e2d549250d
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1474,6 +1476,8 @@ public class PurpurWorldConfig {
@@ -1478,6 +1480,8 @@ public class PurpurWorldConfig {
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemScale = Mth.clamp(getDouble("mobs.iron_golem.attributes.scale", ironGolemScale), 0.0625D, 16.0D);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index 884fc114ef70d49fd0d64fcea46fb277950962a1..4fa32a6406e3158369064d39160e4850
@Nullable
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 71821fb520c5f367ccc657e2d549250d13fe7ed1..3ddf43e0c9c632deff580ecbecdc37f3bfab7c5f 100644
index 1e07d5e1e85517c6d7918f2cd3b2bed62f58fbfd..ac0fb308e320b48c0b992e9988dcdb28f71ac41b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1639,6 +1639,7 @@ public class PurpurWorldConfig {
@@ -1643,6 +1643,7 @@ public class PurpurWorldConfig {
public double parrotMaxHealth = 6.0D;
public double parrotScale = 1.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 71821fb520c5f367ccc657e2d549250d13fe7ed1..3ddf43e0c9c632deff580ecbecdc37f3
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1652,6 +1653,7 @@ public class PurpurWorldConfig {
@@ -1656,6 +1657,7 @@ public class PurpurWorldConfig {
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotScale = Mth.clamp(getDouble("mobs.parrot.attributes.scale", parrotScale), 0.0625D, 16.0D);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 9ad276a73cba04edbe48f828031a15727d768a5b..337bd2011c471361653c317004f8380c
Vec3 vec3d5 = this.getDeltaMovement();
double d21 = vec3d5.x;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c76aa3abd855377b9eb73c23b94a23ea01b7dd9d..633e2e1d53e7db3cbe8bc756a1b6ded02185decd 100644
index ac0fb308e320b48c0b992e9988dcdb28f71ac41b..68a38529cde72e0008f48abf01d007cda8ee4749 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -266,6 +266,7 @@ public class PurpurWorldConfig {
@@ -270,6 +270,7 @@ public class PurpurWorldConfig {
public boolean minecartControllableFallDamage = true;
public double minecartControllableBaseSpeed = 0.1D;
public Map<Block, Double> minecartControllableBlockSpeeds = new HashMap<>();
@@ -29,7 +29,7 @@ index c76aa3abd855377b9eb73c23b94a23ea01b7dd9d..633e2e1d53e7db3cbe8bc756a1b6ded0
private void minecartSettings() {
if (PurpurConfig.version < 12) {
boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere);
@@ -318,6 +319,7 @@ public class PurpurWorldConfig {
@@ -322,6 +323,7 @@ public class PurpurWorldConfig {
set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D);
set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config change multiplier critical damage value
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 2dafba96353c208b89da7b65c0d56a51e00547c3..c582b5be87e93a0ea231bb6ce47bd10c2238037c 100644
index 1974bfc133e582ce1fd6db7d44b72898582e5d12..233e9683add1c64e85bd254aaba970053d637803 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1347,7 +1347,7 @@ public abstract class Player extends LivingEntity {
@@ -18,10 +18,10 @@ index 2dafba96353c208b89da7b65c0d56a51e00547c3..c582b5be87e93a0ea231bb6ce47bd10c
float f3 = f + f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 633e2e1d53e7db3cbe8bc756a1b6ded02185decd..fe2b10c79a8119030020e085f7dee23299131e72 100644
index 68a38529cde72e0008f48abf01d007cda8ee4749..14206628ace10ef23ed45a779a8e48ac067a826e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -363,6 +363,7 @@ public class PurpurWorldConfig {
@@ -367,6 +367,7 @@ public class PurpurWorldConfig {
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
@@ -29,7 +29,7 @@ index 633e2e1d53e7db3cbe8bc756a1b6ded02185decd..fe2b10c79a8119030020e085f7dee232
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -382,6 +383,7 @@ public class PurpurWorldConfig {
@@ -386,6 +387,7 @@ public class PurpurWorldConfig {
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);

View File

@@ -19,10 +19,10 @@ index fbe15cdd5b9bca2ab4b1e871abbbdbff49ade8a4..23d113842bf774bdc74e0dffcc97b642
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fe2b10c79a8119030020e085f7dee23299131e72..f8da85951268bea5e48c5914c6c98a3fb224aa47 100644
index 14206628ace10ef23ed45a779a8e48ac067a826e..f801e4e307c37f61ce22a5128e64775722c35eee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -529,6 +529,11 @@ public class PurpurWorldConfig {
@@ -533,6 +533,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -31,10 +31,10 @@ index f52823146944d333f2d050e90261b570ba66f5dd..d8efb00c325448d566c59418fe22268c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d2845ba46afe2a4d78470f62731e2815c36860ea..853fa09d8c5760c3e0afa4ddec80e522847a6b48 100644
index f801e4e307c37f61ce22a5128e64775722c35eee..7a70b458ca900e518b24837b0315904021aaefe3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -780,6 +780,8 @@ public class PurpurWorldConfig {
@@ -784,6 +784,8 @@ public class PurpurWorldConfig {
public double beeScale = 1.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index d2845ba46afe2a4d78470f62731e2815c36860ea..853fa09d8c5760c3e0afa4ddec80e522
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -794,6 +796,8 @@ public class PurpurWorldConfig {
@@ -798,6 +800,8 @@ public class PurpurWorldConfig {
beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -72,10 +72,10 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e95e47686e3d9761e09a9a94abc5826e3a78faae..0a6df211aa9958e0f021d71ba784959c2cccb0f8 100644
index 7a70b458ca900e518b24837b0315904021aaefe3..3d3edb700314ca2a368ad2b5e310d4aaa097c8cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -322,6 +322,21 @@ public class PurpurWorldConfig {
@@ -326,6 +326,21 @@ public class PurpurWorldConfig {
poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier);
}

View File

@@ -26,10 +26,10 @@ index 814e70f558d7a6186233da0ff86c94c95d390e09..d1fb77d83d48183a9a37dbeec7bb0fda
} else {
return effectRange;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0a6df211aa9958e0f021d71ba784959c2cccb0f8..973d47d7a42a2e6101c9847bba596e940f252480 100644
index 3d3edb700314ca2a368ad2b5e310d4aaa097c8cd..6ca213635f81bff18c568768d6a05909de8f7bf8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -496,6 +496,17 @@ public class PurpurWorldConfig {
@@ -500,6 +500,17 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}

View File

@@ -54,10 +54,10 @@ index bd3f78e6453cfe18aa3da38176b04d734d83bb4b..515dd3b769917c4aa60ce180ef24f38c
public void eat(FoodProperties foodComponent) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 21b325552e231f3fb806b7a2094de7ae5ed417cf..fc0c635bcd787bd3105ca7f9b99fd295fa2969ce 100644
index 6ca213635f81bff18c568768d6a05909de8f7bf8..60496afdae66f0644dddce5891ed4c2c05eab093 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -379,6 +379,8 @@ public class PurpurWorldConfig {
@@ -383,6 +383,8 @@ public class PurpurWorldConfig {
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
public double playerCriticalDamageMultiplier = 1.5D;
@@ -66,7 +66,7 @@ index 21b325552e231f3fb806b7a2094de7ae5ed417cf..fc0c635bcd787bd3105ca7f9b99fd295
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -399,6 +401,8 @@ public class PurpurWorldConfig {
@@ -403,6 +405,8 @@ public class PurpurWorldConfig {
playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters);
playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight);
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);

View File

@@ -68,10 +68,10 @@ index 0d04a0107bd1a8a2b9aeb4be55025cd554e8fb79..a050d76233e179a1456b83ccc02bb9a5
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc0c635bcd787bd3105ca7f9b99fd295fa2969ce..c85019e1bbf2ce440e21f108c2751a715aca5c3a 100644
index 60496afdae66f0644dddce5891ed4c2c05eab093..bbdf167f158bfadeb3a940587495ea3538a49b13 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2012,6 +2012,11 @@ public class PurpurWorldConfig {
@@ -2016,6 +2016,11 @@ public class PurpurWorldConfig {
public double shulkerMaxHealth = 30.0D;
public double shulkerScale = 1.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -83,7 +83,7 @@ index fc0c635bcd787bd3105ca7f9b99fd295fa2969ce..c85019e1bbf2ce440e21f108c2751a71
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2024,6 +2029,11 @@ public class PurpurWorldConfig {
@@ -2028,6 +2033,11 @@ public class PurpurWorldConfig {
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerScale = Mth.clamp(getDouble("mobs.shulker.attributes.scale", shulkerScale), 0.0625D, Shulker.MAX_SCALE);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 4eef61323ba54f513e6f251ef7c804b2c91ff477..6b2235281dca67a80cb651e9f8e9bf25
public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY));
public static final Item SOUL_CAMPFIRE = registerBlock(
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5b256af9508acc8c9b62be80c8ebd6ec00f2faab..c00c5bea17557102e11e1e8b214ef1ae3cf80e51 100644
index bbdf167f158bfadeb3a940587495ea3538a49b13..698c54f8ed3a398077a8dcc7b00d3c6c4d67e6e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -211,6 +211,7 @@ public class PurpurWorldConfig {
@@ -215,6 +215,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldown = 20;
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
@@ -29,7 +29,7 @@ index 5b256af9508acc8c9b62be80c8ebd6ec00f2faab..c00c5bea17557102e11e1e8b214ef1ae
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -256,6 +257,7 @@ public class PurpurWorldConfig {
@@ -260,6 +261,7 @@ public class PurpurWorldConfig {
enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown);
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);

View File

@@ -26,10 +26,10 @@ index 370f1b76c002f7cecf596767db717da51b2990f8..994dee36ce3aad3a0ef6a06bcaf555bd
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 42303e1f15e9b0ebce1b77f941d23a5da269420c..2a39509055dbb6bdfd019bab3319376cb39ae0cd 100644
index 698c54f8ed3a398077a8dcc7b00d3c6c4d67e6e2..96dc19939587dfdaf65734e2b5280e32d03ff6db 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1100,6 +1100,7 @@ public class PurpurWorldConfig {
@@ -1104,6 +1104,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -37,7 +37,7 @@ index 42303e1f15e9b0ebce1b77f941d23a5da269420c..2a39509055dbb6bdfd019bab3319376c
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1116,6 +1117,7 @@ public class PurpurWorldConfig {
@@ -1120,6 +1121,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 515dd3b769917c4aa60ce180ef24f38ca12e6848..c7ad716f607afe382436d088a2b2e622
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2a39509055dbb6bdfd019bab3319376cb39ae0cd..476721e76ee24bd728924e2f1c41784109f3efb9 100644
index 96dc19939587dfdaf65734e2b5280e32d03ff6db..d2f9afca144bd15ca5c0edfa271897537ddf4adc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2720,4 +2720,9 @@ public class PurpurWorldConfig {
@@ -2724,4 +2724,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -157,10 +157,10 @@ index 24f6a158e4759aac3be8da4cf5e0d40bd295355b..6b7dbb570f8a698c87c6bce992d84d87
return InteractionResult.PASS;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6139def3034d512a32bc33b82c9ad42da9d5ec7b..58e55a82430fa4ac0b21c6166309b892b0864b5f 100644
index d2f9afca144bd15ca5c0edfa271897537ddf4adc..4f96af805f1b27e411d13661566eef0166318b26 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -495,6 +495,280 @@ public class PurpurWorldConfig {
@@ -499,6 +499,280 @@ public class PurpurWorldConfig {
snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage);
}

View File

@@ -18,10 +18,10 @@ index 3253361d91e2a2e68d354eaf3dd3e3cd486e191d..2649188930653610b8aaaeb18797c808
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 58e55a82430fa4ac0b21c6166309b892b0864b5f..1ad0f726805dd28b228fb4e22c0f6cca660d2334 100644
index 4f96af805f1b27e411d13661566eef0166318b26..a8982914d3fabc9473b8f05e757dd900a765fcd9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -212,6 +212,7 @@ public class PurpurWorldConfig {
@@ -216,6 +216,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
@@ -29,7 +29,7 @@ index 58e55a82430fa4ac0b21c6166309b892b0864b5f..1ad0f726805dd28b228fb4e22c0f6cca
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -258,6 +259,7 @@ public class PurpurWorldConfig {
@@ -262,6 +263,7 @@ public class PurpurWorldConfig {
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);

View File

@@ -24,10 +24,10 @@ index 8240c32d676a88aa23dcd052ee0136767e54fb0d..372c4ab9d390d5afd98947f21c79aae0
if (i != -1) {
world.scheduleTick(blockposition, (Block) this, i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1ad0f726805dd28b228fb4e22c0f6cca660d2334..f621c656cf9287a7d715e72ae814c13224edec0c 100644
index a8982914d3fabc9473b8f05e757dd900a765fcd9..a236624e689ee6528f2dd6758dba3cfe56428dc6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -810,6 +810,22 @@ public class PurpurWorldConfig {
@@ -814,6 +814,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -23,10 +23,10 @@ index 177475facb1c269cd9b4a28e0aa18189baf1b909..4d283ffd0819a82616679dbdb70892e8
if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) {
if (this.getShoulderEntityLeft().isEmpty()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c255fa7f1bc11a3bcd02b98a5464567c85325313..d7b9d515ec0103f12d33a60c98449c13a4744196 100644
index a236624e689ee6528f2dd6758dba3cfe56428dc6..9321cba5f280e30fdcf7399349b67bef94eb4f9b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -385,6 +385,7 @@ public class PurpurWorldConfig {
@@ -389,6 +389,7 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
@@ -34,7 +34,7 @@ index c255fa7f1bc11a3bcd02b98a5464567c85325313..d7b9d515ec0103f12d33a60c98449c13
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -407,6 +408,7 @@ public class PurpurWorldConfig {
@@ -411,6 +412,7 @@ public class PurpurWorldConfig {
playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier);
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);

View File

@@ -17,10 +17,10 @@ index a68f63b73785e7db68127151aca5138da4d88654..aafecf7d199bbcaa09403ed15bf199f7
for (int i = 0; i < 64; ++i) {
if (this.teleport()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d7b9d515ec0103f12d33a60c98449c13a4744196..e474019849d322bdbf576025b6c886c2da1559c5 100644
index 9321cba5f280e30fdcf7399349b67bef94eb4f9b..990934797fa7aaa5303e4b8a2de3b146350d7517 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1475,6 +1475,7 @@ public class PurpurWorldConfig {
@@ -1479,6 +1479,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index d7b9d515ec0103f12d33a60c98449c13a4744196..e474019849d322bdbf576025b6c886c2
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1498,6 +1499,7 @@ public class PurpurWorldConfig {
@@ -1502,6 +1503,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -89,10 +89,10 @@ index e61adb459d148390851607c6ea7cf710344b26e8..21dff6a902b3c4e0fb40e61b4974ead7
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 34774db35da51d2942c2d24bb7b99dd9b12c98d0..b984f777a42a6a71a789db4006a2934f1b54be86 100644
index 990934797fa7aaa5303e4b8a2de3b146350d7517..9cd70ca9dfbb0ea6d241e40bc8efb39c04f27d35 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -213,6 +213,7 @@ public class PurpurWorldConfig {
@@ -217,6 +217,7 @@ public class PurpurWorldConfig {
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
@@ -100,7 +100,7 @@ index 34774db35da51d2942c2d24bb7b99dd9b12c98d0..b984f777a42a6a71a789db4006a2934f
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -260,6 +261,7 @@ public class PurpurWorldConfig {
@@ -264,6 +265,7 @@ public class PurpurWorldConfig {
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);

View File

@@ -17,10 +17,10 @@ index 9367e0f148d3aa9a60dfd8881a3c337630a53129..6b76ca326d08853a8a508ec22d7bc6cf
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b984f777a42a6a71a789db4006a2934f1b54be86..7cd5f8c7eb9ff1fb4c7a86f922767536e18cb802 100644
index 9cd70ca9dfbb0ea6d241e40bc8efb39c04f27d35..fa4566561f4a4a67f42b3d617b6c1891bc51296f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -180,11 +180,13 @@ public class PurpurWorldConfig {
@@ -184,11 +184,13 @@ public class PurpurWorldConfig {
public double elytraDamageMultiplyBySpeed = 0;
public int elytraDamagePerFireworkBoost = 0;
public int elytraDamagePerTridentBoost = 0;

View File

@@ -18,10 +18,10 @@ index b38fbe5121f293f425d7673a6ce49b11d0ced0d9..2a74f42672b92393b52a61c27c5b8af7
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7cd5f8c7eb9ff1fb4c7a86f922767536e18cb802..bd9090f8fbaf4e1ab51570c7b88833f1dbc7e4fb 100644
index fa4566561f4a4a67f42b3d617b6c1891bc51296f..34b6a9d8da2cd06d2267fe6e1f3c4057a6269f67 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -360,6 +360,11 @@ public class PurpurWorldConfig {
@@ -364,6 +364,11 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -18,10 +18,10 @@ index 3c4cff3f095cdf2dd74df7bf4bb8f3d5600b342d..9bb75b49ea2d0bd8aafbe537b65f86eb
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c64d4708de68ac5d6575d8e5cf7efa8efa19f411..a943470572f6ac15e9174a2645270c04d04c2076 100644
index 34b6a9d8da2cd06d2267fe6e1f3c4057a6269f67..bc20b8fae0bd6696a308b22b664aaba26cb4e037 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2978,6 +2978,8 @@ public class PurpurWorldConfig {
@@ -2982,6 +2982,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index c64d4708de68ac5d6575d8e5cf7efa8efa19f411..a943470572f6ac15e9174a2645270c04
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2994,6 +2996,8 @@ public class PurpurWorldConfig {
@@ -2998,6 +3000,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -30,10 +30,10 @@ index a676ccfa6b02e8986df6f6a2e04cbb06b3edd0ff..6fe44572e34ad3e3a1851e73138bd8b7
if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) {
return false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ca3ebcb6266354a7a838d704d2ab04a9fa48cf56..d71a057d3bce2d00edb5b4b95b3b3d05ad4944f1 100644
index bc20b8fae0bd6696a308b22b664aaba26cb4e037..84041f353d3c969095c98d9e234a7d76ec77f325 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -996,9 +996,13 @@ public class PurpurWorldConfig {
@@ -1000,9 +1000,13 @@ public class PurpurWorldConfig {
public int spongeAbsorptionArea = 65;
public int spongeAbsorptionRadius = 6;

View File

@@ -18,10 +18,10 @@ index cf4161c57c3d8e6e93bce9e20490cd0893e8e0ca..3492cfcb6f0764f54caa1a5658801cd7
// this.level().globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b43ddd661ce002014334359396a7fb24a6cd2db..58e8dcb6d97c50e35e03650416608cd253933db0 100644
index 84041f353d3c969095c98d9e234a7d76ec77f325..a72b334ad842e9c0789c6a2dc0d4ab1cca0c3545 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2813,6 +2813,7 @@ public class PurpurWorldConfig {
@@ -2817,6 +2817,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index 3b43ddd661ce002014334359396a7fb24a6cd2db..58e8dcb6d97c50e35e03650416608cd2
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2835,6 +2836,7 @@ public class PurpurWorldConfig {
@@ -2839,6 +2840,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -18,10 +18,10 @@ index ff4dda48116a2969704b355ff96407ba869b466e..9200d75b05ce535f7b7f5c1572cd8f62
return false;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 56a611603baf88fd386e8faaef65b2d7f23a8437..6ba0ff633b3ffd3566d6faf88ae06463a22a640f 100644
index a72b334ad842e9c0789c6a2dc0d4ab1cca0c3545..09b753d35c412e102a0d9557326e10f99293a784 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -837,6 +837,11 @@ public class PurpurWorldConfig {
@@ -841,6 +841,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -18,10 +18,10 @@ index 6c0b6abb1698fac9bb902f695b725d4ab783ee90..091e3c3514fcb378b68098114106d09f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ba0ff633b3ffd3566d6faf88ae06463a22a640f..a0a7f805ef38a2d2eeb351f9b8bd0d5910de019a 100644
index 09b753d35c412e102a0d9557326e10f99293a784..223c94383b315d933be94decc2ceb4646cb2d0e4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
@@ -399,6 +399,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
@@ -29,7 +29,7 @@ index 6ba0ff633b3ffd3566d6faf88ae06463a22a640f..a0a7f805ef38a2d2eeb351f9b8bd0d59
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -418,6 +419,7 @@ public class PurpurWorldConfig {
@@ -422,6 +423,7 @@ public class PurpurWorldConfig {
playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay);
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);

View File

@@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f01d2e5fbd9383893c36f06ed9ccf08ca6f67dd0..53de70ff50c88f3f25ba9e101698791b64194b5e 100644
index 223c94383b315d933be94decc2ceb4646cb2d0e4..9716dc8bddb7063cdfbcbcf6d677026306b27f28 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3047,4 +3047,27 @@ public class PurpurWorldConfig {
@@ -3051,4 +3051,27 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 53de70ff50c88f3f25ba9e101698791b64194b5e..47b598595f0f421d91a1697b4a76dc98454dfda9 100644
index 9716dc8bddb7063cdfbcbcf6d677026306b27f28..06496178c618c1204ccb6edb71296bf6f08cb686 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3070,4 +3070,15 @@ public class PurpurWorldConfig {
@@ -3074,4 +3074,15 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -18,10 +18,10 @@ index d5004290e40a1ff5e0fcfe75f8da34ae15962359..31ae0f466ae522d767907ec5066b2669
&& pathType != PathType.POWDER_SNOW) {
node = this.tryJumpOn(x, y, z, maxYStep, prevFeetY, direction, nodeType, mutableBlockPos);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f74aaf5cf03e5fd7e4841fd757e52c7e4804dc65..242aed5501cac56ed9a50473b7742d0daa010766 100644
index 06496178c618c1204ccb6edb71296bf6f08cb686..b5b235ab952c15951cc46db8d517c36f09f08d1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -138,6 +138,7 @@ public class PurpurWorldConfig {
@@ -140,6 +140,7 @@ public class PurpurWorldConfig {
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
public int animalBreedingCooldownSeconds = 0;
@@ -29,7 +29,7 @@ index f74aaf5cf03e5fd7e4841fd757e52c7e4804dc65..242aed5501cac56ed9a50473b7742d0d
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -158,6 +159,7 @@ public class PurpurWorldConfig {
@@ -162,6 +163,7 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);

View File

@@ -29,10 +29,10 @@ index 6f1deb4d26c851ca99fbadf1eb5b7847eadbf25b..099d6ce14d9c2fa0af1e9bf96c09cd3d
protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 92fc515ebecd55d8c109d0059d0a4d480f727a26..12e9509c129ff9da55043f57bc5864fd5c80d8f1 100644
index b5b235ab952c15951cc46db8d517c36f09f08d1e..56b631c9689f797b9ae36be89b5e81515700022a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2339,6 +2339,7 @@ public class PurpurWorldConfig {
@@ -2343,6 +2343,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -40,7 +40,7 @@ index 92fc515ebecd55d8c109d0059d0a4d480f727a26..12e9509c129ff9da55043f57bc5864fd
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2356,6 +2357,7 @@ public class PurpurWorldConfig {
@@ -2360,6 +2361,7 @@ public class PurpurWorldConfig {
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);

View File

@@ -25,10 +25,10 @@ index 65f36d4cf7789f9a7b26d29d9b2b5fdae199694f..11b73081f5e225257027c15749636ed1
// CraftBukkit start
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 93dfa8b30637f8f150d60cb31053f81789cd6529..c6d03a8a6494c2ed53b3592b7a0c5a1ffb858fa5 100644
index 56b631c9689f797b9ae36be89b5e81515700022a..6803f7ec1717cd1e71b53fdbab2251c8bcdee9d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -139,6 +139,8 @@ public class PurpurWorldConfig {
@@ -141,6 +141,8 @@ public class PurpurWorldConfig {
public int raidCooldownSeconds = 0;
public int animalBreedingCooldownSeconds = 0;
public boolean mobsIgnoreRails = false;
@@ -37,7 +37,7 @@ index 93dfa8b30637f8f150d60cb31053f81789cd6529..c6d03a8a6494c2ed53b3592b7a0c5a1f
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -160,6 +162,8 @@ public class PurpurWorldConfig {
@@ -164,6 +166,8 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails);

View File

@@ -50,10 +50,10 @@ index 223259e7a09ada681b6181c898f6857888594f85..7d58a95f7ae8983b466b275f4f82597d
.sound(SoundType.FLOWERING_AZALEA)
.noOcclusion()
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c6d03a8a6494c2ed53b3592b7a0c5a1ffb858fa5..4030b49fb0c35f684e9037442f11070e49e4f4a2 100644
index 6803f7ec1717cd1e71b53fdbab2251c8bcdee9d9..0f923e71fe419f3986d56f9e4b63c99f7edf6dd9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -797,6 +797,11 @@ public class PurpurWorldConfig {
@@ -801,6 +801,11 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}
@@ -65,7 +65,7 @@ index c6d03a8a6494c2ed53b3592b7a0c5a1ffb858fa5..4030b49fb0c35f684e9037442f11070e
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -934,6 +939,11 @@ public class PurpurWorldConfig {
@@ -938,6 +943,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -48,10 +48,10 @@ index e81820761689801c3ca267c500818ff0f48bb858..efb72ae3ce609117258dfc9f09b53add
cancelled = event.useItemInHand() == Event.Result.DENY;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4030b49fb0c35f684e9037442f11070e49e4f4a2..c9212e9deea521c95427fc80669964b9af97b95d 100644
index 0f923e71fe419f3986d56f9e4b63c99f7edf6dd9..1a3c950e938ecfe69662cc071111ebfd31c6e3eb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -402,6 +402,7 @@ public class PurpurWorldConfig {
@@ -406,6 +406,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
@@ -59,7 +59,7 @@ index 4030b49fb0c35f684e9037442f11070e49e4f4a2..c9212e9deea521c95427fc80669964b9
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -426,6 +427,7 @@ public class PurpurWorldConfig {
@@ -430,6 +431,7 @@ public class PurpurWorldConfig {
playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull);
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);

View File

@@ -48,10 +48,10 @@ index c7bc9e0152419aa44fd2a4dcf2ce1f0b972e432e..ffc29ab9105b20aba15a0ce12d5ec7fa
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ee4e45423687ae28467a243d373c666f31f31550..c526c13da1ac0e12fbf92cc95ed2b43f723ee489 100644
index 1a3c950e938ecfe69662cc071111ebfd31c6e3eb..adac3e234cd3995a8f8d26f233ebf420184f2f19 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1377,6 +1377,7 @@ public class PurpurWorldConfig {
@@ -1381,6 +1381,7 @@ public class PurpurWorldConfig {
public double dolphinScale = 1.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -59,7 +59,7 @@ index ee4e45423687ae28467a243d373c666f31f31550..c526c13da1ac0e12fbf92cc95ed2b43f
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1392,6 +1393,7 @@ public class PurpurWorldConfig {
@@ -1396,6 +1397,7 @@ public class PurpurWorldConfig {
dolphinScale = Mth.clamp(getDouble("mobs.dolphin.attributes.scale", dolphinScale), 0.0625D, 16.0D);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -61,10 +61,10 @@ index 2b1b1243fa1e60985ab6fcd0dda9f71db7e3352c..a9820dda0ddf1863080f4169d70eff9c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c526c13da1ac0e12fbf92cc95ed2b43f723ee489..7ec338c83afa7af447e6aba5a06a9d8061d51f73 100644
index adac3e234cd3995a8f8d26f233ebf420184f2f19..2c4bdd6a72f9957a2df923db7088951c95c628ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1322,7 +1322,14 @@ public class PurpurWorldConfig {
@@ -1326,7 +1326,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -79,7 +79,7 @@ index c526c13da1ac0e12fbf92cc95ed2b43f723ee489..7ec338c83afa7af447e6aba5a06a9d80
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1336,6 +1343,8 @@ public class PurpurWorldConfig {
@@ -1340,6 +1347,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);

View File

@@ -22,10 +22,10 @@ index 77fc9ca8d4a72cdb7db51297a13808f46e497126..884d9074da27a1a8157e0e6d66936375
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2c73364a1ea2881ce04f131ebfc1a763fcbf2082..8a509053260b9bac5269e45e28eaa113c2dfe9a7 100644
index 2c4bdd6a72f9957a2df923db7088951c95c628ed..329b2f9ae61df6a69daabb74b2db88b26bb61db5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -816,6 +816,7 @@ public class PurpurWorldConfig {
@@ -820,6 +820,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,7 @@ index 2c73364a1ea2881ce04f131ebfc1a763fcbf2082..8a509053260b9bac5269e45e28eaa113
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -826,6 +827,7 @@ public class PurpurWorldConfig {
@@ -830,6 +831,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);

View File

@@ -60,10 +60,10 @@ index 1910e22e9ee2d18e86c9f8e3dd06199e73599bf6..29cbb9ae004f657ff3aa6db379716472
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72a22046ea2b5b2e044ab3288b51121e06fb4079..b751cb6eedfd2b914bc091c53bbdc3450fcc04a8 100644
index 329b2f9ae61df6a69daabb74b2db88b26bb61db5..390d90b1e02fd96ef02ac902653b52afba25d2fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1742,6 +1742,13 @@ public class PurpurWorldConfig {
@@ -1746,6 +1746,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index 7f6058f4def83867971121751acd51c398583651..5a49daf7b6bf9e0ec3d50494287a620d
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 947f615241b097c18af93b0c920cc9320ecd37c3..454739d2091b1ed0e77ab604c61dfb986925f609 100644
index 390d90b1e02fd96ef02ac902653b52afba25d2fc..c032dc798d02066982127ffa4a83c7506abebd1a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -859,6 +859,11 @@ public class PurpurWorldConfig {
@@ -863,6 +863,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -46,10 +46,10 @@ index f59a2903bfb8ae591a638ea5bb387caaa93ce664..1b9d0e28e518c501b4b93ae385ddd64a
protected void onHit(HitResult hitResult) {
super.onHit(hitResult);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 454739d2091b1ed0e77ab604c61dfb986925f609..840313e0b64fdb0ec2cb8224b58a157872a34535 100644
index c032dc798d02066982127ffa4a83c7506abebd1a..d2747f66aeaa032e58a4f09f5ab36fc44e42e4a8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,6 +222,9 @@ public class PurpurWorldConfig {
@@ -226,6 +226,9 @@ public class PurpurWorldConfig {
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
public boolean compassItemShowsBossBar = false;
@@ -59,7 +59,7 @@ index 454739d2091b1ed0e77ab604c61dfb986925f609..840313e0b64fdb0ec2cb8224b58a1578
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -270,6 +273,9 @@ public class PurpurWorldConfig {
@@ -274,6 +277,9 @@ public class PurpurWorldConfig {
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);
compassItemShowsBossBar = getBoolean("gameplay-mechanics.item.compass.holding-shows-bossbar", compassItemShowsBossBar);

View File

@@ -18,10 +18,10 @@ index 9bb75b49ea2d0bd8aafbe537b65f86eb04f6cfe2..612907fe87e46b5b13ed80635f203fa9
if (!this.level().isClientSide) {
this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ed16f9336220a2b161ceeffa83359e1654c7438c..d729153abad512b3791aaf26ce1af7bb83cd449f 100644
index d2747f66aeaa032e58a4f09f5ab36fc44e42e4a8..2d93f7feb8432c3fa7fee91f89eeb907046e7346 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3044,6 +3044,7 @@ public class PurpurWorldConfig {
@@ -3048,6 +3048,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index ed16f9336220a2b161ceeffa83359e1654c7438c..d729153abad512b3791aaf26ce1af7bb
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -3062,6 +3063,7 @@ public class PurpurWorldConfig {
@@ -3066,6 +3067,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

View File

@@ -135,10 +135,10 @@ index c0563260277f9f4bd9ff08993b2efb4bca9a0c60..cd0e43f4c53a746dd6183a8406269f9b
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a05c3e53ad102428963cc4fe7d227ae189a3185..e61b537f78593c5f836a82ef5cb792df1adbdb78 100644
index 2d93f7feb8432c3fa7fee91f89eeb907046e7346..abe5832720e034959bc4efcc308828bd2e12decc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -130,6 +130,8 @@ public class PurpurWorldConfig {
@@ -132,6 +132,8 @@ public class PurpurWorldConfig {
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true;
@@ -147,8 +147,8 @@ index 8a05c3e53ad102428963cc4fe7d227ae189a3185..e61b537f78593c5f836a82ef5cb792df
public boolean projectilesBypassMobGriefing = false;
public boolean tickFluids = true;
public double mobsBlindnessMultiplier = 1;
@@ -152,6 +154,14 @@ public class PurpurWorldConfig {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
@@ -156,6 +158,14 @@ public class PurpurWorldConfig {
imposeTeleportRestrictionsOnEndPortals = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-end-portals", imposeTeleportRestrictionsOnEndPortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
+ if (PurpurConfig.version < 35) {

View File

@@ -84,10 +84,10 @@ index a28be7a332659be655f419d969e0c64e659b6c21..8cd812a25b1cc05ea14675658bf9c150
public ClientboundBlockEntityDataPacket getUpdatePacket() {
return ClientboundBlockEntityDataPacket.create(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e61b537f78593c5f836a82ef5cb792df1adbdb78..410834fda269ea422cc9396741a6ee12b88a659d 100644
index abe5832720e034959bc4efcc308828bd2e12decc..e1f5f82d227a495a43bb833ce5c555fa45bd7fd9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1032,6 +1032,11 @@ public class PurpurWorldConfig {
@@ -1036,6 +1036,11 @@ public class PurpurWorldConfig {
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -74,10 +74,10 @@ index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 812947a70300aa0e66f8035b50b4eef9053628f8..a8d9e58fbaa8a2aec8feeb5730de0ce67bedf902 100644
index aca8a3d7c8b646746b4f54fdaf784acf329125c7..04efd2c306f453d53aa46b995008cebec70e6cd1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -539,6 +539,8 @@ public class PurpurWorldConfig {
@@ -543,6 +543,8 @@ public class PurpurWorldConfig {
public Map<Block, Weatherable> axeWeatherables = new HashMap<>();
public Map<Block, Tillable> hoeTillables = new HashMap<>();
public Map<Block, Flattenable> shovelFlattenables = new HashMap<>();
@@ -86,7 +86,7 @@ index 812947a70300aa0e66f8035b50b4eef9053628f8..a8d9e58fbaa8a2aec8feeb5730de0ce6
private void toolSettings() {
axeStrippables.clear();
axeWaxables.clear();
@@ -806,6 +808,8 @@ public class PurpurWorldConfig {
@@ -810,6 +812,8 @@ public class PurpurWorldConfig {
});
shovelFlattenables.put(block, new Flattenable(into, drops));
});

View File

@@ -18,10 +18,10 @@ index 0c732cfbd9ce50198a3f85ae8ef2263d7ae0bc1a..2f0e8aeb9c45853fca12ddd78a7d5181
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a8d9e58fbaa8a2aec8feeb5730de0ce67bedf902..42c70b2ea5231f4b31856abe6ad6d0e53bf2a83c 100644
index 04efd2c306f453d53aa46b995008cebec70e6cd1..98c01d48a01786abfd7a85c857ec92f46610c8ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1066,11 +1066,13 @@ public class PurpurWorldConfig {
@@ -1070,11 +1070,13 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false;
public boolean turtleEggsBypassMobGriefing = false;

View File

@@ -32,10 +32,10 @@ index 6b76ca326d08853a8a508ec22d7bc6cf370223dd..07068e5f93289534f10c0b876dbf884a
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c071b6c2889 100644
index 98c01d48a01786abfd7a85c857ec92f46610c8ee..25f95e7d3be2b183ea7be58419ad5376b0135325 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1411,6 +1411,7 @@ public class PurpurWorldConfig {
@@ -1415,6 +1415,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1429,6 +1430,7 @@ public class PurpurWorldConfig {
@@ -1433,6 +1434,7 @@ public class PurpurWorldConfig {
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
@@ -51,7 +51,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
}
public boolean dolphinRidable = false;
@@ -2258,6 +2260,7 @@ public class PurpurWorldConfig {
@@ -2262,6 +2264,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2273,6 +2276,7 @@ public class PurpurWorldConfig {
@@ -2277,6 +2280,7 @@ public class PurpurWorldConfig {
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
@@ -67,7 +67,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
}
public boolean piglinBruteRidable = false;
@@ -2557,6 +2561,7 @@ public class PurpurWorldConfig {
@@ -2561,6 +2565,7 @@ public class PurpurWorldConfig {
public double skeletonScale = 1.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2570,6 +2575,7 @@ public class PurpurWorldConfig {
@@ -2574,6 +2579,7 @@ public class PurpurWorldConfig {
skeletonScale = Mth.clamp(getDouble("mobs.skeleton.attributes.scale", skeletonScale), 0.0625D, 16.0D);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
@@ -83,7 +83,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
}
public boolean skeletonHorseRidable = false;
@@ -3139,6 +3145,7 @@ public class PurpurWorldConfig {
@@ -3143,6 +3149,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index 97f3ce2c92caa52a0cf113080a260295f8a15687..870d394b388d82547662db833a806c07
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3158,6 +3165,7 @@ public class PurpurWorldConfig {
@@ -3162,6 +3169,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -17,10 +17,10 @@ index 0a0f3d21234dbf567ce7439833c84293fac2dc0f..46d55f60cb91fc32b505582c8eecb393
++this.timeSinceSting;
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 870d394b388d82547662db833a806c071b6c2889..1c0a02d4c6f7cf83c5298fb9d1bf86d385a449b5 100644
index 25f95e7d3be2b183ea7be58419ad5376b0135325..c9dba0cded4d79a57f051aefb45486ebbf40b3a2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1185,6 +1185,7 @@ public class PurpurWorldConfig {
@@ -1189,6 +1189,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index 870d394b388d82547662db833a806c071b6c2889..1c0a02d4c6f7cf83c5298fb9d1bf86d3
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1202,6 +1203,7 @@ public class PurpurWorldConfig {
@@ -1206,6 +1207,7 @@ public class PurpurWorldConfig {
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);

View File

@@ -35,10 +35,10 @@ index 12a0c69f8fec30fad64cbb00af2ca1bbf0ea5153..d0ec0722496ed931b48c4e7076fddbb1
org.bukkit.event.Cancellable cancellable;
if (entity instanceof Player) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c1309e4a14d29f722c171144799fea809b08c357..0cd6888166161671e626a2becfdbb9d755e65da8 100644
index c9dba0cded4d79a57f051aefb45486ebbf40b3a2..f34bdc25186f4cbf59227d0f1add8dfc8fd36d76 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -959,6 +959,7 @@ public class PurpurWorldConfig {
@@ -963,6 +963,7 @@ public class PurpurWorldConfig {
public boolean farmlandTramplingDisabled = false;
public boolean farmlandTramplingOnlyPlayers = false;
public boolean farmlandTramplingFeatherFalling = false;
@@ -46,7 +46,7 @@ index c1309e4a14d29f722c171144799fea809b08c357..0cd6888166161671e626a2becfdbb9d7
private void farmlandSettings() {
farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing);
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
@@ -966,6 +967,7 @@ public class PurpurWorldConfig {
@@ -970,6 +971,7 @@ public class PurpurWorldConfig {
farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled);
farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers);
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);

View File

@@ -9,7 +9,7 @@ players still only pick up one orb every tick. However, setting this
to any negative number will pick up all orbs instantly.
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index 9743e3ed1bbccc44c39df864e980e64fc5e32e1d..3003f2ab38008b761bee49823b49edae67cd5292 100644
index caaeeb63b8bf0d3709fc38266a7e8c48211f5c0b..1cdf71a76c629bcc42da7fcc451b7031dbe644bd 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -329,7 +329,7 @@ public class ExperienceOrb extends Entity {
@@ -22,7 +22,7 @@ index 9743e3ed1bbccc44c39df864e980e64fc5e32e1d..3003f2ab38008b761bee49823b49edae
int i = this.repairPlayerItems(entityplayer, this.value);
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 cb6f161d32fe9642e9e9b1efc47d88612041ea15..92df67d9e1d32c8a7aaeaaa46c7641af600edc52 100644
index 4d283ffd0819a82616679dbdb70892e84bdd12de..42f9a2046aa8086aecbfa2fa0b604b21c2b70754 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -636,7 +636,7 @@ public abstract class Player extends LivingEntity {
@@ -35,10 +35,10 @@ index cb6f161d32fe9642e9e9b1efc47d88612041ea15..92df67d9e1d32c8a7aaeaaa46c7641af
} else if (!entity.isRemoved()) {
this.touch(entity);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0cd6888166161671e626a2becfdbb9d755e65da8..0cfc9690efe0436ba6dec988a3f14639af2b7d42 100644
index f34bdc25186f4cbf59227d0f1add8dfc8fd36d76..108226cc328f6411ef6fa98577b4b68f089d5595 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -419,6 +419,7 @@ public class PurpurWorldConfig {
@@ -423,6 +423,7 @@ public class PurpurWorldConfig {
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
@@ -46,7 +46,7 @@ index 0cd6888166161671e626a2becfdbb9d755e65da8..0cfc9690efe0436ba6dec988a3f14639
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -444,6 +445,7 @@ public class PurpurWorldConfig {
@@ -448,6 +449,7 @@ public class PurpurWorldConfig {
playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater);
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);

View File

@@ -18,10 +18,10 @@ index 11b73081f5e225257027c15749636ed147b969af..be1d11d58aca571ed5b943bcbc00bafd
}
// Paper end - Fix merchant inventory not closing on entity removal
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0cfc9690efe0436ba6dec988a3f14639af2b7d42..607c4f930ffc33685aa48337190a3e71cec26da9 100644
index 108226cc328f6411ef6fa98577b4b68f089d5595..0637155329792f1f8bbc0b2216a015fb3749bd68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -420,6 +420,7 @@ public class PurpurWorldConfig {
@@ -424,6 +424,7 @@ public class PurpurWorldConfig {
public boolean playerRemoveBindingWithWeakness = false;
public int shiftRightClickRepairsMendingPoints = 0;
public int playerExpPickupDelay = 2;
@@ -29,7 +29,7 @@ index 0cfc9690efe0436ba6dec988a3f14639af2b7d42..607c4f930ffc33685aa48337190a3e71
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -446,6 +447,7 @@ public class PurpurWorldConfig {
@@ -450,6 +451,7 @@ public class PurpurWorldConfig {
playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness);
shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints);
playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay);

View File

@@ -22,10 +22,10 @@ index 718311ba402fbc5b05fd480395d29578d1f3fd71..493e9ee0585ae419caffaa163f4975ab
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f4622490bc639ee08acbe506f739c091607947b5..be4adb06541bf7ede9b4489c0f42c1478e702f98 100644
index 0637155329792f1f8bbc0b2216a015fb3749bd68..154f4111a298d57d2d821e700edc81c9dcb01f87 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2195,6 +2195,8 @@ public class PurpurWorldConfig {
@@ -2199,6 +2199,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index f4622490bc639ee08acbe506f739c091607947b5..be4adb06541bf7ede9b4489c0f42c147
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2231,6 +2233,13 @@ public class PurpurWorldConfig {
@@ -2235,6 +2237,13 @@ public class PurpurWorldConfig {
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);

View File

@@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index be4adb06541bf7ede9b4489c0f42c1478e702f98..ff4c614df1cd6b0749591fb5c3f38276d24e89e1 100644
index 154f4111a298d57d2d821e700edc81c9dcb01f87..7ecb674ca5f5663aaa003cb87e3c9da2362a5958 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2925,6 +2925,7 @@ public class PurpurWorldConfig {
@@ -2929,6 +2929,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index be4adb06541bf7ede9b4489c0f42c1478e702f98..ff4c614df1cd6b0749591fb5c3f38276
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2946,6 +2947,7 @@ public class PurpurWorldConfig {
@@ -2950,6 +2951,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -104,10 +104,10 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ff4c614df1cd6b0749591fb5c3f38276d24e89e1..1f04607f47520983a57f07b72408354b4c4499b5 100644
index 7ecb674ca5f5663aaa003cb87e3c9da2362a5958..52f4e35faf440f73ebd6b2c9f8a768f201e62790 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2926,6 +2926,9 @@ public class PurpurWorldConfig {
@@ -2930,6 +2930,9 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -117,7 +117,7 @@ index ff4c614df1cd6b0749591fb5c3f38276d24e89e1..1f04607f47520983a57f07b72408354b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2948,6 +2951,18 @@ public class PurpurWorldConfig {
@@ -2952,6 +2955,18 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c
&& this.lookTime > 0
&& entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1f04607f47520983a57f07b72408354b4c4499b5..4688fd988af50ae3812ac901039c7f797b58501b 100644
index 52f4e35faf440f73ebd6b2c9f8a768f201e62790..c6d9a65ebf184a984c7ca7497c4061aaed44340c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2929,6 +2929,7 @@ public class PurpurWorldConfig {
@@ -2933,6 +2933,7 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
@@ -28,7 +28,7 @@ index 1f04607f47520983a57f07b72408354b4c4499b5..4688fd988af50ae3812ac901039c7f79
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2963,6 +2964,7 @@ public class PurpurWorldConfig {
@@ -2967,6 +2968,7 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);

View File

@@ -17,10 +17,10 @@ index c9cabb061ebc9172647304431cc3fb2593dd47ba..565408c03849fb3011fb708478a99ec6
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d640775ea3d6e8eb2e89f0050c7fcec95100f5dd..97b819d0da56c029e9bc6b013da50c00cdca1b89 100644
index c6d9a65ebf184a984c7ca7497c4061aaed44340c..8aca371e3762dbe8b4ed4b8b6065d0029133ff4d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1053,8 +1053,10 @@ public class PurpurWorldConfig {
@@ -1057,8 +1057,10 @@ public class PurpurWorldConfig {
}
public boolean spawnerDeactivateByRedstone = false;

View File

@@ -25,7 +25,7 @@ index 07068e5f93289534f10c0b876dbf884afd9f9b59..a9833d805aa51755a15fd98ca546c119
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 26eaf4d9b931bfe51482e1f5d2350fc591778acc..db9962ef89829bb14d84cc8495117ff4509c01cf 100644
index 572587db064c87ac86add6d9eece5ac94374c7b9..9add2ba364e80815ec9c530b984e1619b6607bb8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -513,7 +513,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -38,10 +38,10 @@ index 26eaf4d9b931bfe51482e1f5d2350fc591778acc..db9962ef89829bb14d84cc8495117ff4
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 97b819d0da56c029e9bc6b013da50c00cdca1b89..e6991f3ab6d1c091cc93c1e16807699a13c730d2 100644
index 8aca371e3762dbe8b4ed4b8b6065d0029133ff4d..22b95c9df12bd4f61d278d51b39fae90274a97a3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -143,6 +143,7 @@ public class PurpurWorldConfig {
@@ -145,6 +145,7 @@ public class PurpurWorldConfig {
public boolean mobsIgnoreRails = false;
public boolean rainStopsAfterSleep = true;
public boolean thunderStopsAfterSleep = true;
@@ -49,7 +49,7 @@ index 97b819d0da56c029e9bc6b013da50c00cdca1b89..e6991f3ab6d1c091cc93c1e16807699a
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -174,6 +175,7 @@ public class PurpurWorldConfig {
@@ -178,6 +179,7 @@ public class PurpurWorldConfig {
mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails);
rainStopsAfterSleep = getBoolean("gameplay-mechanics.rain-stops-after-sleep", rainStopsAfterSleep);
thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep);

View File

@@ -63,10 +63,10 @@ index 923357251ad950ec4f893e8771fcfa99de8a60c5..78a341ac80806f86f2ca0bd895fb091a
protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) {
if (world.isClientSide) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e6991f3ab6d1c091cc93c1e16807699a13c730d2..be78c5a89669fa8dfa2e625477787b1119a1cfe1 100644
index 22b95c9df12bd4f61d278d51b39fae90274a97a3..7beb9d378c694eb7a329970b1a59c0da1813e6db 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -820,9 +820,13 @@ public class PurpurWorldConfig {
@@ -824,9 +824,13 @@ public class PurpurWorldConfig {
public boolean anvilAllowColors = false;
public boolean anvilColorsUseMiniMessage;

View File

@@ -24,10 +24,10 @@ index 2f0e8aeb9c45853fca12ddd78a7d51813a600e67..08ba90f760abb9fb62311dddd7b5bdbd
return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING);
// Purpur end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index be78c5a89669fa8dfa2e625477787b1119a1cfe1..77a3b714845c08e6749a5ae116833afdbe54c004 100644
index 7beb9d378c694eb7a329970b1a59c0da1813e6db..1b195a0d9bb14447da905da122b07ee03eeca141 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1081,12 +1081,14 @@ public class PurpurWorldConfig {
@@ -1085,12 +1085,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = false;
public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500;

View File

@@ -18,10 +18,10 @@ index 05c945ba584757f8b3ccba50734917183882b10f..d4f64414a0351999a04308a3d26d15c9
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7b686ef07af67f1214f77483c1a474fbf56d8fef..7ea05a55674b204ac6eae3ddcce5a99c34a5c08f 100644
index 1b195a0d9bb14447da905da122b07ee03eeca141..10dac9061aa168325048f59445f290f7acaa519a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2940,6 +2940,8 @@ public class PurpurWorldConfig {
@@ -2944,6 +2944,8 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerLobotomizeWaitUntilTradeLocked = false;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 7b686ef07af67f1214f77483c1a474fbf56d8fef..7ea05a55674b204ac6eae3ddcce5a99c
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2975,6 +2977,8 @@ public class PurpurWorldConfig {
@@ -2979,6 +2981,8 @@ public class PurpurWorldConfig {
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -143,10 +143,10 @@ index 8569054673f43a339694dec3bc02eb05019a5571..a78dcf4e4298a02b8bef3519eecbfb1c
public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7fa03c9f5e1370e1698a0e8d9fb2d4824b85664d..c0c707fa547414df9b4e3abde17c574d7e209ed5 100644
index 10dac9061aa168325048f59445f290f7acaa519a..ca996a364d554729d756253a98f041ed73b1d9a9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1076,6 +1076,11 @@ public class PurpurWorldConfig {
@@ -1080,6 +1080,11 @@ public class PurpurWorldConfig {
spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud);
}

View File

@@ -18,10 +18,10 @@ index 02d59789c09f58045fea302ea6f2ee3856114de3..8072713da7ed8b7a44b63c241050c3a9
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c0c707fa547414df9b4e3abde17c574d7e209ed5..96b22d0733423e6bc5e33da8ad2d5a00ad1ebdc4 100644
index ca996a364d554729d756253a98f041ed73b1d9a9..64adffd6e28abf1de05e6829f862cc513409e6df 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1017,6 +1017,11 @@ public class PurpurWorldConfig {
@@ -1021,6 +1021,11 @@ public class PurpurWorldConfig {
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
}

View File

@@ -22,10 +22,10 @@ index 93e8e5107ac047c1f2579b4fe6b0a202edb695f6..f82d275aac7bf3949d3dcc412c7e39e1
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 96b22d0733423e6bc5e33da8ad2d5a00ad1ebdc4..8aaeef6ace7b3abf90ca6830d39d344fd14d9101 100644
index 64adffd6e28abf1de05e6829f862cc513409e6df..01bffc3460ccd5766fecee89584bff3f724aae11 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -998,9 +998,11 @@ public class PurpurWorldConfig {
@@ -1002,9 +1002,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;

View File

@@ -90,10 +90,10 @@ index 3f81faffc1a54ab1148c410ef80964d9876e4b77..cb714f78ad73f709967d7449c411c5b1
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b2a2bd5d010af05b7d99128f99c00a24e50e9aba..64e63d2329347c0eb492588560e5463b314f0b0e 100644
index 01bffc3460ccd5766fecee89584bff3f724aae11..a455ed17987f9cbe4287126815862e9214ed5052 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2601,6 +2601,7 @@ public class PurpurWorldConfig {
@@ -2605,6 +2605,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -101,7 +101,7 @@ index b2a2bd5d010af05b7d99128f99c00a24e50e9aba..64e63d2329347c0eb492588560e5463b
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2615,6 +2616,7 @@ public class PurpurWorldConfig {
@@ -2619,6 +2620,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);

View File

@@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 64e63d2329347c0eb492588560e5463b314f0b0e..8719b1aedf649083f875ff77ae96b6a5ca7ffa3a 100644
index a455ed17987f9cbe4287126815862e9214ed5052..bfb1e8169e931ae23941eb1e8009a1f95374ac80 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1575,6 +1575,11 @@ public class PurpurWorldConfig {
@@ -1579,6 +1579,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}

View File

@@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0f6dfdd7d19878e8c2b5a7c97b15aa8d962c3e3e..219b6eeface8a5ddfda45190e17363c47c388384 100644
index bfb1e8169e931ae23941eb1e8009a1f95374ac80..a2a8b2c90d33b60fce3a2167d3fa85a3a786862c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1055,6 +1055,11 @@ public class PurpurWorldConfig {
@@ -1059,6 +1059,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -29,10 +29,10 @@ index 81fe0dea8e6e23c4a78f07fc2f9c0d68cd683f11..bff97b7d3909f2ec9e58a341b901b374
int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 219b6eeface8a5ddfda45190e17363c47c388384..369e6223225126e376c0ea964477b40043f8ee8d 100644
index a2a8b2c90d33b60fce3a2167d3fa85a3a786862c..024c70f0fdfc4933a62b2ca8e8b36f45581b2a9f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -904,6 +904,11 @@ public class PurpurWorldConfig {
@@ -908,6 +908,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
}

View File

@@ -7,7 +7,7 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 313f3430af520613cebbf890ff8d7f70d30dd518..496551820d0357da9c5e89dd989d31b43fbfeb18 100644
index 586410044c969569f8b55b0b71b08faa8a2bb578..ef24ef826ab825ce0a22ff3c5ad84d9494d63aef 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -559,7 +559,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -33,10 +33,10 @@ index ea474ba1d37a594177ada2fd93302f874ed5dc73..3ca9a7f289d8c3f0b0df8f1cd4a5ca12
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 369e6223225126e376c0ea964477b40043f8ee8d..49290cc88cc65f4868b56730341adfd63d6f72c1 100644
index 024c70f0fdfc4933a62b2ca8e8b36f45581b2a9f..3cb5df38ba68ea452bf6ad092178a3b2c4a2e667 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -209,9 +209,11 @@ public class PurpurWorldConfig {
@@ -213,9 +213,11 @@ public class PurpurWorldConfig {
public int entityLifeSpan = 0;
public float entityLeftHandedChance = 0.05f;

View File

@@ -18,10 +18,10 @@ index 35e94c06361795d032f995e8282f8b35c075dae7..0f90a6803851eba51e164772c984b1cd
if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 49290cc88cc65f4868b56730341adfd63d6f72c1..2e225e6cf8b5c2f30c792aace47f1ac5048667d1 100644
index 3cb5df38ba68ea452bf6ad092178a3b2c4a2e667..358932371859c6406309ac792f9e1eb7d4c93f1b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -376,6 +376,7 @@ public class PurpurWorldConfig {
@@ -380,6 +380,7 @@ public class PurpurWorldConfig {
public boolean phantomSpawning;
public boolean villagerTraderSpawning;
public boolean villageSiegeSpawning;
@@ -29,7 +29,7 @@ index 49290cc88cc65f4868b56730341adfd63d6f72c1..2e225e6cf8b5c2f30c792aace47f1ac5
private void mobSpawnerSettings() {
// values of "default" or null will default to true only if the world environment is normal (aka overworld)
Predicate<Boolean> predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL);
@@ -384,6 +385,7 @@ public class PurpurWorldConfig {
@@ -388,6 +389,7 @@ public class PurpurWorldConfig {
phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate);
villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate);
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);

Some files were not shown because too many files have changed in this diff Show More