This commit is contained in:
BillyGalbreath
2021-06-19 01:49:53 -05:00
parent df6e24a868
commit e488d274fe
90 changed files with 1507 additions and 348 deletions

View File

@@ -86,7 +86,7 @@ index 7d2ac8aa97805e8b022d3982b1332c5055fc8b90..b98263dc5dcba1a5a8518c2f0acd2c9d
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity)); ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..96ca29b6a7ddd84f45d55c8c8745045b4520078d 100644 index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..37ded5b8fb3692c773698a794d3977808308801d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -186,7 +186,7 @@ index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..96ca29b6a7ddd84f45d55c8c8745045b
+ public void onMount(Player rider) { + public void onMount(Player rider) {
+ if (this instanceof Mob) { + if (this instanceof Mob) {
+ ((Mob) this).setGoalTarget(null, null, false); + ((Mob) this).setGoalTarget(null, null, false);
+ ((Mob) this).getNavigation().stopPathfinding(); + ((Mob) this).getNavigation().stop();
+ } + }
+ rider.setJumping(false); // fixes jump on mount + rider.setJumping(false); // fixes jump on mount
+ } + }
@@ -2547,7 +2547,7 @@ index c98202092752a9015aaf95bd1471135b88e84425..a1a64591e6a6fb8a4550b91f89e3cdbd
this.dragonFight.updateDragon(this); this.dragonFight.updateDragon(this);
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..0b1f6fad51a985ebe4ccebde12a1db9e12a57bc0 100644 index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..68c5609845617bf5aeb82ea4e3a88bdccb8273cc 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -83,6 +83,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -83,6 +83,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -2599,7 +2599,7 @@ index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..0b1f6fad51a985ebe4ccebde12a1db9e
+ this.entityData.set(DATA_TARGETS.get(0), 0); + this.entityData.set(DATA_TARGETS.get(0), 0);
+ this.entityData.set(DATA_TARGETS.get(1), 0); + this.entityData.set(DATA_TARGETS.get(1), 0);
+ this.entityData.set(DATA_TARGETS.get(2), 0); + this.entityData.set(DATA_TARGETS.get(2), 0);
+ getNavigation().stopPathfinding(); + getNavigation().stop();
+ shootCooldown = 20; + shootCooldown = 20;
+ } + }
+ +
@@ -3620,7 +3620,7 @@ index c0de613024de7b9b55f96be37e4648e83dea9b8f..84bd5e7df663f315fd099742195e8550
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java 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 4f51de49757a912ec84ccf5dab087c9a3e11a60e..8ed51e3f5abd76ec60c76d8a048b9a85a476469b 100644 index 4f51de49757a912ec84ccf5dab087c9a3e11a60e..32ef769b2b3e3ab42c7a50bf4c8ec7ec548d5e7b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -70,14 +70,34 @@ public class Ravager extends Raider { @@ -70,14 +70,34 @@ public class Ravager extends Raider {
@@ -3641,7 +3641,7 @@ index 4f51de49757a912ec84ccf5dab087c9a3e11a60e..8ed51e3f5abd76ec60c76d8a048b9a85
+ @Override + @Override
+ public void onMount(Player rider) { + public void onMount(Player rider) {
+ super.onMount(rider); + super.onMount(rider);
+ getNavigation().stopPathfinding(); + getNavigation().stop();
+ } + }
+ // Purpur end + // Purpur end
+ +

File diff suppressed because it is too large Load Diff

View File

@@ -192,10 +192,10 @@ index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..5365a4a047c759f36177716237c2bb98
public static String timingsUrl = "https://timings.pl3x.net"; public static String timingsUrl = "https://timings.pl3x.net";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d9ecedda8d312f512c5c258f06932ad4b2a2c3e5..b8cc0ac7790379103c1849c5dcad4bec8669463f 100644 index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..f2c6f2984bb4009b6dca36d041f1dd1436660de7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -57,6 +57,17 @@ public class PurpurWorldConfig { @@ -60,6 +60,17 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
} }

View File

@@ -90,10 +90,10 @@ index d76d8d8db7921d16f87dd162ccd115e351cde106..fb29b0cb962db93489ff4268c72e7c67
return entityplayer1; return entityplayer1;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b8cc0ac7790379103c1849c5dcad4bec8669463f..f707437272ff862ed1e0a4e53b17eb86d8c358b1 100644 index f2c6f2984bb4009b6dca36d041f1dd1436660de7..cd6c1251222e8ed377f775248ba874ed9941bfba 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -68,6 +68,13 @@ public class PurpurWorldConfig { @@ -71,6 +71,13 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 91edc954029aae9eb4ec0b3899e59eff8e310a6f..a04807d1c1fde2978acee935c84eb8fa5b32e4a9 100644 index 07686c678cd47defd9e0b742a71fd13e83142870..bd6a707962ac4d3961e1ce74570909e29ce4f4dd 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -141,6 +141,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -141,6 +141,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -36,18 +36,22 @@ index 91edc954029aae9eb4ec0b3899e59eff8e310a6f..a04807d1c1fde2978acee935c84eb8fa
this.level.getProfiler().pop(); this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f707437272ff862ed1e0a4e53b17eb86d8c358b1..20240ae5cce348d5f56a74de46bbdce552cdfe94 100644 index cd6c1251222e8ed377f775248ba874ed9941bfba..39891436be088064c3096999763641cc722d9bac 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -563,9 +563,13 @@ public class PurpurWorldConfig { @@ -1039,6 +1039,8 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false; public boolean villagerRidable = false;
public boolean villagerRidableInWater = false; public boolean villagerRidableInWater = false;
public double villagerMaxHealth = 20.0D;
+ public int villagerBrainTicks = 1; + public int villagerBrainTicks = 1;
+ public boolean villagerUseBrainTicksOnlyWhenLagging = true; + public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1048,6 +1050,8 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
+ villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); + villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
+ villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); + villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
} }

View File

@@ -170,23 +170,24 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) { public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
super.spawnAfterBreak(state, world, pos, stack); super.spawnAfterBreak(state, world, pos, stack);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 20240ae5cce348d5f56a74de46bbdce552cdfe94..195e0c9dd6d9d2b9496af4347d908c06e0115201 100644 index 39891436be088064c3096999763641cc722d9bac..d583fdd73b85e6792fd04fe8d8f9b52c898c423c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,6 +1,12 @@ @@ -1,7 +1,13 @@
package net.pl3x.purpur; package net.pl3x.purpur;
+import net.minecraft.core.Registry; +import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.item.Item; +import net.minecraft.world.item.Item;
+import net.minecraft.world.item.Items; +import net.minecraft.world.item.Items;
import org.bukkit.configuration.ConfigurationSection;
+ +
+import java.util.ArrayList; import org.bukkit.configuration.ConfigurationSection;
import java.util.List;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -75,6 +81,29 @@ public class PurpurWorldConfig { +import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -78,6 +84,29 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
} }

View File

@@ -50,13 +50,13 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 195e0c9dd6d9d2b9496af4347d908c06e0115201..85ca45d162518096748631037ddde30dd8f87563 100644 index d583fdd73b85e6792fd04fe8d8f9b52c898c423c..96202520c0f42db814fdb60ffb77dd0cdef12410 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -576,9 +576,15 @@ public class PurpurWorldConfig { @@ -1038,7 +1038,10 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false; public boolean turtleRidable = false;
public boolean turtleRidableInWater = false; public boolean turtleRidableInWater = false;
public double turtleMaxHealth = 30.0D;
- private void turtleSettings() { - private void turtleSettings() {
+ public boolean turtleEggsBreakFromExpOrbs = true; + public boolean turtleEggsBreakFromExpOrbs = true;
+ public boolean turtleEggsBreakFromItems = true; + public boolean turtleEggsBreakFromItems = true;
@@ -64,6 +64,11 @@ index 195e0c9dd6d9d2b9496af4347d908c06e0115201..85ca45d162518096748631037ddde30d
+ private void turtleEggSettings() { + private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1047,6 +1050,9 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
+ turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); + turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
+ turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); + turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
+ turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); + turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c62868ecf2 100644 index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f683e8b04ec 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java --- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java +++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -1,13 +1,36 @@ @@ -1,13 +1,36 @@
@@ -45,12 +45,25 @@ index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c6
public class Giant extends Monster { public class Giant extends Monster {
public Giant(EntityType<? extends Giant> type, Level world) { public Giant(EntityType<? extends Giant> type, Level world) {
@@ -28,8 +51,56 @@ public class Giant extends Monster { @@ -26,18 +49,59 @@ public class Giant extends Monster {
return level.purpurConfig.giantRidableInWater;
}
@Override - @Override
protected void registerGoals() { - protected void registerGoals() {
- this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); - this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
- this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); - this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
- }
-
@Override
protected void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.giantMaxHealth);
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level.purpurConfig.giantMovementSpeed);
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(this.level.purpurConfig.giantAttackDamage);
}
+
+ @Override
+ protected void registerGoals() {
+ if (level.purpurConfig.giantHaveAI) { + if (level.purpurConfig.giantHaveAI) {
+ this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(0, new FloatGoal(this));
+ this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); + this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
@@ -71,13 +84,6 @@ index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c6
+ } + }
+ +
+ @Override + @Override
+ protected void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.giantMaxHealth);
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level.purpurConfig.giantMovementSpeed);
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(this.level.purpurConfig.giantAttackDamage);
+ }
+
+ @Override
+ public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { + public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
+ SpawnGroupData groupData = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); + SpawnGroupData groupData = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
+ if (groupData == null) { + if (groupData == null) {
@@ -101,10 +107,11 @@ index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c6
+ // make giants jump as high as everything else relative to their size + // make giants jump as high as everything else relative to their size
+ // 1.0 makes bottom of feet about as high as their waist when they jump + // 1.0 makes bottom of feet about as high as their waist when they jump
+ return level.purpurConfig.giantJumpHeight; + return level.purpurConfig.giantJumpHeight;
} + }
// Purpur end // Purpur end
@@ -44,6 +115,6 @@ public class Giant extends Monster { @Override
@@ -51,6 +115,6 @@ public class Giant extends Monster {
@Override @Override
public float getWalkTargetValue(BlockPos pos, LevelReader world) { public float getWalkTargetValue(BlockPos pos, LevelReader world) {
@@ -113,35 +120,28 @@ index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c6
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 85ca45d162518096748631037ddde30dd8f87563..11470cb1acf37a2d7017d5b5ae73fcb075993f4d 100644 index 96202520c0f42db814fdb60ffb77dd0cdef12410..25db072223e7833c470b0023861df376af19831b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -305,9 +305,28 @@ public class PurpurWorldConfig { @@ -427,6 +427,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public boolean giantRidable = false; public double giantAttackDamage = 50.0D;
public boolean giantRidableInWater = false; public double giantMaxHealth = 100.0D;
+ public float giantStepHeight = 2.0F; + public float giantStepHeight = 2.0F;
+ public float giantJumpHeight = 1.0F; + public float giantJumpHeight = 1.0F;
+ public double giantMovementSpeed = 0.5D;
+ public double giantAttackDamage = 50.0D;
+ public boolean giantHaveAI = false; + public boolean giantHaveAI = false;
+ public boolean giantHaveHostileAI = false; + public boolean giantHaveHostileAI = false;
+ public double giantMaxHealth = 100.0D;
private void giantSettings() { private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -442,6 +446,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);
+ giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); + giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
+ giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); + giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
+ giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
+ giantAttackDamage = getDouble("mobs.giant.attack-damage", giantAttackDamage);
+ giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); + giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
+ giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); + giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
+ if (PurpurConfig.version < 8) {
+ double oldValue = getDouble("mobs.giant.max-health", giantMaxHealth);
+ set("mobs.giant.attributes.max-health", oldValue);
+ set("mobs.giant.max-health", null);
+ }
+ giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
} }
public boolean glowSquidRidable = false; public boolean glowSquidRidable = false;

View File

@@ -1,49 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 5 Jul 2019 11:09:25 -0500
Subject: [PATCH] Illusioners AI settings
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
index 5f57c14a7ba03af9432a839e6caed47286638b2c..c4c239ab51c48a2b9c12e547dc7e125955911794 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
@@ -69,6 +69,13 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
public boolean rideableUnderWater() {
return level.purpurConfig.illusionerRidableInWater;
}
+
+ @Override
+ protected void initAttributes() {
+ this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(this.level.purpurConfig.illusionerMovementSpeed);
+ this.getAttribute(Attributes.FOLLOW_RANGE).setBaseValue(this.level.purpurConfig.illusionerFollowRange);
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.illusionerMaxHealth);
+ }
// Purpur end
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 11470cb1acf37a2d7017d5b5ae73fcb075993f4d..3572fa9c9e8bc1cfdaf250c6059ab079cdd6d363 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -367,9 +367,20 @@ public class PurpurWorldConfig {
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;
+ public double illusionerMovementSpeed = 0.5D;
+ public double illusionerFollowRange = 18.0D;
+ public double illusionerMaxHealth = 32.0D;
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
+ illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
+ illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
+ if (PurpurConfig.version < 8) {
+ double oldValue = getDouble("mobs.illusioner.max-health", illusionerMaxHealth);
+ set("mobs.illusioner.attributes.max-health", oldValue);
+ set("mobs.illusioner.max-health", null);
+ }
+ illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
}
public boolean ironGolemRidable = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044313ff117 100644 index ce49e2a5ac80280ae03579d72a436e836a03cf8e..e98cfb02e6432992259c23d3e81aa8cfef6882b3 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager; @@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
@@ -42,17 +42,21 @@ index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this); LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3572fa9c9e8bc1cfdaf250c6059ab079cdd6d363..df6f41184643bec793a6be3df9903577c1b45734 100644 index 25db072223e7833c470b0023861df376af19831b..8154d79de126105233bd04b6935761236b10c6c0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -697,9 +697,11 @@ public class PurpurWorldConfig { @@ -1225,6 +1225,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public boolean zombieHorseRidableInWater = false; public double zombieHorseMovementSpeedMin = 0.2D;
public boolean zombieHorseCanSwim = false; public double zombieHorseMovementSpeedMax = 0.2D;
+ public double zombieHorseSpawnChance = 0.0D; + public double zombieHorseSpawnChance = 0.0D;
private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1240,6 +1241,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
+ zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); + zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
} }

View File

@@ -24,17 +24,21 @@ index b71a6af3c2d1ca2a946b23efb11b0e794840cf25..b2b3630a90c685b0a692efb9bf8bb111
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index df6f41184643bec793a6be3df9903577c1b45734..dd1b2373a5fe8ec704b1daf8c68d64eca12ebcc1 100644 index 8154d79de126105233bd04b6935761236b10c6c0..4e4541c05a6ed9eb96012d5a5584f1e81e354846 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -224,9 +224,11 @@ public class PurpurWorldConfig { @@ -249,6 +249,7 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false; public boolean creeperRidable = false;
public boolean creeperRidableInWater = false; public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
+ public double creeperChargedChance = 0.0D; + public double creeperChargedChance = 0.0D;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -258,6 +259,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
+ creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); + creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
} }

View File

@@ -38,18 +38,22 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9
int i = this.random.nextInt(100); int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dd1b2373a5fe8ec704b1daf8c68d64eca12ebcc1..f7bbeb345054b54c4448e4553b8673a485a9dd0d 100644 index 4e4541c05a6ed9eb96012d5a5584f1e81e354846..9f025b574aa6a0841a438d039333604b0bf95af4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -500,9 +500,13 @@ public class PurpurWorldConfig { @@ -803,6 +803,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false; public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false; public boolean rabbitRidableInWater = false;
public double rabbitMaxHealth = 3.0D;
+ public double rabbitNaturalToast = 0.0D; + public double rabbitNaturalToast = 0.0D;
+ public double rabbitNaturalKiller = 0.0D; + public double rabbitNaturalKiller = 0.0D;
private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -812,6 +814,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
+ rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); + rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
+ rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); + rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
} }

View File

@@ -75,17 +75,21 @@ index 9ce846d057a08b6a2b6576255bc55293707e3d24..d31b906c87e22f505bee22f21dd8ec1e
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f7bbeb345054b54c4448e4553b8673a485a9dd0d..2dd3b5b00a4b392c3ec8edd95af0997e25628db8 100644 index 9f025b574aa6a0841a438d039333604b0bf95af4..5b0b9e17e3ca490ed32a98983fdba94aa423814f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -291,9 +291,11 @@ public class PurpurWorldConfig { @@ -397,6 +397,7 @@ public class PurpurWorldConfig {
public boolean foxRidable = false; public boolean foxRidable = false;
public boolean foxRidableInWater = false; public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
+ public boolean foxTypeChangesWithTulips = false; + public boolean foxTypeChangesWithTulips = false;
private void foxSettings() { private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -406,6 +407,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
+ foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); + foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
} }

View File

@@ -59,18 +59,22 @@ index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2dd3b5b00a4b392c3ec8edd95af0997e25628db8..059133fafe70feae052920684ff179bba35943ad 100644 index 5b0b9e17e3ca490ed32a98983fdba94aa423814f..f15a49cedd7555f14199a4c6a13b23ebef881f52 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -490,9 +490,14 @@ public class PurpurWorldConfig { @@ -779,6 +779,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false; public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false; public boolean polarBearRidableInWater = false;
public double polarBearMaxHealth = 30.0D;
+ public String polarBearBreedableItemString = ""; + public String polarBearBreedableItemString = "";
+ public Item polarBearBreedableItem = null; + public Item polarBearBreedableItem = null;
private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -788,6 +790,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);
+ polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); + polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
+ Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); + Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
+ if (item != Items.AIR) polarBearBreedableItem = item; + if (item != Items.AIR) polarBearBreedableItem = item;

View File

@@ -51,17 +51,21 @@ index 55dccf338f9fba17fbcb88672d36b83e7bbec88b..eaec6eba96db3b8ce046208a4a1e5fc4
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 059133fafe70feae052920684ff179bba35943ad..22053d59ba3842c9e7812336673c6bd430d2bbd7 100644 index f15a49cedd7555f14199a4c6a13b23ebef881f52..df0631f55f74fed00a6dc3e942d37613fc34c067 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -205,9 +205,11 @@ public class PurpurWorldConfig { @@ -209,6 +209,7 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false; public boolean chickenRidable = false;
public boolean chickenRidableInWater = false; public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
+ public boolean chickenRetaliate = false; + public boolean chickenRetaliate = false;
private void chickenSettings() { private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -218,6 +219,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
+ chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); + chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
} }

View File

@@ -17,10 +17,10 @@ index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298
if (!this.canTick) { if (!this.canTick) {
if (this.noTickPoseDirty) { if (this.noTickPoseDirty) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 22053d59ba3842c9e7812336673c6bd430d2bbd7..acb7b0600d563b0ca86a3bb1bac73ace5486f9f8 100644 index df0631f55f74fed00a6dc3e942d37613fc34c067..853cf252723820bc7578c876e9cb79c9adc38918 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -63,6 +63,11 @@ public class PurpurWorldConfig { @@ -66,6 +66,11 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
} }

View File

@@ -49,10 +49,10 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index acb7b0600d563b0ca86a3bb1bac73ace5486f9f8..70c72c00d85a6c089d3ec69be4af934f28bb50b5 100644 index 853cf252723820bc7578c876e9cb79c9adc38918..616fcd50cf88aec7dc32ad3bcdae89349e3369e9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -183,6 +183,9 @@ public class PurpurWorldConfig { @@ -186,6 +186,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false; public boolean catRidable = false;
public boolean catRidableInWater = false; public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D; public double catMaxHealth = 10.0D;
@@ -62,7 +62,7 @@ index acb7b0600d563b0ca86a3bb1bac73ace5486f9f8..70c72c00d85a6c089d3ec69be4af934f
private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -192,6 +195,9 @@ public class PurpurWorldConfig { @@ -195,6 +198,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue); set("mobs.cat.attributes.max_health", oldValue);
} }
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,17 +114,21 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create((Level) world); return (Cow) EntityType.COW.create((Level) world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 70c72c00d85a6c089d3ec69be4af934f28bb50b5..5ce2b7699b76de825f4c2235bbceffd459ac6314 100644 index 616fcd50cf88aec7dc32ad3bcdae89349e3369e9..1a30365c146e195d487b77c2e31c08644f2e6ae5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -230,9 +230,11 @@ public class PurpurWorldConfig { @@ -248,6 +248,7 @@ public class PurpurWorldConfig {
public boolean cowRidable = false; public boolean cowRidable = false;
public boolean cowRidableInWater = false; public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
+ public int cowFeedMushrooms = 0; + public int cowFeedMushrooms = 0;
private void cowSettings() { private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -257,6 +258,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
+ cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); + cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
} }

View File

@@ -28,17 +28,21 @@ index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c97
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5ce2b7699b76de825f4c2235bbceffd459ac6314..e557db7413fa42c2e1d90dca60feb7e577e91e32 100644 index 1a30365c146e195d487b77c2e31c08644f2e6ae5..387741730f7b8e4c1670af9e6af0b97e06fdd493 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -477,9 +477,11 @@ public class PurpurWorldConfig { @@ -738,6 +738,7 @@ public class PurpurWorldConfig {
public boolean pigRidable = false; public boolean pigRidable = false;
public boolean pigRidableInWater = false; public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
+ public boolean pigGiveSaddleBack = false; + public boolean pigGiveSaddleBack = false;
private void pigSettings() { private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -747,6 +748,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
+ pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); + pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
} }

View File

@@ -32,19 +32,22 @@ index 7fbe1a62e9c67a8bdaf13aaa9fae1d8742d75148..0733f9c057fef17fd79a4769f19b78f4
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e557db7413fa42c2e1d90dca60feb7e577e91e32..3ae3e6805ad9fa9c6cb3c39622a4376c39e432a5 100644 index 387741730f7b8e4c1670af9e6af0b97e06fdd493..ae59b5f67407c80c16e6a1f55dd4d51b47e3d422 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -590,10 +590,14 @@ public class PurpurWorldConfig { @@ -969,6 +969,8 @@ public class PurpurWorldConfig {
public boolean snowGolemRidable = false;
public boolean snowGolemRidableInWater = false; public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false; public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
+ public boolean snowGolemDropsPumpkin = true; + public boolean snowGolemDropsPumpkin = true;
+ public boolean snowGolemPutPumpkinBack = false; + public boolean snowGolemPutPumpkinBack = false;
private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden); @@ -979,6 +981,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
+ snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); + snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
+ snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); + snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
} }

View File

@@ -18,18 +18,21 @@ index 1f40e8d1e73fec0aaee29c658e3d24f499fa9501..1e97d52e02d401c905e1dfcd758c63e4
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3ae3e6805ad9fa9c6cb3c39622a4376c39e432a5..59f8466225e73a794bdfc42a5a65546f5bdaea02 100644 index ae59b5f67407c80c16e6a1f55dd4d51b47e3d422..c0d3b4646aa0e45dad91747778192334c3527b9a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -277,10 +277,12 @@ public class PurpurWorldConfig { @@ -351,6 +351,7 @@ public class PurpurWorldConfig {
public boolean enderDragonRidable = false;
public boolean enderDragonRidableInWater = false; public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D; public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
+ public boolean enderDragonAlwaysDropsFullExp = false; + public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() { private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
enderDragonMaxY = getDouble("mobs.ender_dragon.ridable-max-y", enderDragonMaxY); @@ -365,6 +366,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
+ enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); + enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
} }

View File

@@ -35,10 +35,10 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
} else { } else {
return InteractionResult.PASS; return InteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 59f8466225e73a794bdfc42a5a65546f5bdaea02..f65d94bc58267223fa4511849fedd86efe86abc9 100644 index c0d3b4646aa0e45dad91747778192334c3527b9a..dda469098ffac8b41531b05c0363e82d43ff6f6a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig { @@ -112,6 +112,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -77,10 +77,10 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..3373c21f90eb08e2bfbb71bc348d085a
@Override @Override
public ClientboundBlockEntityDataPacket getUpdatePacket() { public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f65d94bc58267223fa4511849fedd86efe86abc9..1c3733e62532d6a3b47d3d661ff8ee08009e1f7c 100644 index dda469098ffac8b41531b05c0363e82d43ff6f6a..3129e8f7156276298b5bdec9aa52cb546893d1a6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,8 +109,10 @@ public class PurpurWorldConfig { @@ -112,8 +112,10 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -36,10 +36,10 @@ index aa1ba8b74ab70b6cede99e4853ac0203f388ab06..97e5cb4fd9f97c0bfa9d66c0ceac84e1
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1c3733e62532d6a3b47d3d661ff8ee08009e1f7c..2a07aa849fea849bc6295c526516bde8643ef8ec 100644 index 3129e8f7156276298b5bdec9aa52cb546893d1a6..624de1ba34417234244e7ba5d7bd248fdd19c095 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig { @@ -112,6 +112,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -148,26 +148,19 @@ index 1179c62695da4dcf02590c97d8da3c6fcdbee9ef..a107304351381d68fdaa35a4d7ff214e
protected final float explosionResistance; protected final float explosionResistance;
protected final boolean isRandomlyTicking; protected final boolean isRandomlyTicking;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2a07aa849fea849bc6295c526516bde8643ef8ec..8b8bf5e62dd702a8e92c95eba8b7603bc48f80dc 100644 index 624de1ba34417234244e7ba5d7bd248fdd19c095..86892775f8aeaac1e6ffdcb4dad4c3e5016fc91c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,10 +4,15 @@ import net.minecraft.core.Registry; @@ -4,6 +4,8 @@ import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
+import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.Blocks;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import java.util.ArrayList; @@ -71,6 +73,68 @@ public class PurpurWorldConfig {
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+
import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig {
@@ -68,6 +73,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 71eb28891941f28bc3bcf065bf734d3fb6e8e88a..95e1fa6fa3327e1ea3553128806befccd02828a0 100644 index bc4c210a7161c8af3817a828dbdd7601dc649df8..e284106d762735a7c203c19e3c5a06a6404b27b8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity { @@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity {
@@ -20,7 +20,7 @@ index 71eb28891941f28bc3bcf065bf734d3fb6e8e88a..95e1fa6fa3327e1ea3553128806befcc
// CraftBukkit start - Call death event // CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8b8bf5e62dd702a8e92c95eba8b7603bc48f80dc..9037c9d52bacc4ecf4cf40908120299f36d6d008 100644 index 86892775f8aeaac1e6ffdcb4dad4c3e5016fc91c..435c6f5c561b645c04aca6ea83566da1e0047acb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,11 @@ public class PurpurWorldConfig { @@ -73,6 +73,11 @@ public class PurpurWorldConfig {

View File

@@ -28,7 +28,7 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9037c9d52bacc4ecf4cf40908120299f36d6d008..7777cbcb5d001099ab77503355067dda03318225 100644 index 435c6f5c561b645c04aca6ea83566da1e0047acb..5d363a5103d159415d7d201ad9079502bff4de53 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,8 +74,10 @@ public class PurpurWorldConfig { @@ -74,8 +74,10 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5e9b67f0a5a8052b3f769b4a66b5c230401bd57f..a57640ba4d1c9f3d9b34d35d181d560dcbfb6994 100644 index 37ded5b8fb3692c773698a794d3977808308801d..af6d0fbd6faff5e570510037be16ed59debc3fdb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1549,6 +1549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -1549,6 +1549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -17,7 +17,7 @@ index 5e9b67f0a5a8052b3f769b4a66b5c230401bd57f..a57640ba4d1c9f3d9b34d35d181d560d
public void absMoveTo(double x, double y, double z) { public void absMoveTo(double x, double y, double z) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 95e1fa6fa3327e1ea3553128806befccd02828a0..151951df341b0f875610928aeb86c856325d5fa1 100644 index e284106d762735a7c203c19e3c5a06a6404b27b8..59988294eeba527ab28765ab2482e477802f5240 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2877,7 +2877,7 @@ public abstract class LivingEntity extends Entity { @@ -2877,7 +2877,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -17,17 +17,21 @@ index 8212ee2cc1242c0a3626f3643c455f3be0de18c2..aaf6f43c0f37a51a7b2db57b8da43365
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7777cbcb5d001099ab77503355067dda03318225..b5f2d7f43aa6ec02e7ad920794d2c1ad0997cfe1 100644 index 5d363a5103d159415d7d201ad9079502bff4de53..48f6faad6977aa5b5e7e3780a1466a4f222b6f71 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -791,9 +791,11 @@ public class PurpurWorldConfig { @@ -1281,6 +1281,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false; public boolean witherSkeletonRidableInWater = false;
public double witherSkeletonMaxHealth = 20.0D;
+ public boolean witherSkeletonTakesWitherDamage = false; + public boolean witherSkeletonTakesWitherDamage = false;
private void witherSkeletonSettings() { private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1290,6 +1291,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
+ witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage); + witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ba70f1276215620c75cda410ac5acb60c51ffcac..8e8980ef7b2273da6e7dbf4d8d5eb9529a3392af 100644 index 713ed9f0c789e0b0c2814dc03865c22cfc47d534..36d26af5b28e96cee930307b6d18edd7bfae8f23 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1182,7 +1182,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1182,7 +1182,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -18,7 +18,7 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F); this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b5f2d7f43aa6ec02e7ad920794d2c1ad0997cfe1..748b35bb1cdf30d9fcb2ddc4135dc30e778c15be 100644 index 48f6faad6977aa5b5e7e3780a1466a4f222b6f71..14551d5fc853dfde458040e806e84f44d716b9c9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -75,9 +75,11 @@ public class PurpurWorldConfig { @@ -75,9 +75,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index b2b3630a90c685b0a692efb9bf8bb111e321c9d1..c7554c6c1a1787d976ad1fe0c78d8656
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java 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 6cd8aa2305ff682d4e34b1c445cae3e486292b84..1621070f24eb70d55ee802cfbea831598102a807 100644 index b061ecc42122ef66fbf87fe017023abca5728a01..6e0b5fbf5b0d216b6b7c647d45ef37cd6b591717 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -474,6 +474,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -474,6 +474,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -38,30 +38,37 @@ index 6cd8aa2305ff682d4e34b1c445cae3e486292b84..1621070f24eb70d55ee802cfbea83159
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 748b35bb1cdf30d9fcb2ddc4135dc30e778c15be..47595b21ff7aad2b0066563bb137f57d3f00fd8e 100644 index 14551d5fc853dfde458040e806e84f44d716b9c9..1687e191ef9557e8bb0014960188207162ab8948 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -328,10 +328,12 @@ public class PurpurWorldConfig { @@ -350,6 +350,7 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false; public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
+ public boolean creeperAllowGriefing = true; + public boolean creeperAllowGriefing = true;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -360,6 +361,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); + creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -375,9 +377,11 @@ public class PurpurWorldConfig { @@ -457,6 +459,7 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false; public boolean endermanRidable = false;
public boolean endermanRidableInWater = false; public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
+ public boolean endermanAllowGriefing = true; + public boolean endermanAllowGriefing = true;
private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -466,6 +469,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
+ endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); + endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 4c0a0ac37f59f636947f21acfd3c3b5f0d8e8b0c..454c124d1fd21f67795027e55063b08a331adf5f 100644 index 75931cce0f430975fc54216f20e235833a74a72c..0dbce3ab5ff891b94d4209203b97fd7819cf5368 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -621,7 +621,7 @@ public abstract class Mob extends LivingEntity { @@ -621,7 +621,7 @@ public abstract class Mob extends LivingEntity {
@@ -18,7 +18,7 @@ index 4c0a0ac37f59f636947f21acfd3c3b5f0d8e8b0c..454c124d1fd21f67795027e55063b08a
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 47595b21ff7aad2b0066563bb137f57d3f00fd8e..f4de879950e02e89408ac039c22ad3e31f81e706 100644 index 1687e191ef9557e8bb0014960188207162ab8948..e24301d143ac29501f8f6dca15c1e5ed0a2b8281 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,10 +74,12 @@ public class PurpurWorldConfig { @@ -74,10 +74,12 @@ public class PurpurWorldConfig {

View File

@@ -18,17 +18,19 @@ index 41b5652578e4a703cb6f03e82654b27ea6302b99..2d83b7252814a3a921db32a62f6bfb71
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) { } else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f4de879950e02e89408ac039c22ad3e31f81e706..0d2ac773d3199e999b08a5e11779f71b095f3ea9 100644 index e24301d143ac29501f8f6dca15c1e5ed0a2b8281..73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -760,11 +760,13 @@ public class PurpurWorldConfig { @@ -1211,6 +1211,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false; public double villagerMaxHealth = 20.0D;
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
+ public boolean villagerFarmingBypassMobGriefing = false; + public boolean villagerFarmingBypassMobGriefing = false;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1222,6 +1223,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
+ villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); + villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);

View File

@@ -17,7 +17,7 @@ index e59a77c80a1bbe62aaa61bd4792d21b12c895a5c..44e9d6d0b80203b152957efef953c2fa
// CraftBukkit start // CraftBukkit start
private CraftMerchant craftMerchant; private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index a04807d1c1fde2978acee935c84eb8fa5b32e4a9..67b325b57eb449dea9df001d29102d6e6432caab 100644 index bd6a707962ac4d3961e1ce74570909e29ce4f4dd..8fd1371f7931a97f6663914dc8780c5c9ed296f5 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -171,6 +171,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -171,6 +171,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -41,10 +41,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0d2ac773d3199e999b08a5e11779f71b095f3ea9..55f48bcb65bc5ab30f1251a7aa014eeadae76b97 100644 index 73bea53e7e4d0a0a937b6a8964fc2a49b16d3db6..5e340655c472a3e8c7c017ce7eda7881f1530b43 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -761,12 +761,14 @@ public class PurpurWorldConfig { @@ -1212,6 +1212,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
@@ -52,6 +52,7 @@ index 0d2ac773d3199e999b08a5e11779f71b095f3ea9..55f48bcb65bc5ab30f1251a7aa014eea
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1224,6 +1225,7 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
@@ -59,14 +60,18 @@ index 0d2ac773d3199e999b08a5e11779f71b095f3ea9..55f48bcb65bc5ab30f1251a7aa014eea
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -778,9 +780,11 @@ public class PurpurWorldConfig { @@ -1243,6 +1245,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false; public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
+ public boolean wanderingTraderFollowEmeraldBlock = false; + public boolean wanderingTraderFollowEmeraldBlock = false;
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1252,6 +1255,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
+ wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); + wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 454c124d1fd21f67795027e55063b08a331adf5f..ec416bf26b599099789c619d05cbd6d03816f68f 100644 index 0dbce3ab5ff891b94d4209203b97fd7819cf5368..d6cb3688d913cb46d423c7fb1ab65d22b229f0f4 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1209,6 +1209,7 @@ public abstract class Mob extends LivingEntity { @@ -1209,6 +1209,7 @@ public abstract class Mob extends LivingEntity {
@@ -17,7 +17,7 @@ index 454c124d1fd21f67795027e55063b08a331adf5f..ec416bf26b599099789c619d05cbd6d0
// Paper start - drop leash variable // Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !player.getAbilities().instabuild); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 67b325b57eb449dea9df001d29102d6e6432caab..273bc35fbd90fd712a7fc3bcf985d1ee315078d4 100644 index 8fd1371f7931a97f6663914dc8780c5c9ed296f5..52a592e569d020dca45916be7b5fad28c9d480de 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -178,6 +178,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -178,6 +178,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 55f48bcb65bc5ab30f1251a7aa014eeadae76b97..438dcf442871ba9fdb6e43146da999789e93a402 100644 index 5e340655c472a3e8c7c017ce7eda7881f1530b43..4133c929d53556d25c4fe51e54c09fd259c212cb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -762,6 +762,7 @@ public class PurpurWorldConfig { @@ -1213,6 +1213,7 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index 55f48bcb65bc5ab30f1251a7aa014eeadae76b97..438dcf442871ba9fdb6e43146da99978
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -769,6 +770,7 @@ public class PurpurWorldConfig { @@ -1226,6 +1227,7 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,14 +68,17 @@ index 55f48bcb65bc5ab30f1251a7aa014eeadae76b97..438dcf442871ba9fdb6e43146da99978
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -781,10 +783,12 @@ public class PurpurWorldConfig { @@ -1246,6 +1248,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false; public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
+ public boolean wanderingTraderCanBeLeashed = false; + public boolean wanderingTraderCanBeLeashed = false;
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1256,6 +1259,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
+ wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); + wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
} }

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 273bc35fbd90fd712a7fc3bcf985d1ee315078d4..e338671b165c13d4f905a012e0660af255a4206a 100644 index 52a592e569d020dca45916be7b5fad28c9d480de..5e100dbdbd6cfb4aa34b0d6b1ce0913899f60b7c 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1033,6 +1033,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1033,6 +1033,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index 273bc35fbd90fd712a7fc3bcf985d1ee315078d4..e338671b165c13d4f905a012e0660af2
for (int i = 0; i < 10; ++i) { for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 438dcf442871ba9fdb6e43146da999789e93a402..e5fb0158cc00b55ba10954765d5b1de2027071c1 100644 index 4133c929d53556d25c4fe51e54c09fd259c212cb..420eeef9ab551210eedebfd027dd5d9e1b1b9eb5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -763,6 +763,8 @@ public class PurpurWorldConfig { @@ -1214,6 +1214,8 @@ public class PurpurWorldConfig {
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index 438dcf442871ba9fdb6e43146da999789e93a402..e5fb0158cc00b55ba10954765d5b1de2
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -771,6 +773,8 @@ public class PurpurWorldConfig { @@ -1228,6 +1230,8 @@ public class PurpurWorldConfig {
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -58,7 +58,7 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34
protected boolean canConvertToSource() { protected boolean canConvertToSource() {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e5fb0158cc00b55ba10954765d5b1de2027071c1..79867f854d3adaad59d89e945820446563f0355c 100644 index 420eeef9ab551210eedebfd027dd5d9e1b1b9eb5..82bb16a56f9c81a0f9a4fa29756ad793b8a24476 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -192,6 +192,13 @@ public class PurpurWorldConfig { @@ -192,6 +192,13 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 79867f854d3adaad59d89e945820446563f0355c..39d9a52cbeb9562baedf857514a8351afad9292c 100644 index 82bb16a56f9c81a0f9a4fa29756ad793b8a24476..92de2b4521ff5b462f7ff93c05a3f13d8e8c21f3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -194,9 +194,13 @@ public class PurpurWorldConfig { @@ -194,9 +194,13 @@ public class PurpurWorldConfig {

View File

@@ -40,7 +40,7 @@ index 721767812c765ac70c66f5445950c39167f344de..3fd54f7d0f3372d83ccd135db44870fb
return 0; return 0;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 39d9a52cbeb9562baedf857514a8351afad9292c..65961eef74c0ae0ef49d1b7e44deafefaf6dbb26 100644 index 92de2b4521ff5b462f7ff93c05a3f13d8e8c21f3..c29e6acfd2dce0b8483ac324a1720d2cdb38d109 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,13 @@ public class PurpurWorldConfig { @@ -146,6 +146,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index a57640ba4d1c9f3d9b34d35d181d560dcbfb6994..e617f1acd2d73c35d293580b27bbd9a49b569e21 100644 index af6d0fbd6faff5e570510037be16ed59debc3fdb..ebb5fe12f18c10eba06db13de653ff53b33994d1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -18,7 +18,7 @@ index a57640ba4d1c9f3d9b34d35d181d560dcbfb6994..e617f1acd2d73c35d293580b27bbd9a4
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) { && this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 151951df341b0f875610928aeb86c856325d5fa1..43251cd32e7045807ef46033345bff5be56fbd97 100644 index 59988294eeba527ab28765ab2482e477802f5240..fda3a3f8fd354aa6dcb0696f0381a6ddb9bdbeb6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity { @@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity {
@@ -31,7 +31,7 @@ index 151951df341b0f875610928aeb86c856325d5fa1..43251cd32e7045807ef46033345bff5b
protected void updateSwingTime() { protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 65961eef74c0ae0ef49d1b7e44deafefaf6dbb26..88f174409959a07b404fd802569024a46040ec39 100644 index c29e6acfd2dce0b8483ac324a1720d2cdb38d109..ed53228bc74cf4429aa7ef65de4ece47a437e99f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -77,11 +77,15 @@ public class PurpurWorldConfig { @@ -77,11 +77,15 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 41efb6fb0d26e62229a5d5cfae2dc36b2d3b718e..ce2fe8ac56b3471bbd6a0e2a4b7680b420f3a1c8 100644 index ebb5fe12f18c10eba06db13de653ff53b33994d1..dc847857b7024572d6f6f669820e7d1476d2e866 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4056,5 +4056,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -4056,5 +4056,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index ec416bf26b599099789c619d05cbd6d03816f68f..af05506cd6c4c5de057081a2196a0631c960a3d6 100644 index d6cb3688d913cb46d423c7fb1ab65d22b229f0f4..45c9c4d751a51a524ff881d9fe3c1a48d141ba54 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -62,6 +62,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -62,6 +62,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -43,7 +43,7 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start // CraftBukkit start
Level world = pointer.getLevel(); Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 88f174409959a07b404fd802569024a46040ec39..b15d2cd28b9712f761d401c0d47634767bd0aa09 100644 index ed53228bc74cf4429aa7ef65de4ece47a437e99f..1266ddfe01e30923189633b11301465118c47581 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -198,6 +198,11 @@ public class PurpurWorldConfig { @@ -198,6 +198,11 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else { } else {
return Boat.Status.IN_AIR; return Boat.Status.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b15d2cd28b9712f761d401c0d47634767bd0aa09..3e0554e65c50f0edba3abeababbd07ffb398c5e3 100644 index 1266ddfe01e30923189633b11301465118c47581..59c0d2640042f1070d7a4818209c6bdd17afb03c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig { @@ -73,6 +73,7 @@ public class PurpurWorldConfig {

View File

@@ -73,7 +73,7 @@ index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving); Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY; return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3e0554e65c50f0edba3abeababbd07ffb398c5e3..9e881f8aedfbe2bd258e11b042ef03370b3b4718 100644 index 59c0d2640042f1070d7a4818209c6bdd17afb03c..35b05b753ebbcecb887b093647a2a4bf6f439df7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig { @@ -73,6 +73,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 43251cd32e7045807ef46033345bff5be56fbd97..93151170268be08bce8380e1f42a7a95269b5b5a 100644 index fda3a3f8fd354aa6dcb0696f0381a6ddb9bdbeb6..5de1f9729ad0d2857e4c25bb3b9bf3f575217e99 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity { @@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity {
@@ -54,7 +54,7 @@ index 543a08f920319a2547258640bafebb1e70af65c4..dd211aa7c4ef1e158933a89898b9e5bc
itemStack.shrink(1); itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 70d0fcd323f1ab54dec770eb6aee394ae356b67d..be5107d8aab76effce2c3bb7b0f2f27a26a6727b 100644 index 7c1852c7e32fe1945fde0ec3f3b9b96dfa0c1043..5bd25f8b8a554b965665b3f5686c14189b51f28e 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -540,7 +540,7 @@ public final class ItemStack { @@ -540,7 +540,7 @@ public final class ItemStack {
@@ -99,7 +99,7 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20); entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) { if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9e881f8aedfbe2bd258e11b042ef03370b3b4718..d30f4c41bbe06583a00a28aa0dbea39d84a7f7dd 100644 index 35b05b753ebbcecb887b093647a2a4bf6f439df7..7ea265ced069fa0121a8ca8b8f436957527494ee 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -92,6 +92,19 @@ public class PurpurWorldConfig { @@ -92,6 +92,19 @@ public class PurpurWorldConfig {

View File

@@ -93,7 +93,7 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d30f4c41bbe06583a00a28aa0dbea39d84a7f7dd..c82817ecc3c9f62e18d0076970696d5bed622c5e 100644 index 7ea265ced069fa0121a8ca8b8f436957527494ee..d733d01678689107449fcad0b94171799de2a626 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -105,6 +105,49 @@ public class PurpurWorldConfig { @@ -105,6 +105,49 @@ public class PurpurWorldConfig {

View File

@@ -167,67 +167,83 @@ index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345
@Override @Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c82817ecc3c9f62e18d0076970696d5bed622c5e..64d655ba55d2b80d1b42e49ed1e2c93fd944c554 100644 index d733d01678689107449fcad0b94171799de2a626..999c73c5a3fca531cc886025865df1464b8f80da 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -443,9 +443,15 @@ public class PurpurWorldConfig { @@ -499,6 +499,9 @@ public class PurpurWorldConfig {
public boolean drownedRidable = false;
public boolean drownedRidableInWater = false; public boolean drownedRidableInWater = false;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
+ public boolean drownedJockeyOnlyBaby = true; + public boolean drownedJockeyOnlyBaby = true;
+ public double drownedJockeyChance = 0.05D; + public double drownedJockeyChance = 0.05D;
+ public boolean drownedJockeyTryExistingChickens = true; + public boolean drownedJockeyTryExistingChickens = true;
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -509,6 +512,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
+ drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); + drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
+ drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); + drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
+ drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); + drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -562,9 +568,15 @@ public class PurpurWorldConfig { @@ -721,6 +727,9 @@ public class PurpurWorldConfig {
public boolean huskRidable = false;
public boolean huskRidableInWater = false; public boolean huskRidableInWater = false;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
+ public boolean huskJockeyOnlyBaby = true; + public boolean huskJockeyOnlyBaby = true;
+ public double huskJockeyChance = 0.05D; + public double huskJockeyChance = 0.05D;
+ public boolean huskJockeyTryExistingChickens = true; + public boolean huskJockeyTryExistingChickens = true;
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -731,6 +740,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
+ huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); + huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
+ huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); + huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
+ huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); + huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -923,9 +935,15 @@ public class PurpurWorldConfig { @@ -1435,6 +1447,9 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false; public boolean zombieRidableInWater = false;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
+ public boolean zombieJockeyOnlyBaby = true; + public boolean zombieJockeyOnlyBaby = true;
+ public double zombieJockeyChance = 0.05D; + public double zombieJockeyChance = 0.05D;
+ public boolean zombieJockeyTryExistingChickens = true; + public boolean zombieJockeyTryExistingChickens = true;
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1445,6 +1460,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
+ zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); + zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
+ zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); + zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
+ zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); + zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -939,15 +957,27 @@ public class PurpurWorldConfig { @@ -1478,6 +1496,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidable = false;
public boolean zombieVillagerRidableInWater = false; public boolean zombieVillagerRidableInWater = false;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
+ public boolean zombieVillagerJockeyOnlyBaby = true; + public boolean zombieVillagerJockeyOnlyBaby = true;
+ public double zombieVillagerJockeyChance = 0.05D; + public double zombieVillagerJockeyChance = 0.05D;
+ public boolean zombieVillagerJockeyTryExistingChickens = true; + public boolean zombieVillagerJockeyTryExistingChickens = true;
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1488,12 +1509,18 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
+ zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); + zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
+ zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); + zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
+ zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); + zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -235,12 +251,18 @@ index c82817ecc3c9f62e18d0076970696d5bed622c5e..64d655ba55d2b80d1b42e49ed1e2c93f
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
public boolean zombifiedPiglinRidableInWater = false; public boolean zombifiedPiglinRidableInWater = false;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
+ public boolean zombifiedPiglinJockeyOnlyBaby = true; + public boolean zombifiedPiglinJockeyOnlyBaby = true;
+ public double zombifiedPiglinJockeyChance = 0.05D; + public double zombifiedPiglinJockeyChance = 0.05D;
+ public boolean zombifiedPiglinJockeyTryExistingChickens = true; + public boolean zombifiedPiglinJockeyTryExistingChickens = true;
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1504,5 +1531,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);
+ zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); + zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
+ zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); + zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
+ zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); + zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -73,7 +73,7 @@ index b643a2449e329560c936c0a06fb4cc494d0737a7..92e65f3fbc8f5d77bb8cc31e7a7780c2
@Override @Override
protected void addAdditionalSaveData(CompoundTag nbt) { protected void addAdditionalSaveData(CompoundTag nbt) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java 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 96684261f3a6ad64cf9eb6e46ff40fb75b8b68b7..be67c4612587ef46c7bf582bc26f2349b9f9a18a 100644 index 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6a7ca0f8e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -258,23 +258,23 @@ index 96684261f3a6ad64cf9eb6e46ff40fb75b8b68b7..be67c4612587ef46c7bf582bc26f2349
private float speed = 0.1F; private float speed = 0.1F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 64d655ba55d2b80d1b42e49ed1e2c93fd944c554..15b4c7d1038fce8005dcc9c35e008fc2be1585ed 100644 index 999c73c5a3fca531cc886025865df1464b8f80da..99803a6bc3d63b31ddb2c137ba9ea311f955b9c9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -661,6 +661,9 @@ public class PurpurWorldConfig { @@ -912,6 +912,9 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8; public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false; public boolean phantomAllowGriefing = false;
public double phantomMaxHealth = 20.0D;
+ public double phantomAttackedByCrystalRadius = 0.0D; + public double phantomAttackedByCrystalRadius = 0.0D;
+ public float phantomAttackedByCrystalDamage = 1.0F; + public float phantomAttackedByCrystalDamage = 1.0F;
+ public double phantomOrbitCrystalRadius = 0.0D; + public double phantomOrbitCrystalRadius = 0.0D;
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -668,6 +671,9 @@ public class PurpurWorldConfig { @@ -925,6 +928,9 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); set("mobs.phantom.attributes.max_health", oldValue);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); }
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth);
+ phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); + phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
+ phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); + phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
+ phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); + phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -189,10 +189,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..5c7683058b79953aa4f7427d7654b7e4
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 15b4c7d1038fce8005dcc9c35e008fc2be1585ed..b1650a5b7c9378f63d7e8738e5474761d40c3bad 100644 index 99803a6bc3d63b31ddb2c137ba9ea311f955b9c9..7eda42e4ffd91e1619dc59acdb60b9a7ef83f0c9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -664,6 +664,18 @@ public class PurpurWorldConfig { @@ -915,6 +915,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -211,7 +211,7 @@ index 15b4c7d1038fce8005dcc9c35e008fc2be1585ed..b1650a5b7c9378f63d7e8738e5474761
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -674,6 +686,18 @@ public class PurpurWorldConfig { @@ -931,6 +943,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -18,7 +18,7 @@ index 163a7861f987c3832aac51cc6df950c768546731..cfe4cdbd28ff11ea2781d47fe6d8c2de
} else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) { } else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) {
if (!this.kickVillagerOutOfBed(world, pos)) { if (!this.kickVillagerOutOfBed(world, pos)) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b1650a5b7c9378f63d7e8738e5474761d40c3bad..e884717dbe5dbd4655f156a68289b3880fce1ead 100644 index 7eda42e4ffd91e1619dc59acdb60b9a7ef83f0c9..ce0e2f9eb940e1e79d129667bc6444b83ca4b235 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,6 +4,7 @@ import net.minecraft.core.Registry; @@ -4,6 +4,7 @@ import net.minecraft.core.Registry;
@@ -28,16 +28,17 @@ index b1650a5b7c9378f63d7e8738e5474761d40c3bad..e884717dbe5dbd4655f156a68289b388
+import net.minecraft.world.level.Explosion; +import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import org.bukkit.configuration.ConfigurationSection;
@@ -12,6 +13,7 @@ import java.util.ArrayList; @@ -13,6 +14,8 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
+import java.util.logging.Level; +import java.util.logging.Level;
+
import static net.pl3x.purpur.PurpurConfig.log; import static net.pl3x.purpur.PurpurConfig.log;
@@ -258,6 +260,22 @@ public class PurpurWorldConfig { public class PurpurWorldConfig {
@@ -258,6 +261,22 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -18,10 +18,10 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a
public static boolean canSetSpawn(Level world) { public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e884717dbe5dbd4655f156a68289b3880fce1ead..a75a2def2217a0c2ae4812c650d38597b6500460 100644 index ce0e2f9eb940e1e79d129667bc6444b83ca4b235..a62fb5a9655e29d4327ebf5725e93dded5f02113 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -297,6 +297,22 @@ public class PurpurWorldConfig { @@ -298,6 +298,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b0874703991524cfaff7c62936d9311053a1d63b..16debe0f51fb70b5222e831ad9bbacf23dea1fa1 100644 index 88233e6bb9d3c690d12aa3adf7b5a4ea33ad1db2..3146734c26aa6e6834cfc91fdd143c01a9c96dc5 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1181,13 +1181,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -1181,13 +1181,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index af05506cd6c4c5de057081a2196a0631c960a3d6..7ed68f8ad1f68dea4a8455365d2f66f5e858e83e 100644 index 45c9c4d751a51a524ff881d9fe3c1a48d141ba54..568c11075c7a45f210bb2ddc81c313d0dec8539e 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -125,6 +125,7 @@ public abstract class Mob extends LivingEntity { @@ -125,6 +125,7 @@ public abstract class Mob extends LivingEntity {
@@ -89,10 +89,10 @@ index af05506cd6c4c5de057081a2196a0631c960a3d6..7ed68f8ad1f68dea4a8455365d2f66f5
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a75a2def2217a0c2ae4812c650d38597b6500460..e313c5ef4bddbf0f74e7b08507e2945fd1fa7341 100644 index a62fb5a9655e29d4327ebf5725e93dded5f02113..059da9c67be01f5d495cca4828a639355b5668d4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -107,6 +107,11 @@ public class PurpurWorldConfig { @@ -108,6 +108,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }

View File

@@ -55,10 +55,10 @@ index 5de1f9729ad0d2857e4c25bb3b9bf3f575217e99..f4eb8ea592e259bca1b961bbbf3f99c9
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e313c5ef4bddbf0f74e7b08507e2945fd1fa7341..4d0a549552e40ff31c33b810010fc34ac196106f 100644 index 059da9c67be01f5d495cca4828a639355b5668d4..679bd772139a6b03eb346ebd4e080bd0167dc294 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -242,6 +242,11 @@ public class PurpurWorldConfig { @@ -243,6 +243,11 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
} }

View File

@@ -5,16 +5,21 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4d0a549552e40ff31c33b810010fc34ac196106f..be2b723202dc0096a6d3a532c98d407063f2d2bd 100644 index 679bd772139a6b03eb346ebd4e080bd0167dc294..70a89abe116da4e9267988b40cb141ad937b1a3c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -870,8 +870,10 @@ public class PurpurWorldConfig { @@ -1254,6 +1254,7 @@ public class PurpurWorldConfig {
}
public boolean squidRidable = false; public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
+ public boolean squidImmuneToEAR = true; + public boolean squidImmuneToEAR = true;
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1262,6 +1263,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
+ squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); + squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
} }

View File

@@ -47,10 +47,10 @@ index fcb383cea17217b6ee26fcd8b59e5ce6a7ca0f8e..782d4499f925950d66072b63f34a828b
list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index be2b723202dc0096a6d3a532c98d407063f2d2bd..cd388dcd77dabb50b8e09558d83881a3563a99af 100644 index 70a89abe116da4e9267988b40cb141ad937b1a3c..d29600f27eeacf831ec532a79cdd280b2253574f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -720,6 +720,9 @@ public class PurpurWorldConfig { @@ -972,6 +972,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10; public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1; public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index be2b723202dc0096a6d3a532c98d407063f2d2bd..cd388dcd77dabb50b8e09558d83881a3
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -742,6 +745,9 @@ public class PurpurWorldConfig { @@ -1000,6 +1003,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius); phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index e338671b165c13d4f905a012e0660af255a4206a..1514d485e80ac2ccc2b61361f1a0215f61daf29b 100644 index 5e100dbdbd6cfb4aa34b0d6b1ce0913899f60b7c..1e05cc98a332e5b115c4670e5331e679117c6629 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -751,7 +751,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -751,7 +751,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -18,10 +18,10 @@ index e338671b165c13d4f905a012e0660af255a4206a..1514d485e80ac2ccc2b61361f1a0215f
private boolean hungry() { private boolean hungry() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cd388dcd77dabb50b8e09558d83881a3563a99af..c81f748b7647114343e08fd21eb14b0968a46492 100644 index d29600f27eeacf831ec532a79cdd280b2253574f..e047403632621a979c3e8d3859c43be8a70d3b92 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -946,6 +946,7 @@ public class PurpurWorldConfig { @@ -1398,6 +1398,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index cd388dcd77dabb50b8e09558d83881a3563a99af..c81f748b7647114343e08fd21eb14b09
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -956,6 +957,7 @@ public class PurpurWorldConfig { @@ -1414,6 +1415,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,11 +17,11 @@ index 9228c0bc797fb95c8ac949bdc568eadafee84a80..f2c9f841d397f445cd3d0420f19e765c
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c81f748b7647114343e08fd21eb14b0968a46492..c619ea7c5cdf5331e4a16fa3d899b888fa436295 100644 index e047403632621a979c3e8d3859c43be8a70d3b92..9d35930b8e5f27b0cf65b347dfb829a09965c607 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -915,6 +915,11 @@ public class PurpurWorldConfig { @@ -1352,6 +1352,11 @@ public class PurpurWorldConfig {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
} }
+ public boolean spawnerDeactivateByRedstone = false; + public boolean spawnerDeactivateByRedstone = false;
@@ -31,4 +31,4 @@ index c81f748b7647114343e08fd21eb14b0968a46492..c619ea7c5cdf5331e4a16fa3d899b888
+ +
public boolean turtleRidable = false; public boolean turtleRidable = false;
public boolean turtleRidableInWater = false; public boolean turtleRidableInWater = false;
public boolean turtleEggsBreakFromExpOrbs = true; public double turtleMaxHealth = 30.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8ace00a8dbba62c3c889b57a47d3ad4e2c014431..4a8ef02c1a2fa08c113441261c56d28da18e1526 100644 index f4eb8ea592e259bca1b961bbbf3f99c9cb058640..c3aa354635d7e784726ec5086e652433c8f461b1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1516,6 +1516,19 @@ public abstract class LivingEntity extends Entity { @@ -1516,6 +1516,19 @@ public abstract class LivingEntity extends Entity {
@@ -29,10 +29,10 @@ index 8ace00a8dbba62c3c889b57a47d3ad4e2c014431..4a8ef02c1a2fa08c113441261c56d28d
event.setCancelled(itemstack == null); event.setCancelled(itemstack == null);
this.level.getCraftServer().getPluginManager().callEvent(event); this.level.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c619ea7c5cdf5331e4a16fa3d899b888fa436295..386bd354d0c5ff9c2570634c9d34a121f9bf8641 100644 index 9d35930b8e5f27b0cf65b347dfb829a09965c607..337da14979d8f209d250d98df1247434d6610472 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -247,6 +247,11 @@ public class PurpurWorldConfig { @@ -248,6 +248,11 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
} }

View File

@@ -30,17 +30,21 @@ index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 386bd354d0c5ff9c2570634c9d34a121f9bf8641..b5dab55aa71c56b9c7f23f07420cb3697f47ab40 100644 index 337da14979d8f209d250d98df1247434d6610472..8feb4bab5e11f6240e6224f5e9a1ffbcebf8e0f6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -972,9 +972,11 @@ public class PurpurWorldConfig { @@ -1431,6 +1431,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false; public boolean vindicatorRidableInWater = false;
public double vindicatorMaxHealth = 24.0D;
+ public double vindicatorJohnnySpawnChance = 0D; + public double vindicatorJohnnySpawnChance = 0D;
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1440,6 +1441,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
+ vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); + vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
} }

View File

@@ -41,10 +41,10 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b5dab55aa71c56b9c7f23f07420cb3697f47ab40..700eff65398dbd0d2622458f1f854de02f7df65d 100644 index 8feb4bab5e11f6240e6224f5e9a1ffbcebf8e0f6..b17e156f543f408ae60d59766f2a35af87b8844a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -292,8 +292,10 @@ public class PurpurWorldConfig { @@ -293,8 +293,10 @@ public class PurpurWorldConfig {
} }
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;

View File

@@ -37,10 +37,10 @@ index 2db80c986e1dbd4aa9be288cc802f650169dc11a..1d186f9e3c2b10420abf8b3334cbcc42
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 700eff65398dbd0d2622458f1f854de02f7df65d..f7948a9d7461fec6558f8cdedbc1f3b71eed218d 100644 index b17e156f543f408ae60d59766f2a35af87b8844a..7f19823c5044ee056ec45c6db94f9cce665ba4c6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -275,6 +275,11 @@ public class PurpurWorldConfig { @@ -276,6 +276,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add no-random-tick block list
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e09f031f08efa7ed5145566de459b044313ff117..bc902d0c0179cab438825746fddb4a0f7f4617bc 100644 index e98cfb02e6432992259c23d3e81aa8cfef6882b3..34be3abec773b4b2bcd9b3faca33d2c72ef4d895 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -18,7 +18,7 @@ index e09f031f08efa7ed5145566de459b044313ff117..bc902d0c0179cab438825746fddb4a0f
DefaultedRegistry registryblocks = Registry.BLOCK; DefaultedRegistry registryblocks = Registry.BLOCK;
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 572e5f32a3c5aaffcec31da0cff9151efea252ac..8a37ee40123cf786078633110fc06c535ebc2153 100644 index a107304351381d68fdaa35a4d7ff214e6c1546a6..6e5dcf3c8a537729a18c085ebb5ab46b59c1d24c 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -893,10 +893,12 @@ public abstract class BlockBehaviour { @@ -893,10 +893,12 @@ public abstract class BlockBehaviour {
@@ -35,10 +35,10 @@ index 572e5f32a3c5aaffcec31da0cff9151efea252ac..8a37ee40123cf786078633110fc06c53
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f7948a9d7461fec6558f8cdedbc1f3b71eed218d..e722688f2de48b8740282f3f956e207461f387f4 100644 index 7f19823c5044ee056ec45c6db94f9cce665ba4c6..ea0e9c3ff13888899952b4bb8c04d20ebd5de542 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection; @@ -12,8 +12,10 @@ import org.bukkit.configuration.ConfigurationSection;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -49,7 +49,7 @@ index f7948a9d7461fec6558f8cdedbc1f3b71eed218d..e722688f2de48b8740282f3f956e2074
import java.util.logging.Level; import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log; import static net.pl3x.purpur.PurpurConfig.log;
@@ -242,6 +244,28 @@ public class PurpurWorldConfig { @@ -243,6 +245,28 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
} }

View File

@@ -17,19 +17,21 @@ index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e722688f2de48b8740282f3f956e207461f387f4..09f4e2f2ccd1c7f0942c405b4c2be76efb36abc4 100644 index ea0e9c3ff13888899952b4bb8c04d20ebd5de542..e42de65078ee46de2122200bb662d4366443b4a2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -509,11 +509,13 @@ public class PurpurWorldConfig { @@ -539,6 +539,7 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F; public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
+ public boolean dolphinDisableTreasureSearching = false; + public boolean dolphinDisableTreasureSearching = false;
private void dolphinSettings() { private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
dolphinSpitSpeed = (float) getDouble("mobs.dolphin.spit.speed", dolphinSpitSpeed); @@ -550,6 +551,7 @@ public class PurpurWorldConfig {
dolphinSpitDamage = (float) getDouble("mobs.dolphin.spit.damage", dolphinSpitDamage); set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
+ dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); + dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ce2fe8ac56b3471bbd6a0e2a4b7680b420f3a1c8..1082741d837606cc9b9975a2dbea852f8f87db5e 100644 index dc847857b7024572d6f6f669820e7d1476d2e866..3bf97664158760355263f4b3dcd48b9388d44231 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3630,11 +3630,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -3630,11 +3630,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -60,16 +60,20 @@ index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 09f4e2f2ccd1c7f0942c405b4c2be76efb36abc4..a45397e9bc2f3c8fc583b0d2b5edda843928cfa5 100644 index e42de65078ee46de2122200bb662d4366443b4a2..73955b07947852ddd2aa8bad6642cea19dc7f6c5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -915,9 +915,11 @@ public class PurpurWorldConfig { @@ -1299,6 +1299,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false; public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
+ public double squidOffsetWaterCheck = 0.0D; + public double squidOffsetWaterCheck = 0.0D;
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1308,6 +1309,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
+ squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); + squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1082741d837606cc9b9975a2dbea852f8f87db5e..08a5ff1d59b2f4675fd2ddc2e2056333a6531b3d 100644 index 3bf97664158760355263f4b3dcd48b9388d44231..70d436a272d03d1f2eb754a83f1ea7e81d97ff3b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2507,7 +2507,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -2507,7 +2507,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -27,10 +27,10 @@ index 1082741d837606cc9b9975a2dbea852f8f87db5e..08a5ff1d59b2f4675fd2ddc2e2056333
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a45397e9bc2f3c8fc583b0d2b5edda843928cfa5..c05ea02cabb47d70a1eb414a36467b712d0c955a 100644 index 73955b07947852ddd2aa8bad6642cea19dc7f6c5..02a249afc39239327c1bd99f40d73d6cc616644a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -81,6 +81,7 @@ public class PurpurWorldConfig { @@ -82,6 +82,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -38,7 +38,7 @@ index a45397e9bc2f3c8fc583b0d2b5edda843928cfa5..c05ea02cabb47d70a1eb414a36467b71
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
@@ -90,6 +91,7 @@ public class PurpurWorldConfig { @@ -91,6 +92,7 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing); entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);

View File

@@ -6,31 +6,22 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 0b1f6fad51a985ebe4ccebde12a1db9e12a57bc0..a91480bfecd17ef45e3380c726a42cd7534f07ae 100644 index 96631591db018545120ba1c9980a03eb596eb6e5..b447c1c4d7d3133e953d8f70e6720ddfba4f7553 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -196,6 +196,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -197,6 +197,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull); level.addFreshEntity(skull);
} }
+
+ @Override + @Override
+ public void initAttributes() { + public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level.purpurConfig.witherMaxHealth); + this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(level.purpurConfig.witherMaxHealth);
+ } + }
// Purpur end +
@Override @Override
@@ -401,7 +406,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.witherMaxHealth);
this.setInvulnerableTicks(i); @@ -499,8 +504,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.tickCount % 10 == 0) {
- this.heal(10.0F, EntityRegainHealthEvent.RegainReason.WITHER_SPAWN); // CraftBukkit
+ this.heal(this.getMaxHealth() / 33, EntityRegainHealthEvent.RegainReason.WITHER_SPAWN); // CraftBukkit // Purpur - use max health for healing instead of a constant
}
} else {
@@ -494,8 +499,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -44,28 +35,24 @@ index 0b1f6fad51a985ebe4ccebde12a1db9e12a57bc0..a91480bfecd17ef45e3380c726a42cd7
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c05ea02cabb47d70a1eb414a36467b712d0c955a..e9c15e0f6b405b81cb26d07d7b12a3be4e2b8e58 100644 index 02a249afc39239327c1bd99f40d73d6cc616644a..a956362ed2b724a50c8f7023799bd3314b287020 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1037,10 +1037,21 @@ public class PurpurWorldConfig { @@ -1517,6 +1517,8 @@ public class PurpurWorldConfig {
public boolean witherRidable = false;
public boolean witherRidableInWater = false; public boolean witherRidableInWater = false;
public double witherMaxY = 256D; public double witherMaxY = 256D;
public double witherMaxHealth = 300.0D;
+ public float witherHealthRegenAmount = 1.0f; + public float witherHealthRegenAmount = 1.0f;
+ public int witherHealthRegenDelay = 20; + public int witherHealthRegenDelay = 20;
+ public double witherMaxHealth = 300.0D;
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
witherMaxY = getDouble("mobs.wither.ridable-max-y", witherMaxY); @@ -1531,6 +1533,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
+ witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); + witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
+ witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); + witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
+ if (PurpurConfig.version < 8) {
+ double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
+ set("mobs.wither.attributes.max-health", oldValue);
+ set("mobs.wither.max-health", null);
+ }
+ witherMaxHealth = getDouble("mobs.wither.attributes.max-health", witherMaxHealth);
} }
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index bc902d0c0179cab438825746fddb4a0f7f4617bc..05c2507785b864a07510c0e190649e31eed4849a 100644 index 34be3abec773b4b2bcd9b3faca33d2c72ef4d895..dc968864cef387d362b116a9e733859b7460f967 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory; @@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory;
@@ -94,7 +94,7 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2; blockposition1 = blockposition2;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 8addc010586c9c922a65d2985099d8bccb010291..5d7abdf7169ec5a93642d6e260be2a2d80626b24 100644 index 1f9129180badb6df786b080edf926d04ef95125c..917a671894e16e024db941cea1845e39eaf93ef8 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -200,7 +200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -200,7 +200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -107,19 +107,19 @@ index 8addc010586c9c922a65d2985099d8bccb010291..5d7abdf7169ec5a93642d6e260be2a2d
this.world = new CraftWorld((ServerLevel) this, gen, env); this.world = new CraftWorld((ServerLevel) this, gen, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e9c15e0f6b405b81cb26d07d7b12a3be4e2b8e58..08db21be69e17576a39302ea3a22ce24f1083bc9 100644 index a956362ed2b724a50c8f7023799bd3314b287020..bba3f5f0d2802d706b8b8ac17ae194157870bbf6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -7,6 +7,8 @@ import net.minecraft.world.item.Items; @@ -8,6 +8,8 @@ import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
+import org.apache.commons.lang.BooleanUtils; +import org.apache.commons.lang.BooleanUtils;
+import org.bukkit.World; +import org.bukkit.World;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import java.util.ArrayList; import java.util.ArrayList;
@@ -15,6 +17,7 @@ import java.util.HashSet; @@ -16,6 +18,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -127,7 +127,7 @@ index e9c15e0f6b405b81cb26d07d7b12a3be4e2b8e58..08db21be69e17576a39302ea3a22ce24
import java.util.logging.Level; import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log; import static net.pl3x.purpur.PurpurConfig.log;
@@ -22,9 +25,11 @@ import static net.pl3x.purpur.PurpurConfig.log; @@ -23,9 +26,11 @@ import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig { public class PurpurWorldConfig {
private final String worldName; private final String worldName;
@@ -140,7 +140,7 @@ index e9c15e0f6b405b81cb26d07d7b12a3be4e2b8e58..08db21be69e17576a39302ea3a22ce24
init(); init();
} }
@@ -52,6 +57,12 @@ public class PurpurWorldConfig { @@ -53,6 +58,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path)); return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
} }
@@ -153,7 +153,7 @@ index e9c15e0f6b405b81cb26d07d7b12a3be4e2b8e58..08db21be69e17576a39302ea3a22ce24
private double getDouble(String path, double def) { private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def); PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path)); return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -98,6 +109,21 @@ public class PurpurWorldConfig { @@ -99,6 +110,21 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }

View File

@@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea
if (!this.raidMap.containsKey(raid.getId())) { if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid); this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 08db21be69e17576a39302ea3a22ce24f1083bc9..9bb7825a8bd0dbc3d6436e7fbd7c629194942e2d 100644 index bba3f5f0d2802d706b8b8ac17ae194157870bbf6..3f9602e6820e8a8e17e8e7e292a5b95b20eea697 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -97,6 +97,7 @@ public class PurpurWorldConfig { @@ -98,6 +98,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
@@ -63,7 +63,7 @@ index 08db21be69e17576a39302ea3a22ce24f1083bc9..9bb7825a8bd0dbc3d6436e7fbd7c6291
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -107,6 +108,7 @@ public class PurpurWorldConfig { @@ -108,6 +109,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -63,7 +63,7 @@ index 6afe37e42d88701af38df5793a9ea9d7d2cda5c5..1de27407c92d496715899fcafb3794df
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
index 5bfebe072ec722e7d6f3161d5d6cc709a9b80032..e3272f5acfff79e707b006da9c2564a9d68e9318 100644 index 3ac0d0419cbdacabf647a530a82ddf67ddaa13b7..78111e7c26f5237e9954791cf17037eb6fd111b2 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java --- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -355,4 +355,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier { @@ -355,4 +355,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
@@ -271,10 +271,10 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9bb7825a8bd0dbc3d6436e7fbd7c629194942e2d..0e7feab95a618423b639a73803faa1f6794ca2d6 100644 index 3f9602e6820e8a8e17e8e7e292a5b95b20eea697..2d46a4f3a806764155f2e819e103491abd9a3fdf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -88,6 +88,35 @@ public class PurpurWorldConfig { @@ -89,6 +89,35 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }

View File

@@ -71,10 +71,10 @@ index 77002a4c3b03e0397515fd922f14e56b8e81074a..b80f7c71cbf7b10bda6fac3cfe673ac7
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0e7feab95a618423b639a73803faa1f6794ca2d6..d84566b245eb29651c7c8ac9ef0e039ef8b614b5 100644 index 2d46a4f3a806764155f2e819e103491abd9a3fdf..a55906d57840a471078a411f706b0f353462b03f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1139,12 +1139,14 @@ public class PurpurWorldConfig { @@ -1645,6 +1645,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
@@ -82,6 +82,7 @@ index 0e7feab95a618423b639a73803faa1f6794ca2d6..d84566b245eb29651c7c8ac9ef0e039e
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1658,6 +1659,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);