This commit is contained in:
BillyGalbreath
2021-06-16 17:17:33 -05:00
parent 359d49f4f4
commit 82ef35225f
85 changed files with 2625 additions and 489 deletions

View File

@@ -5,18 +5,21 @@ Subject: [PATCH] Ridables
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 b88097f6a82e3ddf7e6db4b362bc810cf14d25b9..e1e5e6f24a0d7578625a06c080c5a6076a97be71 100644 index 659193fc0596084031c09aa47fbb428a93d052e8..e1f871812e563605e31837159f129d69e05b868f 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
@@ -198,6 +198,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -196,6 +196,11 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
// Purpur start GoalKey<Raider> RAIDER_CELEBRATION = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_celebration"));
GoalKey<Phantom> FIND_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal_goal")); GoalKey<Raider> RAIDER_MOVE_THROUGH_VILLAGE = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_move_through_village"));
GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
+ GoalKey<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"));
// Purpur end
+ // Purpur start
+ 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"));
+ // Purpur end
+
/** /**
* @deprecated removed in 1.16
*/
diff --git a/src/main/java/net/pl3x/purpur/event/entity/RidableMoveEvent.java b/src/main/java/net/pl3x/purpur/event/entity/RidableMoveEvent.java diff --git a/src/main/java/net/pl3x/purpur/event/entity/RidableMoveEvent.java b/src/main/java/net/pl3x/purpur/event/entity/RidableMoveEvent.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..48e7ac392fe5efac8a4ce549e31a05ed817417e4 index 0000000000000000000000000000000000000000..48e7ac392fe5efac8a4ce549e31a05ed817417e4

View File

@@ -5,17 +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 659193fc0596084031c09aa47fbb428a93d052e8..b88097f6a82e3ddf7e6db4b362bc810cf14d25b9 100644 index e1f871812e563605e31837159f129d69e05b868f..91262be391b9bf7067bdf257fc385f0b70747182 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
@@ -195,6 +195,10 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -199,6 +199,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Raider> OBTAIN_RAID_LEADER_BANNER = GoalKey.of(Raider.class, NamespacedKey.minecraft("obtain_raid_leader_banner")); // Purpur start
GoalKey<Raider> RAIDER_CELEBRATION = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_celebration")); GoalKey<Mob> MOB_HAS_RIDER = GoalKey.of(Mob.class, NamespacedKey.minecraft("has_rider"));
GoalKey<Raider> RAIDER_MOVE_THROUGH_VILLAGE = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_move_through_village")); GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider"));
+ // Purpur start
+ GoalKey<Phantom> FIND_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal_goal")); + GoalKey<Phantom> FIND_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("find_crystal_goal"));
+ GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal")); + GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
+ // Purpur end // Purpur end
/** /**
* @deprecated removed in 1.16

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 e1e5e6f24a0d7578625a06c080c5a6076a97be71..7728488e32bce6780f604d8f74f714853f2079a2 100644 index 91262be391b9bf7067bdf257fc385f0b70747182..569ffabc5c092217cd7ff69e8089654624bb9045 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
@@ -200,6 +200,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -201,6 +201,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
GoalKey<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> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
+ 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,11 +5,11 @@ 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 7728488e32bce6780f604d8f74f714853f2079a2..71139ef4251ea8c5954445d9476625c57165462b 100644 index 569ffabc5c092217cd7ff69e8089654624bb9045..e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8 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
@@ -202,6 +202,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> { @@ -203,6 +203,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider")); GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
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_WOLVES = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolves"));

View File

@@ -5,10 +5,10 @@ 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 71139ef4251ea8c5954445d9476625c57165462b..e5a8247d4c1c6e16f99f670552b9cf1f490b50ce 100644 index e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8..1c691750265a31f05e877d5f62c29f01117930b9 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> { @@ -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_WOLVES = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolves"));

File diff suppressed because it is too large Load Diff

View File

@@ -54,12 +54,12 @@ index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..279cf6a1f9ee6e5ed099eedbf68ee72a
String hostName = "BrokenHost"; String hostName = "BrokenHost";
try { try {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 74fc4fc2216cf82e1546ef3d567f2750b1240df1..6660e8ad9084b4ea0b7433eed41c63e24d93a963 100644 index c90dda3d62dab896f68481000c0b6db1426bc461..358ce4bb952fbf50bf78a35f19b4c61e6f4d1afd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -127,4 +127,10 @@ public class PurpurConfig { @@ -132,4 +132,10 @@ public class PurpurConfig {
config.addDefault(path, def); private static void messages() {
return config.getString(path, config.getString(path)); cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
} }
+ +
+ public static String timingsUrl = "https://timings.pl3x.net"; + public static String timingsUrl = "https://timings.pl3x.net";

View File

@@ -142,10 +142,10 @@ index f494063ead9c6303fb3ca880aba2a877ae8d83ab..3b027111ed933856ae86ad5f62aac744
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 6660e8ad9084b4ea0b7433eed41c63e24d93a963..7e0c9505427f58df767ab44f18bec66212b7dd57 100644 index 358ce4bb952fbf50bf78a35f19b4c61e6f4d1afd..7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -133,4 +133,23 @@ public class PurpurConfig { @@ -138,4 +138,23 @@ public class PurpurConfig {
timingsUrl = getString("settings.timings.url", timingsUrl); timingsUrl = getString("settings.timings.url", timingsUrl);
if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip"); if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip");
} }

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 b4055c6de62c22ba8ee8384884f9b3fd62eddeb8..16891782bc6038e493180c678d564f1f57a0f9a2 100644 index 84c0c68e327d73e782cd451fc0d209a8b4287b2e..610b1d32c34659ec8459b984cde4aa80bee89f11 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
@@ -1905,8 +1905,54 @@ public class ServerPlayer extends Player { @@ -1914,8 +1914,54 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() { public void resetLastActionTime() {
this.lastActionTime = Util.getMillis(); this.lastActionTime = Util.getMillis();
@@ -64,7 +64,7 @@ index b4055c6de62c22ba8ee8384884f9b3fd62eddeb8..16891782bc6038e493180c678d564f1f
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 40d0dac02bb1922483d68f3cdd09a228f66d09f6..b50ae4093b4bda0d62ec6ac445c969327871dd38 100644 index 8e585ea6a070b2339cf396d70224a0d3791abe1f..3792cb44df997e72d902f26fe09590b1c5c7e814 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
@@ -142,25 +142,23 @@ 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 d286d88a3c3f93dbfa92de9421e320c92cd96350..1cc9291f14a4d655cb1b91479b954d76cc1fcf7f 100644 index b4ebd8d3ad90e51ed953d091610eafe558a3184f..686f64000ca633fe58d8d479ef3c8462052ec9c5 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
@@ -193,6 +193,15 @@ public abstract class Player extends LivingEntity { @@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {
} public abstract void resetLastActionTime();
// CraftBukkit end
+ // Purpur start // Purpur start
+ public void setAfk(boolean afk) { + public void setAfk(boolean afk) {
+ } + }
+ +
+ public boolean isAfk() { + public boolean isAfk() {
+ return false; + return false;
+ } + }
+ // Purpur end
+ +
public Player(Level world, BlockPos pos, float yaw, GameProfile profile) { @Override
super(EntityType.PLAYER, world); public boolean processClick(InteractionHand hand) {
this.lastItemInMainHand = ItemStack.EMPTY; Entity vehicle = getRootVehicle();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c91ed32e03 100644 index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c91ed32e03 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java --- a/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -175,34 +173,32 @@ index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c9
if (range < 0.0D || d < range * range) { if (range < 0.0D || d < range * range) {
return true; return true;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 7e0c9505427f58df767ab44f18bec66212b7dd57..5842f8fad24c08cb001a192bf36de690fd14cd32 100644 index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..e818682578beac89fb6b7c8cf6a2240b1210055a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -128,6 +128,15 @@ public class PurpurConfig { @@ -128,8 +128,14 @@ public class PurpurConfig {
return config.getString(path, config.getString(path)); return config.getString(path, config.getString(path));
} }
+ public static String afkBroadcastAway = "§e§o%s is now AFK"; + public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
+ public static String afkBroadcastBack = "§e§o%s is no longer AFK"; + public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
+ public static String afkTabListPrefix = "[AFK] "; + public static String afkTabListPrefix = "[AFK] ";
+ private static void messages() { public static String cannotRideMob = "<red>You cannot mount that mob";
private static void messages() {
+ afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); + afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack); + afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix); + afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
+ } cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
+ }
public static String timingsUrl = "https://timings.pl3x.net";
private static void timingsSettings() {
timingsUrl = getString("settings.timings.url", timingsUrl);
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 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c7be89e84 100644 index 4fd7d61c5d225f0dc0666ad7219542777afe01ea..a2f482e3dbcfb93cdee2678ca963c46479670e8c 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
@@ -56,4 +56,15 @@ public class PurpurWorldConfig { @@ -57,6 +57,17 @@ public class PurpurWorldConfig {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path)); return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
} }
+
+ public boolean idleTimeoutKick = true; + public boolean idleTimeoutKick = true;
+ public boolean idleTimeoutTickNearbyEntities = true; + public boolean idleTimeoutTickNearbyEntities = true;
+ public boolean idleTimeoutCountAsSleeping = false; + public boolean idleTimeoutCountAsSleeping = false;
@@ -213,7 +209,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c
+ idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping); + idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
+ idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); + idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
+ } + }
} +
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 05007190441117fe8b2f8b54fc37e589ffc213dc..04b49b0d570d3049ffa756376e2f374a98335b67 100644 index 05007190441117fe8b2f8b54fc37e589ffc213dc..04b49b0d570d3049ffa756376e2f374a98335b67 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb..e50aa9ab6ca8adde7a2314ad86f604e68cf0de43 100644 index 2ff3c3f64a61e152262e82a1c33a474bbe4e9c5c..247b4c599018cb42cd4b2da5d8b4d732f2e884b0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1634,7 +1634,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1635,7 +1635,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
@@ -18,11 +18,11 @@ index f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb..e50aa9ab6ca8adde7a2314ad86f604e6
public SystemReport fillSystemReport(SystemReport systemreport) { public SystemReport fillSystemReport(SystemReport systemreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 5842f8fad24c08cb001a192bf36de690fd14cd32..538dffe906da7f30a1ac8fd0d96b8cbe058242a9 100644 index e818682578beac89fb6b7c8cf6a2240b1210055a..f64cd4a887ab57f32c9cfc6a1d808f41cc1b36f1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -137,6 +137,11 @@ public class PurpurConfig { @@ -139,6 +139,11 @@ public class PurpurConfig {
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix); cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
} }
+ public static String serverModName = "Purpur"; + public static String serverModName = "Purpur";

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
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 58b36ed797476f3cec78529e09e913ebb791c5e3..644c339a9adae9500a8d7e20c9509af5eb2fece4 100644 index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bbb2435c04 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
@@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity { @@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e50aa9ab6ca8adde7a2314ad86f604e68cf0de43..33c0fad3f0a7283d193eb23afd210c0d912b5c2d 100644 index 247b4c599018cb42cd4b2da5d8b4d732f2e884b0..ba70f1276215620c75cda410ac5acb60c51ffcac 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -25,10 +25,10 @@ index e50aa9ab6ca8adde7a2314ad86f604e68cf0de43..33c0fad3f0a7283d193eb23afd210c0d
} }
midTickChunksTasksRan = 0; // Paper midTickChunksTasksRan = 0; // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 538dffe906da7f30a1ac8fd0d96b8cbe058242a9..d940b295dc8657387e6e62fb9e0009a7b2c37121 100644 index f64cd4a887ab57f32c9cfc6a1d808f41cc1b36f1..2c80bfba35073b0f381673cff7c972865f707ee5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -148,6 +148,11 @@ public class PurpurConfig { @@ -150,6 +150,11 @@ public class PurpurConfig {
if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip"); if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip");
} }

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 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd8505bffb 100644 index 610b1d32c34659ec8459b984cde4aa80bee89f11..4816fd89517802dd00b37385d92e6711678ae373 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
@@ -332,6 +332,7 @@ public class ServerPlayer extends Player { @@ -332,6 +332,7 @@ public class ServerPlayer extends Player {
@@ -16,7 +16,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
} }
// Paper start - Chunk priority // Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) { public BlockPos getPointInFront(double inFront) {
@@ -964,6 +965,12 @@ public class ServerPlayer extends Player { @@ -973,6 +974,12 @@ public class ServerPlayer extends Player {
} }
@@ -29,7 +29,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
@Override @Override
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
@@ -971,7 +978,7 @@ public class ServerPlayer extends Player { @@ -980,7 +987,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 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
return false; return false;
} else { } else {
if (source instanceof EntityDamageSource) { if (source instanceof EntityDamageSource) {
@@ -1146,6 +1153,7 @@ public class ServerPlayer extends Player { @@ -1155,6 +1162,7 @@ public class ServerPlayer extends Player {
} }
// Paper end // Paper end
@@ -46,7 +46,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
return this; return this;
} }
} }
@@ -2364,8 +2372,16 @@ public class ServerPlayer extends Player { @@ -2373,8 +2381,16 @@ public class ServerPlayer extends Player {
@Override @Override
public boolean isImmobile() { public boolean isImmobile() {
@@ -65,7 +65,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
@Override @Override
public Scoreboard getScoreboard() { public Scoreboard getScoreboard() {
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 b50ae4093b4bda0d62ec6ac445c969327871dd38..23e536192bce9f85bebdcd8ba8dc019ca56fde90 100644 index 3792cb44df997e72d902f26fe09590b1c5c7e814..963e433db7c237119355f645ee3d8aa674c77259 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
@@ -1861,6 +1861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -1861,6 +1861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -90,21 +90,23 @@ index d6ecf7671663957b27ee0cadbfc57ce3a7be161c..bcff95d97549f56f542644f8348a8408
return entityplayer1; return entityplayer1;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2578a4677d1ee060f687be531e696b7c7be89e84..c441fcea9b2b5a77b801c8a69541cf42050927dc 100644 index a2f482e3dbcfb93cdee2678ca963c46479670e8c..3a4ac9c75b4517bb6fdad67d1db5e4ac805f3ee4 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
@@ -67,4 +67,11 @@ public class PurpurWorldConfig { @@ -68,6 +68,13 @@ public class PurpurWorldConfig {
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
} }
+
+ public int playerSpawnInvulnerableTicks = 60; + public int playerSpawnInvulnerableTicks = 60;
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false; + public boolean playerInvulnerableWhileAcceptingResourcePack = false;
+ private void playerInvulnerabilities() { + private void playerInvulnerabilities() {
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks); + playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); + playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
+ } + }
} +
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 04b49b0d570d3049ffa756376e2f374a98335b67..19f6bbf8e63c1f3f7391fe85fb283b8ee4fbfccc 100644 index 04b49b0d570d3049ffa756376e2f374a98335b67..19f6bbf8e63c1f3f7391fe85fb283b8ee4fbfccc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java

View File

@@ -36,18 +36,20 @@ index 27530389690ec329bd92a722e4faf87e367bce91..d9d12330e84f204f96761051e1d92984
this.level.getProfiler().pop(); this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c441fcea9b2b5a77b801c8a69541cf42050927dc..c7fb5a737cab0083c39732247acb8f4e87562894 100644 index 3a4ac9c75b4517bb6fdad67d1db5e4ac805f3ee4..76bd14850cdabd2883611ebecaa8227efdd02a64 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,4 +74,11 @@ public class PurpurWorldConfig { @@ -519,9 +519,13 @@ public class PurpurWorldConfig {
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); public boolean villagerRidable = false;
} public boolean villagerRidableInWater = false;
+
+ public int villagerBrainTicks = 1; + public int villagerBrainTicks = 1;
+ public boolean villagerUseBrainTicksOnlyWhenLagging = true; + public boolean villagerUseBrainTicksOnlyWhenLagging = true;
+ private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
+ villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); + villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
+ villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); + villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
+ } }
}
public boolean vindicatorRidable = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
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 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bff4608045 100644 index 963e433db7c237119355f645ee3d8aa674c77259..8e53ee171250d2e44c18d9dac379bc8db824b97b 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
@@ -229,6 +229,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -229,6 +229,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -38,7 +38,7 @@ index 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bf
if (this.keepAlivePending) { if (this.keepAlivePending) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
@@ -3009,6 +3025,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -3011,6 +3027,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override @Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) { public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
@@ -56,10 +56,10 @@ index 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bf
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime); int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d940b295dc8657387e6e62fb9e0009a7b2c37121..675d29694c3acf5806c237459407ac45a2825409 100644 index 2c80bfba35073b0f381673cff7c972865f707ee5..53803f1dc9dcdae0c26193e627f52318d83a047d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -153,6 +153,11 @@ public class PurpurConfig { @@ -155,6 +155,11 @@ public class PurpurConfig {
laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold); laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold);
} }

View File

@@ -170,7 +170,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) { public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
super.spawnAfterBreak(state, world, pos, stack); super.spawnAfterBreak(state, world, pos, stack);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c7fb5a737cab0083c39732247acb8f4e87562894..f06be7e567f39b7c3c3d4b75bb5892b3d938533b 100644 index 76bd14850cdabd2883611ebecaa8227efdd02a64..50fe7dbad049db6be24a2ed68b07df587b0f5830 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,6 +1,12 @@ @@ -1,6 +1,12 @@
@@ -213,6 +213,6 @@ index c7fb5a737cab0083c39732247acb8f4e87562894..f06be7e567f39b7c3c3d4b75bb5892b3
+ }); + });
+ } + }
+ +
public int villagerBrainTicks = 1; public boolean babiesAreRidable = true;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean untamedTamablesAreRidable = true;
private void villagerSettings() { public boolean useNightVisionWhenRiding = false;

View File

@@ -50,22 +50,23 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a
} }
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f06be7e567f39b7c3c3d4b75bb5892b3d938533b..e778601b9a075311715d24beffaa421abb25c153 100644 index 50fe7dbad049db6be24a2ed68b07df587b0f5830..148cc428b17e0db46a86079bf4e2199b52f1ad84 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
@@ -104,6 +104,15 @@ public class PurpurWorldConfig { @@ -532,9 +532,15 @@ public class PurpurWorldConfig {
});
}
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
- private void turtleSettings() {
+ public boolean turtleEggsBreakFromExpOrbs = true; + public boolean turtleEggsBreakFromExpOrbs = true;
+ public boolean turtleEggsBreakFromItems = true; + public boolean turtleEggsBreakFromItems = true;
+ public boolean turtleEggsBreakFromMinecarts = true; + public boolean turtleEggsBreakFromMinecarts = true;
+ private void turtleEggSettings() { + private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
+ turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs); + turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
+ turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); + turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
+ turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); + turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
+ } }
+
public int villagerBrainTicks = 1; public boolean vexRidable = false;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() {

View File

@@ -17,10 +17,10 @@ index d1f85b092eba829b003e39c913a4afeffc140568..e159bf06a225aa63b4d397a7c76fa9ef
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 675d29694c3acf5806c237459407ac45a2825409..4e8f346cfe09b5806f53ae85729b3597b2e7c9eb 100644 index 53803f1dc9dcdae0c26193e627f52318d83a047d..4bac9e7c419c43b163bda6d1cebaa4c5fe42317f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -176,4 +176,11 @@ public class PurpurConfig { @@ -178,4 +178,11 @@ public class PurpurConfig {
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a62d79fbd7f1974f98520c536948225c5dc53c12..3c40cec55a1195f81ce453eaebe9487e140297ae 100644 index 0fc358d5491900affb61545d89a788bbb2435c04..c150a898c60a3477012e7d49e30f98cfcdc27247 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
@@ -289,6 +289,7 @@ public abstract class LivingEntity extends Entity { @@ -289,6 +289,7 @@ public abstract class LivingEntity extends Entity {
@@ -135,13 +135,13 @@ index a183226bb0cf01c5aaf7babe1d08fa9ab7388648..8f86797cd47b338a599dc053a515e16c
} }
} }
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 e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727ec9d8d5e3 100644 index 148cc428b17e0db46a86079bf4e2199b52f1ad84..3f92159deba19bb7257d920ec3b1f31c0e2bcf87 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
@@ -113,6 +113,28 @@ public class PurpurWorldConfig { @@ -261,9 +261,28 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
public boolean giantRidable = false;
public boolean giantRidableInWater = false;
+ public float giantStepHeight = 2.0F; + public float giantStepHeight = 2.0F;
+ public float giantJumpHeight = 1.0F; + public float giantJumpHeight = 1.0F;
+ public double giantMovementSpeed = 0.5D; + public double giantMovementSpeed = 0.5D;
@@ -149,7 +149,9 @@ index e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727e
+ public boolean giantHaveAI = false; + public boolean giantHaveAI = false;
+ public boolean giantHaveHostileAI = false; + public boolean giantHaveHostileAI = false;
+ public double giantMaxHealth = 100.0D; + public double giantMaxHealth = 100.0D;
+ private void giantSettings() { private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
+ giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight); + giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
+ giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); + giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
+ giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed); + giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
@@ -162,8 +164,6 @@ index e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727e
+ set("mobs.giant.max-health", null); + set("mobs.giant.max-health", null);
+ } + }
+ giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth); + giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
+ } }
+
public int villagerBrainTicks = 1; public boolean glowSquidRidable = false;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() {

View File

@@ -25,17 +25,19 @@ index c9fa01b910de7ecb494d3000afebea9a2bd1276a..c3ba23ed30d2e46a8e66d239ce026187
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
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 abf4d0b330ceeb1bd50b1fc17651727ec9d8d5e3..d15f9d600e25fdb1f950a016c947da6711d77ff9 100644 index 3f92159deba19bb7257d920ec3b1f31c0e2bcf87..6790836b719bbab7c5ab8ead6efd9723b4f58cd1 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
@@ -135,6 +135,20 @@ public class PurpurWorldConfig { @@ -323,9 +323,20 @@ public class PurpurWorldConfig {
giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
}
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;
+ public double illusionerMovementSpeed = 0.5D; + public double illusionerMovementSpeed = 0.5D;
+ public double illusionerFollowRange = 18.0D; + public double illusionerFollowRange = 18.0D;
+ public double illusionerMaxHealth = 32.0D; + public double illusionerMaxHealth = 32.0D;
+ private void illusionerSettings() { private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
+ illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed); + illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
+ illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange); + illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
+ if (PurpurConfig.version < 8) { + if (PurpurConfig.version < 8) {
@@ -44,8 +46,6 @@ index abf4d0b330ceeb1bd50b1fc17651727ec9d8d5e3..d15f9d600e25fdb1f950a016c947da67
+ set("mobs.illusioner.max-health", null); + set("mobs.illusioner.max-health", null);
+ } + }
+ illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth); + illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
+ } }
+
public int villagerBrainTicks = 1; public boolean ironGolemRidable = false;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360ccb746a7a 100644 index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044313ff117 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager; @@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
@@ -16,7 +16,7 @@ index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360c
import net.minecraft.world.entity.animal.horse.SkeletonHorse; import net.minecraft.world.entity.animal.horse.SkeletonHorse;
import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.EnderDragonPart;
import net.minecraft.world.entity.boss.enderdragon.EnderDragon; import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
@@ -712,12 +713,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -713,12 +714,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) { if (flag1) {
@@ -42,16 +42,18 @@ index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360c
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this); LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d15f9d600e25fdb1f950a016c947da6711d77ff9..bf943d2d293508da31eb7e2527dc33f1296dac03 100644 index 6790836b719bbab7c5ab8ead6efd9723b4f58cd1..d8011e5fe28458ae62f764cc355838bd08491f94 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
@@ -155,4 +155,9 @@ public class PurpurWorldConfig { @@ -651,9 +651,11 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); public boolean zombieHorseRidableInWater = false;
} public boolean zombieHorseCanSwim = false;
+
+ public double zombieHorseSpawnChance = 0.0D; + public double zombieHorseSpawnChance = 0.0D;
+ private void zombieHorseSettings() { private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
+ zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); + zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
+ } }
}
public boolean zombieVillagerRidable = false;

View File

@@ -57,18 +57,18 @@ index e8c36e8541f041a0d72a86f49ced2a3ce1549be0..27d8279b71f55ae711b0455bb4c5f152
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); this.goalSelector.addGoal(1, new FloatGoal(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 bf943d2d293508da31eb7e2527dc33f1296dac03..340fa2e2029c4a118fdfef93b40377eb31f7828f 100644 index d8011e5fe28458ae62f764cc355838bd08491f94..375eb6499a91e73310e93d6d42eaa799751f22a2 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
@@ -113,6 +113,11 @@ public class PurpurWorldConfig { @@ -180,9 +180,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;
+ public double creeperChargedChance = 0.0D;
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
+ creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
} }
+ public double creeperChargedChance = 0.0D; public boolean dolphinRidable = false;
+ private void creeperSettings() {
+ creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
+ }
+
public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F;
public double giantMovementSpeed = 0.5D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 3a9391b512974e812cac0d89119f68ba6728bfc9..2e6df2753b7a5397dea3dcef3e47750af7132d18 100644 index 4a60afbb79ffb86d3c41b48d923ca8b3beca1c54..384f8abd0fd12906956d1459115f48738cc6e16d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -365,7 +365,11 @@ public class Rabbit extends Animal { @@ -365,7 +365,11 @@ public class Rabbit extends Animal {
@@ -38,20 +38,20 @@ index 3a9391b512974e812cac0d89119f68ba6728bfc9..2e6df2753b7a5397dea3dcef3e47750a
int i = this.random.nextInt(100); int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 340fa2e2029c4a118fdfef93b40377eb31f7828f..f9908c4edd1b47b447556feeb5de05a0fd3db468 100644 index 375eb6499a91e73310e93d6d42eaa799751f22a2..100982bbf3f47a7c5d2da3e3f6957118c807b2f3 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
@@ -154,6 +154,13 @@ public class PurpurWorldConfig { @@ -456,9 +456,13 @@ public class PurpurWorldConfig {
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
}
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
+ public double rabbitNaturalToast = 0.0D; + public double rabbitNaturalToast = 0.0D;
+ public double rabbitNaturalKiller = 0.0D; + public double rabbitNaturalKiller = 0.0D;
+ private void rabbitSettings() { private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
+ 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);
+ } }
+
public int villagerBrainTicks = 1; public boolean ravagerRidable = false;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() {

View File

@@ -1,42 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 15 Jun 2019 03:12:15 -0500
Subject: [PATCH] Make Iron Golems Swim
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index ec00c2dd8f969eb99ec6a014e3bcd09c7484b237..9604bda9ed7e0a87bd627521440e8b70f076584a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -30,6 +30,7 @@ import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.NeutralMob;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
+import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.goal.GolemRandomStrollInVillageGoal;
import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
@@ -72,6 +73,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@Override
protected void registerGoals() {
+ if (level.purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new FloatGoal(this)); // Purpur
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0D, true));
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
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
index f9908c4edd1b47b447556feeb5de05a0fd3db468..d7a0d258fb150a595fc8fcbf47cc9dbdb899421a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -154,6 +154,11 @@ public class PurpurWorldConfig {
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
}
+ public boolean ironGolemCanSwim = false;
+ private void ironGolemSettings() {
+ ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
+ }
+
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
private void rabbitSettings() {

View File

@@ -40,10 +40,10 @@ index 8ea4209400489116823eced292d8cd9654a1c809..d19a025337c4b0a2965184b4c872f23d
this.entity.stopSeenByPlayer(player); this.entity.stopSeenByPlayer(player);
player.connection.send(new ClientboundRemoveEntityPacket(this.entity.getId())); player.connection.send(new ClientboundRemoveEntityPacket(this.entity.getId()));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4e8f346cfe09b5806f53ae85729b3597b2e7c9eb..561c27bc5c23e3761018b8475ad1512d880418fc 100644 index 4bac9e7c419c43b163bda6d1cebaa4c5fe42317f..94eb70018300ffd0c0796481118dba5ae1d954e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -177,6 +177,11 @@ public class PurpurConfig { @@ -179,6 +179,11 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
} }

View File

@@ -75,18 +75,18 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d7a0d258fb150a595fc8fcbf47cc9dbdb899421a..142135c8058eb3f199f5f7d4572daaac45d997a0 100644 index 100982bbf3f47a7c5d2da3e3f6957118c807b2f3..ce147273c7debd993af91df176cfe639ae95dfdc 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
@@ -118,6 +118,11 @@ public class PurpurWorldConfig { @@ -247,9 +247,11 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
+ public boolean foxTypeChangesWithTulips = false;
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
+ foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
} }
+ public boolean foxTypeChangesWithTulips = false; public boolean ghastRidable = false;
+ private void foxSettings() {
+ foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
+ }
+
public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F;
public double giantMovementSpeed = 0.5D;

View File

@@ -84,21 +84,21 @@ index 0694cd0b994ee595adca43c988485e6dc13c7244..583bb80059b9351d27d15859b1687dd8
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 142135c8058eb3f199f5f7d4572daaac45d997a0..8191eba054e4d47a1310c6d57688d759b909443e 100644 index ce147273c7debd993af91df176cfe639ae95dfdc..32b37da32b6cb2bb0a76a1759eacd28b8e32ece1 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
@@ -164,6 +164,14 @@ public class PurpurWorldConfig { @@ -446,9 +446,14 @@ public class PurpurWorldConfig {
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
}
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;
+ public String polarBearBreedableItemString = ""; + public String polarBearBreedableItemString = "";
+ public Item polarBearBreedableItem = null; + public Item polarBearBreedableItem = null;
+ private void polarBearSettings() { private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
+ polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); + polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
+ Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); + Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
+ if (item != Items.AIR) polarBearBreedableItem = item; + if (item != Items.AIR) polarBearBreedableItem = item;
+ } }
+
public double rabbitNaturalToast = 0.0D; public boolean pufferfishRidable = false;
public double rabbitNaturalKiller = 0.0D;
private void rabbitSettings() {

View File

@@ -66,18 +66,18 @@ index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889
@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 8191eba054e4d47a1310c6d57688d759b909443e..615f7a3ccb925a8db52c5f2e4e0510f740784194 100644 index 32b37da32b6cb2bb0a76a1759eacd28b8e32ece1..f6f3910c5a9f011e1513174cb9d70080ddb5b024 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
@@ -113,6 +113,11 @@ public class PurpurWorldConfig { @@ -161,9 +161,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
public boolean chickenRidable = false;
public boolean chickenRidableInWater = false;
+ public boolean chickenRetaliate = false;
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
+ chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
} }
+ public boolean chickenRetaliate = false; public boolean codRidable = false;
+ private void chickenSettings() {
+ chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
+ }
+
public double creeperChargedChance = 0.0D;
private void creeperSettings() {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);

View File

@@ -49,22 +49,22 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5d80cd3049e33d1bed7d347f4092a0ca476f711b..808803acb28dd6d7b2db1153a5a30cc3be46b2e4 100644 index ea7da77cc31a2220609f760d5f454c455b50d416..1806b9121cc131e4d4f57f4da004666954be7268 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
@@ -118,6 +118,15 @@ public class PurpurWorldConfig { @@ -152,9 +152,15 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
public boolean catRidable = false;
public boolean catRidableInWater = false;
+ public int catSpawnDelay = 1200; + public int catSpawnDelay = 1200;
+ public int catSpawnSwampHutScanRange = 16; + public int catSpawnSwampHutScanRange = 16;
+ public int catSpawnVillageScanRange = 48; + public int catSpawnVillageScanRange = 48;
+ private void catSettings() { private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
+ catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); + catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
+ catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); + catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
+ catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); + catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
+ } }
+
public boolean chickenRetaliate = false; public boolean caveSpiderRidable = false;
private void chickenSettings() {
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67a90cdd06 100644 index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b30256098 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
@@ -24,15 +24,15 @@ index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
// CraftBukkit start // CraftBukkit start
import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.craftbukkit.event.CraftEventFactory;
@@ -45,6 +47,7 @@ public class Cow extends Animal { @@ -58,6 +60,7 @@ public class Cow extends Animal {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D)); this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
+ if (level.purpurConfig.cowFeedMushrooms > 0) this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT, Blocks.RED_MUSHROOM.asItem(), Blocks.BROWN_MUSHROOM.asItem()), false)); else // Purpur + if (level.purpurConfig.cowFeedMushrooms > 0) this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT, Blocks.RED_MUSHROOM.asItem(), Blocks.BROWN_MUSHROOM.asItem()), false)); else // Purpur
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false)); this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D)); this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
@@ -99,11 +102,80 @@ public class Cow extends Animal { @@ -113,11 +116,80 @@ public class Cow extends Animal {
player.setItemInHand(hand, itemstack1); player.setItemInHand(hand, itemstack1);
return InteractionResult.sidedSuccess(this.level.isClientSide); return InteractionResult.sidedSuccess(this.level.isClientSide);
@@ -114,18 +114,18 @@ index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) { public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create((Level) world); return (Cow) EntityType.COW.create((Level) world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 808803acb28dd6d7b2db1153a5a30cc3be46b2e4..37b4b1b749a961e1702408c86dd84bc0dcbfa12b 100644 index 1806b9121cc131e4d4f57f4da004666954be7268..e9a00422f9952c98d04c0cbb2ea32ea6231f50ed 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
@@ -132,6 +132,11 @@ public class PurpurWorldConfig { @@ -186,9 +186,11 @@ public class PurpurWorldConfig {
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
+ public int cowFeedMushrooms = 0;
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
+ cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
} }
+ public int cowFeedMushrooms = 0; public boolean creeperRidable = false;
+ private void cowSettings() {
+ cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
+ }
+
public double creeperChargedChance = 0.0D;
private void creeperSettings() {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);

View File

@@ -28,18 +28,18 @@ index 2c95b6eddfe46e5d2ad495bfc86ccc24ae75e704..8a99b04e8179a640a289c4853777aa88
} }
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 37b4b1b749a961e1702408c86dd84bc0dcbfa12b..7a31a6973f1f7ec301befe00ce0153a0827f593e 100644 index e9a00422f9952c98d04c0cbb2ea32ea6231f50ed..e1da56c301be94c56c8377034ab948a1e4ecd071 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
@@ -188,6 +188,11 @@ public class PurpurWorldConfig { @@ -433,9 +433,11 @@ public class PurpurWorldConfig {
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
public boolean pigRidable = false;
public boolean pigRidableInWater = false;
+ public boolean pigGiveSaddleBack = false;
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
+ pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
} }
+ public boolean pigGiveSaddleBack = false; public boolean piglinRidable = false;
+ private void pigSettings() {
+ pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
+ }
+
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
private void polarBearSettings() {

View File

@@ -32,20 +32,21 @@ index 2631f08496c8e45874b22760b559a91b7b2bf415..226cadfc5f109b8f5060b5147034ac27
} }
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 7a31a6973f1f7ec301befe00ce0153a0827f593e..d04981114fa2bce174441558b4d1c7c43ae2ea34 100644 index e1da56c301be94c56c8377034ab948a1e4ecd071..4b039c4cd94c2ea1a61452530ca200d10829c166 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
@@ -208,6 +208,13 @@ public class PurpurWorldConfig { @@ -546,10 +546,14 @@ public class PurpurWorldConfig {
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); public boolean snowGolemRidable = false;
} public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
+ public boolean snowGolemDropsPumpkin = true; + public boolean snowGolemDropsPumpkin = true;
+ public boolean snowGolemPutPumpkinBack = false; + public boolean snowGolemPutPumpkinBack = false;
+ private void snowGolemSettings() { private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
+ 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);
+ } }
+
public int villagerBrainTicks = 1; public boolean squidRidable = false;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
private void villagerSettings() {

View File

@@ -18,18 +18,19 @@ index c98202092752a9015aaf95bd1471135b88e84425..682b532967a501e21df93c28c4ee4b59
} }
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 d04981114fa2bce174441558b4d1c7c43ae2ea34..33aedbee4508ced806c8b72b91a6d8b4a04a4b76 100644 index 4b039c4cd94c2ea1a61452530ca200d10829c166..190c1d8878eb4d533d31c6b803b951cdf9747450 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
@@ -142,6 +142,11 @@ public class PurpurWorldConfig { @@ -233,10 +233,12 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); public boolean enderDragonRidable = false;
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;
+ public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
enderDragonMaxY = getDouble("mobs.ender_dragon.ridable-max-y", enderDragonMaxY);
+ enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
} }
+ public boolean enderDragonAlwaysDropsFullExp = false; public boolean endermanRidable = false;
+ private void enderDragonSettings() {
+ enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
+ }
+
public boolean foxTypeChangesWithTulips = false;
private void foxSettings() {
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);

View File

@@ -35,7 +35,7 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
} else { } else {
return InteractionResult.PASS; return InteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 33aedbee4508ced806c8b72b91a6d8b4a04a4b76..26f5a224c7441a96ba4d4bd86eff4cdb100c28e6 100644 index 190c1d8878eb4d533d31c6b803b951cdf9747450..b9447c92151a8508806d16f81c5f57debf90481b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig { @@ -109,6 +109,11 @@ public class PurpurWorldConfig {
@@ -47,6 +47,6 @@ index 33aedbee4508ced806c8b72b91a6d8b4a04a4b76..26f5a224c7441a96ba4d4bd86eff4cdb
+ signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); + signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
+ } + }
+ +
public boolean turtleEggsBreakFromExpOrbs = true; public boolean babiesAreRidable = true;
public boolean turtleEggsBreakFromItems = true; public boolean untamedTamablesAreRidable = true;
public boolean turtleEggsBreakFromMinecarts = true; public boolean useNightVisionWhenRiding = false;

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 4a489763b70b48ec6817853328bcfadd8505bffb..b0191d4c4348bf523d9231405e4822fe9d45056a 100644 index 4816fd89517802dd00b37385d92e6711678ae373..2bf59d615800e9ccecf0f9fb5922a5733c68d188 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
@@ -1449,6 +1449,7 @@ public class ServerPlayer extends Player { @@ -1458,6 +1458,7 @@ public class ServerPlayer extends Player {
@Override @Override
public void openTextEdit(SignBlockEntity sign) { public void openTextEdit(SignBlockEntity sign) {
@@ -17,10 +17,10 @@ index 4a489763b70b48ec6817853328bcfadd8505bffb..b0191d4c4348bf523d9231405e4822fe
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 5c4d8b3587ff2eae4669428be90df5bff4608045..df7ae2126c5b8b81fefadc4245ba956f5916920f 100644 index 8e53ee171250d2e44c18d9dac379bc8db824b97b..b0874703991524cfaff7c62936d9311053a1d63b 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
@@ -3000,9 +3000,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -3002,9 +3002,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
} }
// Paper end // Paper end
if (this.player.isTextFilteringEnabled()) { if (this.player.isTextFilteringEnabled()) {
@@ -77,7 +77,7 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..3373c21f90eb08e2bfbb71bc348d085a
@Override @Override
public ClientboundBlockEntityDataPacket getUpdatePacket() { public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 26f5a224c7441a96ba4d4bd86eff4cdb100c28e6..3a9efffb7579665e7360bfcaf4ba390aca3201cb 100644 index b9447c92151a8508806d16f81c5f57debf90481b..6d7f140dfe4cd66811d2504f025a4d6808e77c20 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,8 +109,10 @@ public class PurpurWorldConfig { @@ -109,8 +109,10 @@ public class PurpurWorldConfig {

View File

@@ -4,28 +4,11 @@ Date: Sat, 29 Jun 2019 02:32:40 -0500
Subject: [PATCH] Minecart settings and WASD controls Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
index 22ea0da3836b61bb018ae974d2b8c7546b9528d6..dea8abfd8443702e138823bd536aaac2c3395d6f 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
@@ -41,6 +41,12 @@ public class BlockPos extends Vec3i {
private static final int X_OFFSET = 38;
// Paper end
+ // Purpur start
+ public BlockPos(net.minecraft.world.entity.Entity entity) {
+ super(entity.getX(), entity.getY(), entity.getZ());
+ }
+ // Purpur end
+
public BlockPos(int x, int y, int z) {
super(x, y, z);
}
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 b0191d4c4348bf523d9231405e4822fe9d45056a..70a071e55fef2d3e3501b6909ea67798fb1662be 100644 index 2bf59d615800e9ccecf0f9fb5922a5733c68d188..ab3a0f5af549fed0e048db93c03b1da9b9f0429f 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
@@ -976,6 +976,7 @@ public class ServerPlayer extends Player { @@ -985,6 +985,7 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else { } else {
@@ -165,7 +148,7 @@ index 933448659367b5f0b323bd91992fc9b59314b8a1..572e5f32a3c5aaffcec31da0cff9151e
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 42cf3dc7185408964e226c1fa41e4587c785e045..c63e46ae34a937a3ba5d1dc19afca256e306a224 100644 index 3cb91a8bc2dda2245993b0b484dee974e024755b..91bfba8f10ee60af5eaf9e95a1b2eb9437820b80 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,10 +4,15 @@ import net.minecraft.core.Registry; @@ -4,10 +4,15 @@ import net.minecraft.core.Registry;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 3c40cec55a1195f81ce453eaebe9487e140297ae..3cf3a6ba7bec27ce2ae9b294b0676fdc6c9e38b6 100644 index c150a898c60a3477012e7d49e30f98cfcdc27247..e208c49adff06626ea64fa7d69e2e389f722461f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity { @@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity {
@@ -20,11 +20,11 @@ index 3c40cec55a1195f81ce453eaebe9487e140297ae..3cf3a6ba7bec27ce2ae9b294b0676fdc
// CraftBukkit start - Call death event // CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c63e46ae34a937a3ba5d1dc19afca256e306a224..ecca777f038f90f5f731777dde2e6cfd39af9bb7 100644 index 91bfba8f10ee60af5eaf9e95a1b2eb9437820b80..d22871c0ba693af412fbcf842a3a6151777696ed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,11 @@ public class PurpurWorldConfig { @@ -73,6 +73,11 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
+ public boolean disableDropsOnCrammingDeath = false; + public boolean disableDropsOnCrammingDeath = false;
@@ -32,6 +32,6 @@ index c63e46ae34a937a3ba5d1dc19afca256e306a224..ecca777f038f90f5f731777dde2e6cfd
+ disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath); + disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
+ } + }
+ +
public int playerSpawnInvulnerableTicks = 60; public double minecartMaxSpeed = 0.4D;
public boolean playerInvulnerableWhileAcceptingResourcePack = false; public boolean minecartPlaceAnywhere = false;
private void playerInvulnerabilities() { public boolean minecartControllable = false;

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 70a071e55fef2d3e3501b6909ea67798fb1662be..c965344a8828c9668864abac4caa341787bca9e1 100644 index ab3a0f5af549fed0e048db93c03b1da9b9f0429f..eaaba6db13ac46c908b0fb52d4c41dfa71a58a10 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
@@ -1426,7 +1426,7 @@ public class ServerPlayer extends Player { @@ -1435,7 +1435,7 @@ public class ServerPlayer extends Player {
@Override @Override
public boolean isInvulnerableTo(DamageSource damageSource) { public boolean isInvulnerableTo(DamageSource damageSource) {

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ecca777f038f90f5f731777dde2e6cfd39af9bb7..d50fb2d82b1fc19d8d8249b72b80e0b11018e35f 100644 index d22871c0ba693af412fbcf842a3a6151777696ed..4d9c39e78f26ffb43d36a8c729bfd4ed136ff619 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
@@ -147,8 +147,10 @@ public class PurpurWorldConfig { @@ -74,8 +74,10 @@ public class PurpurWorldConfig {
} }
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
@@ -41,4 +41,4 @@ index ecca777f038f90f5f731777dde2e6cfd39af9bb7..d50fb2d82b1fc19d8d8249b72b80e0b1
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); + milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
} }
public int playerSpawnInvulnerableTicks = 60; public double minecartMaxSpeed = 0.4D;

View File

@@ -17,18 +17,18 @@ index 033d6389e4b7d986fc63abd67e325b68a6132824..f290c7b50c48b798697c49c738700457
} }
} }
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 d50fb2d82b1fc19d8d8249b72b80e0b11018e35f..b22f020c24969cf66445570efc1984acb63f03ce 100644 index 4d9c39e78f26ffb43d36a8c729bfd4ed136ff619..23b2895a3dd3e4d242ce11f89d4dad1c05e606fc 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
@@ -313,6 +313,11 @@ public class PurpurWorldConfig { @@ -745,9 +745,11 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
+ public boolean witherSkeletonTakesWitherDamage = false;
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
+ witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
} }
+ public boolean witherSkeletonTakesWitherDamage = false; public boolean wolfRidable = false;
+ private void witherSkeletonSettings() {
+ witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
+ }
+
public double zombieHorseSpawnChance = 0.0D;
private void zombieHorseSettings() {
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 33c0fad3f0a7283d193eb23afd210c0d912b5c2d..98b7ccbd1ee4d14fde0cdea2c08c432709fa6e56 100644 index ba70f1276215620c75cda410ac5acb60c51ffcac..8e8980ef7b2273da6e7dbf4d8d5eb9529a3392af 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1182,7 +1182,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1182,7 +1182,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -24,10 +24,10 @@ index 33c0fad3f0a7283d193eb23afd210c0d912b5c2d..98b7ccbd1ee4d14fde0cdea2c08c4327
this.profiler.pop(); this.profiler.pop();
this.endMetricsRecordingTick(); this.endMetricsRecordingTick();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 561c27bc5c23e3761018b8475ad1512d880418fc..3e70e16c5d1e515295efe7cbe6b718e388c01903 100644 index 94eb70018300ffd0c0796481118dba5ae1d954e3..122e24306370c09a82716daf0c372bf0d6ce8dbe 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -188,4 +188,9 @@ public class PurpurConfig { @@ -190,4 +190,9 @@ public class PurpurConfig {
loggerSuppressInitLegacyMaterialError = getBoolean("settings.logger.suppress-init-legacy-material-errors", loggerSuppressInitLegacyMaterialError); loggerSuppressInitLegacyMaterialError = getBoolean("settings.logger.suppress-init-legacy-material-errors", loggerSuppressInitLegacyMaterialError);
loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings); loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings);
} }

View File

@@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F); this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b22f020c24969cf66445570efc1984acb63f03ce..33bb5a69169251c2424756a1cdcba13c74b3c752 100644 index 23b2895a3dd3e4d242ce11f89d4dad1c05e606fc..c828459bc986aace14516985bc82f170bf34884c 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
@@ -148,9 +148,11 @@ public class PurpurWorldConfig { @@ -75,9 +75,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -32,4 +32,4 @@ index b22f020c24969cf66445570efc1984acb63f03ce..33bb5a69169251c2424756a1cdcba13c
+ tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); + tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
} }
public int playerSpawnInvulnerableTicks = 60; public double minecartMaxSpeed = 0.4D;

View File

@@ -38,29 +38,31 @@ index a39f4a1585ba888d27588a86130f6dae24f5a71b..b9cc542db0b5b9f7710c2f747cb9a4ed
} }
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 33bb5a69169251c2424756a1cdcba13c74b3c752..8e4c9dab2fa52dbc99473762e10651b89275cd59 100644 index c828459bc986aace14516985bc82f170bf34884c..60ea12540d41e6df52f2cf1f076c442501619148 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
@@ -225,8 +225,10 @@ public class PurpurWorldConfig { @@ -284,10 +284,12 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); public boolean creeperRidable = false;
} public boolean creeperRidableInWater = false;
+ public boolean creeperAllowGriefing = true;
public double creeperChargedChance = 0.0D; public double creeperChargedChance = 0.0D;
+ public boolean creeperAllowGriefing = true;
private void creeperSettings() { private void creeperSettings() {
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
} }
@@ -235,6 +237,11 @@ public class PurpurWorldConfig { public boolean dolphinRidable = false;
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -331,9 +333,11 @@ public class PurpurWorldConfig {
}
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
+ public boolean endermanAllowGriefing = true; + public boolean endermanAllowGriefing = true;
+ private void endermanSettings() { private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
+ endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); + endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
+ } }
+
public boolean foxTypeChangesWithTulips = false; public boolean endermiteRidable = false;
private void foxSettings() {
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index ecd6ce01f541a2885384dac47095422b86e194fa..4063bceb87da208db76da2a820e5338ba1b5119b 100644 index 9438a6dfee9e3a2a4b781eff63332386fb7d6b13..f605b87f8d0ea0f3646ab856e8fbf12a25c24594 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -619,7 +619,7 @@ public abstract class Mob extends LivingEntity { @@ -621,7 +621,7 @@ public abstract class Mob extends LivingEntity {
public void aiStep() { public void aiStep() {
super.aiStep(); super.aiStep();
this.level.getProfiler().push("looting"); this.level.getProfiler().push("looting");
@@ -18,10 +18,10 @@ index ecd6ce01f541a2885384dac47095422b86e194fa..4063bceb87da208db76da2a820e5338b
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8e4c9dab2fa52dbc99473762e10651b89275cd59..18248e6c7c11357a09cd1d41b62bd2722de58b76 100644 index 60ea12540d41e6df52f2cf1f076c442501619148..f108149ca5588624a3e69e4351db9191b414aa26 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
@@ -147,10 +147,12 @@ public class PurpurWorldConfig { @@ -74,10 +74,12 @@ public class PurpurWorldConfig {
} }
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;

View File

@@ -18,18 +18,20 @@ index 41b5652578e4a703cb6f03e82654b27ea6302b99..2d83b7252814a3a921db32a62f6bfb71
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) { } else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false; return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 18248e6c7c11357a09cd1d41b62bd2722de58b76..d69ec4ddb6e0d20546e26765eed9d7d9b3411674 100644 index f108149ca5588624a3e69e4351db9191b414aa26..53553a5aa2d7571fef895026f30dd4404101d5a3 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
@@ -319,9 +319,11 @@ public class PurpurWorldConfig { @@ -716,11 +716,13 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false;
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
+ public boolean villagerFarmingBypassMobGriefing = false; + public boolean villagerFarmingBypassMobGriefing = false;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
+ villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); + villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
} }
public boolean witherSkeletonTakesWitherDamage = false; public boolean vindicatorRidable = false;

View File

@@ -58,7 +58,7 @@ index d9d12330e84f204f96761051e1d92984d8a96330..897dcb4eb6e5530fb612e16551eb9e4f
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index c4f7c94255e4631a3c0355f9260132ba28296f50..11576b86368479c319691b58ad47f1f1e1479c68 100644 index c4f7c94255e4631a3c0355f9260132ba28296f50..05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -25,6 +25,7 @@ import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; @@ -25,6 +25,7 @@ import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
@@ -73,29 +73,38 @@ index c4f7c94255e4631a3c0355f9260132ba28296f50..11576b86368479c319691b58ad47f1f1
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D)); this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this)); this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D)); this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D));
+ if (level.purpurConfig.villagerTraderFollowEmeraldBlock) this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, TEMPT_ITEMS, false)); // Purpur + if (level.purpurConfig.wanderingTraderFollowEmeraldBlock) this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, TEMPT_ITEMS, false)); // Purpur
this.goalSelector.addGoal(4, new MoveTowardsRestrictionGoal(this, 0.35D)); this.goalSelector.addGoal(4, new MoveTowardsRestrictionGoal(this, 0.35D));
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d69ec4ddb6e0d20546e26765eed9d7d9b3411674..3be920c0fd4b406668cc18fbbb2dec6a7f0c2ab2 100644 index 53553a5aa2d7571fef895026f30dd4404101d5a3..a53f827843407ae4c8c6252796af66da41683caa 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
@@ -320,10 +320,17 @@ public class PurpurWorldConfig { @@ -717,12 +717,14 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1; public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
+ public boolean villagerFollowEmeraldBlock = false; + public boolean villagerFollowEmeraldBlock = false;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
+ villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); + villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
+ }
+
+ public boolean villagerTraderFollowEmeraldBlock = false;
+ private void villagerTraderSettings() {
+ villagerTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", villagerTraderFollowEmeraldBlock);
} }
public boolean witherSkeletonTakesWitherDamage = false; public boolean vindicatorRidable = false;
@@ -734,9 +736,11 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
+ public boolean wanderingTraderFollowEmeraldBlock = false;
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
+ wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
}
public boolean witchRidable = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 4063bceb87da208db76da2a820e5338ba1b5119b..f4c9e6184f39dea9ea1fda98333734773858d0f8 100644 index f605b87f8d0ea0f3646ab856e8fbf12a25c24594..0cbc90a8c1277a0f35e6636ca73b134b22544db3 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -47,6 +47,7 @@ import net.minecraft.world.entity.decoration.HangingEntity; @@ -47,6 +47,7 @@ import net.minecraft.world.entity.decoration.HangingEntity;
@@ -16,7 +16,7 @@ index 4063bceb87da208db76da2a820e5338ba1b5119b..f4c9e6184f39dea9ea1fda9833373477
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.vehicle.Boat; import net.minecraft.world.entity.vehicle.Boat;
import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ArmorItem;
@@ -1207,6 +1208,7 @@ public abstract class Mob extends LivingEntity { @@ -1209,6 +1210,7 @@ public abstract class Mob extends LivingEntity {
if (!this.isAlive()) { if (!this.isAlive()) {
return InteractionResult.PASS; return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) { } else if (this.getLeashHolder() == player) {
@@ -49,7 +49,7 @@ index 897dcb4eb6e5530fb612e16551eb9e4f457985f5..20cb368076017e6dfc28ef4c2af778c0
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676dfa9da5569 100644 index 05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a..f879faf7ebe01697ab36247dacdd46d4b4fbb77e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -95,6 +95,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -95,6 +95,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -59,7 +59,7 @@ index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676df
+ // Purpur start + // Purpur start
+ @Override + @Override
+ public boolean canBeLeashed(Player player) { + public boolean canBeLeashed(Player player) {
+ return level.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed(); + return level.purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
+ } + }
+ // Purpur end + // Purpur end
+ +
@@ -67,28 +67,35 @@ index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676df
@Override @Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) { public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
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 3be920c0fd4b406668cc18fbbb2dec6a7f0c2ab2..b6b362befd94e4cca156296058019c8a26c7b2f4 100644 index a53f827843407ae4c8c6252796af66da41683caa..ab902dc191c7bb0d90e7f3e6b045a017c8b50577 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
@@ -319,17 +319,21 @@ public class PurpurWorldConfig { @@ -718,6 +718,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerUseBrainTicksOnlyWhenLagging = true;
+ public boolean villagerCanBeLeashed = false;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
+ public boolean villagerCanBeLeashed = false;
private void villagerSettings() { private void villagerSettings() {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -725,6 +726,7 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
} }
+ public boolean villagerTraderCanBeLeashed = false; public boolean vindicatorRidable = false;
public boolean villagerTraderFollowEmeraldBlock = false; @@ -737,10 +739,12 @@ public class PurpurWorldConfig {
private void villagerTraderSettings() { public boolean wanderingTraderRidable = false;
+ villagerTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", villagerTraderCanBeLeashed); public boolean wanderingTraderRidableInWater = false;
villagerTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", villagerTraderFollowEmeraldBlock); public boolean wanderingTraderFollowEmeraldBlock = false;
+ public boolean wanderingTraderCanBeLeashed = false;
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
+ wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
} }
public boolean witchRidable = false;

View File

@@ -18,23 +18,24 @@ index 20cb368076017e6dfc28ef4c2af778c0971e8462..88d6b1596463d86f6e4e67da54f16da1
for (int i = 0; i < 10; ++i) { for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b6b362befd94e4cca156296058019c8a26c7b2f4..da5a59e87db5374b7113a8515cbe134fca7a2917 100644 index ab902dc191c7bb0d90e7f3e6b045a017c8b50577..6416319ebbf7822750f317b803eef9dbeefa7480 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
@@ -322,12 +322,16 @@ public class PurpurWorldConfig { @@ -719,6 +719,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerFarmingBypassMobGriefing = false; public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
+ public int villagerSpawnIronGolemRadius = 0; + public int villagerSpawnIronGolemRadius = 0;
+ public int villagerSpawnIronGolemLimit = 0; + public int villagerSpawnIronGolemLimit = 0;
private void villagerSettings() { private void villagerSettings() {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); @@ -727,6 +729,8 @@ public class PurpurWorldConfig {
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing); villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
+ villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); + villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
+ villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); + villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
} }
public boolean villagerTraderCanBeLeashed = false; public boolean vindicatorRidable = false;

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Add player death exp control options
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 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217072ffdc9 100644 index 686f64000ca633fe58d8d479ef3c8462052ec9c5..b7d572b2ce34f9b856e023fd90d1c7999fc448e5 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
@@ -194,6 +194,8 @@ public abstract class Player extends LivingEntity { @@ -196,6 +196,8 @@ public abstract class Player extends LivingEntity {
// CraftBukkit end public abstract void resetLastActionTime();
// Purpur start // Purpur start
+ private javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino"); + private javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino");
@@ -17,7 +17,7 @@ index 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217
public void setAfk(boolean afk) { public void setAfk(boolean afk) {
} }
@@ -1888,9 +1890,18 @@ public abstract class Player extends LivingEntity { @@ -1899,9 +1901,18 @@ public abstract class Player extends LivingEntity {
@Override @Override
protected int getExperienceReward(Player player) { protected int getExperienceReward(Player player) {
if (!this.level.getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) { if (!this.level.getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
@@ -40,11 +40,11 @@ index 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217
return 0; return 0;
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index be27a1c47d17992cfc7927fc5f0e5df23a225d96..d993ddd69022f4d9d9ceb3c449fde504419d1709 100644 index 46ce3d663b7bbcc7bb40964245ddf0350081d000..b36f3a38ec80db8fef2850a37e839b9d1492d730 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
@@ -157,6 +157,13 @@ public class PurpurWorldConfig { @@ -146,6 +146,13 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); }
} }
+ public String playerDeathExpDropEquation = "expLevel * 7"; + public String playerDeathExpDropEquation = "expLevel * 7";
@@ -54,6 +54,6 @@ index be27a1c47d17992cfc7927fc5f0e5df23a225d96..d993ddd69022f4d9d9ceb3c449fde504
+ playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); + playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
+ } + }
+ +
public int playerSpawnInvulnerableTicks = 60; public boolean idleTimeoutKick = true;
public boolean playerInvulnerableWhileAcceptingResourcePack = false; public boolean idleTimeoutTickNearbyEntities = true;
private void playerInvulnerabilities() { public boolean idleTimeoutCountAsSleeping = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6f5db4ea95603390912cb8c43543586449e6c55f..1d4f8835ba5c719dd3b6dfcab4c1db180a9513b5 100644 index 227db0f572d96072f6a1e3e3ecaab8a2b588348e..717c4c9a0545e5217ee59b84849bc32733019ad1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -18,7 +18,7 @@ index 6f5db4ea95603390912cb8c43543586449e6c55f..1d4f8835ba5c719dd3b6dfcab4c1db18
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) { && this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8e6a70ce404f499d7bbf26ebc5819ca88a6a7f53..4d9388ee79fd42d89a097127903a40700a28636e 100644 index 3ebecde8d723b5dc391dc4589cb5ecc5995ea640..09e783519a4e73db804c68510dbb37341dca487d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity { @@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity {
@@ -31,10 +31,10 @@ index 8e6a70ce404f499d7bbf26ebc5819ca88a6a7f53..4d9388ee79fd42d89a097127903a4070
protected void updateSwingTime() { protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d993ddd69022f4d9d9ceb3c449fde504419d1709..035883538cb4b4ad60b3b872c1348e95d5ebf2be 100644 index b36f3a38ec80db8fef2850a37e839b9d1492d730..669c03fb31ece7c79100c9c85086b021eaaa0508 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
@@ -150,11 +150,15 @@ public class PurpurWorldConfig { @@ -77,11 +77,15 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D; public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -49,4 +49,4 @@ index d993ddd69022f4d9d9ceb3c449fde504419d1709..035883538cb4b4ad60b3b872c1348e95
+ voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); + voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
public String playerDeathExpDropEquation = "expLevel * 7"; public double minecartMaxSpeed = 0.4D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index f4c9e6184f39dea9ea1fda98333734773858d0f8..5cca9a981fe74d9689c69f85e90d0c8ad94220d9 100644 index 0cbc90a8c1277a0f35e6636ca73b134b22544db3..5ca7c4f73a05c3d2f4859e2abc3404bb71a6a8ac 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index f4c9e6184f39dea9ea1fda98333734773858d0f8..5cca9a981fe74d9689c69f85e90d0c8a
import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.GameRules; import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
@@ -1064,6 +1065,12 @@ public abstract class Mob extends LivingEntity { @@ -1066,6 +1067,12 @@ public abstract class Mob extends LivingEntity {
} }
@@ -43,7 +43,7 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start // CraftBukkit start
Level world = pointer.getLevel(); Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 035883538cb4b4ad60b3b872c1348e95d5ebf2be..5feabb6c542c8254d276ba45a634c2f25eb55ef3 100644 index 669c03fb31ece7c79100c9c85086b021eaaa0508..313db66e32607b40613ba8d2088cad6710cebf0e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -198,6 +198,11 @@ public class PurpurWorldConfig { @@ -198,6 +198,11 @@ public class PurpurWorldConfig {

View File

@@ -17,18 +17,18 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else { } else {
return Boat.Status.IN_AIR; return Boat.Status.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5feabb6c542c8254d276ba45a634c2f25eb55ef3..7735506a31e9614f71498dbe04541b776bf5328d 100644 index 313db66e32607b40613ba8d2088cad6710cebf0e..db1b55015b3515ff5c54c07f5fa4f526b5179c1a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,7 @@ public class PurpurWorldConfig { @@ -73,6 +73,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
+ public boolean boatEjectPlayersOnLand = false; + public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true; public boolean milkCuresBadOmen = true;
@@ -153,6 +154,7 @@ public class PurpurWorldConfig { @@ -80,6 +81,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {

View File

@@ -73,18 +73,18 @@ index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving); Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY; return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7735506a31e9614f71498dbe04541b776bf5328d..4f0da082391d6cf6a761c54a917a8181eefde457 100644 index db1b55015b3515ff5c54c07f5fa4f526b5179c1a..f6ed942db08ecbcc67a70491b854c703978c63c0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,7 @@ public class PurpurWorldConfig { @@ -73,6 +73,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList); armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
} }
+ public boolean useBetterMending = false; + public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false; public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -154,6 +155,7 @@ public class PurpurWorldConfig { @@ -81,6 +82,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D; public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D; public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4d9388ee79fd42d89a097127903a40700a28636e..e3877948e0901f849caa9b530bbd930d526c57f6 100644 index 09e783519a4e73db804c68510dbb37341dca487d..04a565e35deac75d03e9af4a47e3b28439e68694 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
@@ -3261,7 +3261,16 @@ public abstract class LivingEntity extends Entity { @@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {
@@ -99,10 +99,10 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20); entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) { if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4f0da082391d6cf6a761c54a917a8181eefde457..8306dc47d15492a5a7ad357c6c9073874b231394 100644 index f6ed942db08ecbcc67a70491b854c703978c63c0..4e23880e93f73e645e160a1a73e4bd0776a01dba 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
@@ -165,6 +165,19 @@ public class PurpurWorldConfig { @@ -92,6 +92,19 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
} }
@@ -119,6 +119,6 @@ index 4f0da082391d6cf6a761c54a917a8181eefde457..8306dc47d15492a5a7ad357c6c907387
+ elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); + elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
+ } + }
+ +
public String playerDeathExpDropEquation = "expLevel * 7"; public double minecartMaxSpeed = 0.4D;
public int playerDeathExpDropMax = 100; public boolean minecartPlaceAnywhere = false;
private void playerDeathExpSettings() { public boolean minecartControllable = false;

View File

@@ -93,11 +93,11 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8306dc47d15492a5a7ad357c6c9073874b231394..983598f6f51d1754dabd86c18368ec3bcaa97e99 100644 index 4e23880e93f73e645e160a1a73e4bd0776a01dba..48d5dff7041f4e05e6c508ef23921ee8a5d71dd2 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
@@ -135,6 +135,49 @@ public class PurpurWorldConfig { @@ -105,6 +105,49 @@ public class PurpurWorldConfig {
} elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
} }
+ public List<Item> itemImmuneToCactus = new ArrayList<>(); + public List<Item> itemImmuneToCactus = new ArrayList<>();
@@ -143,6 +143,6 @@ index 8306dc47d15492a5a7ad357c6c9073874b231394..983598f6f51d1754dabd86c18368ec3b
+ }); + });
+ } + }
+ +
public boolean idleTimeoutKick = true; public double minecartMaxSpeed = 0.4D;
public boolean idleTimeoutTickNearbyEntities = true; public boolean minecartPlaceAnywhere = false;
public boolean idleTimeoutCountAsSleeping = false; public boolean minecartControllable = false;

View File

@@ -17,18 +17,19 @@ index d478627dcd2b6e3d3d95b3fa224a25d44e6bbafb..158fc5748f175708a0c3415a2217663f
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 3e70e16c5d1e515295efe7cbe6b718e388c01903..95bbde3892de77bff6181250812290cfbf5104d1 100644 index 122e24306370c09a82716daf0c372bf0d6ce8dbe..5406eacf095c0f569a5900059524a6422a8f7557 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -131,10 +131,12 @@ public class PurpurConfig { @@ -132,11 +132,13 @@ public class PurpurConfig {
public static String afkBroadcastAway = "§e§o%s is now AFK"; public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] "; public static String afkTabListPrefix = "[AFK] ";
public static String cannotRideMob = "<red>You cannot mount that mob";
+ public static String pingCommandOutput = "§a%s's ping is %sms"; + public static String pingCommandOutput = "§a%s's ping is %sms";
private static void messages() { private static void messages() {
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway); afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack); afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix); afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
+ pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); + pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
} }

View File

@@ -184,74 +184,83 @@ index 233b390541acddcf815db4a8f299496eaea4f758..a50191aac887dffd3a7930455cb222fa
public void setPersistentAngerTarget(@Nullable UUID uuid) { public void setPersistentAngerTarget(@Nullable UUID uuid) {
this.persistentAngerTarget = uuid; this.persistentAngerTarget = uuid;
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 983598f6f51d1754dabd86c18368ec3bcaa97e99..d504e6b4fa0749ac268d0ab59084ff5fbc11f7ff 100644 index 48d5dff7041f4e05e6c508ef23921ee8a5d71dd2..ad6c76a06a31d40ba5d5a8eb6af34d7e6f98c1b2 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
@@ -321,6 +321,15 @@ public class PurpurWorldConfig { @@ -399,9 +399,15 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}
public boolean drownedRidable = false;
public boolean drownedRidableInWater = false;
+ public boolean drownedJockeyOnlyBaby = true; + public boolean drownedJockeyOnlyBaby = true;
+ public double drownedJockeyChance = 0.05D; + public double drownedJockeyChance = 0.05D;
+ public boolean drownedJockeyTryExistingChickens = true; + public boolean drownedJockeyTryExistingChickens = true;
+ private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
+ drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); + drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
+ drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); + drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
+ drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); + drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
+ }
+
public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -358,6 +367,15 @@ public class PurpurWorldConfig {
giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
} }
public boolean elderGuardianRidable = false;
@@ -518,9 +524,15 @@ public class PurpurWorldConfig {
public boolean huskRidable = false;
public boolean huskRidableInWater = false;
+ public boolean huskJockeyOnlyBaby = true; + public boolean huskJockeyOnlyBaby = true;
+ public double huskJockeyChance = 0.05D; + public double huskJockeyChance = 0.05D;
+ public boolean huskJockeyTryExistingChickens = true; + public boolean huskJockeyTryExistingChickens = true;
+ private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
+ huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); + huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
+ huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); + huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
+ huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); + huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
+ }
+
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -433,8 +451,35 @@ public class PurpurWorldConfig {
witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
} }
public boolean illusionerRidable = false;
@@ -877,9 +889,15 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
+ public boolean zombieJockeyOnlyBaby = true; + public boolean zombieJockeyOnlyBaby = true;
+ public double zombieJockeyChance = 0.05D; + public double zombieJockeyChance = 0.05D;
+ public boolean zombieJockeyTryExistingChickens = true; + public boolean zombieJockeyTryExistingChickens = true;
+ private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
+ zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); + zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
+ zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); + zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
+ zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); + zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
+ }
+
public double zombieHorseSpawnChance = 0.0D;
private void zombieHorseSettings() {
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
} }
+
public boolean zombieHorseRidableInWater = false;
@@ -893,15 +911,27 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidable = false;
public boolean zombieVillagerRidableInWater = false;
+ public boolean zombieVillagerJockeyOnlyBaby = true;
+ public double zombieVillagerJockeyChance = 0.05D;
+ public boolean zombieVillagerJockeyTryExistingChickens = true;
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
+ zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
+ zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
+ zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
}
public boolean zombiefiedPiglinRidable = false;
public boolean zombiefiedPiglinRidableInWater = false;
- private void zombiefiedPiglinSettings() {
+ public boolean zombifiedPiglinJockeyOnlyBaby = true; + public boolean zombifiedPiglinJockeyOnlyBaby = true;
+ public double zombifiedPiglinJockeyChance = 0.05D; + public double zombifiedPiglinJockeyChance = 0.05D;
+ public boolean zombifiedPiglinJockeyTryExistingChickens = true; + public boolean zombifiedPiglinJockeyTryExistingChickens = true;
+ private void zombifiedPiglinSettings() { + private void zombifiedPiglinSettings() {
zombiefiedPiglinRidable = getBoolean("mobs.zombiefied_piglin.ridable", zombiefiedPiglinRidable);
zombiefiedPiglinRidableInWater = getBoolean("mobs.zombiefied_piglin.ridable-in-water", zombiefiedPiglinRidableInWater);
+ 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);
+ } }
+
+ public boolean zombieVillagerJockeyOnlyBaby = true;
+ public double zombieVillagerJockeyChance = 0.05D;
+ public boolean zombieVillagerJockeyTryExistingChickens = true;
+ private void zombieVillagerSettings() {
+ zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
+ zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
+ zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
+ }
} }