Skip to content

Commit 9d62674

Browse files
authored
fix: account for scale attribute when limiting slimes (#384)
1 parent 58ac014 commit 9d62674

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/main/java/pw/kaboom/extras/modules/entity/EntitySpawn.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import org.bukkit.Chunk;
66
import org.bukkit.Material;
77
import org.bukkit.World;
8+
import org.bukkit.attribute.Attribute;
9+
import org.bukkit.attribute.AttributeInstance;
810
import org.bukkit.block.CreatureSpawner;
911
import org.bukkit.configuration.file.FileConfiguration;
1012
import org.bukkit.entity.AreaEffectCloud;
@@ -32,6 +34,7 @@
3234
import com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent;
3335
import org.bukkit.plugin.java.JavaPlugin;
3436
import pw.kaboom.extras.Main;
37+
import pw.kaboom.extras.util.Utility;
3538

3639
public final class EntitySpawn implements Listener {
3740
private static final FileConfiguration CONFIG = JavaPlugin.getPlugin(Main.class).getConfig();
@@ -122,11 +125,12 @@ private void limitAreaEffectCloudRadius(final AreaEffectCloud cloud) {
122125
}
123126

124127
private void limitSlimeSize(final Slime slime) {
125-
if (slime.getSize() > 20) {
126-
slime.setSize(20);
128+
final AttributeInstance scaleInstance = slime.getAttribute(Attribute.SCALE);
129+
final double scale = scaleInstance != null ? scaleInstance.getValue() : 1.0f;
127130

128-
} else if (slime.getSize() < -20) {
129-
slime.setSize(-20);
131+
if ((slime.getSize() * scale) > 20) {
132+
slime.setSize(20);
133+
Utility.resetAttribute(slime, Attribute.SCALE);
130134
}
131135
}
132136

0 commit comments

Comments
 (0)