Revert "flip some config defaults for vanilla parity"

This reverts commit 808b1cbde5.
This commit is contained in:
granny
2023-03-18 18:36:32 -07:00
parent 808b1cbde5
commit 09b5d5446b
136 changed files with 809 additions and 695 deletions

View File

@@ -3,7 +3,4 @@
- [ ] test player ridable underwater
- [ ] OPTIONAL: custom damage type instead of magic for scissors & stone cutter patch
- [ ] re-introduce armor equipable through right-click patch, flip the boolean to follow vanilla feature parity
- [x] flip the boolean in the "display names from item forms of entities to entities" patch to keep feature parity with vanilla
### once above is complete:
- [ ] make announcement about flipped defaults ("persistent-droppable-entity-display-names", "set-name-visible-when-placing-with-custom-name")
- [ ] flip the boolean in the "display names from item forms of entities to entities" patch to keep feature parity with vanilla

View File

@@ -136,14 +136,14 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d7669999bcf294c71c4238ccbeade1cdddd59400..c54c236df83d4c44388155423fb90eb0369859b8 100644
index eeb5f3d5c108eef5a43dc68f75b4b2147c28f560..8e703215419d865276d53083e88e60d9eb131af5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,8 +99,10 @@ public class PurpurWorldConfig {
}
public float armorstandStepHeight = 0.0F;
+ public boolean armorstandSetNameVisible = true;
+ public boolean armorstandSetNameVisible = false;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
+ armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
@@ -154,7 +154,7 @@ index d7669999bcf294c71c4238ccbeade1cdddd59400..c54c236df83d4c44388155423fb90eb0
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
+ public boolean persistentDroppableEntityDisplayNames = true;
+ public boolean persistentDroppableEntityDisplayNames = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;

View File

@@ -16,3 +16,19 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155
if (event.isPersistent() && newEntityLiving instanceof Mob) {
((Mob) newEntityLiving).setPersistenceRequired();
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e703215419d865276d53083e88e60d9eb131af5..a4222bab7b624077c76e918f730f1a953eb629a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -100,9 +100,11 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;
+ public boolean armorstandFixNametags = false;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
+ armorstandFixNametags = getBoolean("gameplay-mechanics.armorstand.fix-nametags", armorstandFixNametags);
}
public boolean arrowMovementResetsDespawnCounter = true;

View File

@@ -8,7 +8,7 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 25e84e17bff6b61b95bf1e54bb9721fa7a61997c..411b82fd1da4643c4405961e4af3e1aa20e7eb55 100644
index 9f78f0e28aff1c9b77520140d3c24b0c8d9b196d..7dd726eea053c8c5fc5e40972128f0f3f91039be 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -484,7 +484,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -21,10 +21,10 @@ index 25e84e17bff6b61b95bf1e54bb9721fa7a61997c..411b82fd1da4643c4405961e4af3e1aa
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c54c236df83d4c44388155423fb90eb0369859b8..fc04a0053b4846920d2d06f333cf7fe0159432ee 100644
index a4222bab7b624077c76e918f730f1a953eb629a1..1f45018079de15231473041166ee6f9fcd940f9a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -831,6 +831,7 @@ public class PurpurWorldConfig {
@@ -833,6 +833,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index c54c236df83d4c44388155423fb90eb0369859b8..fc04a0053b4846920d2d06f333cf7fe0
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -842,6 +843,7 @@ public class PurpurWorldConfig {
@@ -844,6 +845,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,10 +18,10 @@ index 6cded52e4627c2b6073fa221fc6d6583f1b2a96d..5827236f351cd0679af764644bb22bb2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc04a0053b4846920d2d06f333cf7fe0159432ee..74562f7c2dcfe8497c70138052ec67828313be80 100644
index 1f45018079de15231473041166ee6f9fcd940f9a..5a1c7e187efcfddc1a0b50c45c616b6858446057 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -354,6 +354,11 @@ public class PurpurWorldConfig {
@@ -356,6 +356,11 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 5bff6bf091a61d1414ca1408960d50ce0d646458..318ad01371bb5e8d53f366a891dc6423
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 74562f7c2dcfe8497c70138052ec67828313be80..4fdc709f78c39e164c063868fa3c949557a1eb63 100644
index 5a1c7e187efcfddc1a0b50c45c616b6858446057..71858bd4d8987c2da7c67a473c1f60e66494742d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -156,8 +156,10 @@ public class PurpurWorldConfig {
@@ -158,8 +158,10 @@ public class PurpurWorldConfig {
}
public int entityLifeSpan = 0;

View File

@@ -27,10 +27,10 @@ index 8dfc4763df3cd207e7200828f8237f680b47f986..d15b29153d8112ed59ce38ab37142208
if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4fdc709f78c39e164c063868fa3c949557a1eb63..4aaa4fd39c2bd5800f96f9b130512ba865f01175 100644
index 71858bd4d8987c2da7c67a473c1f60e66494742d..991dae6f29cc919de49533d03478cb3b6c16106d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index 4fdc709f78c39e164c063868fa3c949557a1eb63..4aaa4fd39c2bd5800f96f9b130512ba8
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -124,6 +125,7 @@ public class PurpurWorldConfig {
@@ -126,6 +127,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -23,10 +23,10 @@ index b6431dbb41163f9ef0d43e96fcf89750c5a6eef7..5ae7f8dcb39cdf9bfc760f47a6745b81
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4aaa4fd39c2bd5800f96f9b130512ba865f01175..dfae18192888107c504fd84ed9cadd82bd255950 100644
index 3745b401457a60df0f4f6436a52bedc130acca25..01bca5885f0dd14fbb746c635116ac41a2b73bb5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1603,6 +1603,10 @@ public class PurpurWorldConfig {
@@ -1605,6 +1605,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 4aaa4fd39c2bd5800f96f9b130512ba865f01175..dfae18192888107c504fd84ed9cadd82
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1616,6 +1620,10 @@ public class PurpurWorldConfig {
@@ -1618,6 +1622,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -181,10 +181,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dfae18192888107c504fd84ed9cadd82bd255950..04e14e37fb9e6cbce8f055f92ce4d869bad4751f 100644
index 01bca5885f0dd14fbb746c635116ac41a2b73bb5..8896e4b02f1a659561c2462c59ffeb13d419d6e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1798,6 +1798,8 @@ public class PurpurWorldConfig {
@@ -1800,6 +1800,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index dfae18192888107c504fd84ed9cadd82bd255950..04e14e37fb9e6cbce8f055f92ce4d869
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1812,6 +1814,8 @@ public class PurpurWorldConfig {
@@ -1814,6 +1816,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5..65d035647f7caf23647ec00beb20a4a2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 04e14e37fb9e6cbce8f055f92ce4d869bad4751f..434f1b032d251172ccdbc54c02c6ecf79de7aa68 100644
index 8896e4b02f1a659561c2462c59ffeb13d419d6e8..427e89ea6014bd3668632ef5cda87b59dc97d5f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2042,6 +2042,7 @@ public class PurpurWorldConfig {
@@ -2044,6 +2044,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 04e14e37fb9e6cbce8f055f92ce4d869bad4751f..434f1b032d251172ccdbc54c02c6ecf7
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2056,5 +2057,6 @@ public class PurpurWorldConfig {
@@ -2058,5 +2059,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -222,10 +222,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 434f1b032d251172ccdbc54c02c6ecf79de7aa68..3b1de202edbeec5d0ce8fc6b3c117cbf1741ebb6 100644
index 427e89ea6014bd3668632ef5cda87b59dc97d5f0..0d320ce7d833bbddbecb39b96dddf459f9babaf5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1927,6 +1927,8 @@ public class PurpurWorldConfig {
@@ -1929,6 +1929,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index 434f1b032d251172ccdbc54c02c6ecf79de7aa68..3b1de202edbeec5d0ce8fc6b3c117cbf
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1938,6 +1940,8 @@ public class PurpurWorldConfig {
@@ -1940,6 +1942,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,10 +43,10 @@ index a38cea2dead98ffb1a555df7a494d2e12ab504f5..06f2225743e27c7f1f0eb15ee6beedc5
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3b1de202edbeec5d0ce8fc6b3c117cbf1741ebb6..8077e4c714645299d2220e511ad7637296bdd7db 100644
index 0d320ce7d833bbddbecb39b96dddf459f9babaf5..056d74886fc50508de302c75f32e5d541f142a3f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -619,6 +619,7 @@ public class PurpurWorldConfig {
@@ -621,6 +621,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 3b1de202edbeec5d0ce8fc6b3c117cbf1741ebb6..8077e4c714645299d2220e511ad76372
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -633,6 +634,11 @@ public class PurpurWorldConfig {
@@ -635,6 +636,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,7 +66,7 @@ index 3b1de202edbeec5d0ce8fc6b3c117cbf1741ebb6..8077e4c714645299d2220e511ad76372
}
public boolean caveSpiderRidable = false;
@@ -1927,6 +1933,7 @@ public class PurpurWorldConfig {
@@ -1929,6 +1935,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 3b1de202edbeec5d0ce8fc6b3c117cbf1741ebb6..8077e4c714645299d2220e511ad76372
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1940,6 +1947,11 @@ public class PurpurWorldConfig {
@@ -1942,6 +1949,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index b35d737cf492f16952deff21098e48b6949d98ff..8929860dfe290782268c5fbce8a791b8f9d0af29 100644
index 223aa8f7f8ea2a15e4dcf62aef3521382c9ab7cd..600ebaaf72f830259eb8843cf96060b82fa00f1d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -244,6 +244,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -17,10 +17,10 @@ index b35d737cf492f16952deff21098e48b6949d98ff..8929860dfe290782268c5fbce8a791b8
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8077e4c714645299d2220e511ad7637296bdd7db..fa23106460cab995d65f202bd577055b86796fc6 100644
index d00cd3297b6524f702a0f251b34ba9bd09d951f6..648716c472887ee24dc3d5fd8a072e511ec9e314 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1297,6 +1297,7 @@ public class PurpurWorldConfig {
@@ -1299,6 +1299,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 8077e4c714645299d2220e511ad7637296bdd7db..fa23106460cab995d65f202bd577055b
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1330,6 +1331,7 @@ public class PurpurWorldConfig {
@@ -1332,6 +1333,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,10 +17,10 @@ index 5e22d175b1048a58802cdf64ac70a8b56329e915..d81946b400f208c39941128ce823ff77
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fa23106460cab995d65f202bd577055b86796fc6..f607966acda70096af70186f7b3d3d07ca320fe0 100644
index 648716c472887ee24dc3d5fd8a072e511ec9e314..9cdbc268c4ca2296d0126a974e1bd04bb67eebdd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -423,6 +423,11 @@ public class PurpurWorldConfig {
@@ -425,6 +425,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -29,10 +29,10 @@ index fbc2e3f0b73608a999619469cd701692cb1cb788..7d10e81669177d0df5c6eba79a2aac46
if (!this.level.isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f607966acda70096af70186f7b3d3d07ca320fe0..6bae3ef72f085b2746b64aaec7d4098e122c58e9 100644
index 84577116234c339e378b8bada2476b2f596ff228..8871243460a9ecb89fa02aba138b5d00d49382b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1701,6 +1701,7 @@ public class PurpurWorldConfig {
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index f607966acda70096af70186f7b3d3d07ca320fe0..6bae3ef72f085b2746b64aaec7d4098e
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1712,6 +1713,7 @@ public class PurpurWorldConfig {
@@ -1714,6 +1715,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -26,10 +26,10 @@ index 7518564208579de9104bdaddcab67db736d263f8..150aaa68340f25c39a9b10eda43e9941
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6bae3ef72f085b2746b64aaec7d4098e122c58e9..7f50c32aff3f0d576d6f46afa889db06c8016ba2 100644
index 89b0e3753ae2c4728e337ee080d17abc2403040c..1314ab21523e5fa5acdbf24a7c811988f9dbf98b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -295,6 +295,19 @@ public class PurpurWorldConfig {
@@ -297,6 +297,19 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -374,10 +374,22 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e253650a441fe 100644
index 8f7f57238578409db62286274ed2e33e58d09458..adf0e0f34f7fd4d38e6a801fa3f20dbfe4769c99 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -128,8 +128,11 @@ public class PurpurWorldConfig {
@@ -117,8 +117,11 @@ public class PurpurWorldConfig {
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
+ public boolean entitiesPickUpLootBypassMobGriefing = false;
+ public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
public boolean persistentDroppableEntityDisplayNames = false;
+ public boolean projectilesBypassMobGriefing = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -130,8 +133,11 @@ public class PurpurWorldConfig {
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
@@ -389,7 +401,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -448,9 +451,11 @@ public class PurpurWorldConfig {
@@ -450,9 +456,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -401,7 +413,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -475,6 +480,11 @@ public class PurpurWorldConfig {
@@ -477,6 +485,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -413,7 +425,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -509,10 +519,12 @@ public class PurpurWorldConfig {
@@ -511,10 +524,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -426,7 +438,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public int waterInfiniteRequiredSources = 2;
@@ -735,6 +747,7 @@ public class PurpurWorldConfig {
@@ -737,6 +752,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -434,7 +446,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -747,6 +760,7 @@ public class PurpurWorldConfig {
@@ -749,6 +765,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -442,7 +454,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean dolphinRidable = false;
@@ -841,6 +855,7 @@ public class PurpurWorldConfig {
@@ -843,6 +860,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -450,7 +462,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -857,6 +872,7 @@ public class PurpurWorldConfig {
@@ -859,6 +877,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -458,7 +470,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean endermanRidable = false;
@@ -865,6 +881,7 @@ public class PurpurWorldConfig {
@@ -867,6 +886,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -466,7 +478,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -877,6 +894,7 @@ public class PurpurWorldConfig {
@@ -879,6 +899,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -474,7 +486,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean endermiteRidable = false;
@@ -899,6 +917,7 @@ public class PurpurWorldConfig {
@@ -901,6 +922,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = false;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -482,7 +494,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -909,6 +928,7 @@ public class PurpurWorldConfig {
@@ -911,6 +933,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -490,7 +502,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean foxRidable = false;
@@ -917,6 +937,7 @@ public class PurpurWorldConfig {
@@ -919,6 +942,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -498,7 +510,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -929,6 +950,7 @@ public class PurpurWorldConfig {
@@ -931,6 +955,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -506,7 +518,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean frogRidable = false;
@@ -1376,6 +1398,7 @@ public class PurpurWorldConfig {
@@ -1378,6 +1403,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = false;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -514,7 +526,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1386,6 +1409,7 @@ public class PurpurWorldConfig {
@@ -1388,6 +1414,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -522,7 +534,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean piglinBruteRidable = false;
@@ -1408,6 +1432,7 @@ public class PurpurWorldConfig {
@@ -1410,6 +1437,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = false;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -530,7 +542,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1418,6 +1443,7 @@ public class PurpurWorldConfig {
@@ -1420,6 +1448,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -538,7 +550,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean polarBearRidable = false;
@@ -1464,6 +1490,7 @@ public class PurpurWorldConfig {
@@ -1466,6 +1495,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -546,7 +558,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1477,12 +1504,14 @@ public class PurpurWorldConfig {
@@ -1479,12 +1509,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -561,7 +573,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1493,6 +1522,7 @@ public class PurpurWorldConfig {
@@ -1495,6 +1527,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -569,7 +581,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean salmonRidable = false;
@@ -1514,6 +1544,7 @@ public class PurpurWorldConfig {
@@ -1516,6 +1549,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -577,7 +589,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1525,6 +1556,7 @@ public class PurpurWorldConfig {
@@ -1527,6 +1561,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -585,7 +597,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean shulkerRidable = false;
@@ -1547,6 +1579,7 @@ public class PurpurWorldConfig {
@@ -1549,6 +1584,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = false;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -593,7 +605,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1557,6 +1590,7 @@ public class PurpurWorldConfig {
@@ -1559,6 +1595,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -601,7 +613,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean skeletonRidable = false;
@@ -1633,6 +1667,7 @@ public class PurpurWorldConfig {
@@ -1635,6 +1672,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -609,7 +621,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1650,6 +1685,7 @@ public class PurpurWorldConfig {
@@ -1652,6 +1690,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -617,7 +629,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public int snifferBreedingTicks = 6000;
@@ -1828,6 +1864,7 @@ public class PurpurWorldConfig {
@@ -1830,6 +1869,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -625,7 +637,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1844,6 +1881,7 @@ public class PurpurWorldConfig {
@@ -1846,6 +1886,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -633,7 +645,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean vindicatorRidable = false;
@@ -1916,6 +1954,7 @@ public class PurpurWorldConfig {
@@ -1918,6 +1959,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -641,7 +653,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1933,6 +1972,7 @@ public class PurpurWorldConfig {
@@ -1935,6 +1977,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -649,7 +661,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
}
public boolean witherSkeletonRidable = false;
@@ -2004,6 +2044,7 @@ public class PurpurWorldConfig {
@@ -2006,6 +2049,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -657,7 +669,7 @@ index 7f50c32aff3f0d576d6f46afa889db06c8016ba2..d4ecebc9e9b88f414fa52e510b4e2536
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2019,6 +2060,7 @@ public class PurpurWorldConfig {
@@ -2021,6 +2065,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -22,10 +22,18 @@ index 42e8e2d9d673947ecbfb55e0f31fc22afe3223b6..0b5ce2db558e721807944d9d0f672a77
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
// if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d4ecebc9e9b88f414fa52e510b4e253650a441fe..96fa35b960466761fcee87112216b39825193868 100644
index 730c5227e3bab35999375acd7cd0a33ad17fc3ce..61af817befd10c164421ab8b3b8e306a0d391213 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -131,6 +131,7 @@ public class PurpurWorldConfig {
@@ -120,6 +120,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
+ public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = false;
public boolean projectilesBypassMobGriefing = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -74,7 +74,7 @@ index 690d498a97b943a62e8ea415450ca44a2349fee0..43ca8471d7d4d2d561cba7e2a952a16e
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index fa6938626c64ed17a2f56739d5801494ea6f3be1..df33bd0c97faa3c7eb4ab6cbe7286f6a9aaa37d6 100644
index 57c05450bab104273c6532b6534568df0284a5d8..6a057d638a67d69b5261b8a264c661d982c995d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -586,6 +586,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -104,10 +104,18 @@ index 17ea58f45f4bc4eb8bbbeadd6f25a477061d1617..9cf61d67d5e8f364ab68b26044daf243
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 96fa35b960466761fcee87112216b39825193868..a78fbed9e8387bc55a86216a31a5f89574145f52 100644
index 61af817befd10c164421ab8b3b8e306a0d391213..f46bb02b960acfa596541b9b243aa277557ca4ef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -130,6 +130,7 @@ public class PurpurWorldConfig {
@@ -119,6 +119,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
+ public boolean imposeTeleportRestrictionsOnGateways = false;
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = false;
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);

View File

@@ -37,10 +37,10 @@ index f66a556e93469204e19baa5bf2decbf974701a5d..eed062c9cf1103d7ac96695e3620d427
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a78fbed9e8387bc55a86216a31a5f89574145f52..ceaf9f0e9e4634bd781fc9af3190515ebf727c17 100644
index f46bb02b960acfa596541b9b243aa277557ca4ef..76404c262c07c5644aa9830bb63f0fc34a9ebe29 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -456,10 +456,16 @@ public class PurpurWorldConfig {
@@ -463,10 +463,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ebd4007797bda63e276056bee1eb85b08bc40309..a466eb10690bc0fe204815d758cc69798ce94f13 100644
index 5cdce4da91905c955d1daf2490338bbc4a1461c5..a952685ec8907fe4ad0fb9f12855679e0983d9ca 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1711,7 +1711,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -65,3 +65,24 @@ index 5b4523320de59167bd5864b2f17187590afb5ad6..88949e8ca7e4a5e74a8a365bb1aa6d46
+ }
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 76404c262c07c5644aa9830bb63f0fc34a9ebe29..6ebc9259107efa55298f0f99cac8e07f79a8b83e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -101,10 +101,16 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;
public boolean armorstandFixNametags = false;
+ public boolean armorstandMovement = true;
+ public boolean armorstandWaterMovement = true;
+ public boolean armorstandWaterFence = true;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
armorstandFixNametags = getBoolean("gameplay-mechanics.armorstand.fix-nametags", armorstandFixNametags);
+ armorstandMovement = getBoolean("gameplay-mechanics.armorstand.can-movement-tick", armorstandMovement);
+ armorstandWaterMovement = getBoolean("gameplay-mechanics.armorstand.can-move-in-water", armorstandWaterMovement);
+ armorstandWaterFence = getBoolean("gameplay-mechanics.armorstand.can-move-in-water-over-fence", armorstandWaterFence);
}
public boolean arrowMovementResetsDespawnCounter = true;

View File

@@ -17,7 +17,7 @@ index 7a9b5f6665e910f12bcc9d3ade8534a93aa09dd9..bc2c592a416c64619527bf5d1040f4a2
// CraftBukkit end
this.setLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a466eb10690bc0fe204815d758cc69798ce94f13..8ff2aab5f04891af319ed8a07890ed62f770016c 100644
index a952685ec8907fe4ad0fb9f12855679e0983d9ca..41887aef504f1c2cb5cd3d16afd7c557f8831fc2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2903,12 +2903,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -37,10 +37,10 @@ index a466eb10690bc0fe204815d758cc69798ce94f13..8ff2aab5f04891af319ed8a07890ed62
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ceaf9f0e9e4634bd781fc9af3190515ebf727c17..1fab229a0ff9cd91997b1b72172f33e11f0ae2a1 100644
index 6ebc9259107efa55298f0f99cac8e07f79a8b83e..eab135372764fe2be0244cddadaa8891bba0fb45 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 {
@@ -337,6 +337,7 @@ public class PurpurWorldConfig {
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
@@ -48,7 +48,7 @@ index ceaf9f0e9e4634bd781fc9af3190515ebf727c17..1fab229a0ff9cd91997b1b72172f33e1
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -341,6 +342,7 @@ public class PurpurWorldConfig {
@@ -354,6 +355,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

@@ -20,7 +20,7 @@ index 5c64905e90ccca6e0b347241ddf9cc3f71058b8e..3bd7521b131b2b40f807bdc7ab95e64c
return;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index c1ec34249d07a22708905c593ffd61593935d7ef..029b94287acc5b79662aabe8c9783ac823abd7d1 100644
index 60259730eef583c13a07f6ac2a41a2a8db96dd7a..05edeb6da8181aa7e2d01d64bc5fbb8993f35c2f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -470,7 +470,7 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -33,7 +33,7 @@ index c1ec34249d07a22708905c593ffd61593935d7ef..029b94287acc5b79662aabe8c9783ac8
this.setOrderedToSit(true);
this.level.broadcastEntityEvent(this, (byte) 7);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index 94c9303cf76ea35c5584125a04aadd1772efb7dc..f7efb2088c554782fd169b901b4ef3fca3b2c0f9 100644
index 1638b0f23ef2247c6d1055529f47d71ef56b0f55..9228dc98360ff34e4cdd105be36ed249c5b67067 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -334,7 +334,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -46,7 +46,7 @@ index 94c9303cf76ea35c5584125a04aadd1772efb7dc..f7efb2088c554782fd169b901b4ef3fc
this.level.broadcastEntityEvent(this, (byte) 7);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index a2500bde559cd191bff6811802ff12980c7be418..5cf066e8a4b1b0b3b68f734dfbfb97ef3f98d205 100644
index dc85d95b430e4883eb6508261a4eeee5723d3e40..72b3c31809c09fe0e297bbfc50ed82b070d215da 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -537,7 +537,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -59,10 +59,10 @@ index a2500bde559cd191bff6811802ff12980c7be418..5cf066e8a4b1b0b3b68f734dfbfb97ef
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 1508aa1e00988164ee588c1ec19aeea47711430d..c79afaceaa8272cb9d74e7c3a6e9a14472576b39 100644
index fb2aa8f5e3d7e53c5eac037e5dfca25a03e6ca9c..0fb18cb415132aaf26f3688599a40843b618b187 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -111,6 +111,7 @@ public class PurpurWorldConfig {
@@ -119,6 +119,7 @@ public class PurpurWorldConfig {
}
public boolean useBetterMending = false;
@@ -70,7 +70,7 @@ index 1508aa1e00988164ee588c1ec19aeea47711430d..c79afaceaa8272cb9d74e7c3a6e9a144
public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
@@ -124,6 +125,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

@@ -5,7 +5,7 @@ Subject: [PATCH] End crystal explosion options
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index b373f9e4b5a2604bcbccd36cd3de961f3a41cd32..a4fc0e9cb52bb5937effe5cd09f8bbefcf8dd531 100644
index d3ca70fac31b7ff64035e0a311e1db7e5a611816..a1a604fd9ba128ffb4bf4ab017188ef85627d223 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -128,6 +128,22 @@ public class EndCrystal extends Entity {
@@ -54,10 +54,10 @@ index b373f9e4b5a2604bcbccd36cd3de961f3a41cd32..a4fc0e9cb52bb5937effe5cd09f8bbef
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c79afaceaa8272cb9d74e7c3a6e9a14472576b39..473ebccfeb8f4cea8bbb2ac374002dae6386e6e2 100644
index 0fb18cb415132aaf26f3688599a40843b618b187..301df967ea1e440ebd422b398ec963cd88683ab1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -457,6 +457,43 @@ public class PurpurWorldConfig {
@@ -470,6 +470,43 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -29,10 +29,10 @@ index 0c329f66d0a26b881ddddf4c555850f6ce0481bc..2a4dce1a5ffa3902a50044b14e6c02b3
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 473ebccfeb8f4cea8bbb2ac374002dae6386e6e2..bfbc69a5f235899c24f828b3804c0fd97cbed653 100644
index 6b5486a76aa65e46af46eeaf4252e37b6d98d3cc..d7a87f582ba3f9f1af1605313208212011c53c58 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -934,6 +934,7 @@ public class PurpurWorldConfig {
@@ -947,6 +947,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index 473ebccfeb8f4cea8bbb2ac374002dae6386e6e2..bfbc69a5f235899c24f828b3804c0fd9
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -952,6 +953,7 @@ public class PurpurWorldConfig {
@@ -965,6 +966,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 473ebccfeb8f4cea8bbb2ac374002dae6386e6e2..bfbc69a5f235899c24f828b3804c0fd9
}
public boolean endermanRidable = false;
@@ -2135,6 +2137,7 @@ public class PurpurWorldConfig {
@@ -2148,6 +2150,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 473ebccfeb8f4cea8bbb2ac374002dae6386e6e2..bfbc69a5f235899c24f828b3804c0fd9
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2154,6 +2157,7 @@ public class PurpurWorldConfig {
@@ -2167,6 +2170,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

@@ -61,10 +61,10 @@ index 5b0625955e2a65f689c8a128d73170bc1f0c8025..c8097ec7887ac8e689b6843d9ff7744d
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bfbc69a5f235899c24f828b3804c0fd97cbed653..b0d9665221aecb3a597e40fe78dbd6363d66136e 100644
index d7a87f582ba3f9f1af1605313208212011c53c58..8d0e2bb1f4e58339768cb1dad878142e33ad84bd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -186,6 +186,8 @@ public class PurpurWorldConfig {
@@ -199,6 +199,8 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
public List<Item> itemImmuneToLightning = new ArrayList<>();
@@ -73,7 +73,7 @@ index bfbc69a5f235899c24f828b3804c0fd97cbed653..b0d9665221aecb3a597e40fe78dbd636
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -223,6 +225,8 @@ public class PurpurWorldConfig {
@@ -236,6 +238,8 @@ public class PurpurWorldConfig {
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(key.toString()));
if (item != Items.AIR) itemImmuneToLightning.add(item);
});

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 11f7902e30771d5c279e0116b813295a5daf3510..999d5fce5a4647a235717fe6f436b04add0bd26a 100644
index 41b03010c42d4692187803e3debc01c5182bac3a..4ce236340a5d22a3017f1c8ff71e85f44d204234 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2235,6 +2235,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -30,10 +30,10 @@ index 11f7902e30771d5c279e0116b813295a5daf3510..999d5fce5a4647a235717fe6f436b04a
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b0d9665221aecb3a597e40fe78dbd6363d66136e..54f1a2d293611a554e3837d27ecb0f9b450e0ba5 100644
index 0eef3049df089ec17c213e4a4ab4c23815775dc4..0de6977b939349f8d2a6a481db5dd049acf97d69 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -331,6 +331,7 @@ public class PurpurWorldConfig {
@@ -344,6 +344,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -41,7 +41,7 @@ index b0d9665221aecb3a597e40fe78dbd6363d66136e..54f1a2d293611a554e3837d27ecb0f9b
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -349,6 +350,7 @@ public class PurpurWorldConfig {
@@ -362,6 +363,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 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
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 54f1a2d293611a554e3837d27ecb0f9b450e0ba5..a42091230474b0e8b9e6d1a9835b4a99d156bb75 100644
index 0de6977b939349f8d2a6a481db5dd049acf97d69..3afce466836c9c9961fdabd749903869dd5ace91 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 {
@@ -201,6 +201,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToLightning = new ArrayList<>();
public boolean dontRunWithScissors = false;
public double scissorsRunningDamage = 1D;
@@ -57,7 +57,7 @@ index 54f1a2d293611a554e3837d27ecb0f9b450e0ba5..a42091230474b0e8b9e6d1a9835b4a99
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -227,6 +231,10 @@ public class PurpurWorldConfig {
@@ -240,6 +244,10 @@ public class PurpurWorldConfig {
});
dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

View File

@@ -18,10 +18,10 @@ index bc2c592a416c64619527bf5d1040f4a2523b2bfb..64dc052f41e0ef96753e0ffd3d6517fc
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a42091230474b0e8b9e6d1a9835b4a99d156bb75..1d7f6b070107e2cd98421592e7dfeae6ec849cdf 100644
index 3afce466836c9c9961fdabd749903869dd5ace91..dde6bec7a83f7c11d234b09937680c02e4b8dd69 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -340,6 +340,7 @@ public class PurpurWorldConfig {
@@ -353,6 +353,7 @@ public class PurpurWorldConfig {
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
@@ -29,7 +29,7 @@ index a42091230474b0e8b9e6d1a9835b4a99d156bb75..1d7f6b070107e2cd98421592e7dfeae6
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -359,6 +360,7 @@ public class PurpurWorldConfig {
@@ -372,6 +373,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index e7308cf659fba62669753ea53e52f40fb96976b1..c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d 100644
index 9e60e5d8a2005669c3187cdd84d8d7ef8f5da6be..38a483298b73c31d0c3d292a4c796c7b938c6961 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -128,7 +128,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -18,10 +18,10 @@ index e7308cf659fba62669753ea53e52f40fb96976b1..c702f4b6534d0bf2e9d763bedbf58bf2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1d7f6b070107e2cd98421592e7dfeae6ec849cdf..27940162431900f412168cc19800f74117eb4112 100644
index dde6bec7a83f7c11d234b09937680c02e4b8dd69..fb0a15654b5545ff74116215d5a52f782a1ff4b8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -980,6 +980,8 @@ public class PurpurWorldConfig {
@@ -993,6 +993,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 1d7f6b070107e2cd98421592e7dfeae6ec849cdf..27940162431900f412168cc19800f741
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -989,11 +991,17 @@ public class PurpurWorldConfig {
@@ -1002,11 +1004,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -7,7 +7,7 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
Adds functionality to a useless item!
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d..60720f0bad840d35c9d0f1fc327f6069b348a41a 100644
index 38a483298b73c31d0c3d292a4c796c7b938c6961..2ac667ec7bdc59363af0bd2209f6e456372d73e7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -265,7 +265,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -20,10 +20,10 @@ index c702f4b6534d0bf2e9d763bedbf58bf2a3190b5d..60720f0bad840d35c9d0f1fc327f6069
} 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 27940162431900f412168cc19800f74117eb4112..b5c97676ee0e7c47d6ce32f1b1d6a85cb8bb620b 100644
index fb0a15654b5545ff74116215d5a52f782a1ff4b8..7be8a006914ac746e92f683b785eef4a5de308e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -982,6 +982,8 @@ public class PurpurWorldConfig {
@@ -995,6 +995,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 27940162431900f412168cc19800f74117eb4112..b5c97676ee0e7c47d6ce32f1b1d6a85c
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1002,6 +1004,8 @@ public class PurpurWorldConfig {
@@ -1015,6 +1017,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,18 @@ index 43e8ef1d6a65d4fd3fe53a587639ffb814368217..9c22a730772f71b34c63d1e43d48943f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b5c97676ee0e7c47d6ce32f1b1d6a85cb8bb620b..46675078269880bc8774053b0827dc69293b642e 100644
index 7be8a006914ac746e92f683b785eef4a5de308e2..d287d56cd606087cee9dcd7f6baabd593976ab42 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -137,6 +137,7 @@ public class PurpurWorldConfig {
@@ -131,6 +131,7 @@ public class PurpurWorldConfig {
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = false;
public boolean projectilesBypassMobGriefing = false;
+ public boolean tickFluids = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -150,6 +151,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 185749df0c7c08f625145a29810ffed6042550bb..3f3e6633a3de2ceb5a082777a24ff045
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 46675078269880bc8774053b0827dc69293b642e..530eccfe6883a00ce4f8fa8e9ed3f911c81577c4 100644
index 941811c1070f10302c10bb404e8d782224a796e4..bac8dc98ad761a510de5eb411a33365863a2da7a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1313,6 +1313,7 @@ public class PurpurWorldConfig {
@@ -1327,6 +1327,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 46675078269880bc8774053b0827dc69293b642e..530eccfe6883a00ce4f8fa8e9ed3f911
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1332,6 +1333,7 @@ public class PurpurWorldConfig {
@@ -1346,6 +1347,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

@@ -6,7 +6,7 @@ Subject: [PATCH] Config to make Creepers explode on death
Creepers exploded after being killed in the alpha days. This brings that back.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 8db007569fc8a5085071813e1476a27d0f1cff7c..8568be97dcd5bb269e0204faf8b42dc8cb152282 100644
index 7a16984f0eb5f48e16dd718f44e39c7cc4a28d9a..1d099bfb7b35062178d65a0808ba99b0da5ef885 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -50,10 +50,10 @@ index 8db007569fc8a5085071813e1476a27d0f1cff7c..8568be97dcd5bb269e0204faf8b42dc8
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 530eccfe6883a00ce4f8fa8e9ed3f911c81577c4..e76bec118134f4f6ff37b04a07ae9f2238258c91 100644
index 1c6bb583b73a02957cb85fa9ecd0b1edc53c3d0d..bd298eed71a02ccfbbd97ce573ebc9c6976f1943 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -833,6 +833,7 @@ public class PurpurWorldConfig {
@@ -847,6 +847,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 530eccfe6883a00ce4f8fa8e9ed3f911c81577c4..e76bec118134f4f6ff37b04a07ae9f22
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -847,6 +848,7 @@ public class PurpurWorldConfig {
@@ -861,6 +862,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable ravager griefable blocks list
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 1c28e0f5b96114b2886fcf670ce5ce23526868f3..ee24dd327182387f6547532963972846acfb4da3 100644
index b1ef22e46db43f0c5b8bf3d2463850bba025d086..39f6b2a5fc0a37a96098a75f1972e7316572216f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -205,7 +205,7 @@ public class Ravager extends Raider {
@@ -31,10 +31,10 @@ index f0fbd16c9b9c3772492c32b3924e99e147e412f0..c0c3bba1555e356c0af7e79e1ecb2aa0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e76bec118134f4f6ff37b04a07ae9f2238258c91..f1df9ab494ba698052e44f9ea73b8a3ac65b8b0a 100644
index bd298eed71a02ccfbbd97ce573ebc9c6976f1943..dcc2339369f233c8d02e7c4f8caf8624b89ea49d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1685,6 +1685,7 @@ public class PurpurWorldConfig {
@@ -1699,6 +1699,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index e76bec118134f4f6ff37b04a07ae9f2238258c91..f1df9ab494ba698052e44f9ea73b8a3a
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1697,6 +1698,23 @@ public class PurpurWorldConfig {
@@ -1711,6 +1712,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Sneak to bulk process composter
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 0a3eb5e929c605d9eb7369de8ade8b49951f5d37..b69277b2ce0b5e4fd5cc5c21d07f529a16d21cc6 100644
index 58b093bb1de78ee3b3b2ea364aa50474883f443a..2fd89736091bda7005ef27e42a2aad0df27fa3b5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -568,7 +568,7 @@ public class ServerPlayerGameMode {
@@ -102,10 +102,10 @@ index ae90e86327957bb784e2d81694ee7eea288bb455..c5e4bc4bbeacd4875996ba54e795689f
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 f1df9ab494ba698052e44f9ea73b8a3ac65b8b0a..52bec7fa98bbc0e1700dd0a5210b8cf482da8156 100644
index dcc2339369f233c8d02e7c4f8caf8624b89ea49d..13025266f375a3cf4af4ba352ce64b9a412e4bcf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -467,6 +467,11 @@ public class PurpurWorldConfig {
@@ -481,6 +481,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -18,10 +18,10 @@ index e017da4617a62169d8888b8f86e6b3abc0ad1ba0..53f1e0b0f982054c9056f0fe27931bb7
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 52bec7fa98bbc0e1700dd0a5210b8cf482da8156..4d5cbc2cd99feb5c342122572a376206bdc3cc60 100644
index 13025266f375a3cf4af4ba352ce64b9a412e4bcf..8ae7369fa0d951a6562b2484a5f6e9be28d9a73d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
@@ -356,6 +356,7 @@ public class PurpurWorldConfig {
public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
@@ -29,7 +29,7 @@ index 52bec7fa98bbc0e1700dd0a5210b8cf482da8156..4d5cbc2cd99feb5c342122572a376206
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -362,6 +363,7 @@ public class PurpurWorldConfig {
@@ -376,6 +377,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

@@ -31,10 +31,10 @@ index 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4d5cbc2cd99feb5c342122572a376206bdc3cc60..8785e83e150807033cd17b6d09bee7374a7c6a45 100644
index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e678172651bd14 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2097,6 +2097,7 @@ public class PurpurWorldConfig {
@@ -2111,6 +2111,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 4d5cbc2cd99feb5c342122572a376206bdc3cc60..8785e83e150807033cd17b6d09bee737
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2115,6 +2116,7 @@ public class PurpurWorldConfig {
@@ -2129,6 +2130,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);
@@ -50,7 +50,7 @@ index 4d5cbc2cd99feb5c342122572a376206bdc3cc60..8785e83e150807033cd17b6d09bee737
}
public boolean vindicatorRidable = false;
@@ -2144,6 +2146,7 @@ public class PurpurWorldConfig {
@@ -2158,6 +2160,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 4d5cbc2cd99feb5c342122572a376206bdc3cc60..8785e83e150807033cd17b6d09bee737
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2157,6 +2160,7 @@ public class PurpurWorldConfig {
@@ -2171,6 +2174,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 8ff2aab5f04891af319ed8a07890ed62f770016c..7fb4000cde782c79e252d73b59b26e0039077de2 100644
index 41887aef504f1c2cb5cd3d16afd7c557f8831fc2..df17289b2932544327686707dc4cca43963f8675 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3144,7 +3144,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -18,7 +18,7 @@ index 8ff2aab5f04891af319ed8a07890ed62f770016c..7fb4000cde782c79e252d73b59b26e00
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 999d5fce5a4647a235717fe6f436b04add0bd26a..6a61f90e116e5cbb5b457ebb26438714151c25c9 100644
index 4ce236340a5d22a3017f1c8ff71e85f44d204234..d161596f42fc7f720436a3d08ad59fe1393433b0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -423,7 +423,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -40,10 +40,10 @@ index 999d5fce5a4647a235717fe6f436b04add0bd26a..6a61f90e116e5cbb5b457ebb26438714
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8785e83e150807033cd17b6d09bee7374a7c6a45..5a84db0bd0fea34a80488d849abefe74c572783d 100644
index 9daabef9ff8be2a921b4042e3a3790b040805a31..899e320cb3b9fddea44b1844da8ed5103f383196 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -152,6 +152,15 @@ public class PurpurWorldConfig {
@@ -166,6 +166,15 @@ public class PurpurWorldConfig {
nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Break individual slabs when sneaking
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index b69277b2ce0b5e4fd5cc5c21d07f529a16d21cc6..9564cfd3ff593662cf5755ae1d83dee4b627cdf9 100644
index 2fd89736091bda7005ef27e42a2aad0df27fa3b5..0034831358550491d57360966b1458b34b0908e2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -389,6 +389,7 @@ public class ServerPlayerGameMode {
@@ -47,10 +47,10 @@ index 18b603d646081926343dea108b55d641df1c2c34..03ad3e45fc6d48091ac0c0ba5dc3d014
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5a84db0bd0fea34a80488d849abefe74c572783d..7cb2ae918e544c8729a6c39201030ccef6976eab 100644
index 899e320cb3b9fddea44b1844da8ed5103f383196..8a7599c50a07c661f693f43f060c4333486d311e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -593,6 +593,11 @@ public class PurpurWorldConfig {
@@ -607,6 +607,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -24,10 +24,10 @@ index 55c245d0dfa369dc6de2197ae37335fba4fae4ae..c9b40515f4c2ff1eedfc9510930c3bae
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7cb2ae918e544c8729a6c39201030ccef6976eab..5ee4c21db365ed242fc008bb02575cf8ede12ac8 100644
index 8a7599c50a07c661f693f43f060c4333486d311e..45dbcd413f1711aa3ec2d9e97283a1b46f0a5956 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -553,6 +553,13 @@ public class PurpurWorldConfig {
@@ -567,6 +567,13 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -16,3 +16,23 @@ index 88949e8ca7e4a5e74a8a365bb1aa6d466d3f8ddd..0545a39af0f21210ff1f5e53f6d712ae
}
public ArmorStand(Level world, double x, double y, double z) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 45dbcd413f1711aa3ec2d9e97283a1b46f0a5956..98f74f037c88e147edef3604e896378677e82ba0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -104,6 +104,7 @@ public class PurpurWorldConfig {
public boolean armorstandMovement = true;
public boolean armorstandWaterMovement = true;
public boolean armorstandWaterFence = true;
+ public boolean armorstandPlaceWithArms = false;
private void armorstandSettings() {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
@@ -111,6 +112,7 @@ public class PurpurWorldConfig {
armorstandMovement = getBoolean("gameplay-mechanics.armorstand.can-movement-tick", armorstandMovement);
armorstandWaterMovement = getBoolean("gameplay-mechanics.armorstand.can-move-in-water", armorstandWaterMovement);
armorstandWaterFence = getBoolean("gameplay-mechanics.armorstand.can-move-in-water-over-fence", armorstandWaterFence);
+ armorstandPlaceWithArms = getBoolean("gameplay-mechanics.armorstand.place-with-arms-visible", armorstandPlaceWithArms);
}
public boolean arrowMovementResetsDespawnCounter = true;

View File

@@ -67,10 +67,10 @@ index 5ba56ee7d5dd210770e6703be559055d218028d5..b5e90dc00240bccf1a6eca342729a4f4
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ee4c21db365ed242fc008bb02575cf8ede12ac8..d94277eea53eb49c548fe146ba7bab671f2faa64 100644
index 98f74f037c88e147edef3604e896378677e82ba0..abab51201f9741dfdf1689d274d7cf401dec7278 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -490,6 +490,16 @@ public class PurpurWorldConfig {
@@ -506,6 +506,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -43,10 +43,10 @@ index 7304b2659eb45bc4bc9fa7c43e6ca07221d0fc73..d96e3fbc0fd4275c29e7e6154ef66e9e
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d94277eea53eb49c548fe146ba7bab671f2faa64..c77c5fc06e99716e3abac3c8bf7a3f7144a5a307 100644
index abab51201f9741dfdf1689d274d7cf401dec7278..47cd5e9f266bb881bbe4fffa610c14664ce8c088 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -620,6 +620,13 @@ public class PurpurWorldConfig {
@@ -636,6 +636,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,10 +96,10 @@ index 41bd45c0720751f348b5cf6eaecac4397a439857..60512d08a45670a164a9b93191aafa40
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 c77c5fc06e99716e3abac3c8bf7a3f7144a5a307..147856f113f75f7500fa45e7837ab5817a35fdf8 100644
index 47cd5e9f266bb881bbe4fffa610c14664ce8c088..7dd8b7e559cc3414298af214d59f08bcdc338186 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -408,6 +408,23 @@ public class PurpurWorldConfig {
@@ -424,6 +424,23 @@ public class PurpurWorldConfig {
//}
}

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} 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 147856f113f75f7500fa45e7837ab5817a35fdf8..6ac9e4f65f0b1579cc5c6f8d7eb2030c3ba68f78 100644
index 7dd8b7e559cc3414298af214d59f08bcdc338186..05348bd6e516284bdec1bb1675bfcf242dcad2e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -601,6 +601,11 @@ public class PurpurWorldConfig {
@@ -617,6 +617,11 @@ public class PurpurWorldConfig {
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
}

View File

@@ -31,10 +31,10 @@ index 2c085c4a154cb0f8a1d38453f43474a764398784..589b437e7c97c846410f293e2f014bdc
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6ac9e4f65f0b1579cc5c6f8d7eb2030c3ba68f78..96fe6d34c837ee808e3d4737b82dfbe30da9b116 100644
index 05348bd6e516284bdec1bb1675bfcf242dcad2e7..deb9b89415088a57b7a658d8017ace00155f0956 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1627,6 +1627,7 @@ public class PurpurWorldConfig {
@@ -1643,6 +1643,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 6ac9e4f65f0b1579cc5c6f8d7eb2030c3ba68f78..96fe6d34c837ee808e3d4737b82dfbe3
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1639,6 +1640,7 @@ public class PurpurWorldConfig {
@@ -1655,6 +1656,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 093a00e52062868b4fbf358b307513d0f599f69d..ba753735f3cbb2cb3d0a491d1bd94a04
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 96fe6d34c837ee808e3d4737b82dfbe30da9b116..d0d41f2b5067e864b2f2b347d19a90818ae97182 100644
index 186d24b7b671665ee7cedc7b53cb98ede17ac0ca..4f40b284691f67b0ba8ddfd73d321dbc134444ab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2262,6 +2262,7 @@ public class PurpurWorldConfig {
@@ -2278,6 +2278,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 96fe6d34c837ee808e3d4737b82dfbe30da9b116..d0d41f2b5067e864b2f2b347d19a9081
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2282,6 +2283,7 @@ public class PurpurWorldConfig {
@@ -2298,6 +2299,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

@@ -18,10 +18,10 @@ index c7195f2e12bbd6545f7bffcc2b4ba5cc3d48df20..5e730bc9c8ff94b16ac2bf8567dda8ae
Runnable afterAction = null; // Paper
if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d0d41f2b5067e864b2f2b347d19a90818ae97182..34da795e14b3b4b2276121ae32ee851df3779f7a 100644
index 319a58d0cfeae9395d0f41a6f4a97ca89b3c4df5..86f5341479c71833124902e14683f03faddaad44 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -430,6 +430,21 @@ public class PurpurWorldConfig {
@@ -446,6 +446,21 @@ public class PurpurWorldConfig {
snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage);
}

View File

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 34da795e14b3b4b2276121ae32ee851df3779f7a..fc74e1043a277f903a14659d972739ffa8304214 100644
index 86f5341479c71833124902e14683f03faddaad44..ce92ab1a31c000a66b8bf45651563f2e8c0c5a9b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -611,6 +611,11 @@ public class PurpurWorldConfig {
@@ -627,6 +627,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 6a61f90e116e5cbb5b457ebb26438714151c25c9..08f520fe9d793309e3b315f2dc25ed44e0d22af8 100644
index d161596f42fc7f720436a3d08ad59fe1393433b0..4938c289ea20f9f922e48d9b9f25caadb8c0f5b9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1020,6 +1020,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -28,10 +28,18 @@ index 6a61f90e116e5cbb5b457ebb26438714151c25c9..08f520fe9d793309e3b315f2dc25ed44
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc74e1043a277f903a14659d972739ffa8304214..f3b86e44dbb769796fce99ae16d8b630c5699d09 100644
index ce92ab1a31c000a66b8bf45651563f2e8c0c5a9b..8c4b7ad4af57e2547b0e01032e8b6a8341cdb2ba 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 {
@@ -134,6 +134,7 @@ public class PurpurWorldConfig {
public boolean persistentDroppableEntityDisplayNames = false;
public boolean projectilesBypassMobGriefing = false;
public boolean tickFluids = true;
+ public double mobsBlindnessMultiplier = 1;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -154,6 +155,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 8568be97dcd5bb269e0204faf8b42dc8cb152282..30df0e74950c6629fce06923a4a7d57341606fd6 100644
index 1d099bfb7b35062178d65a0808ba99b0da5ef885..415f5fc5c6b1f780a28917c21d0856ee598c59fc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
@@ -21,10 +21,10 @@ index 8568be97dcd5bb269e0204faf8b42dc8cb152282..30df0e74950c6629fce06923a4a7d573
if (!event.isCancelled()) {
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f3b86e44dbb769796fce99ae16d8b630c5699d09..09db887a83c212b2bab799ff64ae85e4463bee77 100644
index 8c4b7ad4af57e2547b0e01032e8b6a8341cdb2ba..68c392bcb3a8a553986f9d13bb19d8b982e481ce 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -922,6 +922,7 @@ public class PurpurWorldConfig {
@@ -939,6 +939,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index f3b86e44dbb769796fce99ae16d8b630c5699d09..09db887a83c212b2bab799ff64ae85e4
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -937,6 +938,7 @@ public class PurpurWorldConfig {
@@ -954,6 +955,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Iron golem calm anger options
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index f25f7db029c0c21f31693349ef567dddeace3db1..6b651c0c4a4d13f9b9cac5aab1ab843077c4cac0 100644
index 782949596cd160847a0332f48372d186a5e71eab..bb7376bff9c4c90f3e10ae8b8f29ecdf0b51a3db 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -100,6 +100,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -26,10 +26,10 @@ index f25f7db029c0c21f31693349ef567dddeace3db1..6b651c0c4a4d13f9b9cac5aab1ab8430
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 09db887a83c212b2bab799ff64ae85e4463bee77..2a69211d613757d61fb3fb86440042e1d2f8aa8d 100644
index 68c392bcb3a8a553986f9d13bb19d8b982e481ce..e44f013dc36128facd1ef8ba40a2da1c30f6ccab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1380,6 +1380,8 @@ public class PurpurWorldConfig {
@@ -1397,6 +1397,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -38,7 +38,7 @@ index 09db887a83c212b2bab799ff64ae85e4463bee77..2a69211d613757d61fb3fb86440042e1
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1392,6 +1394,8 @@ public class PurpurWorldConfig {
@@ -1409,6 +1411,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable parrots
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index f7efb2088c554782fd169b901b4ef3fca3b2c0f9..629ced06cc17ebd6a359b74858d073e12c6a3b88 100644
index 9228dc98360ff34e4cdd105be36ed249c5b67067..6c57b093366019f78627f75bab2d710c6556c030 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -228,6 +228,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -50,10 +50,10 @@ index f7efb2088c554782fd169b901b4ef3fca3b2c0f9..629ced06cc17ebd6a359b74858d073e1
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2a69211d613757d61fb3fb86440042e1d2f8aa8d..6d36f8ef6d9534f5259133c3e7716861c1141cf3 100644
index e44f013dc36128facd1ef8ba40a2da1c30f6ccab..44ac29b4c92fd533e084567caf8f36e81b9dc853 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1550,6 +1550,7 @@ public class PurpurWorldConfig {
@@ -1567,6 +1567,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 2a69211d613757d61fb3fb86440042e1d2f8aa8d..6d36f8ef6d9534f5259133c3e7716861
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1562,6 +1563,7 @@ public class PurpurWorldConfig {
@@ -1579,6 +1580,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa..cd8239423d964ef9b708d283a329986c
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 6d36f8ef6d9534f5259133c3e7716861c1141cf3..a2309c473c62914717126774bf4eff247d5bf8ef 100644
index 44ac29b4c92fd533e084567caf8f36e81b9dc853..49a41a94f064fbca3f286c628cb2a9cca0864be7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -256,6 +256,7 @@ public class PurpurWorldConfig {
@@ -273,6 +273,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 6d36f8ef6d9534f5259133c3e7716861c1141cf3..a2309c473c62914717126774bf4eff24
private void minecartSettings() {
if (PurpurConfig.version < 12) {
boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere);
@@ -308,6 +309,7 @@ public class PurpurWorldConfig {
@@ -325,6 +326,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

@@ -18,10 +18,10 @@ index 150aaa68340f25c39a9b10eda43e9941a22d0aae..97b6ab27109b1bd7614ff3cc13224526
f += f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a2309c473c62914717126774bf4eff247d5bf8ef..880ba4a76a0c55b3bd83af8af3975fabc8ef5054 100644
index 49a41a94f064fbca3f286c628cb2a9cca0864be7..779f0658d3b7a9672f3e5bcc8268541ad3a07079 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -355,6 +355,7 @@ public class PurpurWorldConfig {
@@ -372,6 +372,7 @@ public class PurpurWorldConfig {
public boolean creativeOnePunch = false;
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
@@ -29,7 +29,7 @@ index a2309c473c62914717126774bf4eff247d5bf8ef..880ba4a76a0c55b3bd83af8af3975fab
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -376,6 +377,7 @@ public class PurpurWorldConfig {
@@ -393,6 +394,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 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7
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 880ba4a76a0c55b3bd83af8af3975fabc8ef5054..3a1f7b50a7ebc921b1b1d3636e977fda185d4fac 100644
index 779f0658d3b7a9672f3e5bcc8268541ad3a07079..a4cad3dd976320c16520ebef4de977391b613809 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -537,6 +537,11 @@ public class PurpurWorldConfig {
@@ -554,6 +554,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -9,7 +9,7 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
creative players) instead of routing it through the LootableBuilder.
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 9564cfd3ff593662cf5755ae1d83dee4b627cdf9..49335b4fc2a9caab1418531a814210bf52b3cc43 100644
index 0034831358550491d57360966b1458b34b0908e2..88c8f2c53c024021e7bad1e4666e3438b53ab588 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -420,7 +420,7 @@ public class ServerPlayerGameMode {
@@ -35,10 +35,10 @@ index c89978ecbc5a13dda6f76ea6d1cc3056efc9a174..39868ad3ee4bb573a4dd562894d93f64
blockEntity.saveToItem(itemStack);
if (shulkerBoxBlockEntity.hasCustomName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3a1f7b50a7ebc921b1b1d3636e977fda185d4fac..76a4757b4af3126b8656e1fcf141c6a9e4bb3042 100644
index a4cad3dd976320c16520ebef4de977391b613809..26d97b1a483f4fd7a301b2bc7eb7c897fc9c0a62 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -657,6 +657,11 @@ public class PurpurWorldConfig {
@@ -674,6 +674,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index f379f4c45c5aaf8aa8d166148cdc07517c84649a..9d087295d63115d9b916e052b419789c0aa9fc63 100644
index 04656231fa0f96eaeb9ae463695ede400b07df09..575dbcf7a5399d7c9067b02337b1dbe294772109 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -410,7 +410,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 76a4757b4af3126b8656e1fcf141c6a9e4bb3042..e59079814239d176ed261a8015539261455d1b3e 100644
index 26d97b1a483f4fd7a301b2bc7eb7c897fc9c0a62..b2d0cc6032c65e3f70904bb8cd052f7fcf8cb81b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -765,6 +765,8 @@ public class PurpurWorldConfig {
@@ -782,6 +782,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 76a4757b4af3126b8656e1fcf141c6a9e4bb3042..e59079814239d176ed261a8015539261
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -778,6 +780,8 @@ public class PurpurWorldConfig {
@@ -795,6 +797,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -40,10 +40,10 @@ index 2cc714585fc3790b70a7ad1ab8034543462e2b3b..22d7f04cefafa0115a4504e373807877
((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e59079814239d176ed261a8015539261455d1b3e..f713798ac0ffac9afa8105165ebbca1c4fe0ff96 100644
index b2d0cc6032c65e3f70904bb8cd052f7fcf8cb81b..5075b3c255fed29b6c43ce32d3504fbad9014dcc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -312,6 +312,21 @@ public class PurpurWorldConfig {
@@ -329,6 +329,21 @@ public class PurpurWorldConfig {
poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier);
}

View File

@@ -26,10 +26,10 @@ index ef740d1ad6352ca4af299001a081b720bc472d2e..c787019b5cbadec81dd33ef4021708b9
} else {
return effectRange;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f713798ac0ffac9afa8105165ebbca1c4fe0ff96..5096ffa8c11e2297d7c6882f0393cfdcf69334a0 100644
index 5075b3c255fed29b6c43ce32d3504fbad9014dcc..175975ca0da583645394fa1ff0d76bc548b2c245 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -504,6 +504,17 @@ public class PurpurWorldConfig {
@@ -521,6 +521,17 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}

View File

@@ -27,10 +27,10 @@ index ce2c3c146ef64400e00084bd2245d2b87a67fbc2..b0dd274fde1ce23a984de9492d7605ff
}
// Paper end - fix sand duping
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5096ffa8c11e2297d7c6882f0393cfdcf69334a0..52e963b14ac4c672f83af436b74d399feadd8899 100644
index 175975ca0da583645394fa1ff0d76bc548b2c245..b6669a8fd4e20c178e9b5d5f0343588e432a718b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -683,6 +683,11 @@ public class PurpurWorldConfig {
@@ -700,6 +700,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 89ad0987084828037154d88d80788a8479f3732a..6f876403388f95a5b52f00985df2cde2f4d991f8 100644
index 97046a3764bd5ec09be3e9212568a03ca42fd307..51bb177a52ea52d642ec3300ccd6fd28b3b66bb3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2962,7 +2962,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -45,10 +45,10 @@ index f80f6da484f4144e743079e5104bf503419074b2..2deddc746e43896584bd65ba8e7971a8
entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52e963b14ac4c672f83af436b74d399feadd8899..54661d07b766da6cb5c8957a51336a9d96e64f09 100644
index b6669a8fd4e20c178e9b5d5f0343588e432a718b..996bf44999c6a71943a5d14e4d1849fa329cb737 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -631,6 +631,11 @@ public class PurpurWorldConfig {
@@ -648,6 +648,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -56,10 +56,10 @@ index 4a2dcf9bd83dd3fdff43483f887f4f58dc4715cd..87f9e03fb5e095396e054a84be60ec45
public void eat(Item item, ItemStack stack) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 54661d07b766da6cb5c8957a51336a9d96e64f09..f464eccf04da611c4bcf7d187c484fcf6678d54a 100644
index 996bf44999c6a71943a5d14e4d1849fa329cb737..54e6d43554f8cc5c9d5bb10ed869d9a333e4c214 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -371,6 +371,8 @@ public class PurpurWorldConfig {
@@ -388,6 +388,8 @@ public class PurpurWorldConfig {
public boolean playerSleepNearMonsters = false;
public boolean playersSkipNight = true;
public double playerCriticalDamageMultiplier = 1.5D;
@@ -68,7 +68,7 @@ index 54661d07b766da6cb5c8957a51336a9d96e64f09..f464eccf04da611c4bcf7d187c484fcf
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -393,6 +395,8 @@ public class PurpurWorldConfig {
@@ -410,6 +412,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

@@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index cd0e0d15868bcefef28d801dbd2aa41ac982baac..b10ad3b4bd57e9273d677b268767f9e288b05e4c 100644
index 41a6cd3a81c531b6349ca364b85712954a97aa11..b64c492a245494ab60c325d66dc6ec65418a1e4e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -510,11 +510,20 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -67,10 +67,10 @@ index 2170715ed0e81a3055e4ab546c8b294c5ef7f142..beae4e2b9f61df83215de860d64c4ce2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f464eccf04da611c4bcf7d187c484fcf6678d54a..032563a0fdd184f4c3c9842d08d5b0172634e54e 100644
index 54e6d43554f8cc5c9d5bb10ed869d9a333e4c214..4323702cb21a37ff9d9e8496906879a516a3c6ed 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1916,6 +1916,11 @@ public class PurpurWorldConfig {
@@ -1933,6 +1933,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -82,7 +82,7 @@ index f464eccf04da611c4bcf7d187c484fcf6678d54a..032563a0fdd184f4c3c9842d08d5b017
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1927,6 +1932,11 @@ public class PurpurWorldConfig {
@@ -1944,6 +1949,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 42e6aeea8d2e076aea7fa2c1ccf5edcc5efba46f..1f2e467272dddf3e91b7ab7037a0367b
public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE);
public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 032563a0fdd184f4c3c9842d08d5b0172634e54e..a23419fd4ad0d20900448d9493cc70bd9e34280f 100644
index 4323702cb21a37ff9d9e8496906879a516a3c6ed..5f29c9df27495ea34ee22ba2ba8e1fb0cdd85ab9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -203,6 +203,7 @@ public class PurpurWorldConfig {
@@ -220,6 +220,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldown = 20;
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
@@ -29,7 +29,7 @@ index 032563a0fdd184f4c3c9842d08d5b0172634e54e..a23419fd4ad0d20900448d9493cc70bd
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -246,6 +247,7 @@ public class PurpurWorldConfig {
@@ -263,6 +264,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 5ed737a9656546775540c15f81f308d94e7a3444..feef31edb1833da45c42b73894f610ac3add7c8e 100644
index 31fb0cd50b4263abcdde323e79300c1a88b572c1..d1f5b3900dbb17d262fea85c45a82ba3a2f46cad 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -29,6 +29,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
@@ -34,10 +34,10 @@ index 5ed737a9656546775540c15f81f308d94e7a3444..feef31edb1833da45c42b73894f610ac
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a23419fd4ad0d20900448d9493cc70bd9e34280f..e9554f0881392879c83dec6d18709a671d46f4eb 100644
index 5f29c9df27495ea34ee22ba2ba8e1fb0cdd85ab9..56b27b640d1cf772c1fe466d51b3aea84065f1ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1062,6 +1062,7 @@ public class PurpurWorldConfig {
@@ -1079,6 +1079,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index a23419fd4ad0d20900448d9493cc70bd9e34280f..e9554f0881392879c83dec6d18709a67
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1077,6 +1078,7 @@ public class PurpurWorldConfig {
@@ -1094,6 +1095,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 87f9e03fb5e095396e054a84be60ec455d3fbd35..3d2e3c7dd3bf5c8f483a933e9f686858
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e9554f0881392879c83dec6d18709a671d46f4eb..ac2f05bb88ea9c59cbd364e02b9c652ed021d6ee 100644
index f5ba56624339ff8b3ac87eb2f42ad5339bf83e3c..13877fd45731680332b84c3580ddc0ac5050ad02 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2565,4 +2565,9 @@ public class PurpurWorldConfig {
@@ -2582,4 +2582,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

@@ -122,10 +122,10 @@ index 180aec596110309aade13d2080f8824d152b07cb..c4aec1e5135a79837918b692e75a7b55
return InteractionResult.PASS;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ac2f05bb88ea9c59cbd364e02b9c652ed021d6ee..28f5b612a82eb8933666213a1c23cbd7b3d22ad6 100644
index eb1d45c456f28bd49131f835b8e8a65253b0ce74..ce8aac7a189c0e4f8240950673066fb3d82dc86d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -503,6 +503,159 @@ public class PurpurWorldConfig {
@@ -520,6 +520,159 @@ public class PurpurWorldConfig {
});
}

View File

@@ -19,10 +19,10 @@ index b0204af850ee182773ad458208cccd946ad148d5..81eb7092e6172bf9685d4feb52dabb01
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 28f5b612a82eb8933666213a1c23cbd7b3d22ad6..472794b30bc7464cd051e4c8b664819b325c7e84 100644
index ce8aac7a189c0e4f8240950673066fb3d82dc86d..078d5d8248e8d0bb7f055579628f7d032fef4767 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -204,6 +204,7 @@ public class PurpurWorldConfig {
@@ -221,6 +221,7 @@ public class PurpurWorldConfig {
public int enderPearlCooldownCreative = 20;
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
@@ -30,7 +30,7 @@ index 28f5b612a82eb8933666213a1c23cbd7b3d22ad6..472794b30bc7464cd051e4c8b664819b
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -248,6 +249,7 @@ public class PurpurWorldConfig {
@@ -265,6 +266,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 bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 472794b30bc7464cd051e4c8b664819b325c7e84..b22b6054cbda684e59b29f394fbc59c666636f9b 100644
index ff30b8356a3f3e012f8184fc32d91028a95f1e3a..7eeef57472233160eef67069589ddc22e5cc8222 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -697,6 +697,11 @@ public class PurpurWorldConfig {
@@ -714,6 +714,11 @@ public class PurpurWorldConfig {
}
}
@@ -39,7 +39,7 @@ index 472794b30bc7464cd051e4c8b664819b325c7e84..b22b6054cbda684e59b29f394fbc59c6
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2726,3 +2731,4 @@ public class PurpurWorldConfig {
@@ -2743,3 +2748,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}
}

View File

@@ -24,10 +24,10 @@ index 8537581e7ca1f4efb492a2e734f46f947f36cffa..5f89229ff68d923c5cdee40e72e379ba
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 b22b6054cbda684e59b29f394fbc59c666636f9b..4342edfce61cd6c978fb4c858d91dabd7cc8c094 100644
index 132f66e24a84de83327b3cd14069fe3cd4fc21f8..0e3360540a33aae9197200e171dae9a745bbb2d5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -697,6 +697,22 @@ public class PurpurWorldConfig {
@@ -714,6 +714,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -21,10 +21,10 @@ index 456460e867626ffe4a895d4d78a6afd6526ef695..b2b51b91459786b2004fdf5bf4ed6b24
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 4342edfce61cd6c978fb4c858d91dabd7cc8c094..42a027c803ac040f52835c0a5c4472f73d5d4237 100644
index 0e3360540a33aae9197200e171dae9a745bbb2d5..8c420d6710d3dd97ed488f5a0e00f7c8fbc13b6d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -377,6 +377,7 @@ public class PurpurWorldConfig {
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
public double playerCriticalDamageMultiplier = 1.5D;
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
@@ -32,7 +32,7 @@ index 4342edfce61cd6c978fb4c858d91dabd7cc8c094..42a027c803ac040f52835c0a5c4472f7
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -401,6 +402,7 @@ public class PurpurWorldConfig {
@@ -418,6 +419,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 60720f0bad840d35c9d0f1fc327f6069b348a41a..9e5f6666cbc4303d095a4f95db9acd0b
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 42a027c803ac040f52835c0a5c4472f73d5d4237..77d8bf513868c851dc089666d4c9dfb3e8f9b81a 100644
index 967f131637618e03f119c05aadaefa0dc3a6b6fa..4a7b01606a2fe7aad5ecaf515e2ba8d4fa328539 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1317,6 +1317,7 @@ public class PurpurWorldConfig {
@@ -1334,6 +1334,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -28,7 +28,7 @@ index 42a027c803ac040f52835c0a5c4472f73d5d4237..77d8bf513868c851dc089666d4c9dfb3
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1339,6 +1340,7 @@ public class PurpurWorldConfig {
@@ -1356,6 +1357,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 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2
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 77d8bf513868c851dc089666d4c9dfb3e8f9b81a..288b0a82cb0ae42391e91a3a52362d7538240967 100644
index 8f43f33e86e012c9e6c199ec159ce34b4e45cdef..4450897735088ca7b126556ebb7ee785241e850b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -205,6 +205,7 @@ public class PurpurWorldConfig {
@@ -222,6 +222,7 @@ public class PurpurWorldConfig {
public float enderPearlEndermiteChance = 0.05F;
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
@@ -100,7 +100,7 @@ index 77d8bf513868c851dc089666d4c9dfb3e8f9b81a..288b0a82cb0ae42391e91a3a52362d75
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -250,6 +251,7 @@ public class PurpurWorldConfig {
@@ -267,6 +268,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 851d12caeedbe86f78056cf7b32b4f2ce9e5fc0c..10dbf4f3fb5b5acb87496c0f06da1d29f7a26521 100644
index 501b801fc474009bd6f1b43781804edad8eda921..0da0fe3bba883633422a516bf32452772b32ac41 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2836,6 +2836,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -17,10 +17,10 @@ index 851d12caeedbe86f78056cf7b32b4f2ce9e5fc0c..10dbf4f3fb5b5acb87496c0f06da1d29
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 288b0a82cb0ae42391e91a3a52362d7538240967..9de7c49b4d4eae70cec8e1e7394f54c71d6d3e13 100644
index 4450897735088ca7b126556ebb7ee785241e850b..8725552721e2171a4f00339eb05bd347bab1818f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -167,12 +167,14 @@ public class PurpurWorldConfig {
@@ -184,12 +184,14 @@ public class PurpurWorldConfig {
public boolean elytraIgnoreUnbreaking = false;
public int elytraDamagePerFireworkBoost = 0;
public int elytraDamagePerTridentBoost = 0;

View File

@@ -18,10 +18,10 @@ index 7b45d6b9a005036ca5051d089a7be792eb87012f..8806c97ecc6bdd8a64c2d82bb2f58f46
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9de7c49b4d4eae70cec8e1e7394f54c71d6d3e13..4ae489298a03c24c9152d5649bb58d2ce497add1 100644
index 8725552721e2171a4f00339eb05bd347bab1818f..d7a06f73ee7c1861a0228cb37dbd6e14e938fd17 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -350,6 +350,11 @@ public class PurpurWorldConfig {
@@ -367,6 +367,11 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -18,10 +18,10 @@ index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4ae489298a03c24c9152d5649bb58d2ce497add1..4e2f5aeb60d07740990802b778f45324aa27121c 100644
index b89017929fa6f5353620ce47d06a79346d960286..9500363b31d9fcaec0b647778ff331378626d76b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2710,6 +2710,8 @@ public class PurpurWorldConfig {
@@ -2727,6 +2727,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 4ae489298a03c24c9152d5649bb58d2ce497add1..4e2f5aeb60d07740990802b778f45324
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2725,6 +2727,8 @@ public class PurpurWorldConfig {
@@ -2742,6 +2744,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

@@ -18,10 +18,10 @@ index d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829..df04a571ebd3c04bc7b58c1ee5661a1f
++i;
if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4e2f5aeb60d07740990802b778f45324aa27121c..45f4db9629ed674fcc1e779ab54a10e942c92a66 100644
index c0ff231020261a78202b0dfb35a14b86415353a0..ace4b438823a3580517360e0fa587d5d5562c804 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -908,9 +908,11 @@ public class PurpurWorldConfig {
@@ -925,9 +925,11 @@ public class PurpurWorldConfig {
public int spongeAbsorptionArea = 64;
public int spongeAbsorptionRadius = 6;

View File

@@ -18,10 +18,10 @@ index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae5
// this.world.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 45f4db9629ed674fcc1e779ab54a10e942c92a66..687578852880f6cd50b9a35749f866a2fef59568 100644
index f3fc30796a2b117595ae306add12242e6b54e41d..bb4c60d16ad2dc618b08a9cc7c1c6f3d5f57b3dd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2555,6 +2555,7 @@ public class PurpurWorldConfig {
@@ -2572,6 +2572,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index 45f4db9629ed674fcc1e779ab54a10e942c92a66..687578852880f6cd50b9a35749f866a2
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2576,6 +2577,7 @@ public class PurpurWorldConfig {
@@ -2593,6 +2594,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 7579946ce222b6ab3685a7fd9821bcd5a4babe33..2fffe4452d8f3fa5b9365dff1cfe5b5d
return false;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 687578852880f6cd50b9a35749f866a2fef59568..2ce9bed69337d9540798e997e6432b81995f2eae 100644
index 1316968cc4422f8bf60fae492fb4b1056f56111e..28f83de054bc1bc8477db7671a71dcf11f010370 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -729,6 +729,11 @@ public class PurpurWorldConfig {
@@ -746,6 +746,11 @@ public class PurpurWorldConfig {
buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch);
}

View File

@@ -26,10 +26,10 @@ index da0f5c5e6ca7ce7b38792e6da52c5cdcdbae3b78..4136bcd49fe05d916ab65de0e8661451
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2ce9bed69337d9540798e997e6432b81995f2eae..57a54d0fb86a0b7c5a59428380812a0a21a9db1b 100644
index 28f83de054bc1bc8477db7671a71dcf11f010370..749e884f3b1149a5d875867ac9fa31b85b72ac40 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -387,6 +387,7 @@ public class PurpurWorldConfig {
@@ -404,6 +404,7 @@ public class PurpurWorldConfig {
public int playerBurpDelay = 10;
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
@@ -37,7 +37,7 @@ index 2ce9bed69337d9540798e997e6432b81995f2eae..57a54d0fb86a0b7c5a59428380812a0a
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -412,6 +413,7 @@ public class PurpurWorldConfig {
@@ -429,6 +430,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

@@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e
});
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 57a54d0fb86a0b7c5a59428380812a0a21a9db1b..52987206a5cdb22fcacd050b5b2f2ef4c01cdcf5 100644
index 34c454ebca52787c77c7db4b197fe2092235f06f..b151ecb65760b18bed6498db598f3de329975998 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2774,5 +2774,28 @@ public class PurpurWorldConfig {
@@ -2791,5 +2791,28 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index 6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238..b8f69063cec4d31c9d9525a04c46ed89
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52987206a5cdb22fcacd050b5b2f2ef4c01cdcf5..6b453b85be946dd4f55456839552c0dcd581ebec 100644
index b151ecb65760b18bed6498db598f3de329975998..5db387cf0b8e0fdf31da1f5b957332381590f4b3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2797,5 +2797,16 @@ public class PurpurWorldConfig {
@@ -2814,5 +2814,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -18,10 +18,10 @@ index 94a0fde36dda9404e5eb62d323c71dac1929a46b..17a7fab20b4174273354fdc2fc700b7f
if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) {
double g = (double)(x - direction.getStepX()) + 0.5D;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6b453b85be946dd4f55456839552c0dcd581ebec..7f1fd8e0846ac4d852378a2d3d12ee1cb414b49d 100644
index 912b53d574e3dc329f3727706ffe9c8b6a98b3b6..79d12e8b16f72badca9cca05bc70423de2fd1e58 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -123,6 +123,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 6b453b85be946dd4f55456839552c0dcd581ebec..7f1fd8e0846ac4d852378a2d3d12ee1c
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -144,6 +145,7 @@ public class PurpurWorldConfig {
@@ -161,6 +162,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index b10ad3b4bd57e9273d677b268767f9e288b05e4c..be7e8364c66466eb1206b7f91c61f82cebcec0bf 100644
index b64c492a245494ab60c325d66dc6ec65418a1e4e..893141e599c6e1917831110470b6b1c0bb0ba1d5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -22,6 +22,8 @@ import net.minecraft.tags.DamageTypeTags;
@@ -47,10 +47,10 @@ index b10ad3b4bd57e9273d677b268767f9e288b05e4c..be7e8364c66466eb1206b7f91c61f82c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7f1fd8e0846ac4d852378a2d3d12ee1cb414b49d..295afe0d1093d561910b06431688720cd9c57bdc 100644
index 79d12e8b16f72badca9cca05bc70423de2fd1e58..8418214dce4920bb42e0042dc4d11cb4764c2f78 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2125,6 +2125,7 @@ public class PurpurWorldConfig {
@@ -2142,6 +2142,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -58,7 +58,7 @@ index 7f1fd8e0846ac4d852378a2d3d12ee1cb414b49d..295afe0d1093d561910b06431688720c
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2141,6 +2142,7 @@ public class PurpurWorldConfig {
@@ -2158,6 +2159,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 da8549ce25ce06d100baa4c36149ea5797841914..59d07b07ea81e5462ff7e57c6bc9e6f8
// 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 295afe0d1093d561910b06431688720cd9c57bdc..d9c758a567ba6e75d652c4c5f034e3c58612374f 100644
index 8418214dce4920bb42e0042dc4d11cb4764c2f78..a0adc2d1bec20b8feb170dab5cc40c306ef453e9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -124,6 +124,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 295afe0d1093d561910b06431688720cd9c57bdc..d9c758a567ba6e75d652c4c5f034e3c5
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -146,6 +148,8 @@ public class PurpurWorldConfig {
@@ -163,6 +165,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

@@ -45,10 +45,10 @@ index 8584a65433555133cdcfc24a078fb0b53b9f83bc..4afc4670f9b00a4087410ec366fe45fe
public static final Block PINK_PETALS = register("pink_petals", new PinkPetalsBlock(BlockBehaviour.Properties.of(Material.PLANT).noCollission().sound(SoundType.PINK_PETALS).requiredFeatures(FeatureFlags.UPDATE_1_20)));
public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS)));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d9c758a567ba6e75d652c4c5f034e3c58612374f..0935e98641218e0a54640b960fa17f45007a298e 100644
index a0adc2d1bec20b8feb170dab5cc40c306ef453e9..13cb469e9bdde5db59bd93711fe2d2e02cff0722 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -684,6 +684,11 @@ public class PurpurWorldConfig {
@@ -701,6 +701,11 @@ public class PurpurWorldConfig {
anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage);
}
@@ -60,7 +60,7 @@ index d9c758a567ba6e75d652c4c5f034e3c58612374f..0935e98641218e0a54640b960fa17f45
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -826,6 +831,11 @@ public class PurpurWorldConfig {
@@ -843,6 +848,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 49335b4fc2a9caab1418531a814210bf52b3cc43..ebf1ac089202c06fd2cc593dc12c21fe2d0a8de8 100644
index 88c8f2c53c024021e7bad1e4666e3438b53ab588..41d9bba8466ad9500ff02b9926e5e3cb15561e56 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -509,6 +509,7 @@ public class ServerPlayerGameMode {
@@ -36,7 +36,7 @@ index 49335b4fc2a9caab1418531a814210bf52b3cc43..ebf1ac089202c06fd2cc593dc12c21fe
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index fb4852272753747ba925962e51cff848fd1af9e3..4357b0f9d7d14052279442f8023097099472aca4 100644
index 2b8d8dafc0df272ad095130021795cfa7716ef46..f6350fbe18a87a27db70e70bbcb628231a57977c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2076,6 +2076,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -48,10 +48,10 @@ index fb4852272753747ba925962e51cff848fd1af9e3..4357b0f9d7d14052279442f802309709
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 0935e98641218e0a54640b960fa17f45007a298e..fd0a6e0cd2b0c1ba932bb0b4fa467460e3acbe24 100644
index 13cb469e9bdde5db59bd93711fe2d2e02cff0722..e71f3d9fe397392c68fc8a3de600f4551c7ccd5f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
@@ -411,6 +411,7 @@ public class PurpurWorldConfig {
public boolean playerBurpWhenFull = false;
public boolean playerRidableInWater = false;
public boolean playerRemoveBindingWithWeakness = false;
@@ -59,7 +59,7 @@ index 0935e98641218e0a54640b960fa17f45007a298e..fd0a6e0cd2b0c1ba932bb0b4fa467460
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -420,6 +421,7 @@ public class PurpurWorldConfig {
@@ -437,6 +438,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

@@ -47,10 +47,10 @@ index f8d3a5d2dc254501c7e4405444ed4439f9af915e..c038a23c4e19c5bf160792cf599acc8f
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 fd0a6e0cd2b0c1ba932bb0b4fa467460e3acbe24..032a289eb2bc7915fa1d14c018664884698f6eeb 100644
index e71f3d9fe397392c68fc8a3de600f4551c7ccd5f..6ff66f88aa0c9e16b67bbc057acd4f65b7a604df 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1223,6 +1223,7 @@ public class PurpurWorldConfig {
@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index fd0a6e0cd2b0c1ba932bb0b4fa467460e3acbe24..032a289eb2bc7915fa1d14c018664884
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1237,6 +1238,7 @@ public class PurpurWorldConfig {
@@ -1254,6 +1255,7 @@ public class PurpurWorldConfig {
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index ece8f5c4277d6b42fd19df64bfa624f96f1390ca..17c94ffb73b6bc2fbf7b700934a0eb01e117756a 100644
index 48d20fcd481e76e180410c11040b2164315fce23..7bf4b399d68b04a43465e85061113249d7ecf0d3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -38,6 +38,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
@@ -59,10 +59,10 @@ index ece8f5c4277d6b42fd19df64bfa624f96f1390ca..17c94ffb73b6bc2fbf7b700934a0eb01
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 032a289eb2bc7915fa1d14c018664884698f6eeb..73188e026f461f45a63a3b583acf3edc257dcdb1 100644
index 6ff66f88aa0c9e16b67bbc057acd4f65b7a604df..d99280d34614bc01303ad0de23dc39400131b915 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1172,7 +1172,14 @@ public class PurpurWorldConfig {
@@ -1189,7 +1189,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -77,7 +77,7 @@ index 032a289eb2bc7915fa1d14c018664884698f6eeb..73188e026f461f45a63a3b583acf3edc
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1185,6 +1192,8 @@ public class PurpurWorldConfig {
@@ -1202,6 +1209,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 1649070edaf0812dd480429cd6d07af84def8311..4f114d7cf5e6429e74bcf3653568beb1
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 73188e026f461f45a63a3b583acf3edc257dcdb1..e17c083d0f38c1758780ec168bc264746a6308ec 100644
index e38e3ab793a26e47b0a7882757e0dd99985070c8..d8ae27755319b4655286099ca38d054c07874b8a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -703,6 +703,7 @@ public class PurpurWorldConfig {
@@ -720,6 +720,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,7 @@ index 73188e026f461f45a63a3b583acf3edc257dcdb1..e17c083d0f38c1758780ec168bc26474
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -713,6 +714,7 @@ public class PurpurWorldConfig {
@@ -730,6 +731,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index fa9ed6d5ae13ddd14ef8677ca9ad30398a2333f4..3541479dac8404b9c2ec3788cd521aec3fae7c24 100644
index a108716b9945fafc8c51835151bc7e0ff903be35..68878b236a21a6fec7cbea0eec8e602188bc774e 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -314,7 +314,7 @@ public class Bat extends AmbientCreature {
@@ -43,7 +43,7 @@ index ea897da752c96c58d137af56544e9bf50135c6ec..32a303f9ac9768daf621e3aa561cd6b3
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index f4b9d73f5ce95c7725dbffbafc29c837fe1f87e6..074cbcf451f0f524510b4ab0273fceedfba143e3 100644
index d6093557894789eb20f79b83547620b47bb65ffb..dfa2806faedf70ca5ffe77087a67822a21e6aac2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -593,11 +593,7 @@ public class Zombie extends Monster {
@@ -60,10 +60,10 @@ index f4b9d73f5ce95c7725dbffbafc29c837fe1f87e6..074cbcf451f0f524510b4ab0273fceed
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 e17c083d0f38c1758780ec168bc264746a6308ec..7debacac0f3045a2a428ce76b024d34e4832ff9f 100644
index 06d6dacdf928c67fd336da111c1c50142aab523f..1a569f7c27e4880baeaa5b6a1aa2f9542573cb29 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1565,6 +1565,13 @@ public class PurpurWorldConfig {
@@ -1582,6 +1582,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index 219c87dcf065e86512f330fbeec59e55f4675083..f8fd3b320494d1c1e8ee3d170f2feebd
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7debacac0f3045a2a428ce76b024d34e4832ff9f..add3c8a76950a69a0a3bf4e1a99e9477229b251d 100644
index 1a569f7c27e4880baeaa5b6a1aa2f9542573cb29..26277dd2df640b83e823e386b4ab61d66473faf5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -751,6 +751,11 @@ public class PurpurWorldConfig {
@@ -768,6 +768,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -46,10 +46,10 @@ index 5827236f351cd0679af764644bb22bb286ac361d..9a84e8cc1d1b2803a061fe9ef6297c9c
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 add3c8a76950a69a0a3bf4e1a99e9477229b251d..b6e7e55ddb65770eab39dabe7ff06e39b833d532 100644
index 26277dd2df640b83e823e386b4ab61d66473faf5..26cd4abf4e14122ad9e02542c4a901c00eb9c471 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -214,6 +214,9 @@ public class PurpurWorldConfig {
@@ -231,6 +231,9 @@ public class PurpurWorldConfig {
public int glowBerriesEatGlowDuration = 0;
public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
public boolean compassItemShowsBossBar = false;
@@ -59,7 +59,7 @@ index add3c8a76950a69a0a3bf4e1a99e9477229b251d..b6e7e55ddb65770eab39dabe7ff06e39
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -260,6 +263,9 @@ public class PurpurWorldConfig {
@@ -277,6 +280,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 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefa
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b6e7e55ddb65770eab39dabe7ff06e39b833d532..1940561103a7f96a8ef900c581d08d9a11391025 100644
index 7c9708769c402a3724bf20d29ee1d5de368f32b3..613dffca78f5120d0c905e62f2f60b1763cd0c55 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2774,6 +2774,7 @@ public class PurpurWorldConfig {
@@ -2791,6 +2791,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index b6e7e55ddb65770eab39dabe7ff06e39b833d532..1940561103a7f96a8ef900c581d08d9a
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2791,6 +2792,7 @@ public class PurpurWorldConfig {
@@ -2808,6 +2809,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

@@ -195,10 +195,18 @@ index 1b248db497500aa6bd346b306dcb908af77626f3..64c55f3ebdbc27f7f0cea38247ff7b35
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1940561103a7f96a8ef900c581d08d9a11391025..cfa0dee44fcf03c9cc2036d94d8e6b5ae5b0fa4f 100644
index 613dffca78f5120d0c905e62f2f60b1763cd0c55..fcce194a3a01db4b2433e83d808b2bb7672c3640 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 {
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = false;
+ public boolean persistentTileEntityDisplayNames = false;
public boolean projectilesBypassMobGriefing = false;
public boolean tickFluids = true;
public double mobsBlindnessMultiplier = 1;
@@ -155,6 +156,7 @@ public class PurpurWorldConfig {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);

View File

@@ -17,7 +17,7 @@ index b4544ea2a307c2b89796753e33f64ffaf893f83f..087fd880ec62fed20383ef665b4f4d2e
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 4357b0f9d7d14052279442f8023097099472aca4..f6d0fff3c7d71b93f62fc4850fa14e6703517fae 100644
index f6350fbe18a87a27db70e70bbcb628231a57977c..00981d521fd8e73e586efb46926d5e42520ac4f9 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3532,11 +3532,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -70,10 +70,10 @@ index 4da4edae517a0efec6e03a719ec47b700509dab1..9e760a8e8244b15daaf0abdfc5f8a51d
public CompoundTag getUpdateTag() {
return this.saveWithoutMetadata();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cfa0dee44fcf03c9cc2036d94d8e6b5ae5b0fa4f..74f52dc66522f7ee44113d8eb1cab96ace4e2464 100644
index 35e9d41a22a48f05a9bf0e934ecc1f08dc18412d..06dbb9b24a27552133a57573ffa44e22671dc7ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -931,8 +931,10 @@ public class PurpurWorldConfig {
@@ -949,8 +949,10 @@ public class PurpurWorldConfig {
}
public boolean signRightClickEdit = false;

File diff suppressed because it is too large Load Diff

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