From 019f192ea5882bddcf6b5c1e0ff7656f8d5ccced Mon Sep 17 00:00:00 2001 From: Samsuik <40902469+Samsuik@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:21:42 +0000 Subject: [PATCH] Configure mob spawner defaults --- .../0004-Sakura-Configuration-Files.patch | 17 +++++++++-- .../0051-Configure-mob-spawner-defaults.patch | 28 +++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 patches/server/0051-Configure-mob-spawner-defaults.patch diff --git a/patches/server/0004-Sakura-Configuration-Files.patch b/patches/server/0004-Sakura-Configuration-Files.patch index c7c9915..6d7b26b 100644 --- a/patches/server/0004-Sakura-Configuration-Files.patch +++ b/patches/server/0004-Sakura-Configuration-Files.patch @@ -318,10 +318,10 @@ index 0000000000000000000000000000000000000000..0b5f50c7447d1c1732a745bae54c4fcd +} diff --git a/src/main/java/me/samsuik/sakura/configuration/GlobalConfiguration.java b/src/main/java/me/samsuik/sakura/configuration/GlobalConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..911c81920bda503577ed63c9ea4505ccbf70c783 +index 0000000000000000000000000000000000000000..6ee74b471f82dd5305f70a72788781a5fe51d8db --- /dev/null +++ b/src/main/java/me/samsuik/sakura/configuration/GlobalConfiguration.java -@@ -0,0 +1,47 @@ +@@ -0,0 +1,60 @@ +package me.samsuik.sakura.configuration; + +import com.mojang.logging.LogUtils; @@ -368,6 +368,19 @@ index 0000000000000000000000000000000000000000..911c81920bda503577ed63c9ea4505cc + public String potatoMessage = "(S) This block has of "; + } + ++ public Environment environment; ++ public class Environment extends ConfigurationPart { ++ public MobSpawnerDefaults mobSpawnerDefaults = new MobSpawnerDefaults(); ++ public class MobSpawnerDefaults { ++ public int minSpawnDelay = 200; ++ public int maxSpawnDelay = 800; ++ public int spawnCount = 4; ++ public int maxNearbyEntities = 6; ++ public int requiredPlayerRange = 16; ++ public int spawnRange = 4; ++ } ++ } ++ +} diff --git a/src/main/java/me/samsuik/sakura/configuration/SakuraConfigurations.java b/src/main/java/me/samsuik/sakura/configuration/SakuraConfigurations.java new file mode 100644 diff --git a/patches/server/0051-Configure-mob-spawner-defaults.patch b/patches/server/0051-Configure-mob-spawner-defaults.patch new file mode 100644 index 0000000..779a5c8 --- /dev/null +++ b/patches/server/0051-Configure-mob-spawner-defaults.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Samsuik <40902469+Samsuik@users.noreply.github.com> +Date: Thu, 7 Dec 2023 16:30:24 +0000 +Subject: [PATCH] Configure mob spawner defaults + + +diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java +index 1279132e2fb3e8f64f062df0ac8b8197f9d8f343..8d14c97a3a1df46ffb51ec752f40caed9e4a55f2 100644 +--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java ++++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java +@@ -63,7 +63,16 @@ public abstract class BaseSpawner { + } + // Paper end + +- public BaseSpawner() {} ++ // Sakura start - configure spawner defaults ++ public BaseSpawner() { ++ this.minSpawnDelay = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.minSpawnDelay; ++ this.maxSpawnDelay = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.maxSpawnDelay; ++ this.spawnCount = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.spawnCount; ++ this.maxNearbyEntities = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.maxNearbyEntities; ++ this.requiredPlayerRange = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.requiredPlayerRange; ++ this.spawnRange = me.samsuik.sakura.configuration.GlobalConfiguration.get().environment.mobSpawnerDefaults.spawnRange; ++ // Sakura end ++ } + + public void setEntityId(EntityType type, @Nullable Level world, RandomSource random, BlockPos pos) { + this.getOrCreateNextSpawnData(world, random, pos).getEntityToSpawn().putString("id", BuiltInRegistries.ENTITY_TYPE.getKey(type).toString());