From 3e72e7d1520cd02278fa208b9f8c50695d2dc620 Mon Sep 17 00:00:00 2001 From: AustinTormasi Date: Thu, 4 Sep 2025 21:55:31 -0400 Subject: [PATCH] basic set every creeper to red test --- .../thewrightserver/bigbooms/Bigbooms.java | 74 +++++++------------ 1 file changed, 27 insertions(+), 47 deletions(-) diff --git a/Bigbooms/src/main/java/com/thewrightserver/bigbooms/Bigbooms.java b/Bigbooms/src/main/java/com/thewrightserver/bigbooms/Bigbooms.java index 31016b3..958d2a7 100644 --- a/Bigbooms/src/main/java/com/thewrightserver/bigbooms/Bigbooms.java +++ b/Bigbooms/src/main/java/com/thewrightserver/bigbooms/Bigbooms.java @@ -10,18 +10,13 @@ import org.bukkit.entity.Trident; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.ExplosionPrimeEvent; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scheduler.BukkitRunnable; - -import java.util.Random; public final class Bigbooms extends JavaPlugin implements Listener { - private final Random random = new Random(); - @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); @@ -33,45 +28,43 @@ public final class Bigbooms extends JavaPlugin implements Listener { getLogger().info("BigBooms disabled!"); } - // Randomly assign some creepers as Red Creepers on spawn + // Make all creepers red on spawn @EventHandler public void onCreeperSpawn(CreatureSpawnEvent event) { if (event.getEntity() instanceof Creeper creeper) { - // 1 in 20 chance - if (random.nextInt(20) == 0) { - - // Mark as Red Creeper - creeper.setMetadata("RedCreeper", new FixedMetadataValue(this, true)); - - // Set red name - creeper.customName(Component.text("Red Creeper").color(NamedTextColor.RED)); - creeper.setCustomNameVisible(true); - - // Give a trident visually - ItemStack trident = new ItemStack(Material.TRIDENT); - creeper.getEquipment().setItemInMainHand(trident); - - // Optional: powered - creeper.setPowered(true); - - // Start trident-throwing task - startTridentTask(creeper); - } + makeRedCreeper(creeper); } } - // Increase explosion radius for Red Creepers + // Make tridents explode @EventHandler - public void onExplosion(ExplosionPrimeEvent event) { - if (event.getEntity() instanceof Creeper creeper) { - if (creeper.hasMetadata("RedCreeper")) { - float newRadius = event.getRadius() * 10; - event.setRadius(newRadius); - getLogger().info("Red Creeper exploded with radius " + newRadius); + public void onTridentHit(ProjectileHitEvent event) { + if (event.getEntity() instanceof Trident trident) { + if (trident.hasMetadata("RedCreeperTrident")) { + trident.getWorld().createExplosion(trident.getLocation(), 5F, false, true); + trident.remove(); } } } + // Helper method to make a creeper red with a trident + private void makeRedCreeper(Creeper creeper) { + // Metadata so we know it’s a Red Creeper + creeper.setMetadata("RedCreeper", new FixedMetadataValue(this, true)); + + // Red name + creeper.customName(Component.text("Red Creeper").color(NamedTextColor.RED)); + creeper.setCustomNameVisible(true); + + // Give a trident + ItemStack trident = new ItemStack(Material.TRIDENT); + creeper.getEquipment().setItemInMainHand(trident); + + // Start trident-throwing task + startTridentTask(creeper); + } + + // Task to throw tridents at players private void startTridentTask(Creeper creeper) { new BukkitRunnable() { @Override @@ -99,17 +92,4 @@ public final class Bigbooms extends JavaPlugin implements Listener { } }.runTaskTimer(this, 0L, 40L); // every 2 seconds } - - // Make tridents explode - @EventHandler - public void onTridentHit(ProjectileHitEvent event) { - if (event.getEntity() instanceof Trident trident) { - if (trident.hasMetadata("RedCreeperTrident")) { - trident.getWorld().createExplosion(trident.getLocation(), 10F, false, true); - trident.remove(); - } - } - } - - -} \ No newline at end of file +}