it compiles :O \o/

This commit is contained in:
William Blake Galbreath
2021-06-21 19:28:10 -05:00
parent f24181b4e7
commit ed600525fa
70 changed files with 420 additions and 238 deletions

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
index e1f871812e563605e31837159f129d69e05b868f..91262be391b9bf7067bdf257fc385f0b70747182 100644 index e1f871812e563605e31837159f129d69e05b868f..48c98de78eda6d5414c17ddb776a13e0bf0275b8 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java --- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
@@ -199,6 +199,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -199,6 +199,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
// Purpur start // Purpur start
GoalKey<Mob> MOB_HAS_RIDER = GoalKey.of(Mob.class, NamespacedKey.minecraft("has_rider")); GoalKey<Mob> MOB_HAS_RIDER = GoalKey.of(Mob.class, NamespacedKey.minecraft("has_rider"));
GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider")); GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider"));
+ GoalKey<Phantom> FIND_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal_goal")); + GoalKey<Phantom> FIND_CRYSTAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal"));
+ GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal")); + GoalKey<Phantom> ORBIT_CRYSTAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal"));
// Purpur end // Purpur end
/** /**

View File

@@ -6,13 +6,13 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
index 91262be391b9bf7067bdf257fc385f0b70747182..569ffabc5c092217cd7ff69e8089654624bb9045 100644 index 48c98de78eda6d5414c17ddb776a13e0bf0275b8..a732d78fe75e4d837b2a04d1fdeb1d07fe820a8e 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java --- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
@@ -201,6 +201,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -201,6 +201,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider")); GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider"));
GoalKey<Phantom> FIND_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal_goal")); GoalKey<Phantom> FIND_CRYSTAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal"));
GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal")); GoalKey<Phantom> ORBIT_CRYSTAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal"));
+ GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager")); + GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager"));
+ GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager")); + GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager"));
// Purpur end // Purpur end

View File

@@ -5,14 +5,14 @@ Subject: [PATCH] Rabid Wolf API
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
index 569ffabc5c092217cd7ff69e8089654624bb9045..e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8 100644 index a732d78fe75e4d837b2a04d1fdeb1d07fe820a8e..5e99bdbbb81d7ea366838c2f688417f11e607210 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java --- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
@@ -203,6 +203,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -203,6 +203,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal")); GoalKey<Phantom> ORBIT_CRYSTAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal"));
GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager")); GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager"));
GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager")); GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager"));
+ GoalKey<Wolf> AVOID_RABID_WOLVES = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolves")); + GoalKey<Wolf> AVOID_RABID_WOLF = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolf"));
// Purpur end // Purpur end
/** /**

View File

@@ -5,13 +5,13 @@ Subject: [PATCH] Iron golem poppy calms anger
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
index e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8..1c691750265a31f05e877d5f62c29f01117930b9 100644 index 5e99bdbbb81d7ea366838c2f688417f11e607210..7921f2766f16fbd49e2afd0bba0ef30f6eefd0ce 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java --- a/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java +++ b/src/main/java/com/destroystokyo/paper/entity/ai/VanillaGoal.java
@@ -204,6 +204,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -204,6 +204,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager")); GoalKey<Drowned> DROWNED_ATTACK_VILLAGER = GoalKey.of(Drowned.class, NamespacedKey.minecraft("drowned_attack_villager"));
GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager")); GoalKey<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager"));
GoalKey<Wolf> AVOID_RABID_WOLVES = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolves")); GoalKey<Wolf> AVOID_RABID_WOLF = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolf"));
+ GoalKey<IronGolem> RECEIVE_FLOWER = GoalKey.of(IronGolem.class, NamespacedKey.minecraft("receive_flower")); + GoalKey<IronGolem> RECEIVE_FLOWER = GoalKey.of(IronGolem.class, NamespacedKey.minecraft("receive_flower"));
// Purpur end // Purpur end

View File

@@ -4,6 +4,25 @@ Date: Thu, 10 Dec 2020 16:44:54 -0600
Subject: [PATCH] Configurable entity base attributes Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4ed4ca8e623784f12e2c7850e1c055f30a16e5ec..6a9335366ef8a8b7f4506b67d85f7938e08696b3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -334,6 +334,14 @@ public class ServerPlayer extends Player {
this.maxHealthCache = this.getMaxHealth();
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
}
+
+ // Purpur start
+ @Override
+ public void initAttributes() {
+ // none to initialize
+ }
+ // Purpur end
+
// Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) {
double rads = Math.toRadians(net.minecraft.server.MCUtil.normalizeYaw(this.yRot + 90)); // MC rotates yaw 90 for some odd reason
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index 8f8bc29d847801938e251904b8334b4b31bd21c5..87d01bebbb179eec53323e9e23db011a791660ed 100644 index 8f8bc29d847801938e251904b8334b4b31bd21c5..87d01bebbb179eec53323e9e23db011a791660ed 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -746,6 +765,24 @@ index 68c5609845617bf5aeb82ea4e3a88bdccb8273cc..96631591db018545120ba1c9980a03eb
} }
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..585d5fa1604d137b0d426abccec51a6f47c73ac1 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -119,6 +119,13 @@ public class ArmorStand extends LivingEntity {
this.setPos(x, y, z);
}
+ // Purpur start
+ @Override
+ public void initAttributes() {
+ // none to initialize
+ }
+ // Purpur end
+
// CraftBukkit start - SPIGOT-3607, SPIGOT-3637
@Override
public float getBukkitYaw() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Blaze.java b/src/main/java/net/minecraft/world/entity/monster/Blaze.java
index a5294012d432d5d1fce570a1eb1b1716a24522de..83f9a1139a501135a89a758993c7ff209b5b92d5 100644 index a5294012d432d5d1fce570a1eb1b1716a24522de..83f9a1139a501135a89a758993c7ff209b5b92d5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java --- a/src/main/java/net/minecraft/world/entity/monster/Blaze.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 952b6103fd417251e8a030bb574f79e69cfbbe10..01218ca19f0fd2a6cf8194d4507e40c5bc785b7c 100644 index 6a9335366ef8a8b7f4506b67d85f7938e08696b3..392ea7fe0b522cece303168194c714fb30906fe1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1915,8 +1915,58 @@ public class ServerPlayer extends Player { @@ -1923,8 +1923,58 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() { public void resetLastActionTime() {
this.lastActionTime = Util.getMillis(); this.lastActionTime = Util.getMillis();
@@ -68,7 +68,7 @@ index 952b6103fd417251e8a030bb574f79e69cfbbe10..01218ca19f0fd2a6cf8194d4507e40c5
return this.stats; return this.stats;
} }
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 b98263dc5dcba1a5a8518c2f0acd2c9d3a8b6087..f29f05ab4bace2a6db23ef6b9d4c9db285a082e0 100644 index 359f8a37e625af463f898f72b8c30ff41f84c672..4473e5123568a35dd59b769a529f5670cf9bdc4a 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
@@ -391,6 +391,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -391,6 +391,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -146,7 +146,7 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4
private EntitySelector() {} private EntitySelector() {}
// Paper start // Paper start
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index c458710a2af40848d617149d97f51e7ae1165637..721767812c765ac70c66f5445950c39167f344de 100644 index deaf12324f740b5523179adfd5b9a437d263cb28..ff5ce25e4207ce6d87a553c340d79c14c5750c25 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity { @@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78..609afae1bfdbeb82fb48bdbb0200427a67f1cd2a 100644 index 392ea7fe0b522cece303168194c714fb30906fe1..2818671f0fb3aa1588655f5f314eebdbd60bfac1 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -333,6 +333,7 @@ public class ServerPlayer extends Player { @@ -333,6 +333,7 @@ public class ServerPlayer extends Player {
@@ -14,9 +14,9 @@ index 65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78..609afae1bfdbeb82fb48bdbb0200427a
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur + this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
} }
// Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) { // Purpur start
@@ -974,6 +975,12 @@ public class ServerPlayer extends Player { @@ -982,6 +983,12 @@ public class ServerPlayer extends Player {
} }
@@ -29,7 +29,7 @@ index 65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78..609afae1bfdbeb82fb48bdbb0200427a
@Override @Override
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
@@ -981,7 +988,7 @@ public class ServerPlayer extends Player { @@ -989,7 +996,7 @@ public class ServerPlayer extends Player {
} else { } else {
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
@@ -38,7 +38,7 @@ index 65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78..609afae1bfdbeb82fb48bdbb0200427a
return false; return false;
} else { } else {
if (source instanceof EntityDamageSource) { if (source instanceof EntityDamageSource) {
@@ -1156,6 +1163,7 @@ public class ServerPlayer extends Player { @@ -1164,6 +1171,7 @@ public class ServerPlayer extends Player {
} }
// Paper end // Paper end
@@ -46,26 +46,27 @@ index 65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78..609afae1bfdbeb82fb48bdbb0200427a
return this; return this;
} }
} }
@@ -2378,8 +2386,16 @@ public class ServerPlayer extends Player { @@ -2386,9 +2394,17 @@ public class ServerPlayer extends Player {
@Override @Override
public boolean isImmobile() { public boolean isImmobile() {
- return super.isImmobile() || (this.connection != null && this.connection.isDisconnected()); // Paper - return super.isImmobile() || (this.connection != null && this.connection.isDisconnected()); // Paper
+ return super.isImmobile() || frozen || (this.connection != null && this.connection.isDisconnected()); // Paper // Purpur + return super.isImmobile() || frozen || (this.connection != null && this.connection.isDisconnected()); // Paper // Purpur
+ } }
+
+ // Purpur start + // Purpur start
+ private boolean frozen = false; + private boolean frozen = false;
+ +
+ public void setFrozen(boolean frozen) { + public void setFrozen(boolean frozen) {
+ this.frozen = frozen; + this.frozen = frozen;
} + }
+ // Purpur end + // Purpur end
+
@Override @Override
public Scoreboard getScoreboard() { public Scoreboard getScoreboard() {
return this.getBukkitEntity().getScoreboard().getHandle();
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 a3bea3b4b8094daac108644d97d2e8a1cc027607..3dcaaeab3ba3b4f74fd454c548461263767ce1c4 100644 index 4473e5123568a35dd59b769a529f5670cf9bdc4a..4659247703679bd3c860ea5d685ae985daf799ce 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
@@ -1860,6 +1860,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -1860,6 +1860,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 56d3ed1cdafd7904c35be5db568b9975a97418a7..2db80c986e1dbd4aa9be288cc802f650169dc11a 100644 index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae31bb5f95 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -2,8 +2,12 @@ package net.minecraft.world.inventory; @@ -2,8 +2,12 @@ package net.minecraft.world.inventory;
@@ -83,7 +83,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..2db80c986e1dbd4aa9be288cc802f650
+ // Purpur start + // Purpur start
+ if (bypassCost && cost.get() >= maximumRepairCost) { + if (bypassCost && cost.get() >= maximumRepairCost) {
+ itemstack.getOrCreateTagAndSet("Purpur.realCost", IntTag.valueOf(cost.get())); + itemstack.addTagElement("Purpur.realCost", IntTag.valueOf(cost.get()));
+ cost.set(maximumRepairCost - 1); + cost.set(maximumRepairCost - 1);
+ } + }
+ // Purpur end + // Purpur end

View File

@@ -30,7 +30,7 @@ index bd52d7d19060b0922c5165a071a5d12123028f79..6322251336a4300649f207efdb4d404d
public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS); public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS);
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS); public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS);
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05c103a13f 100644 index b1e04d41de80971a7a1616beb0860226ecc25045..a42375b6789bb0a386103ad826879032f30ed44b 100644
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java --- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
@@ -2,8 +2,16 @@ package net.minecraft.world.level.block; @@ -2,8 +2,16 @@ package net.minecraft.world.level.block;
@@ -91,7 +91,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
+ String name = level.purpurConfig.silkTouchSpawnerName; + String name = level.purpurConfig.silkTouchSpawnerName;
+ if (name != null && !name.isEmpty() && !name.equals("Spawner")) { + if (name != null && !name.isEmpty() && !name.equals("Spawner")) {
+ final Component displayName = PaperAdventure.LEGACY_AMPERSAND.deserialize(name).replaceText(config).decoration(ITALIC, false); + final Component displayName = PaperAdventure.LEGACY_AMPERSAND.deserialize(name).replaceText(config).decoration(ITALIC, false);
+ display.put("Name", StringTag.create(GsonComponentSerializer.gson().serialize(displayName))); + display.put("Name", StringTag.valueOf(GsonComponentSerializer.gson().serialize(displayName)));
+ customDisplay = true; + customDisplay = true;
+ } + }
+ +
@@ -100,7 +100,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
+ ListTag list = new ListTag(); + ListTag list = new ListTag();
+ for (String line : lore) { + for (String line : lore) {
+ final Component lineComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(line).replaceText(config).decoration(ITALIC, false); + final Component lineComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(line).replaceText(config).decoration(ITALIC, false);
+ list.add(StringTag.create(GsonComponentSerializer.gson().serialize(lineComponent))); + list.add(StringTag.valueOf(GsonComponentSerializer.gson().serialize(lineComponent)));
+ } + }
+ display.put("Lore", list); + display.put("Lore", list);
+ customDisplay = true; + customDisplay = true;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298c80cb733 100644 index 585d5fa1604d137b0d426abccec51a6f47c73ac1..2d934d5994c84f5b8b61d524527a685cd66de444 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -669,6 +669,7 @@ public class ArmorStand extends LivingEntity { @@ -676,6 +676,7 @@ public class ArmorStand extends LivingEntity {
@Override @Override
public void tick() { public void tick() {
@@ -17,7 +17,7 @@ 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 df0631f55f74fed00a6dc3e942d37613fc34c067..853cf252723820bc7578c876e9cb79c9adc38918 100644 index b4c09f8a37efd66a2d79373923c774b798fa6e35..eb318f03866927fb4e81bdb814d7c0931a6960cb 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
@@ -66,6 +66,11 @@ public class PurpurWorldConfig { @@ -66,6 +66,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 609afae1bfdbeb82fb48bdbb0200427a67f1cd2a..ce9a348796a8c262e144c09d753cda2e28998fbf 100644 index 2818671f0fb3aa1588655f5f314eebdbd60bfac1..3ee686948bfc3089ff81e2e669ce425f50493b76 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1459,6 +1459,7 @@ public class ServerPlayer extends Player { @@ -1467,6 +1467,7 @@ public class ServerPlayer extends Player {
@Override @Override
public void openTextEdit(SignBlockEntity sign) { public void openTextEdit(SignBlockEntity sign) {
@@ -17,7 +17,7 @@ index 609afae1bfdbeb82fb48bdbb0200427a67f1cd2a..ce9a348796a8c262e144c09d753cda2e
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f3393ada26ab9ad15ab219155100c9fa10821366..7c5af939e8c775b4a97a8247687df670e3702150 100644 index 143fb89c6207c8c44ad8eb3da8129f825b73c624..461e80185d25529c367ede7df571fbff172f0384 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
@@ -3001,9 +3001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -3001,9 +3001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index fc4d66897fe0720d8dfbe7ac289ec9e1fe71d655..9282dab04e45075d34dd944436bc2fb5b286b0a4 100644 index 3ee686948bfc3089ff81e2e669ce425f50493b76..b0d1b03b9adda91aa96f24e3827c32fc8e65f0a8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -986,6 +986,7 @@ public class ServerPlayer extends Player { @@ -994,6 +994,7 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -148,7 +148,7 @@ 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 624de1ba34417234244e7ba5d7bd248fdd19c095..86892775f8aeaac1e6ffdcb4dad4c3e5016fc91c 100644 index 267f2efb10fb1603631efbb0b675a1525492f5aa..340546a3478337081978c7394ec92769926b36e6 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,8 @@ import net.minecraft.core.Registry; @@ -4,6 +4,8 @@ import net.minecraft.core.Registry;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9282dab04e45075d34dd944436bc2fb5b286b0a4..5163ec0437e3d94ba0cff030588b1c07c04aca16 100644 index b0d1b03b9adda91aa96f24e3827c32fc8e65f0a8..b189de03050e50c0533d2c454ad89175aef264b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1436,7 +1436,7 @@ public class ServerPlayer extends Player { @@ -1444,7 +1444,7 @@ public class ServerPlayer extends Player {
@Override @Override
public boolean isInvulnerableTo(DamageSource damageSource) { public boolean isInvulnerableTo(DamageSource damageSource) {

View File

@@ -31,7 +31,7 @@ index 1b649cb81712bd145cbbb033bcdef6f1345f843b..b2c7711dfb6d50528dc843d8ac6fbe3e
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) { public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers; this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19ead4d5a6 100644 index 158719d46c96bb733a00e08c8285f41a48406abf..5201e59c7ce9e92790c185279ba69d7fbbfccf90 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -53,6 +53,12 @@ public class ItemEntity extends Entity { @@ -53,6 +53,12 @@ public class ItemEntity extends Entity {
@@ -47,7 +47,7 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) { public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
super(type, world); super(type, world);
@@ -322,6 +328,15 @@ public class ItemEntity extends Entity { @@ -322,6 +328,16 @@ public class ItemEntity extends Entity {
return false; return false;
} else if (!this.getItem().getItem().canBeHurtBy(source)) { } else if (!this.getItem().getItem().canBeHurtBy(source)) {
return false; return false;
@@ -60,10 +60,11 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
+ ) { + ) {
+ respawnOnClient(); + respawnOnClient();
+ return false; + return false;
+ // Purpur end
} else { } else {
// CraftBukkit start // CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, source, amount)) { if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, source, amount)) {
@@ -504,6 +519,12 @@ public class ItemEntity extends Entity { @@ -504,6 +520,12 @@ public class ItemEntity extends Entity {
com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit
this.getEntityData().set(ItemEntity.DATA_ITEM, stack); this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
@@ -76,7 +77,7 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
} }
@Override @Override
@@ -594,4 +615,15 @@ public class ItemEntity extends Entity { @@ -594,4 +616,15 @@ public class ItemEntity extends Entity {
public SoundSource getSoundSource() { public SoundSource getSoundSource() {
return SoundSource.AMBIENT; return SoundSource.AMBIENT;
} }
@@ -146,3 +147,54 @@ index a4935e0192ee0d117521f8aee441effae4a25e4a..d23ad60007ae246c66d9dc9d6cf180cc
public double minecartMaxSpeed = 0.4D; public double minecartMaxSpeed = 0.4D;
public boolean minecartPlaceAnywhere = false; public boolean minecartPlaceAnywhere = false;
public boolean minecartControllable = false; public boolean minecartControllable = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 342345eb04d00efb58392ccf209e3c51c1064173..5f5c37fb447a4c1790714158f4b41f15793002d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -116,4 +116,46 @@ public class CraftItem extends CraftEntity implements Item {
public EntityType getType() {
return EntityType.DROPPED_ITEM;
}
+
+ // Purpur start
+ @Override
+ public void setImmuneToCactus(boolean immuneToCactus) {
+ item.immuneToCactus = immuneToCactus;
+ }
+
+ @Override
+ public boolean isImmuneToCactus() {
+ return item.immuneToCactus;
+ }
+
+ @Override
+ public void setImmuneToExplosion(boolean immuneToExplosion) {
+ item.immuneToExplosion = immuneToExplosion;
+ }
+
+ @Override
+ public boolean isImmuneToExplosion() {
+ return item.immuneToExplosion;
+ }
+
+ @Override
+ public void setImmuneToFire(boolean immuneToFire) {
+ item.immuneToFire = immuneToFire;
+ }
+
+ @Override
+ public boolean isImmuneToFire() {
+ return item.immuneToFire;
+ }
+
+ @Override
+ public void setImmuneToLightning(boolean immuneToLightning) {
+ item.immuneToLightning = immuneToLightning;
+ }
+
+ @Override
+ public boolean isImmuneToLightning() {
+ return item.immuneToLightning;
+ }
+ // Purpur end
}

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 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6a7ca0f8e 100644 index 359f5d01d144121e0ea129aebc45b3e796c16bf7..ddd48367c37d3ca3472fc9a8730f71f2e96743c2 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 {
@@ -149,7 +149,7 @@ index 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6
+ } + }
+ +
+ @Override + @Override
+ public boolean shouldActivate() { + public boolean canUse() {
+ double range = maxTargetRange(); + double range = maxTargetRange();
+ List<net.minecraft.world.entity.boss.enderdragon.EndCrystal> crystals = level.getEntitiesOfClass(net.minecraft.world.entity.boss.enderdragon.EndCrystal.class, phantom.getBoundingBox().inflate(range)); + List<net.minecraft.world.entity.boss.enderdragon.EndCrystal> crystals = level.getEntitiesOfClass(net.minecraft.world.entity.boss.enderdragon.EndCrystal.class, phantom.getBoundingBox().inflate(range));
+ if (crystals.isEmpty()) { + if (crystals.isEmpty()) {
@@ -165,7 +165,7 @@ index 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6
+ } + }
+ +
+ @Override + @Override
+ public boolean shouldStayActive() { + public boolean canContinueToUse() {
+ if (crystal == null || !crystal.isAlive()) { + if (crystal == null || !crystal.isAlive()) {
+ return false; + return false;
+ } + }
@@ -203,7 +203,7 @@ index 359f5d01d144121e0ea129aebc45b3e796c16bf7..fcb383cea17217b6ee26fcd8b59e5ce6
+ } + }
+ +
+ @Override + @Override
+ public boolean shouldActivate() { + public boolean canUse() {
+ return phantom.isCirclingCrystal(); + return phantom.isCirclingCrystal();
+ } + }
+ +

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6f854aa8dfc60ebb580a257c8d6dce93c573af15..8c46b88bb8bfdea6410ad870da92bef084a0089e 100644 index b189de03050e50c0533d2c454ad89175aef264b8..294a6724210509e990c6fffa4ac7c3835881db2e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2445,5 +2445,25 @@ public class ServerPlayer extends Player { @@ -2453,5 +2453,25 @@ public class ServerPlayer extends Player {
} }
// CraftBukkit end // CraftBukkit end

View File

@@ -5,29 +5,31 @@ Subject: [PATCH] Configurable dungeon seed
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..b09611f7c5177d3f5b22ffcaa9a65480afa819c3 100644 index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..612bc6e4a759df96bade4c322aad0b3e8753e0ee 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java --- a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java +++ b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
@@ -25,6 +25,7 @@ public class MonsterRoomFeature extends Feature<NoneFeatureConfiguration> { @@ -25,6 +25,7 @@ public class MonsterRoomFeature extends Feature<NoneFeatureConfiguration> {
private static final Logger LOGGER = LogManager.getLogger(); private static final Logger LOGGER = LogManager.getLogger();
private static final EntityType<?>[] MOBS = new EntityType[]{EntityType.SKELETON, EntityType.ZOMBIE, EntityType.ZOMBIE, EntityType.SPIDER}; private static final EntityType<?>[] MOBS = new EntityType[]{EntityType.SKELETON, EntityType.ZOMBIE, EntityType.ZOMBIE, EntityType.SPIDER};
private static final BlockState AIR = Blocks.CAVE_AIR.defaultBlockState(); private static final BlockState AIR = Blocks.CAVE_AIR.defaultBlockState();
+ private Random random; // Purpur + private Random rnd; // Purpur
public MonsterRoomFeature(Codec<NoneFeatureConfiguration> configCodec) { public MonsterRoomFeature(Codec<NoneFeatureConfiguration> configCodec) {
super(configCodec); super(configCodec);
@@ -32,9 +33,13 @@ public class MonsterRoomFeature extends Feature<NoneFeatureConfiguration> { @@ -32,9 +33,15 @@ public class MonsterRoomFeature extends Feature<NoneFeatureConfiguration> {
@Override @Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) { public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
+ // Purpur start + // Purpur start
+ if (random == null) { + if (this.rnd == null) {
+ int seed = net.pl3x.purpur.PurpurConfig.dungeonSeed; + int seed = net.pl3x.purpur.PurpurConfig.dungeonSeed;
+ this.random = seed == -1 ? random : new Random(seed); + this.rnd = seed == -1 ? context.random() : new Random(seed);
+ } + }
+ // Purpur end
Predicate<BlockState> predicate = Feature.isReplaceable(BlockTags.FEATURES_CANNOT_REPLACE.getName()); Predicate<BlockState> predicate = Feature.isReplaceable(BlockTags.FEATURES_CANNOT_REPLACE.getName());
BlockPos blockPos = context.origin(); BlockPos blockPos = context.origin();
- Random random = context.random(); - Random random = context.random();
+ Random random = this.rnd; // Purpur
WorldGenLevel worldGenLevel = context.level(); WorldGenLevel worldGenLevel = context.level();
int i = 3; int i = 3;
int j = random.nextInt(2) + 2; int j = random.nextInt(2) + 2;

View File

@@ -158,6 +158,24 @@ index 07853aff3d42ce50799406ee1c14389b5f715b51..9a5da1eec68c7c435406809fda9695cb
public void setOwner(@Nullable Entity entity) { public void setOwner(@Nullable Entity entity) {
if (entity != null) { if (entity != null) {
this.ownerUUID = entity.getUUID(); this.ownerUUID = entity.getUUID();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
index 123f9a93b014107c8f609d38a2b8d37261bb5d18..aa91cc06f6411fe83467e43c0df1145cb85aead0 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
@@ -63,6 +63,13 @@ public class ShulkerBullet extends Projectile {
projectileSource = (org.bukkit.entity.LivingEntity) owner.getBukkitEntity(); // CraftBukkit
}
+ // Purpur start
+ @Override
+ protected int getPurpurDespawnRate() {
+ return this.level.purpurConfig.shulkerBulletDespawnRate;
+ }
+ // Purpur end
+
// CraftBukkit start
public Entity getTarget() {
return this.finalTarget;
diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
index b77d04ef22711a4f90e274e81faa261f3f6c25af..a6d75f20d6b7679d53c3c081c6632e9c303e2d74 100644 index b77d04ef22711a4f90e274e81faa261f3f6c25af..a6d75f20d6b7679d53c3c081c6632e9c303e2d74 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java --- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 7a3a364f5e3b025cc0a5694401cb9298c80cb733..796ab61f4513c02b0d55d34044d2f7084c447796 100644 index 2d934d5994c84f5b8b61d524527a685cd66de444..8a30031c8e96eaff27416adfe32e752efc246752 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -597,7 +597,13 @@ public class ArmorStand extends LivingEntity { @@ -604,7 +604,13 @@ public class ArmorStand extends LivingEntity {
} }
private void brokenByPlayer(DamageSource damageSource) { private void brokenByPlayer(DamageSource damageSource) {

View File

@@ -4,6 +4,21 @@ Date: Sun, 22 Nov 2020 06:02:32 -0600
Subject: [PATCH] Add twisting and weeping vines growth rates Subject: [PATCH] Add twisting and weeping vines growth rates
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index 4c4d059ca5c93ed37bc4473911d265fcec56c396..f63e79ff0df4b4f152f74e55134dc72932e6ae55 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
world.setBlock(pos, (BlockState) state.setValue(CaveVinesBlock.BERRIES, true), 2);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.caveVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644 index 3129c8db32fd79ab5917ffc93ee6dd5db58b1aad..9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -67,10 +82,22 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4
+ // 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 65de0a66e81ad3fdf0f85d233512dd7bb1a8a416..6168b3c2a8d700653f181f692e7011a611b2f82b 100644 index 65de0a66e81ad3fdf0f85d233512dd7bb1a8a416..d2fdd697e46260d878712ab20cce5fe4aa456bbc 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
@@ -457,6 +457,16 @@ public class PurpurWorldConfig { @@ -394,6 +394,11 @@ public class PurpurWorldConfig {
}
}
+ public double caveVinesGrowthModifier = 0.10D;
+ private void caveVinesSettings() {
+ caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier);
+ }
+
public boolean dispenserApplyCursedArmor = true;
public boolean dispenserPlaceAnvils = false;
private void dispenserSettings() {
@@ -457,6 +462,16 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
} }

View File

@@ -4,6 +4,20 @@ Date: Sun, 22 Nov 2020 20:13:27 -0600
Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index f63e79ff0df4b4f152f74e55134dc72932e6ae55..905ef84a959833c38898670126e0ac08da8d4ca2 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
return world.purpurConfig.caveVinesGrowthModifier;
}
+
+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.caveVinesMaxGrowthAge;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699fa58db29 100644 index 9f1d43ad720750f9d50cc3cfbe1fc9b335cffd0d..1c3284f8bf7923361797a73077af0699fa58db29 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java --- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -89,10 +103,21 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca
// 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 6168b3c2a8d700653f181f692e7011a611b2f82b..af5d052ad3f5948ed198091964006dc33de09d78 100644 index d2fdd697e46260d878712ab20cce5fe4aa456bbc..7a160dd754a666b676ff6b61408bffeea2088e15 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
@@ -424,6 +424,11 @@ public class PurpurWorldConfig { @@ -395,8 +395,10 @@ public class PurpurWorldConfig {
}
public double caveVinesGrowthModifier = 0.10D;
+ public int caveVinesMaxGrowthAge = 25;
private void caveVinesSettings() {
caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier);
+ caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
}
public boolean dispenserApplyCursedArmor = true;
@@ -429,6 +431,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }
@@ -104,7 +129,7 @@ index 6168b3c2a8d700653f181f692e7011a611b2f82b..af5d052ad3f5948ed198091964006dc3
public boolean respawnAnchorExplode = true; public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D; public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true; public boolean respawnAnchorExplosionFire = true;
@@ -458,13 +463,17 @@ public class PurpurWorldConfig { @@ -463,13 +470,17 @@ public class PurpurWorldConfig {
} }
public double twistingVinesGrowthModifier = 0.10D; public double twistingVinesGrowthModifier = 0.10D;

View File

@@ -21,10 +21,10 @@ index 5ebedd6a156b06e98aded57c817f63429a1ae380..c99d295b999a28dd1eb504179250445d
private static class EndermanFreezeWhenLookedAt extends Goal { private static class EndermanFreezeWhenLookedAt extends Goal {
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 af5d052ad3f5948ed198091964006dc33de09d78..35114bb65efc940dc44e93546152580bbc9be9e3 100644 index 7a160dd754a666b676ff6b61408bffeea2088e15..c73cd7de9213851825adc0a5e76107102dab2354 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
@@ -759,6 +759,7 @@ public class PurpurWorldConfig { @@ -766,6 +766,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false; public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index af5d052ad3f5948ed198091964006dc33de09d78..35114bb65efc940dc44e93546152580b
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);
@@ -769,6 +770,7 @@ public class PurpurWorldConfig { @@ -776,6 +777,7 @@ public class PurpurWorldConfig {
} }
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -44,7 +44,7 @@ index fe045f8e35fe2aac51032a67ce52b27a53a8eff0..03bc86c776596ca5964c22adb757115d
+ // 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 94302930c2009ca9c4750cb3315b5bcce59518da..aba5325f96a396be479445730558235529afdcec 100644 index c883d71390af33bee224b529807f640f94ba4c52..0957b411ee1cdbda067a76867e89bb202d0975da 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
@@ -2,6 +2,7 @@ package net.pl3x.purpur; @@ -2,6 +2,7 @@ package net.pl3x.purpur;
@@ -55,7 +55,7 @@ index 94302930c2009ca9c4750cb3315b5bcce59518da..aba5325f96a396be4794457305582355
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.Explosion; import net.minecraft.world.level.Explosion;
@@ -1746,6 +1747,7 @@ public class PurpurWorldConfig { @@ -1753,6 +1754,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -63,7 +63,7 @@ index 94302930c2009ca9c4750cb3315b5bcce59518da..aba5325f96a396be4794457305582355
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);
@@ -1760,6 +1762,11 @@ public class PurpurWorldConfig { @@ -1767,6 +1769,11 @@ public class PurpurWorldConfig {
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);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8c46b88bb8bfdea6410ad870da92bef084a0089e..820e1b059fedcc5fe4ccbec772594dddce71fecb 100644 index 294a6724210509e990c6fffa4ac7c3835881db2e..1d8172fbae5d002fe20af1e785077785cf8add97 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -986,7 +986,16 @@ public class ServerPlayer extends Player { @@ -994,7 +994,16 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -27,7 +27,7 @@ index 8c46b88bb8bfdea6410ad870da92bef084a0089e..820e1b059fedcc5fe4ccbec772594ddd
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // 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 5466cb48c7d71e6c369e17a354b877ff73091544..ec332b3ee149204a41eff5ea5f9690f5db0dbb3e 100644 index 380599964f148516afe5f6b80eff597bbf9e515f..11c95793c13b9bf8a38f96972f77ae8c05533611 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
@@ -334,6 +334,7 @@ public class PurpurWorldConfig { @@ -334,6 +334,7 @@ public class PurpurWorldConfig {

View File

@@ -23,10 +23,10 @@ index 0733f9c057fef17fd79a4769f19b78f4c83a7784..1697b573ffd0c5d17d2d538c40f5ce4b
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(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 ec332b3ee149204a41eff5ea5f9690f5db0dbb3e..3b68c30f3af6c4f459967d56267196d88f8191e1 100644 index 11c95793c13b9bf8a38f96972f77ae8c05533611..ae7644c7e75cd49977bed725292764128441c532 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
@@ -1441,6 +1441,10 @@ public class PurpurWorldConfig { @@ -1448,6 +1448,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D; public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true; public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false; public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index ec332b3ee149204a41eff5ea5f9690f5db0dbb3e..3b68c30f3af6c4f459967d56267196d8
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);
@@ -1453,6 +1457,10 @@ public class PurpurWorldConfig { @@ -1460,6 +1464,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); 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

@@ -53,10 +53,10 @@ index 1e05cc98a332e5b115c4670e5331e679117c6629..84142a42111ff03827297c522b7ce164
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false; this.assignProfessionWhenSpawned = 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 3b68c30f3af6c4f459967d56267196d88f8191e1..36cfbb5a729269b7a435c2d6c253665891de6ef9 100644 index ae7644c7e75cd49977bed725292764128441c532..f728775737554fe8fb9be4c5fe0a558742f5d358 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
@@ -1614,6 +1614,8 @@ public class PurpurWorldConfig { @@ -1621,6 +1621,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true; public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
@@ -65,7 +65,7 @@ index 3b68c30f3af6c4f459967d56267196d88f8191e1..36cfbb5a729269b7a435c2d6c2536658
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);
@@ -1631,6 +1633,13 @@ public class PurpurWorldConfig { @@ -1638,6 +1640,13 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -185,10 +185,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612
public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
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 36cfbb5a729269b7a435c2d6c253665891de6ef9..4590e1ee56e93befc0b5844c4d044e724c77e13e 100644 index f728775737554fe8fb9be4c5fe0a558742f5d358..ca743f116e47ce02b67713d6ac818436bd8b68c8 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
@@ -1616,6 +1616,8 @@ public class PurpurWorldConfig { @@ -1623,6 +1623,8 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000; public int villagerBreedingTicks = 6000;
public boolean villagerLobotomizeEnabled = false; public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheck = 60; public int villagerLobotomizeCheck = 60;
@@ -197,7 +197,7 @@ index 36cfbb5a729269b7a435c2d6c253665891de6ef9..4590e1ee56e93befc0b5844c4d044e72
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);
@@ -1640,6 +1642,8 @@ public class PurpurWorldConfig { @@ -1647,6 +1649,8 @@ public class PurpurWorldConfig {
} }
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);

View File

@@ -35,10 +35,10 @@ index 43ef93d2c0c59e0d7021ee9aa2b44345192cc0a9..ce780a2ba7dcbd9c1c9dc24c07387861
} }
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 4590e1ee56e93befc0b5844c4d044e724c77e13e..79916dd8f7605b3f8d5853518847622bda61dd2f 100644 index ca743f116e47ce02b67713d6ac818436bd8b68c8..984f10800309b45214ca4d0c79b65115492071a0 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
@@ -1850,6 +1850,7 @@ public class PurpurWorldConfig { @@ -1857,6 +1857,7 @@ public class PurpurWorldConfig {
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;
@@ -46,7 +46,7 @@ index 4590e1ee56e93befc0b5844c4d044e724c77e13e..79916dd8f7605b3f8d5853518847622b
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);
@@ -1863,5 +1864,6 @@ public class PurpurWorldConfig { @@ -1870,5 +1871,6 @@ public class PurpurWorldConfig {
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

@@ -201,10 +201,10 @@ index ef4abaf68de01b0879f7d0b330d2d57cc6bd10f9..3e7409ebf1f94b9cf55f2d0b0fe17ca8
return super.mobInteract(player, hand); return super.mobInteract(player, hand);
} }
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 79916dd8f7605b3f8d5853518847622bda61dd2f..cc8b9b1ed14efd6d5b2bb4f5da80ae85bf2aad0a 100644 index 984f10800309b45214ca4d0c79b65115492071a0..bd2d56dba2ab806517e2168372d063fc84177d40 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
@@ -1737,6 +1737,8 @@ public class PurpurWorldConfig { @@ -1744,6 +1744,8 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false; public boolean wolfRidable = false;
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -213,7 +213,7 @@ index 79916dd8f7605b3f8d5853518847622bda61dd2f..cc8b9b1ed14efd6d5b2bb4f5da80ae85
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
private void wolfSettings() { private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1747,6 +1749,8 @@ public class PurpurWorldConfig { @@ -1754,6 +1756,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -24,7 +24,7 @@ index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a
@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 cc8b9b1ed14efd6d5b2bb4f5da80ae85bf2aad0a..876a4a09700907d7bb79fc1f7686076e489e9303 100644 index bd2d56dba2ab806517e2168372d063fc84177d40..97071f2f1b16134464560ae3f562f48d732a4f78 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
@@ -3,6 +3,7 @@ package net.pl3x.purpur; @@ -3,6 +3,7 @@ package net.pl3x.purpur;
@@ -35,7 +35,7 @@ index cc8b9b1ed14efd6d5b2bb4f5da80ae85bf2aad0a..876a4a09700907d7bb79fc1f7686076e
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.Explosion; import net.minecraft.world.level.Explosion;
@@ -1737,6 +1738,7 @@ public class PurpurWorldConfig { @@ -1744,6 +1745,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false; public boolean wolfRidable = false;
public boolean wolfRidableInWater = false; public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D; public double wolfMaxHealth = 8.0D;
@@ -43,7 +43,7 @@ index cc8b9b1ed14efd6d5b2bb4f5da80ae85bf2aad0a..876a4a09700907d7bb79fc1f7686076e
public boolean wolfMilkCuresRabies = true; public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D; public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000; public int wolfBreedingTicks = 6000;
@@ -1749,6 +1751,11 @@ public class PurpurWorldConfig { @@ -1756,6 +1758,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue); set("mobs.wolf.attributes.max_health", oldValue);
} }
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java 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 782d4499f925950d66072b63f34a828bcc51d2e7..3ea6f2d96245caa85f365c488b8cc019a8318009 100644 index 007437edff2db6044adf9afca4a098509d007edf..a8d8b524cd8e532f78ee6e61a883bd0aa340a718 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
@@ -227,6 +227,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -227,6 +227,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -17,10 +17,10 @@ index 782d4499f925950d66072b63f34a828bcc51d2e7..3ea6f2d96245caa85f365c488b8cc019
@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 876a4a09700907d7bb79fc1f7686076e489e9303..3e9af1b5796b9cb6e7c9223583d94c1f510f280e 100644 index 97071f2f1b16134464560ae3f562f48d732a4f78..406a56c51e85bfda195d56c67da66c476219b1e4 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
@@ -1146,6 +1146,7 @@ public class PurpurWorldConfig { @@ -1153,6 +1153,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F; public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8; public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false; public boolean phantomAllowGriefing = false;
@@ -28,7 +28,7 @@ index 876a4a09700907d7bb79fc1f7686076e489e9303..3e9af1b5796b9cb6e7c9223583d94c1f
public double phantomMaxHealth = 20.0D; 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;
@@ -1172,6 +1173,7 @@ public class PurpurWorldConfig { @@ -1179,6 +1180,7 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -17,11 +17,11 @@ index d980a556785b52fe827310b83638139df0816b11..3c8c02fc92374def12254f7ffad604b2
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
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 3e9af1b5796b9cb6e7c9223583d94c1f510f280e..e377af1c0c565df4cb3487654980b4cf9cc16d97 100644 index 406a56c51e85bfda195d56c67da66c476219b1e4..2426b506b1edb013a386d99f5981faca850c1824 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
@@ -405,6 +405,11 @@ public class PurpurWorldConfig { @@ -412,6 +412,11 @@ public class PurpurWorldConfig {
} caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
} }
+ public boolean chestOpenWithBlockOnTop = false; + public boolean chestOpenWithBlockOnTop = false;

View File

@@ -42,18 +42,18 @@ index 5fa2723c9899c69ac326f95acf49cd47406378f9..a9098119009b60ea8dbdb4c118cfc20b
} }
} }
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 75d2dbe9092b8f46d102bf50d616bc37883f8375..3a17a29325e5df7d0fad90819a77cf5b4edb73be 100644 index 75d2dbe9092b8f46d102bf50d616bc37883f8375..77aa2de647c8c50663289f6d9b18a9dc786448c0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -599,6 +599,8 @@ public abstract class PlayerList { @@ -585,6 +585,8 @@ public abstract class PlayerList {
if (entityplayer.didPlayerJoinEvent) this.cserver.getPluginManager().callEvent(playerQuitEvent); // Paper - if we disconnected before join ever fired, don't fire quit }
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
+ net.pl3x.purpur.task.TPSBarTask.removePlayer(cserver.getPlayer(entityplayer)); // Purpur public net.kyori.adventure.text.Component disconnect(ServerPlayer entityplayer) { // Paper - return Component
+ net.pl3x.purpur.task.TPSBarTask.removePlayer(entityplayer.getBukkitEntity()); // Purpur
+ +
if (server.isSameThread()) entityplayer.doTick(); // SPIGOT-924 // Paper - don't tick during emergency shutdowns (Watchdog) ServerLevel worldserver = entityplayer.getLevel();
// CraftBukkit end
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java b/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java diff --git a/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java b/src/main/java/net/pl3x/purpur/command/TPSBarCommand.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..2803a1b95121fbff3066fd2d1abaf8723386781f index 0000000000000000000000000000000000000000..2803a1b95121fbff3066fd2d1abaf8723386781f

View File

@@ -28,10 +28,10 @@ index 294f276fa8d2d754abde11ebc3d39e5e68996b05..b3928617f732b49cfc124e9bdb879110
} }
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 e377af1c0c565df4cb3487654980b4cf9cc16d97..5ac846ec65890394d8460aff3f9453cd1baabbd3 100644 index 2426b506b1edb013a386d99f5981faca850c1824..4b059eece9e527b8f556058be7349409283e6768 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
@@ -1521,6 +1521,7 @@ public class PurpurWorldConfig { @@ -1528,6 +1528,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false; public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
@@ -39,7 +39,7 @@ index e377af1c0c565df4cb3487654980b4cf9cc16d97..5ac846ec65890394d8460aff3f9453cd
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1531,6 +1532,7 @@ public class PurpurWorldConfig { @@ -1538,6 +1539,7 @@ public class PurpurWorldConfig {
} }
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -393,7 +393,7 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89
return true; return true;
// 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 d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd914969ce0 100644 index 9cfc57521884cf34b581d246b8754fff5b326bdc..e990159137c9ea635ae69434f0a12583f8a73032 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
@@ -351,9 +351,12 @@ public class PurpurWorldConfig { @@ -351,9 +351,12 @@ public class PurpurWorldConfig {
@@ -422,7 +422,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -430,9 +436,11 @@ public class PurpurWorldConfig { @@ -437,9 +443,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
} }
@@ -434,7 +434,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
} }
@@ -458,6 +466,11 @@ public class PurpurWorldConfig { @@ -465,6 +473,11 @@ public class PurpurWorldConfig {
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
} }
@@ -446,7 +446,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
public boolean respawnAnchorExplode = true; public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D; public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true; public boolean respawnAnchorExplosionFire = true;
@@ -491,6 +504,11 @@ public class PurpurWorldConfig { @@ -498,6 +511,11 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
} }
@@ -458,7 +458,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
public double twistingVinesGrowthModifier = 0.10D; public double twistingVinesGrowthModifier = 0.10D;
public int twistingVinesMaxGrowthAge = 25; public int twistingVinesMaxGrowthAge = 25;
private void twistingVinesSettings() { private void twistingVinesSettings() {
@@ -669,6 +687,7 @@ public class PurpurWorldConfig { @@ -676,6 +694,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D; public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true; public boolean creeperAllowGriefing = true;
@@ -466,7 +466,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -680,6 +699,7 @@ public class PurpurWorldConfig { @@ -687,6 +706,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); 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);
@@ -474,7 +474,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean dolphinRidable = false; public boolean dolphinRidable = false;
@@ -767,6 +787,7 @@ public class PurpurWorldConfig { @@ -774,6 +794,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 256D; public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonAlwaysDropsFullExp = false;
@@ -482,7 +482,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -782,6 +803,7 @@ public class PurpurWorldConfig { @@ -789,6 +810,7 @@ public class PurpurWorldConfig {
} }
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); 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);
@@ -490,7 +490,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean endermanRidable = false; public boolean endermanRidable = false;
@@ -789,6 +811,7 @@ public class PurpurWorldConfig { @@ -796,6 +818,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D; public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false; public boolean endermanDespawnEvenWithBlock = false;
@@ -498,7 +498,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -800,6 +823,7 @@ public class PurpurWorldConfig { @@ -807,6 +830,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -506,7 +506,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean endermiteRidable = false; public boolean endermiteRidable = false;
@@ -819,6 +843,7 @@ public class PurpurWorldConfig { @@ -826,6 +850,7 @@ public class PurpurWorldConfig {
public boolean evokerRidable = false; public boolean evokerRidable = false;
public boolean evokerRidableInWater = false; public boolean evokerRidableInWater = false;
public double evokerMaxHealth = 24.0D; public double evokerMaxHealth = 24.0D;
@@ -514,7 +514,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void evokerSettings() { private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -828,6 +853,7 @@ public class PurpurWorldConfig { @@ -835,6 +860,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue); set("mobs.evoker.attributes.max_health", oldValue);
} }
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -522,7 +522,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean foxRidable = false; public boolean foxRidable = false;
@@ -835,6 +861,7 @@ public class PurpurWorldConfig { @@ -842,6 +868,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D; public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false; public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000; public int foxBreedingTicks = 6000;
@@ -530,7 +530,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -846,6 +873,7 @@ public class PurpurWorldConfig { @@ -853,6 +880,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -538,7 +538,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -1239,6 +1267,7 @@ public class PurpurWorldConfig { @@ -1246,6 +1274,7 @@ public class PurpurWorldConfig {
public boolean piglinRidable = false; public boolean piglinRidable = false;
public boolean piglinRidableInWater = false; public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D; public double piglinMaxHealth = 16.0D;
@@ -546,7 +546,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void piglinSettings() { private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1248,6 +1277,7 @@ public class PurpurWorldConfig { @@ -1255,6 +1284,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue); set("mobs.piglin.attributes.max_health", oldValue);
} }
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -554,7 +554,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean piglinBruteRidable = false; public boolean piglinBruteRidable = false;
@@ -1267,6 +1297,7 @@ public class PurpurWorldConfig { @@ -1274,6 +1304,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false; public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false; public boolean pillagerRidableInWater = false;
public double pillagerMaxHealth = 24.0D; public double pillagerMaxHealth = 24.0D;
@@ -562,7 +562,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void pillagerSettings() { private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1276,6 +1307,7 @@ public class PurpurWorldConfig { @@ -1283,6 +1314,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue); set("mobs.pillager.attributes.max_health", oldValue);
} }
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -570,7 +570,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean polarBearRidable = false; public boolean polarBearRidable = false;
@@ -1317,6 +1349,7 @@ public class PurpurWorldConfig { @@ -1324,6 +1356,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D; public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D; public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000; public int rabbitBreedingTicks = 6000;
@@ -578,7 +578,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -1329,11 +1362,13 @@ public class PurpurWorldConfig { @@ -1336,11 +1369,13 @@ public class PurpurWorldConfig {
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);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -592,7 +592,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void ravagerSettings() { private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1343,6 +1378,7 @@ public class PurpurWorldConfig { @@ -1350,6 +1385,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue); set("mobs.ravager.attributes.max_health", oldValue);
} }
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -600,7 +600,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean salmonRidable = false; public boolean salmonRidable = false;
@@ -1361,6 +1397,7 @@ public class PurpurWorldConfig { @@ -1368,6 +1404,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false; public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D; public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000; public int sheepBreedingTicks = 6000;
@@ -608,7 +608,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void sheepSettings() { private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1371,6 +1408,7 @@ public class PurpurWorldConfig { @@ -1378,6 +1415,7 @@ public class PurpurWorldConfig {
} }
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -616,7 +616,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean shulkerRidable = false; public boolean shulkerRidable = false;
@@ -1390,6 +1428,7 @@ public class PurpurWorldConfig { @@ -1397,6 +1435,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidable = false; public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false; public boolean silverfishRidableInWater = false;
public double silverfishMaxHealth = 8.0D; public double silverfishMaxHealth = 8.0D;
@@ -624,7 +624,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
private void silverfishSettings() { private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1399,6 +1438,7 @@ public class PurpurWorldConfig { @@ -1406,6 +1445,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue); set("mobs.silverfish.attributes.max_health", oldValue);
} }
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -632,7 +632,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean skeletonRidable = false; public boolean skeletonRidable = false;
@@ -1466,6 +1506,7 @@ public class PurpurWorldConfig { @@ -1473,6 +1513,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20; public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F; public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D; public double snowGolemAttackDistance = 1.25D;
@@ -640,7 +640,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -1482,6 +1523,7 @@ public class PurpurWorldConfig { @@ -1489,6 +1530,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -648,7 +648,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean squidRidable = false; public boolean squidRidable = false;
@@ -1641,6 +1683,7 @@ public class PurpurWorldConfig { @@ -1648,6 +1690,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60; public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false; public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
@@ -656,7 +656,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -1667,6 +1710,7 @@ public class PurpurWorldConfig { @@ -1674,6 +1717,7 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -664,7 +664,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1723,6 +1767,7 @@ public class PurpurWorldConfig { @@ -1730,6 +1774,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f; public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
@@ -672,7 +672,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -1739,6 +1784,7 @@ public class PurpurWorldConfig { @@ -1746,6 +1791,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); 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);
@@ -680,7 +680,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
} }
public boolean witherSkeletonRidable = false; public boolean witherSkeletonRidable = false;
@@ -1806,6 +1852,7 @@ public class PurpurWorldConfig { @@ -1813,6 +1859,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD; public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD;
@@ -688,7 +688,7 @@ index d4813180eeb1dcb004b0ba0baf892567cd36725e..288d42cdfb3d89b5fdb956606c91ebd9
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);
@@ -1825,6 +1872,7 @@ public class PurpurWorldConfig { @@ -1832,6 +1879,7 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) { } catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = Difficulty.HARD; zombieBreakDoorMinDifficulty = Difficulty.HARD;
} }

View File

@@ -37,10 +37,10 @@ index 5b15275c8d808916a1506a19a8bc29103adedae9..3b170886d42df4c217b565f54b1c6272
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
return; return;
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 e2da11f256a24e583d6294dda341f238668db408..0bd50fc8e2c3945b51eae86b6c6eaed3e4b9bf8c 100644 index fc8bd53e71bbba7ea02f38df14e182697cfcf699..6de54168c90225465f6ab353fdbb84fb576d8685 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,10 +443,16 @@ public class PurpurWorldConfig { @@ -450,10 +450,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false; public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false; public boolean farmlandAlpha = false;

View File

@@ -30,7 +30,7 @@ index e6d8a421b0e5496df9ea3fc01f88c2f3c6c527b4..e879f7bdee9c58533a549f22286ebb8a
this.wasTouchingWater = false; this.wasTouchingWater = false;
} else if (this.updateFluidHeightAndDoFluidPushing((Tag) FluidTags.WATER, 0.014D)) { } else if (this.updateFluidHeightAndDoFluidPushing((Tag) FluidTags.WATER, 0.014D)) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 796ab61f4513c02b0d55d34044d2f7084c447796..d119f8ab447bc17deabc494463de496161c9b126 100644 index 8a30031c8e96eaff27416adfe32e752efc246752..12172f9f5cb03d3c999f17a8131c79ac4bb0e176 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity { @@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity {
@@ -46,7 +46,7 @@ index 796ab61f4513c02b0d55d34044d2f7084c447796..d119f8ab447bc17deabc494463de4961
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY); this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY); this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
this.headPose = ArmorStand.DEFAULT_HEAD_POSE; this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
@@ -996,4 +998,18 @@ public class ArmorStand extends LivingEntity { @@ -1003,4 +1005,18 @@ public class ArmorStand extends LivingEntity {
} }
// Paper end // Paper end
// Paper end // Paper end
@@ -66,7 +66,7 @@ index 796ab61f4513c02b0d55d34044d2f7084c447796..d119f8ab447bc17deabc494463de4961
+ // 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 0bd50fc8e2c3945b51eae86b6c6eaed3e4b9bf8c..4d69d20f5c009745cf633d912ab22498c52e9460 100644 index 6de54168c90225465f6ab353fdbb84fb576d8685..b9ea0b66cd90abc757fe0dd046a84529fd49dca4 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
@@ -89,10 +89,16 @@ public class PurpurWorldConfig { @@ -89,10 +89,16 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 820e1b059fedcc5fe4ccbec772594dddce71fecb..baefaa7bd81ef1fdec6f1b2a03c1a8bff42ce84c 100644 index 1d8172fbae5d002fe20af1e785077785cf8add97..1709b5c1409aebee64ed6f84f405b8c0b20c6934 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1136,6 +1136,7 @@ public class ServerPlayer extends Player { @@ -1144,6 +1144,7 @@ public class ServerPlayer extends Player {
playerlist.sendPlayerPermissionLevel(this); playerlist.sendPlayerPermissionLevel(this);
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved(); this.unsetRemoved();
@@ -37,7 +37,7 @@ index e879f7bdee9c58533a549f22286ebb8a22a30442..92a1c059b248e14b16efbca7824d9a1a
this.isInsidePortal = true; this.isInsidePortal = true;
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 4d69d20f5c009745cf633d912ab22498c52e9460..3e4c63da65d2a6ee49b115b58ecc0935e92f6b06 100644 index b9ea0b66cd90abc757fe0dd046a84529fd49dca4..906d95f6f43b950a52192b9048e4a2f58d404e9f 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
@@ -282,6 +282,7 @@ public class PurpurWorldConfig { @@ -282,6 +282,7 @@ public class PurpurWorldConfig {

View File

@@ -70,10 +70,10 @@ index b3928617f732b49cfc124e9bdb879110413defd7..1c6d29a30df66e9971cd50e264bb4455
@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 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae2725622752e 100644 index 906d95f6f43b950a52192b9048e4a2f58d404e9f..cfeb22ba7a135a31fdbf5a2f65d4f52740fc9cde 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
@@ -604,6 +604,7 @@ public class PurpurWorldConfig { @@ -611,6 +611,7 @@ public class PurpurWorldConfig {
public boolean blazeRidableInWater = false; public boolean blazeRidableInWater = false;
public double blazeMaxY = 256D; public double blazeMaxY = 256D;
public double blazeMaxHealth = 20.0D; public double blazeMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
private void blazeSettings() { private void blazeSettings() {
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
@@ -614,6 +615,7 @@ public class PurpurWorldConfig { @@ -621,6 +622,7 @@ public class PurpurWorldConfig {
set("mobs.blaze.attributes.max_health", oldValue); set("mobs.blaze.attributes.max_health", oldValue);
} }
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
@@ -89,7 +89,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
} }
public boolean catRidable = false; public boolean catRidable = false;
@@ -830,6 +832,7 @@ public class PurpurWorldConfig { @@ -837,6 +839,7 @@ public class PurpurWorldConfig {
public boolean endermanAllowGriefing = true; public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false; public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false; public boolean endermanBypassMobGriefing = false;
@@ -97,7 +97,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
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);
@@ -842,6 +845,7 @@ public class PurpurWorldConfig { @@ -849,6 +852,7 @@ public class PurpurWorldConfig {
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
@@ -105,7 +105,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
} }
public boolean endermiteRidable = false; public boolean endermiteRidable = false;
@@ -1525,6 +1529,7 @@ public class PurpurWorldConfig { @@ -1532,6 +1536,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F; public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D; public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemBypassMobGriefing = false;
@@ -113,7 +113,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
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);
@@ -1542,6 +1547,7 @@ public class PurpurWorldConfig { @@ -1549,6 +1554,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
@@ -121,7 +121,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
} }
public boolean squidRidable = false; public boolean squidRidable = false;
@@ -1595,6 +1601,7 @@ public class PurpurWorldConfig { @@ -1602,6 +1608,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D; public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000; public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false; public boolean striderGiveSaddleBack = false;
@@ -129,7 +129,7 @@ index 3e4c63da65d2a6ee49b115b58ecc0935e92f6b06..58338f0d1c1cdd153ce90e79ad4ae272
private void striderSettings() { private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1606,6 +1613,7 @@ public class PurpurWorldConfig { @@ -1613,6 +1620,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);

View File

@@ -52,10 +52,10 @@ index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03
this.onDestroyedBy(source); this.onDestroyedBy(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 930adab7d6d387c935cb9e8d974d4fdf048871be..90788945ff4e5915422aed6325ce9808af401477 100644 index ab16826ca6515df75d2656700c0e0d9f5834eaae..c3bf38fda276d05be4864ba67778c4ba7dae0b21 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
@@ -450,6 +450,35 @@ public class PurpurWorldConfig { @@ -457,6 +457,35 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
} }

View File

@@ -29,10 +29,10 @@ index 15d35d325b66e1a417eb7ba699597d627bd4eb54..36745f845f33c877595d572e46bd8e96
} }
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 90788945ff4e5915422aed6325ce9808af401477..814dab20834481fccdae8e8f0962bffa3b8f1d8a 100644 index c3bf38fda276d05be4864ba67778c4ba7dae0b21..1adabe1ead47e51b4d1dc2d19036d2675e844707 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
@@ -839,6 +839,7 @@ public class PurpurWorldConfig { @@ -846,6 +846,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxHealth = 200.0D; public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonBypassMobGriefing = false;
@@ -40,7 +40,7 @@ index 90788945ff4e5915422aed6325ce9808af401477..814dab20834481fccdae8e8f0962bffa
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);
@@ -855,6 +856,7 @@ public class PurpurWorldConfig { @@ -862,6 +863,7 @@ public class PurpurWorldConfig {
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); 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);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
@@ -48,7 +48,7 @@ index 90788945ff4e5915422aed6325ce9808af401477..814dab20834481fccdae8e8f0962bffa
} }
public boolean endermanRidable = false; public boolean endermanRidable = false;
@@ -1825,6 +1827,7 @@ public class PurpurWorldConfig { @@ -1832,6 +1834,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f; public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false; public boolean witherBypassMobGriefing = false;
@@ -56,7 +56,7 @@ index 90788945ff4e5915422aed6325ce9808af401477..814dab20834481fccdae8e8f0962bffa
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);
@@ -1842,6 +1845,7 @@ public class PurpurWorldConfig { @@ -1849,6 +1852,7 @@ public class PurpurWorldConfig {
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);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);

View File

@@ -29,10 +29,10 @@ index 0169d874247a96c2e10a65ecb9c0c093f5a6ecfb..b760e2d014b3ae70671878082bb853b7
@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 1e5589f8ece209fd77519d8afc6339b13f489834..3dd239cda6a5d54ac5ca62d9b91860728f2c4a25 100644 index 677a347062bbf6b8c1da0697bcc24d427ec43553..6027e589df5d8bcd3c5088affc9b71f3a1613791 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
@@ -505,6 +505,11 @@ public class PurpurWorldConfig { @@ -512,6 +512,11 @@ public class PurpurWorldConfig {
furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel); furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index baefaa7bd81ef1fdec6f1b2a03c1a8bff42ce84c..177c61a306b9e07eb7aabbac664616cc23bfef5b 100644 index 1709b5c1409aebee64ed6f84f405b8c0b20c6934..336ddca98c43102ac5d5f05b19a46c8a1fe507e3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1299,7 +1299,7 @@ public class ServerPlayer extends Player { @@ -1307,7 +1307,7 @@ public class ServerPlayer extends Player {
return entitymonster.isPreventingPlayerRest((Player) this); return entitymonster.isPreventingPlayerRest((Player) this);
}); });
@@ -18,7 +18,7 @@ index baefaa7bd81ef1fdec6f1b2a03c1a8bff42ce84c..177c61a306b9e07eb7aabbac664616cc
} }
} }
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 6d849b9f42858f7ac692eefcac7d788700212ba9..ffa2b43ae403c197a4d107300571aa76d01e92b6 100644 index c24c40dd7868829bad1a55ccc71a718b96dc4b6d..8d5b3b98a5c886f6336951e6642f708d40970382 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
@@ -296,6 +296,7 @@ public class PurpurWorldConfig { @@ -296,6 +296,7 @@ public class PurpurWorldConfig {

View File

@@ -19,10 +19,10 @@ index 3907b7cb559dabdd3cc347678d42071215c66a6c..91e23061ed8d40ba36cb8f10fc9ccbe4
} }
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 ffa2b43ae403c197a4d107300571aa76d01e92b6..806aa9eb750143452166b4a72123dd146a70d421 100644 index 8d5b3b98a5c886f6336951e6642f708d40970382..6857bc0bb1c0a4ff7164ad6784dabbd36ae745b1 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
@@ -887,6 +887,7 @@ public class PurpurWorldConfig { @@ -894,6 +894,7 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false; public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false; public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true; public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index ffa2b43ae403c197a4d107300571aa76d01e92b6..806aa9eb750143452166b4a72123dd14
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);
@@ -900,6 +901,7 @@ public class PurpurWorldConfig { @@ -907,6 +908,7 @@ public class PurpurWorldConfig {
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);

View File

@@ -20,10 +20,10 @@ index 91e23061ed8d40ba36cb8f10fc9ccbe482d2b893..a3d9a3182d76141cb7c0f8aaf601e149
} else { } else {
Vec3 vec3d = player.getViewVector(1.0F).normalize(); Vec3 vec3d = player.getViewVector(1.0F).normalize();
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 806aa9eb750143452166b4a72123dd146a70d421..ee1a1c2ba22b48a7206b08e837e48d61dec21b52 100644 index 6857bc0bb1c0a4ff7164ad6784dabbd36ae745b1..91991a73f9ad30ad89d4c704bd8e204685bbbcf5 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
@@ -888,6 +888,8 @@ public class PurpurWorldConfig { @@ -895,6 +895,8 @@ public class PurpurWorldConfig {
public boolean endermanBypassMobGriefing = false; public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true; public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroSpawnedEndermites = false; public boolean endermanAggroSpawnedEndermites = false;
@@ -32,7 +32,7 @@ index 806aa9eb750143452166b4a72123dd146a70d421..ee1a1c2ba22b48a7206b08e837e48d61
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);
@@ -902,6 +904,8 @@ public class PurpurWorldConfig { @@ -909,6 +911,8 @@ public class PurpurWorldConfig {
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroSpawnedEndermites = getBoolean("mobs.enderman.aggressive-towards-spawned-endermites", endermanAggroSpawnedEndermites); endermanAggroSpawnedEndermites = getBoolean("mobs.enderman.aggressive-towards-spawned-endermites", endermanAggroSpawnedEndermites);

View File

@@ -32,10 +32,10 @@ index 873e1d64b917e961c9d9b5217fe664a91d0ab5bc..c31ffb302dba05d9771db7bd17993a1e
this.caravanHead.caravanTail = this; this.caravanHead.caravanTail = 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 3f7ccc8dad37de39520377f34b9d692830159f36..43c2802d91006343776aa2177ac26fda3d5278b8 100644 index 1c08334952fa4afd251c1fa00365892c4ef7454f..28a6585e8a20ebd993cd1c20001760fa3b28685d 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
@@ -1147,6 +1147,7 @@ public class PurpurWorldConfig { @@ -1154,6 +1154,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D; public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000; public int llamaBreedingTicks = 6000;
@@ -43,7 +43,7 @@ index 3f7ccc8dad37de39520377f34b9d692830159f36..43c2802d91006343776aa2177ac26fda
private void llamaSettings() { private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1164,6 +1165,7 @@ public class PurpurWorldConfig { @@ -1171,6 +1172,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);

View File

@@ -50,10 +50,10 @@ index c550b8c19837ed9bf730a3eb777bc00de4e7ceb2..02494dcc8a342f65b2855612aebeb019
private void spawnLingeringCloud() { private void spawnLingeringCloud() {
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 43c2802d91006343776aa2177ac26fda3d5278b8..ad69531f49bbdb986bb6e0175a2c63029254f0cf 100644 index 28a6585e8a20ebd993cd1c20001760fa3b28685d..d5bf649e4643da234cd76d959d7c2b892535dbd1 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 { @@ -769,6 +769,7 @@ public class PurpurWorldConfig {
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true; public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false; public boolean creeperBypassMobGriefing = false;
@@ -61,7 +61,7 @@ index 43c2802d91006343776aa2177ac26fda3d5278b8..ad69531f49bbdb986bb6e0175a2c6302
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);
@@ -774,6 +775,7 @@ public class PurpurWorldConfig { @@ -781,6 +782,7 @@ public class PurpurWorldConfig {
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);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);

View File

@@ -31,10 +31,10 @@ index 3c51e6d419a244b9270119590aa299527163c331..b466b0430dd94777975a1e7ab9792166
} }
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 ad69531f49bbdb986bb6e0175a2c63029254f0cf..004a3a2a84986ee64162b2fbbb15b76965ea727c 100644 index d5bf649e4643da234cd76d959d7c2b892535dbd1..1fb80872de9ba8f4d0851da8c2aed992f55c1e08 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
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig { @@ -1464,6 +1464,7 @@ public class PurpurWorldConfig {
public boolean ravagerRidableInWater = false; public boolean ravagerRidableInWater = false;
public double ravagerMaxHealth = 100.0D; public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false; public boolean ravagerBypassMobGriefing = false;
@@ -42,7 +42,7 @@ index ad69531f49bbdb986bb6e0175a2c63029254f0cf..004a3a2a84986ee64162b2fbbb15b769
private void ravagerSettings() { private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1467,6 +1468,23 @@ public class PurpurWorldConfig { @@ -1474,6 +1475,23 @@ public class PurpurWorldConfig {
} }
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);

View File

@@ -62,10 +62,10 @@ index 4c9ae6bdb2f0358798f84928271a2d783dcba7b4..47bf769a031ae39cc72d2191195d1378
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
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 004a3a2a84986ee64162b2fbbb15b76965ea727c..c54fd7f6fce56809ed7cd079ad5e106cad9d909a 100644 index 1fb80872de9ba8f4d0851da8c2aed992f55c1e08..098154a67bdfa17086d03d0e10fb1f0e07454e60 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
@@ -461,6 +461,11 @@ public class PurpurWorldConfig { @@ -468,6 +468,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
} }

View File

@@ -31,10 +31,10 @@ index c48935d35a6141c41db22e3ec172d5994fd317a2..fa4644c11cbb252734a6f5dc21c861d2
this.openTradingScreen(player, this.getDisplayName(), 1); this.openTradingScreen(player, this.getDisplayName(), 1);
} }
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 b32e285c77ce7d67583339941487a522dbe566dd..8aa27111a1c0e3c70f69b303f00a9c25e321ef12 100644 index a133696790f9f78f80de5de906e04b36fa09ce32..b6a32174aa55585d28340d0f9883e57e95deec41 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
@@ -1801,6 +1801,7 @@ public class PurpurWorldConfig { @@ -1808,6 +1808,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false; public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true; public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false; public boolean villagerBypassMobGriefing = false;
@@ -42,7 +42,7 @@ index b32e285c77ce7d67583339941487a522dbe566dd..8aa27111a1c0e3c70f69b303f00a9c25
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);
@@ -1828,6 +1829,7 @@ public class PurpurWorldConfig { @@ -1835,6 +1836,7 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -50,7 +50,7 @@ index b32e285c77ce7d67583339941487a522dbe566dd..8aa27111a1c0e3c70f69b303f00a9c25
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1851,6 +1853,7 @@ public class PurpurWorldConfig { @@ -1858,6 +1860,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderCanBeLeashed = false;
@@ -58,7 +58,7 @@ index b32e285c77ce7d67583339941487a522dbe566dd..8aa27111a1c0e3c70f69b303f00a9c25
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);
@@ -1862,6 +1865,7 @@ public class PurpurWorldConfig { @@ -1869,6 +1872,7 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); 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

@@ -47,10 +47,10 @@ index eb7f8907bb362c0461194bbaf62917ce71c669f3..89f5e0d26500f1806dff9f91390546cd
+ // 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 f03dcfc34d8ae01e08e6c4ba744ed5a3daec5b14..7ae0bc81ddfc5228b7b844e51e6d025e780392ba 100644 index 4983410ec62d65bffacbb62491ea455db14dc343..fd484089d1f7d6644780a353ab12d18636b3249d 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
@@ -582,6 +582,11 @@ public class PurpurWorldConfig { @@ -589,6 +589,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
} }

View File

@@ -22,10 +22,10 @@ index fc34cfa8bfb3b82a8e1b28d261f0e901d837467e..35d47bb0d8c4a2b8374564133f040899
return false; return false;
} else { } else {
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 7ae0bc81ddfc5228b7b844e51e6d025e780392ba..1f631f1f9a03ff1c0fcfc48337b04fefeadb8f06 100644 index fd484089d1f7d6644780a353ab12d18636b3249d..6bf7165870ef252ca2d69584d0f187dc751ece30 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
@@ -534,8 +534,12 @@ public class PurpurWorldConfig { @@ -541,8 +541,12 @@ public class PurpurWorldConfig {
} }
public boolean snowOnBlueIce = true; public boolean snowOnBlueIce = true;

View File

@@ -67,10 +67,10 @@ index c903a1a8d2234bb0fa354d1c44ff3ab2275b04c7..d01e4064a772710c1383927e0848b9b3
+ // 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 37a7d6a950282435e78438b7d51c43dc63d890e3..1832d269b91665cb3623c48af69890ecafc1506c 100644 index 9636564028b75d7adbead873ee34cedbef9ec6d3..b6734d074e326fbeb3fc25343af1e88e37664959 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
@@ -486,6 +486,16 @@ public class PurpurWorldConfig { @@ -493,6 +493,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
} }

View File

@@ -43,10 +43,10 @@ index 1ef8eadd4e59f2e5d2bbd84f6f9bcf37b59db5bd..5b10e1110f938745c8f9ed0b55960566
} }
} }
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 1832d269b91665cb3623c48af69890ecafc1506c..35ef5be9d448f3f1447a19d8c26ae9bedecb9820 100644 index b6734d074e326fbeb3fc25343af1e88e37664959..3926ec4b6081b6a8253b1fad87ffd9a859d2da31 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
@@ -608,6 +608,13 @@ public class PurpurWorldConfig { @@ -615,6 +615,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
} }

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} else { } else {
int j = pos.getX(); int j = pos.getX();
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 876f3f74f27d97109fde626477f16c68b38921b9..c463a062b29957c0a5000bac9dd45076be6a94e6 100644 index fbf67c1383a8757374b8bf5c7b4175291605f857..e3dd6088093658e1c8f79bc722893545d6ef2f72 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
@@ -620,6 +620,11 @@ public class PurpurWorldConfig { @@ -627,6 +627,11 @@ public class PurpurWorldConfig {
slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak); slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak);
} }

View File

@@ -30,3 +30,23 @@ index fef1027829c44957e23c0a121033bfb7640d06f0..c42349d0f6b0025525278295b36f4030
while (world.getBlockState(pos).is((Block) this)) { while (world.getBlockState(pos).is((Block) this)) {
pos = pos.below(); pos = pos.below();
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e3dd6088093658e1c8f79bc722893545d6ef2f72..16d77d2a6389f55aed5247f00de8c7fe06e6443e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1429,6 +1429,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = true;
+ public int piglinPortalSpawnModifier = 2000;
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1439,6 +1440,7 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
+ piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
}
public boolean piglinBruteRidable = false;

View File

@@ -31,10 +31,10 @@ index 5d844ed98b916298a657d5e9766ab7f383a304e0..0129460ce1ca199a47b6657f824c75fd
entity.hurt(DamageSource.HOT_FLOOR, 1.0F); entity.hurt(DamageSource.HOT_FLOOR, 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // 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 c463a062b29957c0a5000bac9dd45076be6a94e6..d02c15de3909e8892ca950c2748624dc299155cf 100644 index 16d77d2a6389f55aed5247f00de8c7fe06e6443e..1ccc415dfdbacc5c66867252db45ffaf0050a167 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
@@ -587,6 +587,13 @@ public class PurpurWorldConfig { @@ -594,6 +594,13 @@ public class PurpurWorldConfig {
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
} }

View File

@@ -18,10 +18,10 @@ index 430aa10101d9f21561155941ff24441fd0c4103a..de91f0dd7f9a62e5a96b4cc3e4f505ec
if (!event.isCancelled()) { if (!event.isCancelled()) {
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 d02c15de3909e8892ca950c2748624dc299155cf..091aa6423d7b35dc4ec813412316f166510be016 100644 index 1ccc415dfdbacc5c66867252db45ffaf0050a167..f8cf4fa3aa76077e804e63ba219c15bfd8af9566 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
@@ -1956,6 +1956,7 @@ public class PurpurWorldConfig { @@ -1965,6 +1965,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20; public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false; public boolean witherBypassMobGriefing = false;
public boolean witherCanRideVehicles = false; public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index d02c15de3909e8892ca950c2748624dc299155cf..091aa6423d7b35dc4ec813412316f166
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);
@@ -1974,6 +1975,7 @@ public class PurpurWorldConfig { @@ -1983,6 +1984,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
} }
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 d9c3c63c644bd4c73974a4fb5f8bf6e7d7e286eb..414c5201b37c469ebf69011aa9919d4e7287078a 100644 index 235e81cf4f0cf7c752db1382f48f29a371f43d68..108960f96dead3f899dc02b17ac849065b0ee50d 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
@@ -609,6 +609,11 @@ public class PurpurWorldConfig { @@ -616,6 +616,11 @@ public class PurpurWorldConfig {
magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker);
} }

View File

@@ -17,10 +17,10 @@ index c46df052a5a39d92688f51377ee1f7b5b5b36faa..d7d2a975386cecb0d50b4f7ed37de8ad
// Paper end // Paper end
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 177c61a306b9e07eb7aabbac664616cc23bfef5b..4775d9feb52dc899a30d34cdc0ab84149f085d8c 100644 index 336ddca98c43102ac5d5f05b19a46c8a1fe507e3..2c67825ab2fd0e51867562aef6b3c2f747f00bc3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -874,6 +874,7 @@ public class ServerPlayer extends Player { @@ -882,6 +882,7 @@ public class ServerPlayer extends Player {
}); });
Team scoreboardteambase = this.getTeam(); Team scoreboardteambase = this.getTeam();

View File

@@ -21,10 +21,10 @@ index 02494dcc8a342f65b2855612aebeb019095abf65..d66c8866f3c6b1412a6c1876c62e3b29
if (!event.isCancelled()) { if (!event.isCancelled()) {
this.dead = true; this.dead = true;
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 7908252c543c75d0f1e4310806fbb2b78d550c63..c3e07c7b7a81f74c3c2d8035ba516b30b55591da 100644 index 437a831a30fec9387e9906cb3c2cacffc5c7bb20..b0114741cf9b57ce0140bad99cb711ad532937b2 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
@@ -858,6 +858,7 @@ public class PurpurWorldConfig { @@ -865,6 +865,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true; public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false; public boolean creeperBypassMobGriefing = false;
public boolean creeperExplodeWhenKilled = false; public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index 7908252c543c75d0f1e4310806fbb2b78d550c63..c3e07c7b7a81f74c3c2d8035ba516b30
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);
@@ -871,6 +872,7 @@ public class PurpurWorldConfig { @@ -878,6 +879,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -17,10 +17,10 @@ index f4e983da7206923ee0b0f984e65a6c2b3a6a8aeb..cea3725009af1bc746a593c4db63ed63
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F)); this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false)); this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, 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 c3e07c7b7a81f74c3c2d8035ba516b30b55591da..fd47ff6042f9943de2ba54a1c283fe84978a2f4d 100644 index b0114741cf9b57ce0140bad99cb711ad532937b2..d9c6ff22fc92caaff09e7990334f281dab9e4296 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
@@ -1225,6 +1225,7 @@ public class PurpurWorldConfig { @@ -1232,6 +1232,7 @@ public class PurpurWorldConfig {
public boolean ironGolemRidableInWater = false; public boolean ironGolemRidableInWater = false;
public boolean ironGolemCanSwim = false; public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D; public double ironGolemMaxHealth = 100.0D;
@@ -28,7 +28,7 @@ index c3e07c7b7a81f74c3c2d8035ba516b30b55591da..fd47ff6042f9943de2ba54a1c283fe84
private void ironGolemSettings() { private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1235,6 +1236,7 @@ public class PurpurWorldConfig { @@ -1242,6 +1243,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue); set("mobs.iron_golem.attributes.max_health", oldValue);
} }
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);

View File

@@ -50,10 +50,10 @@ index 553b0aff0ccc5baf41d5faae1a2fd88249dd5a74..3da2b68fb03a80676d7a5eed271499f6
@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 fd47ff6042f9943de2ba54a1c283fe84978a2f4d..4da142bbe5197c1c5e5d7cc8c6282a544368df1a 100644 index d9c6ff22fc92caaff09e7990334f281dab9e4296..dafd6d024a68395ef26ad85ce3d1a60b6e22a584 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
@@ -1361,6 +1361,7 @@ public class PurpurWorldConfig { @@ -1368,6 +1368,7 @@ public class PurpurWorldConfig {
public boolean parrotRidableInWater = false; public boolean parrotRidableInWater = false;
public double parrotMaxY = 256D; public double parrotMaxY = 256D;
public double parrotMaxHealth = 6.0D; public double parrotMaxHealth = 6.0D;
@@ -61,7 +61,7 @@ index fd47ff6042f9943de2ba54a1c283fe84978a2f4d..4da142bbe5197c1c5e5d7cc8c6282a54
private void parrotSettings() { private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1371,6 +1372,7 @@ public class PurpurWorldConfig { @@ -1378,6 +1379,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue); set("mobs.parrot.attributes.max_health", oldValue);
} }
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);

View File

@@ -17,10 +17,10 @@ index 78f51f3dd0e7249af69228479da932e9aea982d6..d9d4421f7f316281487828739168cfd6
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/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 9198629e35b60e84f3c1382ee2e51e2d843c4465..346eba732b7d4f26bc94e494d1576c32e9c6e2fd 100644 index 73ae79637e3058675384a9807effbec7b080de7c..601b721f6ee044ed7431d5d6f8970408ee8ab4a5 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
@@ -534,6 +534,11 @@ public class PurpurWorldConfig { @@ -541,6 +541,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -35,10 +35,10 @@ index b9c558060024d380e89116489c7fc12ad88db8ad..0a0a4be15bed899812fcd4af0e311f5f
CompoundTag compoundTag = shulkerBoxBlockEntity.saveToTag(new CompoundTag()); CompoundTag compoundTag = shulkerBoxBlockEntity.saveToTag(new CompoundTag());
if (!compoundTag.isEmpty()) { if (!compoundTag.isEmpty()) {
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 346eba732b7d4f26bc94e494d1576c32e9c6e2fd..314115b429feaac518a8f35417b4f67638229588 100644 index 601b721f6ee044ed7431d5d6f8970408ee8ab4a5..d3feb6882520e3ea3b7f76c358115ba5c78ae055 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
@@ -646,6 +646,11 @@ public class PurpurWorldConfig { @@ -653,6 +653,11 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -31,10 +31,10 @@ index ffacc4b8cc3ab8285c4131aec58e48ffa9e1952e..e0e039e2f614f2df48d8d1b6e8bbbe7a
return false; return false;
} else { } else {
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 314115b429feaac518a8f35417b4f67638229588..61612c15bf7aed791cef35f10104ecbbb70e80b1 100644 index d3feb6882520e3ea3b7f76c358115ba5c78ae055..79f4afd3c41fdb33a89080acdb617e80fae13810 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
@@ -750,6 +750,8 @@ public class PurpurWorldConfig { @@ -757,6 +757,8 @@ public class PurpurWorldConfig {
public double beeMaxY = 256D; public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D; public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000; public int beeBreedingTicks = 6000;
@@ -43,7 +43,7 @@ index 314115b429feaac518a8f35417b4f67638229588..61612c15bf7aed791cef35f10104ecbb
private void beeSettings() { private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -761,6 +763,8 @@ public class PurpurWorldConfig { @@ -768,6 +770,8 @@ public class PurpurWorldConfig {
} }
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);

View File

@@ -29,7 +29,7 @@ index b79c2436c6a89a344ed17fd02d798a63a2972389..5f39278e5115a817cbd123ce625a84e4
// Purpur end // Purpur 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 c7cbdd7becb53767cbd652719ebe88646df21220..16540e1977aba599de8ac444df2e8be9256e251a 100644 index c7cbdd7becb53767cbd652719ebe88646df21220..05fad2a847868e224212369ebe2eeb0748c4c962 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
@@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity { @@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity {
@@ -66,7 +66,7 @@ index c7cbdd7becb53767cbd652719ebe88646df21220..16540e1977aba599de8ac444df2e8be9
+ // Purpur start - copied from Zombie + // Purpur start - copied from Zombie
+ if (this.isAlive()) { + if (this.isAlive()) {
+ boolean flag = this.isSunSensitive() && this.isSunBurnTick(); + boolean flag = this.shouldBurnInDay() && this.isSunBurnTick();
+ if (flag) { + if (flag) {
+ ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD); + ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
+ if (!itemstack.isEmpty()) { + if (!itemstack.isEmpty()) {
@@ -200,7 +200,7 @@ index 6c89eabddda16f9b72e6062c31bb4be6beae442d..2ff43cebc2e6471395e90a8a19828d94
@Override @Override
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 3ea6f2d96245caa85f365c488b8cc019a8318009..0539be5997b3046db3720777b3722719b078bf15 100644 index a8d8b524cd8e532f78ee6e61a883bd0aa340a718..99ac69b9d65ba5320043cc24eba1c102d552210f 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
@@ -61,6 +61,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -61,6 +61,7 @@ public class Phantom extends FlyingMob implements Enemy {

View File

@@ -16,7 +16,7 @@ restoring it back to the entity just before the criterion triggers run and
then finally clearing the equipment again right after the criterion is done. then finally clearing the equipment again right after the criterion is done.
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 16540e1977aba599de8ac444df2e8be9256e251a..eafc897c3b2e06b9bc5c90d4e096996eaab2b4a4 100644 index 05fad2a847868e224212369ebe2eeb0748c4c962..ba7dbe660b71bfc4358e68e5c71e84389643b259 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
@@ -1658,10 +1658,13 @@ public abstract class LivingEntity extends Entity { @@ -1658,10 +1658,13 @@ public abstract class LivingEntity extends Entity {
@@ -93,10 +93,10 @@ index c5fa64b2d1559bf47b3dac8a2a10205e93e638dd..1209aafa118d7bf01eebade3b994678a
protected void dropCustomDeathLoot(DamageSource source, int lootingMultiplier, boolean allowDrops) { protected void dropCustomDeathLoot(DamageSource source, int lootingMultiplier, boolean allowDrops) {
super.dropCustomDeathLoot(source, lootingMultiplier, allowDrops); super.dropCustomDeathLoot(source, lootingMultiplier, allowDrops);
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index c9a44a4765f43b9c0247ed1005f4c13469bdee95..6d08c8c31a32ea38f06410fbaddf19b95bec7c6f 100644 index e6a83032d23d434b62cb2b67e256978fe3f31921..3afd85ae7a69ec9007cceb4a1f7c5fef340df023 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -205,6 +205,41 @@ public class ArmorStand extends LivingEntity { @@ -212,6 +212,41 @@ public class ArmorStand extends LivingEntity {
this.noTickEquipmentDirty = true; // Paper - Allow equipment to be updated even when tick disabled this.noTickEquipmentDirty = true; // Paper - Allow equipment to be updated even when tick disabled
} }

View File

@@ -27,10 +27,10 @@ index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d8126
} }
// Paper end - fix sand duping // Paper end - fix sand duping
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 58fb881e1c07f14c1b5f155d15b424b6b8c0a1fe..d4340160f9431f1d2d00ff1b83b1d77ea460ef70 100644 index 98937d7c56f9413f5c03eb54eedb2066e64e41c8..e292708ce4a60b6a00280528d459e10fbb939c39 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
@@ -672,6 +672,11 @@ public class PurpurWorldConfig { @@ -679,6 +679,11 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -45,10 +45,10 @@ index 197482e1ace23c3de002242097a68c6cc297cd3f..428875a6a99a619d337e2a7bbd2cb182
entity.portalWorld = ((ServerLevel)world); entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable(); entity.portalBlock = pos.immutable();
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 d4340160f9431f1d2d00ff1b83b1d77ea460ef70..cf158b28a36ea29da08439f9a88fb77cd1605d8d 100644 index e292708ce4a60b6a00280528d459e10fbb939c39..27eee8a098398d1d8ffa6d61559e53688dc2d57f 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
@@ -614,6 +614,11 @@ public class PurpurWorldConfig { @@ -621,6 +621,11 @@ public class PurpurWorldConfig {
furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel); furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel);
} }