elytra.ignore-unbreaking option can probably be done through datapacks now

This commit is contained in:
granny
2024-06-16 23:03:22 -07:00
parent ea406a0e2b
commit 4dca11b02c
147 changed files with 763 additions and 774 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7fa56c1bb7ba6a535a486cd452358b6d2dc59d9b..897e9da03a4e1cc0cac5da542c9e695f49ae60e4 100644
index 62bf75a8adbe267663b88c2709d042c4b473907c..fc560ddef3542f9bf566917c3af9072857f1bd04 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1808,7 +1808,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -18,7 +18,7 @@ index 7fa56c1bb7ba6a535a486cd452358b6d2dc59d9b..897e9da03a4e1cc0cac5da542c9e695f
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 694aaaf1c07e63e8e95831d0c8daa0dde0cf9634..1186bdd1f49fd5bef712912e816b151adb1326cf 100644
index 8103f13155ad66bbd077a38ae4697ad14036b6a5..8b2dd71177b011c2a31e4959ca16057ad5288b22 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -707,7 +707,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
@@ -375,7 +375,7 @@ index c7377d04ceac3ea624117439783a443c6d6f6d08..0c732cfbd9ce50198a3f85ae8ef2263d
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce96b1d36a1 100644
index 15b79e86bc58b7cbc916d9b48887e015eef58928..a4bc71a9986a2ca6c05d0b50f24661526151958b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,8 +114,11 @@ public class PurpurWorldConfig {
@@ -402,7 +402,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
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);
@@ -432,9 +438,11 @@ public class PurpurWorldConfig {
@@ -430,9 +436,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -414,7 +414,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -459,6 +467,11 @@ public class PurpurWorldConfig {
@@ -457,6 +465,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -426,7 +426,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -488,10 +501,12 @@ public class PurpurWorldConfig {
@@ -486,10 +499,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = false;
public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false;
@@ -439,7 +439,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public int waterInfiniteRequiredSources = 2;
@@ -749,6 +764,7 @@ public class PurpurWorldConfig {
@@ -747,6 +762,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -447,7 +447,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -761,6 +777,7 @@ public class PurpurWorldConfig {
@@ -759,6 +775,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);
@@ -455,7 +455,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean dolphinRidable = false;
@@ -855,6 +872,7 @@ public class PurpurWorldConfig {
@@ -853,6 +870,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -463,7 +463,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -871,6 +889,7 @@ public class PurpurWorldConfig {
@@ -869,6 +887,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -471,7 +471,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean endermanRidable = false;
@@ -879,6 +898,7 @@ public class PurpurWorldConfig {
@@ -877,6 +896,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -479,7 +479,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -891,6 +911,7 @@ public class PurpurWorldConfig {
@@ -889,6 +909,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);
@@ -487,7 +487,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean endermiteRidable = false;
@@ -913,6 +934,7 @@ public class PurpurWorldConfig {
@@ -911,6 +932,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = true;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -495,7 +495,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -923,6 +945,7 @@ public class PurpurWorldConfig {
@@ -921,6 +943,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -503,7 +503,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean foxRidable = false;
@@ -931,6 +954,7 @@ public class PurpurWorldConfig {
@@ -929,6 +952,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -511,7 +511,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -943,6 +967,7 @@ public class PurpurWorldConfig {
@@ -941,6 +965,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);
@@ -519,7 +519,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean frogRidable = false;
@@ -1390,6 +1415,7 @@ public class PurpurWorldConfig {
@@ -1388,6 +1413,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = true;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -527,7 +527,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1400,6 +1426,7 @@ public class PurpurWorldConfig {
@@ -1398,6 +1424,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -535,7 +535,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean piglinBruteRidable = false;
@@ -1422,6 +1449,7 @@ public class PurpurWorldConfig {
@@ -1420,6 +1447,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = true;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -543,7 +543,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1432,6 +1460,7 @@ public class PurpurWorldConfig {
@@ -1430,6 +1458,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -551,7 +551,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean polarBearRidable = false;
@@ -1478,6 +1507,7 @@ public class PurpurWorldConfig {
@@ -1476,6 +1505,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -559,7 +559,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1491,12 +1521,14 @@ public class PurpurWorldConfig {
@@ -1489,12 +1519,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);
@@ -574,7 +574,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1507,6 +1539,7 @@ public class PurpurWorldConfig {
@@ -1505,6 +1537,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -582,7 +582,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean salmonRidable = false;
@@ -1528,6 +1561,7 @@ public class PurpurWorldConfig {
@@ -1526,6 +1559,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -590,7 +590,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1539,6 +1573,7 @@ public class PurpurWorldConfig {
@@ -1537,6 +1571,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -598,7 +598,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean shulkerRidable = false;
@@ -1561,6 +1596,7 @@ public class PurpurWorldConfig {
@@ -1559,6 +1594,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = true;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -606,7 +606,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1571,6 +1607,7 @@ public class PurpurWorldConfig {
@@ -1569,6 +1605,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -614,7 +614,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean skeletonRidable = false;
@@ -1648,6 +1685,7 @@ public class PurpurWorldConfig {
@@ -1646,6 +1683,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -622,7 +622,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1664,6 +1702,7 @@ public class PurpurWorldConfig {
@@ -1662,6 +1700,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);
@@ -630,7 +630,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean snifferRidable = false;
@@ -1850,6 +1889,7 @@ public class PurpurWorldConfig {
@@ -1848,6 +1887,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -638,7 +638,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1866,6 +1906,7 @@ public class PurpurWorldConfig {
@@ -1864,6 +1904,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);
@@ -646,7 +646,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean vindicatorRidable = false;
@@ -1938,6 +1979,7 @@ public class PurpurWorldConfig {
@@ -1936,6 +1977,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -654,7 +654,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1955,6 +1997,7 @@ public class PurpurWorldConfig {
@@ -1953,6 +1995,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);
@@ -662,7 +662,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
}
public boolean witherSkeletonRidable = false;
@@ -2026,6 +2069,7 @@ public class PurpurWorldConfig {
@@ -2024,6 +2067,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -670,7 +670,7 @@ index cd321796cf555647ebece5bdcf2f1efe1fcde35f..866e2f625472c6dac1305b84b3cb8ce9
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2041,6 +2085,7 @@ public class PurpurWorldConfig {
@@ -2039,6 +2083,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);