From 2412852ee3ade1e638564875fae6ea6ca99ac0ab Mon Sep 17 00:00:00 2001 From: DevDeborah Date: Mon, 4 Nov 2024 16:18:26 -0500 Subject: [PATCH 01/10] Start to implement new type of Shulkers for the Azuren --- src/defaults.yml | 1 + src/no/runsafe/entitycontrol/Options.java | 7 ++++++ src/no/runsafe/entitycontrol/Plugin.java | 2 ++ .../entitycontrol/shulker/AzurenShulker.java | 13 ++++++++++ .../shulker/EntityAzurenShulker.java | 25 +++++++++++++++++++ 5 files changed, 48 insertions(+) create mode 100644 src/no/runsafe/entitycontrol/shulker/AzurenShulker.java create mode 100644 src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java diff --git a/src/defaults.yml b/src/defaults.yml index c54aa25..faa75c4 100644 --- a/src/defaults.yml +++ b/src/defaults.yml @@ -1,5 +1,6 @@ disableEnderPortalCreation: true enderDragonDropsEgg: true +azurenWorldName: azuren preventNaturalSpawning: - spawn preventSpawning: diff --git a/src/no/runsafe/entitycontrol/Options.java b/src/no/runsafe/entitycontrol/Options.java index 9e1fa95..cc78c99 100644 --- a/src/no/runsafe/entitycontrol/Options.java +++ b/src/no/runsafe/entitycontrol/Options.java @@ -15,13 +15,20 @@ public boolean enderDragonDropsEgg() return this.enderDragonDropsEgg; } + public String getAzurenWorldName() + { + return this.azurenWorldName; + } + @Override public void OnConfigurationChanged(IConfiguration configuration) { this.disableEnderPortalCreation = configuration.getConfigValueAsBoolean("disableEnderPortalCreation"); this.enderDragonDropsEgg = configuration.getConfigValueAsBoolean("enderDragonDropsEgg"); + this.azurenWorldName = configuration.getConfigValueAsString("azurenWorldName"); } private boolean disableEnderPortalCreation; private boolean enderDragonDropsEgg; + private String azurenWorldName; } diff --git a/src/no/runsafe/entitycontrol/Plugin.java b/src/no/runsafe/entitycontrol/Plugin.java index f221d5a..ec7eaa8 100644 --- a/src/no/runsafe/entitycontrol/Plugin.java +++ b/src/no/runsafe/entitycontrol/Plugin.java @@ -4,6 +4,7 @@ import no.runsafe.entitycontrol.pets.CompanionHandler; import no.runsafe.entitycontrol.pets.commands.CreateEgg; import no.runsafe.entitycontrol.pets.commands.SpawnCompanion; +import no.runsafe.entitycontrol.shulker.AzurenShulker; import no.runsafe.entitycontrol.slime.SlimeAnywhere; import no.runsafe.framework.RunsafeConfigurablePlugin; import no.runsafe.framework.api.command.Command; @@ -35,6 +36,7 @@ protected void pluginSetup() companionCommand.addSubCommand(getInstance(SpawnCompanion.class)); companionCommand.addSubCommand(getInstance(CreateEgg.class)); + addComponent(AzurenShulker.class); addComponent(SlimeAnywhere.class); addComponent(SpawnBlocker.class); diff --git a/src/no/runsafe/entitycontrol/shulker/AzurenShulker.java b/src/no/runsafe/entitycontrol/shulker/AzurenShulker.java new file mode 100644 index 0000000..7d99d6a --- /dev/null +++ b/src/no/runsafe/entitycontrol/shulker/AzurenShulker.java @@ -0,0 +1,13 @@ +package no.runsafe.entitycontrol.shulker; + +import no.runsafe.framework.api.event.IServerReady; +import no.runsafe.framework.tools.nms.EntityRegister; + +public class AzurenShulker implements IServerReady +{ + @Override + public void OnServerReady() + { + EntityRegister.registerOverrideEntity(EntityAzurenShulker.class, "Shulker", 69); + } +} diff --git a/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java new file mode 100644 index 0000000..0154756 --- /dev/null +++ b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java @@ -0,0 +1,25 @@ +package no.runsafe.entitycontrol.shulker; + +import net.minecraft.server.v1_12_R1.EntityShulker; +import net.minecraft.server.v1_12_R1.EnumDifficulty; +import net.minecraft.server.v1_12_R1.World; + +public class EntityAzurenShulker extends EntityShulker +{ + public EntityAzurenShulker(World world) + { + super(world); + //by -> shulker colour + //by = EnumColor.BLACK; // TODO: reflection + + // TODO : disable persistence + } + + @Override + public boolean canSpawn() + { + return world.getDifficulty() != EnumDifficulty.PEACEFUL + && random.nextInt(100) == 0; + // TODO check world + } +} From 659340f33bf1bda7bd31a05c74887d64939f72bc Mon Sep 17 00:00:00 2001 From: DevDeborah Date: Mon, 4 Nov 2024 16:30:08 -0500 Subject: [PATCH 02/10] Change how config data is handled --- src/no/runsafe/entitycontrol/Config.java | 24 +++++++++++++ src/no/runsafe/entitycontrol/EntityDeath.java | 7 ++-- .../entitycontrol/EntityPortalCreation.java | 7 ++-- src/no/runsafe/entitycontrol/Options.java | 34 ------------------- src/no/runsafe/entitycontrol/Plugin.java | 2 +- .../runsafe/entitycontrol/SpawnBlocker.java | 17 ++-------- 6 files changed, 31 insertions(+), 60 deletions(-) create mode 100644 src/no/runsafe/entitycontrol/Config.java delete mode 100644 src/no/runsafe/entitycontrol/Options.java diff --git a/src/no/runsafe/entitycontrol/Config.java b/src/no/runsafe/entitycontrol/Config.java new file mode 100644 index 0000000..680a1e7 --- /dev/null +++ b/src/no/runsafe/entitycontrol/Config.java @@ -0,0 +1,24 @@ +package no.runsafe.entitycontrol; + +import no.runsafe.framework.api.IConfiguration; +import no.runsafe.framework.api.event.plugin.IConfigurationChanged; + +import java.util.ArrayList; +import java.util.List; + +public class Config implements IConfigurationChanged +{ + @Override + public void OnConfigurationChanged(IConfiguration configuration) + { + disableEnderPortalCreation = configuration.getConfigValueAsBoolean("disableEnderPortalCreation"); + enderDragonDropsEgg = configuration.getConfigValueAsBoolean("enderDragonDropsEgg"); + azurenWorldName = configuration.getConfigValueAsString("azurenWorldName"); + spawnBlockerWorlds = configuration.getConfigValueAsList("preventNaturalSpawning"); + } + + public static boolean disableEnderPortalCreation; + public static boolean enderDragonDropsEgg; + public static String azurenWorldName; + public static List spawnBlockerWorlds = new ArrayList<>(0); +} diff --git a/src/no/runsafe/entitycontrol/EntityDeath.java b/src/no/runsafe/entitycontrol/EntityDeath.java index bc43747..0b54001 100644 --- a/src/no/runsafe/entitycontrol/EntityDeath.java +++ b/src/no/runsafe/entitycontrol/EntityDeath.java @@ -9,16 +9,15 @@ public class EntityDeath implements IEntityDeathEvent { - public EntityDeath(Options options) + public EntityDeath() { - this.options = options; } @Override public void OnEntityDeath(RunsafeEntityDeathEvent event) { RunsafeEntity entity = event.getEntity(); - if (entity.getEntityType() == LivingEntity.EnderDragon && this.options.enderDragonDropsEgg()) + if (entity.getEntityType() == LivingEntity.EnderDragon && Config.enderDragonDropsEgg) { ILocation location = entity.getLocation(); if (location != null) @@ -27,6 +26,4 @@ public void OnEntityDeath(RunsafeEntityDeathEvent event) } } } - - private final Options options; } diff --git a/src/no/runsafe/entitycontrol/EntityPortalCreation.java b/src/no/runsafe/entitycontrol/EntityPortalCreation.java index cef281e..a482ec7 100644 --- a/src/no/runsafe/entitycontrol/EntityPortalCreation.java +++ b/src/no/runsafe/entitycontrol/EntityPortalCreation.java @@ -6,17 +6,14 @@ public class EntityPortalCreation implements IEntityCreatePortalEvent { - public EntityPortalCreation(Options options) + public EntityPortalCreation() { - this.options = options; } @Override public void OnEntityCreatePortal(RunsafeEntityCreatePortalEvent event) { - if (event.getEntity().getEntityType() == LivingEntity.EnderDragon && this.options.disableEnderPortalCreation()) + if (event.getEntity().getEntityType() == LivingEntity.EnderDragon && Config.disableEnderPortalCreation) event.cancel(); } - - private final Options options; } diff --git a/src/no/runsafe/entitycontrol/Options.java b/src/no/runsafe/entitycontrol/Options.java deleted file mode 100644 index cc78c99..0000000 --- a/src/no/runsafe/entitycontrol/Options.java +++ /dev/null @@ -1,34 +0,0 @@ -package no.runsafe.entitycontrol; - -import no.runsafe.framework.api.IConfiguration; -import no.runsafe.framework.api.event.plugin.IConfigurationChanged; - -public class Options implements IConfigurationChanged -{ - public boolean disableEnderPortalCreation() - { - return this.disableEnderPortalCreation; - } - - public boolean enderDragonDropsEgg() - { - return this.enderDragonDropsEgg; - } - - public String getAzurenWorldName() - { - return this.azurenWorldName; - } - - @Override - public void OnConfigurationChanged(IConfiguration configuration) - { - this.disableEnderPortalCreation = configuration.getConfigValueAsBoolean("disableEnderPortalCreation"); - this.enderDragonDropsEgg = configuration.getConfigValueAsBoolean("enderDragonDropsEgg"); - this.azurenWorldName = configuration.getConfigValueAsString("azurenWorldName"); - } - - private boolean disableEnderPortalCreation; - private boolean enderDragonDropsEgg; - private String azurenWorldName; -} diff --git a/src/no/runsafe/entitycontrol/Plugin.java b/src/no/runsafe/entitycontrol/Plugin.java index ec7eaa8..e3dc535 100644 --- a/src/no/runsafe/entitycontrol/Plugin.java +++ b/src/no/runsafe/entitycontrol/Plugin.java @@ -21,7 +21,7 @@ protected void pluginSetup() addComponent(Events.class); addComponent(Database.class); - this.addComponent(Options.class); + this.addComponent(Config.class); this.addComponent(EntityPortalCreation.class); this.addComponent(EntityDeath.class); diff --git a/src/no/runsafe/entitycontrol/SpawnBlocker.java b/src/no/runsafe/entitycontrol/SpawnBlocker.java index eec331a..c3ff55f 100644 --- a/src/no/runsafe/entitycontrol/SpawnBlocker.java +++ b/src/no/runsafe/entitycontrol/SpawnBlocker.java @@ -1,30 +1,17 @@ package no.runsafe.entitycontrol; import net.minecraft.server.v1_12_R1.Entity; -import no.runsafe.framework.api.IConfiguration; import no.runsafe.framework.api.ILocation; import no.runsafe.framework.api.event.entity.INaturalSpawn; -import no.runsafe.framework.api.event.plugin.IConfigurationChanged; import no.runsafe.framework.internal.wrapper.ObjectUnwrapper; import no.runsafe.framework.minecraft.entity.RunsafeEntity; -import java.util.ArrayList; -import java.util.List; - -public class SpawnBlocker implements INaturalSpawn, IConfigurationChanged +public class SpawnBlocker implements INaturalSpawn { @Override public boolean OnNaturalSpawn(RunsafeEntity entity, ILocation location) { Entity rawEntity = ObjectUnwrapper.getMinecraft(entity); - return !(rawEntity != null && worlds.contains(location.getWorld().getName())); - } - - @Override - public void OnConfigurationChanged(IConfiguration configuration) - { - worlds = configuration.getConfigValueAsList("preventNaturalSpawning"); + return !(rawEntity != null && Config.spawnBlockerWorlds.contains(location.getWorld().getName())); } - - private List worlds = new ArrayList<>(0); } From c36a8e208a8dd190f0354b9eee1f32f84c42ad62 Mon Sep 17 00:00:00 2001 From: DevDeborah Date: Mon, 4 Nov 2024 16:48:46 -0500 Subject: [PATCH 03/10] Flesh out azuren shulkers --- .../shulker/EntityAzurenShulker.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java index 0154756..8b8f91a 100644 --- a/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java +++ b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java @@ -1,8 +1,8 @@ package no.runsafe.entitycontrol.shulker; -import net.minecraft.server.v1_12_R1.EntityShulker; -import net.minecraft.server.v1_12_R1.EnumDifficulty; -import net.minecraft.server.v1_12_R1.World; +import net.minecraft.server.v1_12_R1.*; +import no.runsafe.entitycontrol.Config; +import no.runsafe.framework.tools.reflection.ReflectionHelper; public class EntityAzurenShulker extends EntityShulker { @@ -10,16 +10,21 @@ public EntityAzurenShulker(World world) { super(world); //by -> shulker colour - //by = EnumColor.BLACK; // TODO: reflection - - // TODO : disable persistence + ReflectionHelper.setField(this, "by", EnumColor.BLACK); + this.persistent = false; } @Override public boolean canSpawn() { return world.getDifficulty() != EnumDifficulty.PEACEFUL + && world.getWorldData().getName().equals(Config.azurenWorldName) && random.nextInt(100) == 0; - // TODO check world + } + + @Override + protected void dropDeathLoot(boolean flag, int i) + { + a(Items.COOKIE, 3); } } From e7c742237e30d2adc07e52a46e1ee711be13d03c Mon Sep 17 00:00:00 2001 From: DevDeborah Date: Mon, 4 Nov 2024 17:02:56 -0500 Subject: [PATCH 04/10] Add debug logging --- src/no/runsafe/entitycontrol/Plugin.java | 5 +++++ .../runsafe/entitycontrol/shulker/EntityAzurenShulker.java | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/no/runsafe/entitycontrol/Plugin.java b/src/no/runsafe/entitycontrol/Plugin.java index e3dc535..a5370b3 100644 --- a/src/no/runsafe/entitycontrol/Plugin.java +++ b/src/no/runsafe/entitycontrol/Plugin.java @@ -8,15 +8,20 @@ import no.runsafe.entitycontrol.slime.SlimeAnywhere; import no.runsafe.framework.RunsafeConfigurablePlugin; import no.runsafe.framework.api.command.Command; +import no.runsafe.framework.api.log.IDebug; import no.runsafe.framework.features.Commands; import no.runsafe.framework.features.Database; import no.runsafe.framework.features.Events; public class Plugin extends RunsafeConfigurablePlugin { + public static IDebug Debugger; + @Override protected void pluginSetup() { + Debugger = getComponent(IDebug.class); + addComponent(Commands.class); addComponent(Events.class); addComponent(Database.class); diff --git a/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java index 8b8f91a..c43c6c1 100644 --- a/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java +++ b/src/no/runsafe/entitycontrol/shulker/EntityAzurenShulker.java @@ -2,8 +2,11 @@ import net.minecraft.server.v1_12_R1.*; import no.runsafe.entitycontrol.Config; +import no.runsafe.entitycontrol.Plugin; import no.runsafe.framework.tools.reflection.ReflectionHelper; +import java.util.logging.Level; + public class EntityAzurenShulker extends EntityShulker { public EntityAzurenShulker(World world) @@ -12,11 +15,14 @@ public EntityAzurenShulker(World world) //by -> shulker colour ReflectionHelper.setField(this, "by", EnumColor.BLACK); this.persistent = false; + Plugin.Debugger.outputDebugToConsole("Spawning in Azuren Shulker", Level.FINE); } @Override public boolean canSpawn() { + Plugin.Debugger.outputDebugToConsole("Attemping to spawn azuren shukler in world: " + world.getWorldData().getName(), Level.FINE); + return world.getDifficulty() != EnumDifficulty.PEACEFUL && world.getWorldData().getName().equals(Config.azurenWorldName) && random.nextInt(100) == 0; @@ -25,6 +31,7 @@ public boolean canSpawn() @Override protected void dropDeathLoot(boolean flag, int i) { + Plugin.Debugger.outputDebugToConsole("Running death loot for azuren shulker.", Level.FINE); a(Items.COOKIE, 3); } } From 4a848dd4a2ba1a18aa5bd2710da9f32d4b3d003a Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 22:35:05 -0500 Subject: [PATCH 05/10] Custom runsafe wither boss --- .../witherBoss/RunsafeWitherBoss.java | 12 ++++++++++++ .../entitycontrol/witherBoss/WitherOverwrite.java | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java create mode 100644 src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java diff --git a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java new file mode 100644 index 0000000..52f88ae --- /dev/null +++ b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java @@ -0,0 +1,12 @@ +package no.runsafe.entitycontrol.witherBoss; + +import net.minecraft.server.v1_12_R1.EntityWither; +import net.minecraft.server.v1_12_R1.World; + +public class RunsafeWitherBoss extends EntityWither +{ + public RunsafeWitherBoss(World world) + { + super(world); + } +} diff --git a/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java new file mode 100644 index 0000000..06357f9 --- /dev/null +++ b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java @@ -0,0 +1,14 @@ +package no.runsafe.entitycontrol.witherBoss; + +import no.runsafe.entitycontrol.slime.EntityAnywhereSlime; +import no.runsafe.framework.api.event.IServerReady; +import no.runsafe.framework.tools.nms.EntityRegister; + +public class WitherOverwrite implements IServerReady +{ + @Override + public void OnServerReady() + { + EntityRegister.registerOverrideEntity(EntityAnywhereSlime.class, "wither", 64); + } +} From dc7061620547ba8005d603f43b0411defa641ff4 Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 22:51:15 -0500 Subject: [PATCH 06/10] Take away the wither's desire to fly --- src/no/runsafe/entitycontrol/Plugin.java | 2 ++ .../witherBoss/RunsafeWitherBoss.java | 20 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/no/runsafe/entitycontrol/Plugin.java b/src/no/runsafe/entitycontrol/Plugin.java index a5370b3..c35ce67 100644 --- a/src/no/runsafe/entitycontrol/Plugin.java +++ b/src/no/runsafe/entitycontrol/Plugin.java @@ -6,6 +6,7 @@ import no.runsafe.entitycontrol.pets.commands.SpawnCompanion; import no.runsafe.entitycontrol.shulker.AzurenShulker; import no.runsafe.entitycontrol.slime.SlimeAnywhere; +import no.runsafe.entitycontrol.witherBoss.WitherOverwrite; import no.runsafe.framework.RunsafeConfigurablePlugin; import no.runsafe.framework.api.command.Command; import no.runsafe.framework.api.log.IDebug; @@ -43,6 +44,7 @@ protected void pluginSetup() addComponent(AzurenShulker.class); addComponent(SlimeAnywhere.class); + addComponent(WitherOverwrite.class); addComponent(SpawnBlocker.class); } diff --git a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java index 52f88ae..a1d99aa 100644 --- a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java +++ b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java @@ -1,7 +1,8 @@ package no.runsafe.entitycontrol.witherBoss; -import net.minecraft.server.v1_12_R1.EntityWither; -import net.minecraft.server.v1_12_R1.World; +import com.google.common.base.Predicate; +import net.minecraft.server.v1_12_R1.*; +import no.runsafe.framework.tools.reflection.ReflectionHelper; public class RunsafeWitherBoss extends EntityWither { @@ -9,4 +10,19 @@ public RunsafeWitherBoss(World world) { super(world); } + + @Override + protected void r() + { + this.goalSelector.a(0, (dm() > 0)); + this.goalSelector.a(2, new PathfinderGoalArrowAttack(this, 1.0F, 40, 20.0F)); + this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0F)); + this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); + this.goalSelector.a(7, new PathfinderGoalRandomLookaround(this)); + this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, false, new Class[0])); + this.targetSelector.a( + 2, new PathfinderGoalNearestAttackableTarget(this, EntityInsentient.class, 0, false, false, + (Predicate) ReflectionHelper.getObjectField(this, "bH")) + ); + } } From 3dcd686c9aea3e365a8060186c3e871560bcfa28 Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 23:10:18 -0500 Subject: [PATCH 07/10] does this do anything --- src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java index a1d99aa..efdeb3a 100644 --- a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java +++ b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java @@ -14,6 +14,7 @@ public RunsafeWitherBoss(World world) @Override protected void r() { + /* this.goalSelector.a(0, (dm() > 0)); this.goalSelector.a(2, new PathfinderGoalArrowAttack(this, 1.0F, 40, 20.0F)); this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0F)); @@ -24,5 +25,6 @@ protected void r() 2, new PathfinderGoalNearestAttackableTarget(this, EntityInsentient.class, 0, false, false, (Predicate) ReflectionHelper.getObjectField(this, "bH")) ); + */ } } From 1c76ae6feb3f9b40d6986acf1352959a1986d8da Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 23:15:05 -0500 Subject: [PATCH 08/10] fix overriding wither boss --- src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java index 06357f9..3faf172 100644 --- a/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java +++ b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java @@ -1,6 +1,5 @@ package no.runsafe.entitycontrol.witherBoss; -import no.runsafe.entitycontrol.slime.EntityAnywhereSlime; import no.runsafe.framework.api.event.IServerReady; import no.runsafe.framework.tools.nms.EntityRegister; @@ -9,6 +8,6 @@ public class WitherOverwrite implements IServerReady @Override public void OnServerReady() { - EntityRegister.registerOverrideEntity(EntityAnywhereSlime.class, "wither", 64); + EntityRegister.registerOverrideEntity(RunsafeWitherBoss.class, "wither", 64); } } From bc8540af065fec013651f0903f5c7a4a23d88306 Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 23:22:48 -0500 Subject: [PATCH 09/10] does this do anything --- .../entitycontrol/witherBoss/RunsafeWitherBoss.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java index efdeb3a..22b8b60 100644 --- a/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java +++ b/src/no/runsafe/entitycontrol/witherBoss/RunsafeWitherBoss.java @@ -27,4 +27,14 @@ protected void r() ); */ } + + @Override + public void n() + { + } + + @Override + public void M() + { + } } From 39fb521651b44604bf2798a430ee586c5eab4108 Mon Sep 17 00:00:00 2001 From: DeveloperDeborah Date: Sat, 6 Dec 2025 23:28:08 -0500 Subject: [PATCH 10/10] does *this* do anything --- src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java index 3faf172..28822df 100644 --- a/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java +++ b/src/no/runsafe/entitycontrol/witherBoss/WitherOverwrite.java @@ -8,6 +8,6 @@ public class WitherOverwrite implements IServerReady @Override public void OnServerReady() { - EntityRegister.registerOverrideEntity(RunsafeWitherBoss.class, "wither", 64); + EntityRegister.registerOverrideEntity(RunsafeWitherBoss.class, "Slime", 64); } }