Skip to content

Commit 4d3dea5

Browse files
committed
feat(ConfettiCreepers): charged creeper config
Adds a config option to ConfettiCreepers that allows charged creepers to explode normally, restoring the ability to obtain mob heads in survival
1 parent 013a290 commit 4d3dea5

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/main/java/me/machinemaker/papertweaks/modules/experimental/confetticreepers/Config.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package me.machinemaker.papertweaks.modules.experimental.confetticreepers;
2121

2222
import me.machinemaker.lectern.annotations.Description;
23+
import me.machinemaker.lectern.annotations.Key;
2324
import me.machinemaker.papertweaks.config.PTConfig;
2425
import me.machinemaker.papertweaks.modules.ModuleConfig;
2526

@@ -28,4 +29,8 @@ class Config extends ModuleConfig {
2829

2930
@Description("Value between 0 (inclusive) and 1.0 (inclusive) for the chance a creeper will be a confetti creeper")
3031
public double chance = 1D;
32+
33+
@Key("allow-charged-creepers")
34+
@Description("Allows charged creepers to explode normally, restoring the ability to obtain mob heads")
35+
public boolean allowChargedCreepers = false;
3136
}

src/main/java/me/machinemaker/papertweaks/modules/experimental/confetticreepers/ExplosionListener.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import me.machinemaker.papertweaks.modules.ModuleListener;
2525
import org.bukkit.Color;
2626
import org.bukkit.FireworkEffect;
27+
import org.bukkit.entity.Creeper;
2728
import org.bukkit.entity.EntityType;
2829
import org.bukkit.entity.Firework;
2930
import org.bukkit.event.EventHandler;
@@ -57,6 +58,10 @@ public ExplosionListener(final Config config) {
5758
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
5859
public void onExplosionPrime(final ExplosionPrimeEvent event) {
5960
if (event.getEntityType() != EntityType.CREEPER) return;
61+
if (this.config.allowChargedCreepers) {
62+
Creeper creeper = (Creeper) event.getEntity();
63+
if (creeper.isPowered()) return;
64+
}
6065
if (ThreadLocalRandom.current().nextDouble() < this.config.chance) {
6166
event.setFire(false);
6267
event.setRadius(0);

0 commit comments

Comments
 (0)