mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
progress
This commit is contained in:
@@ -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
|
||||
index b88097f6a82e3ddf7e6db4b362bc810cf14d25b9..e1e5e6f24a0d7578625a06c080c5a6076a97be71 100644
|
||||
index 659193fc0596084031c09aa47fbb428a93d052e8..e1f871812e563605e31837159f129d69e05b868f 100644
|
||||
--- a/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> {
|
||||
// Purpur start
|
||||
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<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
|
||||
@@ -196,6 +196,11 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
|
||||
GoalKey<Raider> RAIDER_CELEBRATION = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_celebration"));
|
||||
GoalKey<Raider> RAIDER_MOVE_THROUGH_VILLAGE = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_move_through_village"));
|
||||
|
||||
+ // 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
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..48e7ac392fe5efac8a4ce549e31a05ed817417e4
|
||||
@@ -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
|
||||
index 659193fc0596084031c09aa47fbb428a93d052e8..b88097f6a82e3ddf7e6db4b362bc810cf14d25b9 100644
|
||||
index e1f871812e563605e31837159f129d69e05b868f..91262be391b9bf7067bdf257fc385f0b70747182 100644
|
||||
--- a/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> {
|
||||
GoalKey<Raider> OBTAIN_RAID_LEADER_BANNER = GoalKey.of(Raider.class, NamespacedKey.minecraft("obtain_raid_leader_banner"));
|
||||
GoalKey<Raider> RAIDER_CELEBRATION = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_celebration"));
|
||||
GoalKey<Raider> RAIDER_MOVE_THROUGH_VILLAGE = GoalKey.of(Raider.class, NamespacedKey.minecraft("raider_move_through_village"));
|
||||
+ // Purpur start
|
||||
@@ -199,6 +199,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
|
||||
// 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"));
|
||||
+ 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"));
|
||||
+ // Purpur end
|
||||
// Purpur end
|
||||
|
||||
/**
|
||||
* @deprecated removed in 1.16
|
||||
@@ -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
|
||||
index e1e5e6f24a0d7578625a06c080c5a6076a97be71..7728488e32bce6780f604d8f74f714853f2079a2 100644
|
||||
index 91262be391b9bf7067bdf257fc385f0b70747182..569ffabc5c092217cd7ff69e8089654624bb9045 100644
|
||||
--- a/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> {
|
||||
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"));
|
||||
@@ -201,6 +201,8 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
|
||||
GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider"));
|
||||
GoalKey<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<Zombie> ZOMBIE_ATTACK_VILLAGER = GoalKey.of(Zombie.class, NamespacedKey.minecraft("zombie_attack_villager"));
|
||||
// Purpur end
|
||||
|
||||
@@ -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
|
||||
index 7728488e32bce6780f604d8f74f714853f2079a2..71139ef4251ea8c5954445d9476625c57165462b 100644
|
||||
index 569ffabc5c092217cd7ff69e8089654624bb9045..e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8 100644
|
||||
--- a/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> {
|
||||
GoalKey<AbstractHorse> HORSE_HAS_RIDER = GoalKey.of(AbstractHorse.class, NamespacedKey.minecraft("horse_has_rider"));
|
||||
@@ -203,6 +203,7 @@ public interface VanillaGoal<T extends Mob> extends Goal<T> {
|
||||
GoalKey<Phantom> ORBIT_CRYSTAL_GOAL = GoalKey.of(Phantom.class, NamespacedKey.minecraft("orbit_crystal_goal"));
|
||||
GoalKey<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<Wolf> AVOID_RABID_WOLVES = GoalKey.of(Wolf.class, NamespacedKey.minecraft("avoid_rabid_wolves"));
|
||||
|
||||
@@ -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
|
||||
index 71139ef4251ea8c5954445d9476625c57165462b..e5a8247d4c1c6e16f99f670552b9cf1f490b50ce 100644
|
||||
index e17b9d08c9ed9f7fd7e11b6461b9c5f0d04556a8..1c691750265a31f05e877d5f62c29f01117930b9 100644
|
||||
--- a/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<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"));
|
||||
|
||||
2155
patches/server/0003-Ridables.patch
Normal file
2155
patches/server/0003-Ridables.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -54,12 +54,12 @@ index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..279cf6a1f9ee6e5ed099eedbf68ee72a
|
||||
String hostName = "BrokenHost";
|
||||
try {
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -127,4 +127,10 @@ public class PurpurConfig {
|
||||
config.addDefault(path, def);
|
||||
return config.getString(path, config.getString(path));
|
||||
@@ -132,4 +132,10 @@ public class PurpurConfig {
|
||||
private static void messages() {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
}
|
||||
+
|
||||
+ public static String timingsUrl = "https://timings.pl3x.net";
|
||||
@@ -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
|
||||
index 6660e8ad9084b4ea0b7433eed41c63e24d93a963..7e0c9505427f58df767ab44f18bec66212b7dd57 100644
|
||||
index 358ce4bb952fbf50bf78a35f19b4c61e6f4d1afd..7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a 100644
|
||||
--- a/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);
|
||||
if (!co.aikar.timings.TimingsManager.hiddenConfigs.contains("server-ip")) co.aikar.timings.TimingsManager.hiddenConfigs.add("server-ip");
|
||||
}
|
||||
@@ -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
|
||||
index b4055c6de62c22ba8ee8384884f9b3fd62eddeb8..16891782bc6038e493180c678d564f1f57a0f9a2 100644
|
||||
index 84c0c68e327d73e782cd451fc0d209a8b4287b2e..610b1d32c34659ec8459b984cde4aa80bee89f11 100644
|
||||
--- a/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() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -64,7 +64,7 @@ index b4055c6de62c22ba8ee8384884f9b3fd62eddeb8..16891782bc6038e493180c678d564f1f
|
||||
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
|
||||
index 40d0dac02bb1922483d68f3cdd09a228f66d09f6..b50ae4093b4bda0d62ec6ac445c969327871dd38 100644
|
||||
index 8e585ea6a070b2339cf396d70224a0d3791abe1f..3792cb44df997e72d902f26fe09590b1c5c7e814 100644
|
||||
--- a/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
|
||||
@@ -142,25 +142,23 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4
|
||||
private EntitySelector() {}
|
||||
// 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
|
||||
index d286d88a3c3f93dbfa92de9421e320c92cd96350..1cc9291f14a4d655cb1b91479b954d76cc1fcf7f 100644
|
||||
index b4ebd8d3ad90e51ed953d091610eafe558a3184f..686f64000ca633fe58d8d479ef3c8462052ec9c5 100644
|
||||
--- a/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 {
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {
|
||||
public abstract void resetLastActionTime();
|
||||
|
||||
+ // Purpur start
|
||||
// Purpur start
|
||||
+ public void setAfk(boolean afk) {
|
||||
+ }
|
||||
+
|
||||
+ public boolean isAfk() {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public Player(Level world, BlockPos pos, float yaw, GameProfile profile) {
|
||||
super(EntityType.PLAYER, world);
|
||||
this.lastItemInMainHand = ItemStack.EMPTY;
|
||||
@Override
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
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
|
||||
index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c91ed32e03 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
@@ -175,34 +173,32 @@ index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c9
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
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
|
||||
+++ 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));
|
||||
}
|
||||
|
||||
+ public static String afkBroadcastAway = "§e§o%s is now AFK";
|
||||
+ public static String afkBroadcastBack = "§e§o%s is no longer AFK";
|
||||
+ public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
|
||||
+ public static String afkBroadcastBack = "<yellow><italic>%s is no longer 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);
|
||||
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
+ }
|
||||
+
|
||||
public static String timingsUrl = "https://timings.pl3x.net";
|
||||
private static void timingsSettings() {
|
||||
timingsUrl = getString("settings.timings.url", timingsUrl);
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
}
|
||||
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -56,4 +56,15 @@ public class PurpurWorldConfig {
|
||||
PurpurConfig.config.addDefault("world-settings.default." + path, def);
|
||||
@@ -57,6 +57,17 @@ public class PurpurWorldConfig {
|
||||
return PurpurConfig.config.getString("world-settings." + worldName + "." + path, PurpurConfig.config.getString("world-settings.default." + path));
|
||||
}
|
||||
+
|
||||
|
||||
+ public boolean idleTimeoutKick = true;
|
||||
+ public boolean idleTimeoutTickNearbyEntities = true;
|
||||
+ public boolean idleTimeoutCountAsSleeping = false;
|
||||
@@ -213,7 +209,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c
|
||||
+ idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
+ 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
|
||||
index 05007190441117fe8b2f8b54fc37e589ffc213dc..04b49b0d570d3049ffa756376e2f374a98335b67 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -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
|
||||
index f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb..e50aa9ab6ca8adde7a2314ad86f604e68cf0de43 100644
|
||||
index 2ff3c3f64a61e152262e82a1c33a474bbe4e9c5c..247b4c599018cb42cd4b2da5d8b4d732f2e884b0 100644
|
||||
--- a/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
|
||||
public String getServerModName() {
|
||||
@@ -18,11 +18,11 @@ index f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb..e50aa9ab6ca8adde7a2314ad86f604e6
|
||||
|
||||
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
|
||||
index 5842f8fad24c08cb001a192bf36de690fd14cd32..538dffe906da7f30a1ac8fd0d96b8cbe058242a9 100644
|
||||
index e818682578beac89fb6b7c8cf6a2240b1210055a..f64cd4a887ab57f32c9cfc6a1d808f41cc1b36f1 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -137,6 +137,11 @@ public class PurpurConfig {
|
||||
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
|
||||
@@ -139,6 +139,11 @@ public class PurpurConfig {
|
||||
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
|
||||
}
|
||||
|
||||
+ public static String serverModName = "Purpur";
|
||||
@@ -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
|
||||
index 58b36ed797476f3cec78529e09e913ebb791c5e3..644c339a9adae9500a8d7e20c9509af5eb2fece4 100644
|
||||
index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bbb2435c04 100644
|
||||
--- a/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 {
|
||||
@@ -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
|
||||
index e50aa9ab6ca8adde7a2314ad86f604e68cf0de43..33c0fad3f0a7283d193eb23afd210c0d912b5c2d 100644
|
||||
index 247b4c599018cb42cd4b2da5d8b4d732f2e884b0..ba70f1276215620c75cda410ac5acb60c51ffcac 100644
|
||||
--- a/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
|
||||
@@ -25,10 +25,10 @@ index e50aa9ab6ca8adde7a2314ad86f604e68cf0de43..33c0fad3f0a7283d193eb23afd210c0d
|
||||
}
|
||||
midTickChunksTasksRan = 0; // Paper
|
||||
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
|
||||
+++ 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");
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd8505bffb 100644
|
||||
index 610b1d32c34659ec8459b984cde4aa80bee89f11..4816fd89517802dd00b37385d92e6711678ae373 100644
|
||||
--- a/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 {
|
||||
@@ -16,7 +16,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
|
||||
}
|
||||
// Paper start - Chunk priority
|
||||
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
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -971,7 +978,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -980,7 +987,7 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
|
||||
|
||||
@@ -38,7 +38,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
|
||||
return false;
|
||||
} else {
|
||||
if (source instanceof EntityDamageSource) {
|
||||
@@ -1146,6 +1153,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1155,6 +1162,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -46,7 +46,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2364,8 +2372,16 @@ public class ServerPlayer extends Player {
|
||||
@@ -2373,8 +2381,16 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public boolean isImmobile() {
|
||||
@@ -65,7 +65,7 @@ index 16891782bc6038e493180c678d564f1f57a0f9a2..4a489763b70b48ec6817853328bcfadd
|
||||
@Override
|
||||
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
|
||||
index b50ae4093b4bda0d62ec6ac445c969327871dd38..23e536192bce9f85bebdcd8ba8dc019ca56fde90 100644
|
||||
index 3792cb44df997e72d902f26fe09590b1c5c7e814..963e433db7c237119355f645ee3d8aa674c77259 100644
|
||||
--- a/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
|
||||
@@ -90,21 +90,23 @@ index d6ecf7671663957b27ee0cadbfc57ce3a7be161c..bcff95d97549f56f542644f8348a8408
|
||||
return entityplayer1;
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -67,4 +67,11 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
@@ -68,6 +68,13 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
}
|
||||
+
|
||||
|
||||
+ public int playerSpawnInvulnerableTicks = 60;
|
||||
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
+ private void playerInvulnerabilities() {
|
||||
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
|
||||
+ 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
|
||||
index 04b49b0d570d3049ffa756376e2f374a98335b67..19f6bbf8e63c1f3f7391fe85fb283b8ee4fbfccc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -36,18 +36,20 @@ index 27530389690ec329bd92a722e4faf87e367bce91..d9d12330e84f204f96761051e1d92984
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -74,4 +74,11 @@ public class PurpurWorldConfig {
|
||||
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
|
||||
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||
}
|
||||
+
|
||||
@@ -519,9 +519,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean villagerRidable = false;
|
||||
public boolean villagerRidableInWater = false;
|
||||
+ public int villagerBrainTicks = 1;
|
||||
+ 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);
|
||||
+ villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -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
|
||||
index 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bff4608045 100644
|
||||
index 963e433db7c237119355f645ee3d8aa674c77259..8e53ee171250d2e44c18d9dac379bc8db824b97b 100644
|
||||
--- a/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
|
||||
@@ -38,7 +38,7 @@ index 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bf
|
||||
if (this.keepAlivePending) {
|
||||
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
|
||||
@@ -3009,6 +3025,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3011,6 +3027,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
@@ -56,10 +56,10 @@ index 23e536192bce9f85bebdcd8ba8dc019ca56fde90..5c4d8b3587ff2eae4669428be90df5bf
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
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
|
||||
index d940b295dc8657387e6e62fb9e0009a7b2c37121..675d29694c3acf5806c237459407ac45a2825409 100644
|
||||
index 2c80bfba35073b0f381673cff7c972865f707ee5..53803f1dc9dcdae0c26193e627f52318d83a047d 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
|
||||
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack 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
|
||||
index c7fb5a737cab0083c39732247acb8f4e87562894..f06be7e567f39b7c3c3d4b75bb5892b3d938533b 100644
|
||||
index 76bd14850cdabd2883611ebecaa8227efdd02a64..50fe7dbad049db6be24a2ed68b07df587b0f5830 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1,6 +1,12 @@
|
||||
@@ -213,6 +213,6 @@ index c7fb5a737cab0083c39732247acb8f4e87562894..f06be7e567f39b7c3c3d4b75bb5892b3
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
public boolean babiesAreRidable = true;
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
@@ -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
|
||||
index f06be7e567f39b7c3c3d4b75bb5892b3d938533b..e778601b9a075311715d24beffaa421abb25c153 100644
|
||||
index 50fe7dbad049db6be24a2ed68b07df587b0f5830..148cc428b17e0db46a86079bf4e2199b52f1ad84 100644
|
||||
--- a/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 turtleEggsBreakFromItems = true;
|
||||
+ public boolean turtleEggsBreakFromMinecarts = true;
|
||||
+ 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);
|
||||
+ turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
|
||||
+ turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
}
|
||||
|
||||
public boolean vexRidable = false;
|
||||
@@ -17,10 +17,10 @@ index d1f85b092eba829b003e39c913a4afeffc140568..e159bf06a225aa63b4d397a7c76fa9ef
|
||||
}
|
||||
// CraftBukkit end
|
||||
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
|
||||
+++ 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);
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
}
|
||||
@@ -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
|
||||
index a62d79fbd7f1974f98520c536948225c5dc53c12..3c40cec55a1195f81ce453eaebe9487e140297ae 100644
|
||||
index 0fc358d5491900affb61545d89a788bbb2435c04..c150a898c60a3477012e7d49e30f98cfcdc27247 100644
|
||||
--- a/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 {
|
||||
@@ -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
|
||||
index e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727ec9d8d5e3 100644
|
||||
index 148cc428b17e0db46a86079bf4e2199b52f1ad84..3f92159deba19bb7257d920ec3b1f31c0e2bcf87 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,28 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
}
|
||||
@@ -261,9 +261,28 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean giantRidable = false;
|
||||
public boolean giantRidableInWater = false;
|
||||
+ public float giantStepHeight = 2.0F;
|
||||
+ public float giantJumpHeight = 1.0F;
|
||||
+ public double giantMovementSpeed = 0.5D;
|
||||
@@ -149,7 +149,9 @@ index e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727e
|
||||
+ public boolean giantHaveAI = false;
|
||||
+ public boolean giantHaveHostileAI = false;
|
||||
+ 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);
|
||||
+ giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
|
||||
+ giantMovementSpeed = getDouble("mobs.giant.movement-speed", giantMovementSpeed);
|
||||
@@ -162,8 +164,6 @@ index e778601b9a075311715d24beffaa421abb25c153..abf4d0b330ceeb1bd50b1fc17651727e
|
||||
+ set("mobs.giant.max-health", null);
|
||||
+ }
|
||||
+ giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
}
|
||||
|
||||
public boolean glowSquidRidable = false;
|
||||
@@ -25,17 +25,19 @@ index c9fa01b910de7ecb494d3000afebea9a2bd1276a..c3ba23ed30d2e46a8e66d239ce026187
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -135,6 +135,20 @@ public class PurpurWorldConfig {
|
||||
giantMaxHealth = getDouble("mobs.giant.attributes.max-health", giantMaxHealth);
|
||||
}
|
||||
@@ -323,9 +323,20 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
public boolean illusionerRidableInWater = false;
|
||||
+ public double illusionerMovementSpeed = 0.5D;
|
||||
+ public double illusionerFollowRange = 18.0D;
|
||||
+ public double illusionerMaxHealth = 32.0D;
|
||||
+ private void illusionerSettings() {
|
||||
private void illusionerSettings() {
|
||||
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
|
||||
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
|
||||
+ illusionerMovementSpeed = getDouble("mobs.illusioner.movement-speed", illusionerMovementSpeed);
|
||||
+ illusionerFollowRange = getDouble("mobs.illusioner.follow-range", illusionerFollowRange);
|
||||
+ if (PurpurConfig.version < 8) {
|
||||
@@ -44,8 +46,6 @@ index abf4d0b330ceeb1bd50b1fc17651727ec9d8d5e3..d15f9d600e25fdb1f950a016c947da67
|
||||
+ set("mobs.illusioner.max-health", null);
|
||||
+ }
|
||||
+ illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
}
|
||||
|
||||
public boolean ironGolemRidable = false;
|
||||
@@ -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
|
||||
index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360ccb746a7a 100644
|
||||
index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044313ff117 100644
|
||||
--- a/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;
|
||||
@@ -16,7 +16,7 @@ index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360c
|
||||
import net.minecraft.world.entity.animal.horse.SkeletonHorse;
|
||||
import net.minecraft.world.entity.boss.EnderDragonPart;
|
||||
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
|
||||
|
||||
if (flag1) {
|
||||
@@ -42,16 +42,18 @@ index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..31b9f57f74ae53c3f6cd5a16811b360c
|
||||
|
||||
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
|
||||
index d15f9d600e25fdb1f950a016c947da6711d77ff9..bf943d2d293508da31eb7e2527dc33f1296dac03 100644
|
||||
index 6790836b719bbab7c5ab8ead6efd9723b4f58cd1..d8011e5fe28458ae62f764cc355838bd08491f94 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -155,4 +155,9 @@ public class PurpurWorldConfig {
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
}
|
||||
+
|
||||
@@ -651,9 +651,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean zombieHorseRidableInWater = false;
|
||||
public boolean zombieHorseCanSwim = false;
|
||||
+ 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);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
public boolean zombieVillagerRidable = false;
|
||||
@@ -57,18 +57,18 @@ index e8c36e8541f041a0d72a86f49ced2a3ce1549be0..27d8279b71f55ae711b0455bb4c5f152
|
||||
protected void registerGoals() {
|
||||
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
|
||||
index bf943d2d293508da31eb7e2527dc33f1296dac03..340fa2e2029c4a118fdfef93b40377eb31f7828f 100644
|
||||
index d8011e5fe28458ae62f764cc355838bd08491f94..375eb6499a91e73310e93d6d42eaa799751f22a2 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
@@ -180,9 +180,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ 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;
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -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
|
||||
index 3a9391b512974e812cac0d89119f68ba6728bfc9..2e6df2753b7a5397dea3dcef3e47750af7132d18 100644
|
||||
index 4a60afbb79ffb86d3c41b48d923ca8b3beca1c54..384f8abd0fd12906956d1459115f48738cc6e16d 100644
|
||||
--- a/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 {
|
||||
@@ -38,20 +38,20 @@ index 3a9391b512974e812cac0d89119f68ba6728bfc9..2e6df2753b7a5397dea3dcef3e47750a
|
||||
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
|
||||
index 340fa2e2029c4a118fdfef93b40377eb31f7828f..f9908c4edd1b47b447556feeb5de05a0fd3db468 100644
|
||||
index 375eb6499a91e73310e93d6d42eaa799751f22a2..100982bbf3f47a7c5d2da3e3f6957118c807b2f3 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -154,6 +154,13 @@ public class PurpurWorldConfig {
|
||||
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max-health", illusionerMaxHealth);
|
||||
}
|
||||
@@ -456,9 +456,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean rabbitRidable = false;
|
||||
public boolean rabbitRidableInWater = false;
|
||||
+ public double rabbitNaturalToast = 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);
|
||||
+ rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
@@ -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() {
|
||||
@@ -40,10 +40,10 @@ index 8ea4209400489116823eced292d8cd9654a1c809..d19a025337c4b0a2965184b4c872f23d
|
||||
this.entity.stopSeenByPlayer(player);
|
||||
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
|
||||
index 4e8f346cfe09b5806f53ae85729b3597b2e7c9eb..561c27bc5c23e3761018b8475ad1512d880418fc 100644
|
||||
index 4bac9e7c419c43b163bda6d1cebaa4c5fe42317f..94eb70018300ffd0c0796481118dba5ae1d954e3 100644
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
||||
@@ -75,18 +75,18 @@ index 31f4e4a93ea5fd3ffe7e60dff2e2a9642b51daa2..26470e4e07387fcf0c02c1f8845950ec
|
||||
// Paper start - Cancellable death event
|
||||
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
|
||||
index d7a0d258fb150a595fc8fcbf47cc9dbdb899421a..142135c8058eb3f199f5f7d4572daaac45d997a0 100644
|
||||
index 100982bbf3f47a7c5d2da3e3f6957118c807b2f3..ce147273c7debd993af91df176cfe639ae95dfdc 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
@@ -247,9 +247,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ 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;
|
||||
public boolean ghastRidable = false;
|
||||
|
||||
@@ -84,21 +84,21 @@ index 0694cd0b994ee595adca43c988485e6dc13c7244..583bb80059b9351d27d15859b1687dd8
|
||||
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
||||
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
|
||||
index 142135c8058eb3f199f5f7d4572daaac45d997a0..8191eba054e4d47a1310c6d57688d759b909443e 100644
|
||||
index ce147273c7debd993af91df176cfe639ae95dfdc..32b37da32b6cb2bb0a76a1759eacd28b8e32ece1 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -164,6 +164,14 @@ public class PurpurWorldConfig {
|
||||
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
|
||||
}
|
||||
@@ -446,9 +446,14 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean polarBearRidable = false;
|
||||
public boolean polarBearRidableInWater = false;
|
||||
+ public String polarBearBreedableItemString = "";
|
||||
+ 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);
|
||||
+ Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
|
||||
+ if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
+ }
|
||||
+
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
private void rabbitSettings() {
|
||||
}
|
||||
|
||||
public boolean pufferfishRidable = false;
|
||||
|
||||
@@ -66,18 +66,18 @@ index 8460bed561c09a647f6e0209f7c5448e5a42b281..56aee819372d4baacf73c345603ce889
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,11 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
@@ -161,9 +161,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ 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);
|
||||
public boolean codRidable = false;
|
||||
|
||||
@@ -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
|
||||
index 5d80cd3049e33d1bed7d347f4092a0ca476f711b..808803acb28dd6d7b2db1153a5a30cc3be46b2e4 100644
|
||||
index ea7da77cc31a2220609f760d5f454c455b50d416..1806b9121cc131e4d4f57f4da004666954be7268 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,15 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
}
|
||||
@@ -152,9 +152,15 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean catRidable = false;
|
||||
public boolean catRidableInWater = false;
|
||||
+ public int catSpawnDelay = 1200;
|
||||
+ public int catSpawnSwampHutScanRange = 16;
|
||||
+ 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);
|
||||
+ catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
+ catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
+ }
|
||||
+
|
||||
public boolean chickenRetaliate = false;
|
||||
private void chickenSettings() {
|
||||
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
|
||||
@@ -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
|
||||
index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67a90cdd06 100644
|
||||
index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b30256098 100644
|
||||
--- a/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 @@
|
||||
@@ -24,15 +24,15 @@ index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
@@ -45,6 +47,7 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -58,6 +60,7 @@ public class Cow extends Animal {
|
||||
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(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
|
||||
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(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);
|
||||
return InteractionResult.sidedSuccess(this.level.isClientSide);
|
||||
@@ -114,18 +114,18 @@ index c9dcbc2dcb2736d0f448496c67121db29b7d4deb..c338dcca4242e472fe2290f0ec20ea67
|
||||
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
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
|
||||
index 808803acb28dd6d7b2db1153a5a30cc3be46b2e4..37b4b1b749a961e1702408c86dd84bc0dcbfa12b 100644
|
||||
index 1806b9121cc131e4d4f57f4da004666954be7268..e9a00422f9952c98d04c0cbb2ea32ea6231f50ed 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -132,6 +132,11 @@ public class PurpurWorldConfig {
|
||||
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
||||
@@ -186,9 +186,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ 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);
|
||||
public boolean creeperRidable = false;
|
||||
|
||||
@@ -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
|
||||
index 37b4b1b749a961e1702408c86dd84bc0dcbfa12b..7a31a6973f1f7ec301befe00ce0153a0827f593e 100644
|
||||
index e9a00422f9952c98d04c0cbb2ea32ea6231f50ed..e1da56c301be94c56c8377034ab948a1e4ecd071 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -188,6 +188,11 @@ public class PurpurWorldConfig {
|
||||
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
|
||||
@@ -433,9 +433,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ private void pigSettings() {
|
||||
+ pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
||||
+ }
|
||||
+
|
||||
public String polarBearBreedableItemString = "";
|
||||
public Item polarBearBreedableItem = null;
|
||||
private void polarBearSettings() {
|
||||
public boolean piglinRidable = false;
|
||||
|
||||
@@ -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
|
||||
index 7a31a6973f1f7ec301befe00ce0153a0827f593e..d04981114fa2bce174441558b4d1c7c43ae2ea34 100644
|
||||
index e1da56c301be94c56c8377034ab948a1e4ecd071..4b039c4cd94c2ea1a61452530ca200d10829c166 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -208,6 +208,13 @@ public class PurpurWorldConfig {
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
}
|
||||
|
||||
@@ -546,10 +546,14 @@ public class PurpurWorldConfig {
|
||||
public boolean snowGolemRidable = false;
|
||||
public boolean snowGolemRidableInWater = false;
|
||||
public boolean snowGolemLeaveTrailWhenRidden = false;
|
||||
+ public boolean snowGolemDropsPumpkin = true;
|
||||
+ 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);
|
||||
+ snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
|
||||
+ }
|
||||
+
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
private void villagerSettings() {
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
|
||||
@@ -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
|
||||
index d04981114fa2bce174441558b4d1c7c43ae2ea34..33aedbee4508ced806c8b72b91a6d8b4a04a4b76 100644
|
||||
index 4b039c4cd94c2ea1a61452530ca200d10829c166..190c1d8878eb4d533d31c6b803b951cdf9747450 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -142,6 +142,11 @@ public class PurpurWorldConfig {
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
@@ -233,10 +233,12 @@ public class PurpurWorldConfig {
|
||||
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;
|
||||
+ 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);
|
||||
public boolean endermanRidable = false;
|
||||
|
||||
@@ -35,7 +35,7 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
|
||||
} else {
|
||||
return InteractionResult.PASS;
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {
|
||||
@@ -47,6 +47,6 @@ index 33aedbee4508ced806c8b72b91a6d8b4a04a4b76..26f5a224c7441a96ba4d4bd86eff4cdb
|
||||
+ signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
|
||||
+ }
|
||||
+
|
||||
public boolean turtleEggsBreakFromExpOrbs = true;
|
||||
public boolean turtleEggsBreakFromItems = true;
|
||||
public boolean turtleEggsBreakFromMinecarts = true;
|
||||
public boolean babiesAreRidable = true;
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
|
||||
@@ -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
|
||||
index 4a489763b70b48ec6817853328bcfadd8505bffb..b0191d4c4348bf523d9231405e4822fe9d45056a 100644
|
||||
index 4816fd89517802dd00b37385d92e6711678ae373..2bf59d615800e9ccecf0f9fb5922a5733c68d188 100644
|
||||
--- a/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
|
||||
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 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
|
||||
index 5c4d8b3587ff2eae4669428be90df5bff4608045..df7ae2126c5b8b81fefadc4245ba956f5916920f 100644
|
||||
index 8e53ee171250d2e44c18d9dac379bc8db824b97b..b0874703991524cfaff7c62936d9311053a1d63b 100644
|
||||
--- a/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
|
||||
if (this.player.isTextFilteringEnabled()) {
|
||||
@@ -77,7 +77,7 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..3373c21f90eb08e2bfbb71bc348d085a
|
||||
@Override
|
||||
public ClientboundBlockEntityDataPacket getUpdatePacket() {
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -4,28 +4,11 @@ Date: Sat, 29 Jun 2019 02:32:40 -0500
|
||||
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
|
||||
index b0191d4c4348bf523d9231405e4822fe9d45056a..70a071e55fef2d3e3501b6909ea67798fb1662be 100644
|
||||
index 2bf59d615800e9ccecf0f9fb5922a5733c68d188..ab3a0f5af549fed0e048db93c03b1da9b9f0429f 100644
|
||||
--- a/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)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -165,7 +148,7 @@ index 933448659367b5f0b323bd91992fc9b59314b8a1..572e5f32a3c5aaffcec31da0cff9151e
|
||||
protected final float explosionResistance;
|
||||
protected final boolean isRandomlyTicking;
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -4,10 +4,15 @@ import net.minecraft.core.Registry;
|
||||
|
||||
@@ -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
|
||||
index 3c40cec55a1195f81ce453eaebe9487e140297ae..3cf3a6ba7bec27ce2ae9b294b0676fdc6c9e38b6 100644
|
||||
index c150a898c60a3477012e7d49e30f98cfcdc27247..e208c49adff06626ea64fa7d69e2e389f722461f 100644
|
||||
--- a/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 {
|
||||
@@ -20,11 +20,11 @@ index 3c40cec55a1195f81ce453eaebe9487e140297ae..3cf3a6ba7bec27ce2ae9b294b0676fdc
|
||||
// CraftBukkit start - Call death event
|
||||
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
|
||||
index c63e46ae34a937a3ba5d1dc19afca256e306a224..ecca777f038f90f5f731777dde2e6cfd39af9bb7 100644
|
||||
index 91bfba8f10ee60af5eaf9e95a1b2eb9437820b80..d22871c0ba693af412fbcf842a3a6151777696ed 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -146,6 +146,11 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
@@ -73,6 +73,11 @@ public class PurpurWorldConfig {
|
||||
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
||||
}
|
||||
|
||||
+ public boolean disableDropsOnCrammingDeath = false;
|
||||
@@ -32,6 +32,6 @@ index c63e46ae34a937a3ba5d1dc19afca256e306a224..ecca777f038f90f5f731777dde2e6cfd
|
||||
+ disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
+ }
|
||||
+
|
||||
public int playerSpawnInvulnerableTicks = 60;
|
||||
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
private void playerInvulnerabilities() {
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
public boolean minecartPlaceAnywhere = false;
|
||||
public boolean minecartControllable = false;
|
||||
|
||||
@@ -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
|
||||
index 70a071e55fef2d3e3501b6909ea67798fb1662be..c965344a8828c9668864abac4caa341787bca9e1 100644
|
||||
index ab3a0f5af549fed0e048db93c03b1da9b9f0429f..eaaba6db13ac46c908b0fb52d4c41dfa71a58a10 100644
|
||||
--- a/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
|
||||
public boolean isInvulnerableTo(DamageSource damageSource) {
|
||||
|
||||
@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
|
||||
|
||||
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
|
||||
index ecca777f038f90f5f731777dde2e6cfd39af9bb7..d50fb2d82b1fc19d8d8249b72b80e0b11018e35f 100644
|
||||
index d22871c0ba693af412fbcf842a3a6151777696ed..4d9c39e78f26ffb43d36a8c729bfd4ed136ff619 100644
|
||||
--- a/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;
|
||||
@@ -41,4 +41,4 @@ index ecca777f038f90f5f731777dde2e6cfd39af9bb7..d50fb2d82b1fc19d8d8249b72b80e0b1
|
||||
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
}
|
||||
|
||||
public int playerSpawnInvulnerableTicks = 60;
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
|
||||
@@ -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
|
||||
index d50fb2d82b1fc19d8d8249b72b80e0b11018e35f..b22f020c24969cf66445570efc1984acb63f03ce 100644
|
||||
index 4d9c39e78f26ffb43d36a8c729bfd4ed136ff619..23b2895a3dd3e4d242ce11f89d4dad1c05e606fc 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -313,6 +313,11 @@ public class PurpurWorldConfig {
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
@@ -745,9 +745,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
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;
|
||||
+ 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);
|
||||
public boolean wolfRidable = false;
|
||||
|
||||
@@ -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
|
||||
index 33c0fad3f0a7283d193eb23afd210c0d912b5c2d..98b7ccbd1ee4d14fde0cdea2c08c432709fa6e56 100644
|
||||
index ba70f1276215620c75cda410ac5acb60c51ffcac..8e8980ef7b2273da6e7dbf4d8d5eb9529a3392af 100644
|
||||
--- a/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
|
||||
@@ -24,10 +24,10 @@ index 33c0fad3f0a7283d193eb23afd210c0d912b5c2d..98b7ccbd1ee4d14fde0cdea2c08c4327
|
||||
this.profiler.pop();
|
||||
this.endMetricsRecordingTick();
|
||||
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
|
||||
+++ 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);
|
||||
loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
|
||||
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
|
||||
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
|
||||
index b22f020c24969cf66445570efc1984acb63f03ce..33bb5a69169251c2424756a1cdcba13c74b3c752 100644
|
||||
index 23b2895a3dd3e4d242ce11f89d4dad1c05e606fc..c828459bc986aace14516985bc82f170bf34884c 100644
|
||||
--- a/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 milkCuresBadOmen = true;
|
||||
@@ -32,4 +32,4 @@ index b22f020c24969cf66445570efc1984acb63f03ce..33bb5a69169251c2424756a1cdcba13c
|
||||
+ tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
}
|
||||
|
||||
public int playerSpawnInvulnerableTicks = 60;
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
|
||||
@@ -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
|
||||
index 33bb5a69169251c2424756a1cdcba13c74b3c752..8e4c9dab2fa52dbc99473762e10651b89275cd59 100644
|
||||
index c828459bc986aace14516985bc82f170bf34884c..60ea12540d41e6df52f2cf1f076c442501619148 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -225,8 +225,10 @@ public class PurpurWorldConfig {
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
}
|
||||
|
||||
+ public boolean creeperAllowGriefing = true;
|
||||
@@ -284,10 +284,12 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperRidable = false;
|
||||
public boolean creeperRidableInWater = false;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
+ public boolean creeperAllowGriefing = true;
|
||||
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);
|
||||
+ creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
||||
}
|
||||
|
||||
@@ -235,6 +237,11 @@ public class PurpurWorldConfig {
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
}
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -331,9 +333,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
public boolean endermanRidableInWater = false;
|
||||
+ 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);
|
||||
+ }
|
||||
+
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
private void foxSettings() {
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
}
|
||||
|
||||
public boolean endermiteRidable = false;
|
||||
|
||||
@@ -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
|
||||
index ecd6ce01f541a2885384dac47095422b86e194fa..4063bceb87da208db76da2a820e5338ba1b5119b 100644
|
||||
index 9438a6dfee9e3a2a4b781eff63332386fb7d6b13..f605b87f8d0ea0f3646ab856e8fbf12a25c24594 100644
|
||||
--- a/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() {
|
||||
super.aiStep();
|
||||
this.level.getProfiler().push("looting");
|
||||
@@ -18,10 +18,10 @@ index ecd6ce01f541a2885384dac47095422b86e194fa..4063bceb87da208db76da2a820e5338b
|
||||
Iterator iterator = list.iterator();
|
||||
|
||||
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
|
||||
+++ 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;
|
||||
|
||||
@@ -18,18 +18,20 @@ index 41b5652578e4a703cb6f03e82654b27ea6302b99..2d83b7252814a3a921db32a62f6bfb71
|
||||
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) {
|
||||
return false;
|
||||
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
|
||||
+++ 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 boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
+ public boolean villagerFarmingBypassMobGriefing = false;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
+ villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
|
||||
}
|
||||
|
||||
public boolean witherSkeletonTakesWitherDamage = false;
|
||||
public boolean vindicatorRidable = false;
|
||||
|
||||
@@ -58,7 +58,7 @@ index d9d12330e84f204f96761051e1d92984d8a96330..897dcb4eb6e5530fb612e16551eb9e4f
|
||||
public Brain<Villager> getBrain() {
|
||||
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
|
||||
index c4f7c94255e4631a3c0355f9260132ba28296f50..11576b86368479c319691b58ad47f1f1e1479c68 100644
|
||||
index c4f7c94255e4631a3c0355f9260132ba28296f50..05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a 100644
|
||||
--- a/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;
|
||||
@@ -73,29 +73,38 @@ index c4f7c94255e4631a3c0355f9260132ba28296f50..11576b86368479c319691b58ad47f1f1
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
|
||||
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
|
||||
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(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
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
|
||||
index d69ec4ddb6e0d20546e26765eed9d7d9b3411674..3be920c0fd4b406668cc18fbbb2dec6a7f0c2ab2 100644
|
||||
index 53553a5aa2d7571fef895026f30dd4404101d5a3..a53f827843407ae4c8c6252796af66da41683caa 100644
|
||||
--- a/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 boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
public boolean villagerFarmingBypassMobGriefing = false;
|
||||
+ public boolean villagerFollowEmeraldBlock = false;
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
|
||||
+ 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;
|
||||
|
||||
@@ -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
|
||||
index 4063bceb87da208db76da2a820e5338ba1b5119b..f4c9e6184f39dea9ea1fda98333734773858d0f8 100644
|
||||
index f605b87f8d0ea0f3646ab856e8fbf12a25c24594..0cbc90a8c1277a0f35e6636ca73b134b22544db3 100644
|
||||
--- a/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;
|
||||
@@ -16,7 +16,7 @@ index 4063bceb87da208db76da2a820e5338ba1b5119b..f4c9e6184f39dea9ea1fda9833373477
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.entity.vehicle.Boat;
|
||||
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()) {
|
||||
return InteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == player) {
|
||||
@@ -49,7 +49,7 @@ index 897dcb4eb6e5530fb612e16551eb9e4f457985f5..20cb368076017e6dfc28ef4c2af778c0
|
||||
|
||||
@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
|
||||
index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676dfa9da5569 100644
|
||||
index 05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a..f879faf7ebe01697ab36247dacdd46d4b4fbb77e 100644
|
||||
--- a/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
|
||||
@@ -59,7 +59,7 @@ index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676df
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean canBeLeashed(Player player) {
|
||||
+ return level.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed();
|
||||
+ return level.purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -67,28 +67,35 @@ index 11576b86368479c319691b58ad47f1f1e1479c68..a17f61874a8999973d7368cf729676df
|
||||
@Override
|
||||
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
|
||||
index 3be920c0fd4b406668cc18fbbb2dec6a7f0c2ab2..b6b362befd94e4cca156296058019c8a26c7b2f4 100644
|
||||
index a53f827843407ae4c8c6252796af66da41683caa..ab902dc191c7bb0d90e7f3e6b045a017c8b50577 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -319,17 +319,21 @@ public class PurpurWorldConfig {
|
||||
|
||||
public int villagerBrainTicks = 1;
|
||||
@@ -718,6 +718,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
+ public boolean villagerCanBeLeashed = false;
|
||||
public boolean villagerFarmingBypassMobGriefing = false;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
+ public boolean villagerCanBeLeashed = false;
|
||||
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);
|
||||
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
+ villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
}
|
||||
|
||||
+ public boolean villagerTraderCanBeLeashed = false;
|
||||
public boolean villagerTraderFollowEmeraldBlock = false;
|
||||
private void villagerTraderSettings() {
|
||||
+ villagerTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", villagerTraderCanBeLeashed);
|
||||
villagerTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", villagerTraderFollowEmeraldBlock);
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -737,10 +739,12 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderRidable = false;
|
||||
public boolean wanderingTraderRidableInWater = false;
|
||||
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;
|
||||
|
||||
@@ -18,23 +18,24 @@ index 20cb368076017e6dfc28ef4c2af778c0971e8462..88d6b1596463d86f6e4e67da54f16da1
|
||||
|
||||
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
|
||||
index b6b362befd94e4cca156296058019c8a26c7b2f4..da5a59e87db5374b7113a8515cbe134fca7a2917 100644
|
||||
index ab902dc191c7bb0d90e7f3e6b045a017c8b50577..6416319ebbf7822750f317b803eef9dbeefa7480 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -322,12 +322,16 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
@@ -719,6 +719,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerFarmingBypassMobGriefing = false;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
+ public int villagerSpawnIronGolemRadius = 0;
|
||||
+ public int villagerSpawnIronGolemLimit = 0;
|
||||
private void villagerSettings() {
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -727,6 +729,8 @@ public class PurpurWorldConfig {
|
||||
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
|
||||
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);
|
||||
+ villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
||||
}
|
||||
|
||||
public boolean villagerTraderCanBeLeashed = false;
|
||||
public boolean vindicatorRidable = false;
|
||||
|
||||
@@ -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
|
||||
index 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217072ffdc9 100644
|
||||
index 686f64000ca633fe58d8d479ef3c8462052ec9c5..b7d572b2ce34f9b856e023fd90d1c7999fc448e5 100644
|
||||
--- a/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 {
|
||||
// CraftBukkit end
|
||||
@@ -196,6 +196,8 @@ public abstract class Player extends LivingEntity {
|
||||
public abstract void resetLastActionTime();
|
||||
|
||||
// Purpur start
|
||||
+ private javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino");
|
||||
@@ -17,7 +17,7 @@ index 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217
|
||||
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
|
||||
protected int getExperienceReward(Player player) {
|
||||
if (!this.level.getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
|
||||
@@ -40,11 +40,11 @@ index 1cc9291f14a4d655cb1b91479b954d76cc1fcf7f..ea613f494c9c6fbf1aea40eed5164217
|
||||
return 0;
|
||||
}
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -157,6 +157,13 @@ public class PurpurWorldConfig {
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
@@ -146,6 +146,13 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
+ public String playerDeathExpDropEquation = "expLevel * 7";
|
||||
@@ -54,6 +54,6 @@ index be27a1c47d17992cfc7927fc5f0e5df23a225d96..d993ddd69022f4d9d9ceb3c449fde504
|
||||
+ playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
+ }
|
||||
+
|
||||
public int playerSpawnInvulnerableTicks = 60;
|
||||
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
private void playerInvulnerabilities() {
|
||||
public boolean idleTimeoutKick = true;
|
||||
public boolean idleTimeoutTickNearbyEntities = true;
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
|
||||
@@ -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
|
||||
index 6f5db4ea95603390912cb8c43543586449e6c55f..1d4f8835ba5c719dd3b6dfcab4c1db180a9513b5 100644
|
||||
index 227db0f572d96072f6a1e3e3ecaab8a2b588348e..717c4c9a0545e5217ee59b84849bc32733019ad1 100644
|
||||
--- a/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
|
||||
@@ -18,7 +18,7 @@ index 6f5db4ea95603390912cb8c43543586449e6c55f..1d4f8835ba5c719dd3b6dfcab4c1db18
|
||||
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
|
||||
// Paper end
|
||||
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
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -31,10 +31,10 @@ index 8e6a70ce404f499d7bbf26ebc5819ca88a6a7f53..4d9388ee79fd42d89a097127903a4070
|
||||
|
||||
protected void updateSwingTime() {
|
||||
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
|
||||
+++ 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 milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
@@ -49,4 +49,4 @@ index d993ddd69022f4d9d9ceb3c449fde504419d1709..035883538cb4b4ad60b3b872c1348e95
|
||||
+ voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
|
||||
}
|
||||
|
||||
public String playerDeathExpDropEquation = "expLevel * 7";
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
|
||||
@@ -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
|
||||
index f4c9e6184f39dea9ea1fda98333734773858d0f8..5cca9a981fe74d9689c69f85e90d0c8ad94220d9 100644
|
||||
index 0cbc90a8c1277a0f35e6636ca73b134b22544db3..5ca7c4f73a05c3d2f4859e2abc3404bb71a6a8ac 100644
|
||||
--- a/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;
|
||||
@@ -16,7 +16,7 @@ index f4c9e6184f39dea9ea1fda98333734773858d0f8..5cca9a981fe74d9689c69f85e90d0c8a
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.GameRules;
|
||||
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
|
||||
Level world = pointer.getLevel();
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -198,6 +198,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -17,18 +17,18 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
|
||||
} else {
|
||||
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
|
||||
index 5feabb6c542c8254d276ba45a634c2f25eb55ef3..7735506a31e9614f71498dbe04541b776bf5328d 100644
|
||||
index 313db66e32607b40613ba8d2088cad6710cebf0e..db1b55015b3515ff5c54c07f5fa4f526b5179c1a 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -146,6 +146,7 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
@@ -73,6 +73,7 @@ public class PurpurWorldConfig {
|
||||
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
||||
}
|
||||
|
||||
+ public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean entitiesPickUpLootBypassMobGriefing = false;
|
||||
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 voidDamageDealt = 4.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
|
||||
@@ -73,18 +73,18 @@ index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b
|
||||
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
|
||||
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
|
||||
index 7735506a31e9614f71498dbe04541b776bf5328d..4f0da082391d6cf6a761c54a917a8181eefde457 100644
|
||||
index db1b55015b3515ff5c54c07f5fa4f526b5179c1a..f6ed942db08ecbcc67a70491b854c703978c63c0 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -146,6 +146,7 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
@@ -73,6 +73,7 @@ public class PurpurWorldConfig {
|
||||
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
||||
}
|
||||
|
||||
+ public boolean useBetterMending = false;
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = 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 voidDamageDealt = 4.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
|
||||
@@ -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
|
||||
index 4d9388ee79fd42d89a097127903a40700a28636e..e3877948e0901f849caa9b530bbd930d526c57f6 100644
|
||||
index 09e783519a4e73db804c68510dbb37341dca487d..04a565e35deac75d03e9af4a47e3b28439e68694 100644
|
||||
--- a/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;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
@@ -99,10 +99,10 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
|
||||
entityhuman.startAutoSpinAttack(20);
|
||||
if (entityhuman.isOnGround()) {
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
@@ -119,6 +119,6 @@ index 4f0da082391d6cf6a761c54a917a8181eefde457..8306dc47d15492a5a7ad357c6c907387
|
||||
+ elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
|
||||
+ }
|
||||
+
|
||||
public String playerDeathExpDropEquation = "expLevel * 7";
|
||||
public int playerDeathExpDropMax = 100;
|
||||
private void playerDeathExpSettings() {
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
public boolean minecartPlaceAnywhere = false;
|
||||
public boolean minecartControllable = false;
|
||||
|
||||
@@ -93,11 +93,11 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
|
||||
+ // Purpur end
|
||||
}
|
||||
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
|
||||
+++ 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<>();
|
||||
@@ -143,6 +143,6 @@ index 8306dc47d15492a5a7ad357c6c9073874b231394..983598f6f51d1754dabd86c18368ec3b
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
public boolean idleTimeoutKick = true;
|
||||
public boolean idleTimeoutTickNearbyEntities = true;
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
public boolean minecartPlaceAnywhere = false;
|
||||
public boolean minecartControllable = false;
|
||||
|
||||
@@ -17,18 +17,19 @@ index d478627dcd2b6e3d3d95b3fa224a25d44e6bbafb..158fc5748f175708a0c3415a2217663f
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -131,10 +131,12 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastAway = "§e§o%s is now AFK";
|
||||
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
|
||||
@@ -132,11 +132,13 @@ public class PurpurConfig {
|
||||
public static String afkBroadcastBack = "<yellow><italic>%s is no longer 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";
|
||||
private static void messages() {
|
||||
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
|
||||
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -184,74 +184,83 @@ index 233b390541acddcf815db4a8f299496eaea4f758..a50191aac887dffd3a7930455cb222fa
|
||||
public void setPersistentAngerTarget(@Nullable UUID uuid) {
|
||||
this.persistentAngerTarget = uuid;
|
||||
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
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -321,6 +321,15 @@ public class PurpurWorldConfig {
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
}
|
||||
@@ -399,9 +399,15 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean drownedRidable = false;
|
||||
public boolean drownedRidableInWater = false;
|
||||
+ public boolean drownedJockeyOnlyBaby = true;
|
||||
+ public double drownedJockeyChance = 0.05D;
|
||||
+ 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);
|
||||
+ drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
|
||||
+ 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 double huskJockeyChance = 0.05D;
|
||||
+ 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);
|
||||
+ huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
|
||||
+ 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 double zombieJockeyChance = 0.05D;
|
||||
+ 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);
|
||||
+ zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
+ 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 double zombifiedPiglinJockeyChance = 0.05D;
|
||||
+ public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
||||
+ 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);
|
||||
+ zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
||||
+ 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);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user