Add phantom allow-griefing option

This commit is contained in:
BillyGalbreath
2021-02-13 14:26:41 -06:00
parent b15a2e9bf2
commit 9537c770b0
49 changed files with 156 additions and 137 deletions

View File

@@ -697,10 +697,10 @@ index 398e92bf7053c411bd98626efe4261e15256d3ee..d19f8dda87c97de594ad051a6791d99e
@Nullable
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index f8c3480045e86a18501db223c1b2254cf3298a42..25345d8d585735af407787f2c26fe92674721239 100644
index c70281fddcbe5a97a1eb176def99cdf31de37579..80cc4467d601b653583e387eb4be6f3b739058e6 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -75,6 +75,11 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -76,6 +76,11 @@ public class EntityPhantom extends EntityFlying implements IMonster {
world.addEntity(flames);
return true;
}
@@ -1314,7 +1314,7 @@ index 0c47477b416980d2e932321730525bf5a8feda4f..dc850677c29c16805f28af00b2a63363
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745c7d4eada 100644
index f025bc73be48716310f1716d2cabbd5af5c39727..72d1ccb375496ffaa3d02d7c65f3cfb7ddb84db4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -484,30 +484,58 @@ public class PurpurWorldConfig {
@@ -1943,18 +1943,18 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean phantomRidable = false;
@@ -840,6 +1147,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
@@ -841,6 +1148,7 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
public boolean phantomAllowGriefing = false;
+ public double phantomMaxHealth = 20.0D;
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -864,38 +1172,72 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
@@ -866,38 +1174,72 @@ public class PurpurWorldConfig {
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
+ if (PurpurConfig.version < 10) {
+ double oldValue = getDouble("mobs.phantom.attributes.max-health", phantomMaxHealth);
+ set("mobs.phantom.attributes.max-health", null);
@@ -2024,7 +2024,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean polarBearRidable = false;
@@ -903,6 +1245,7 @@ public class PurpurWorldConfig {
@@ -905,6 +1247,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -2032,7 +2032,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -910,11 +1253,24 @@ public class PurpurWorldConfig {
@@ -912,11 +1255,24 @@ public class PurpurWorldConfig {
Item item = IRegistry.ITEM.get(new MinecraftKey(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -2057,7 +2057,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean rabbitRidable = false;
@@ -922,68 +1278,142 @@ public class PurpurWorldConfig {
@@ -924,68 +1280,142 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -2200,7 +2200,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean snowGolemRidable = false;
@@ -995,6 +1425,7 @@ public class PurpurWorldConfig {
@@ -997,6 +1427,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -2208,7 +2208,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1005,63 +1436,118 @@ public class PurpurWorldConfig {
@@ -1007,63 +1438,118 @@ 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);
@@ -2327,7 +2327,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean villagerRidable = false;
@@ -1078,6 +1564,7 @@ public class PurpurWorldConfig {
@@ -1080,6 +1566,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -2335,7 +2335,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1098,33 +1585,60 @@ public class PurpurWorldConfig {
@@ -1100,33 +1587,60 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -2396,7 +2396,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean witherRidable = false;
@@ -1141,19 +1655,30 @@ public class PurpurWorldConfig {
@@ -1143,19 +1657,30 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
@@ -2429,7 +2429,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean wolfRidable = false;
@@ -1162,6 +1687,7 @@ public class PurpurWorldConfig {
@@ -1164,6 +1689,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2437,7 +2437,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1173,13 +1699,26 @@ public class PurpurWorldConfig {
@@ -1175,13 +1701,26 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2464,7 +2464,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean zombieRidable = false;
@@ -1189,6 +1728,8 @@ public class PurpurWorldConfig {
@@ -1191,6 +1730,8 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
@@ -2473,7 +2473,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1201,15 +1742,40 @@ public class PurpurWorldConfig {
@@ -1203,15 +1744,40 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
}
@@ -2514,7 +2514,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean zombifiedPiglinRidable = false;
@@ -1218,6 +1784,8 @@ public class PurpurWorldConfig {
@@ -1220,6 +1786,8 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2523,7 +2523,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1225,6 +1793,13 @@ public class PurpurWorldConfig {
@@ -1227,6 +1795,13 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
@@ -2537,7 +2537,7 @@ index 878c5f324484bbd401ea177fda6b1b5e53aaf778..a9953a72055d23354b72f9800625a745
}
public boolean zombieVillagerRidable = false;
@@ -1232,11 +1807,20 @@ public class PurpurWorldConfig {
@@ -1234,11 +1809,20 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;