From 294f8db528b7de2b4f42e6460b28da82523fa82d Mon Sep 17 00:00:00 2001 From: ayunami2000 Date: Thu, 7 Apr 2022 23:47:32 -0400 Subject: [PATCH] fix baby mobs, clean a few imports --- src/main/java/dev/plex/Plex.java | 1 - .../dev/plex/command/impl/MobPurgeCMD.java | 1 - .../dev/plex/listener/impl/BlockListener.java | 6 ----- .../dev/plex/listener/impl/SpawnListener.java | 26 +++++++++++++++++-- src/main/java/dev/plex/util/PlexUtils.java | 6 ++++- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/main/java/dev/plex/Plex.java b/src/main/java/dev/plex/Plex.java index a70233e..cd19578 100644 --- a/src/main/java/dev/plex/Plex.java +++ b/src/main/java/dev/plex/Plex.java @@ -33,7 +33,6 @@ import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.io.InputStream; import java.util.Properties; -import java.util.UUID; @Getter @Setter diff --git a/src/main/java/dev/plex/command/impl/MobPurgeCMD.java b/src/main/java/dev/plex/command/impl/MobPurgeCMD.java index 9c6ec34..2fdb920 100644 --- a/src/main/java/dev/plex/command/impl/MobPurgeCMD.java +++ b/src/main/java/dev/plex/command/impl/MobPurgeCMD.java @@ -8,7 +8,6 @@ import dev.plex.rank.enums.Rank; import dev.plex.util.PlexUtils; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; -import org.bukkit.Location; import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.entity.*; diff --git a/src/main/java/dev/plex/listener/impl/BlockListener.java b/src/main/java/dev/plex/listener/impl/BlockListener.java index f9539ff..d01bb07 100644 --- a/src/main/java/dev/plex/listener/impl/BlockListener.java +++ b/src/main/java/dev/plex/listener/impl/BlockListener.java @@ -6,20 +6,14 @@ import java.util.Arrays; import java.util.List; import dev.plex.util.PlexUtils; -import net.kyori.adventure.sound.Sound; import net.kyori.adventure.text.Component; -import net.kyori.adventure.text.event.ClickEvent; -import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.Particle; import org.bukkit.block.Block; import org.bukkit.block.Sign; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.metadata.FixedMetadataValue; public class BlockListener extends PlexListener { diff --git a/src/main/java/dev/plex/listener/impl/SpawnListener.java b/src/main/java/dev/plex/listener/impl/SpawnListener.java index 50fa88c..b52b33e 100644 --- a/src/main/java/dev/plex/listener/impl/SpawnListener.java +++ b/src/main/java/dev/plex/listener/impl/SpawnListener.java @@ -5,8 +5,9 @@ import dev.plex.util.PlexUtils; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; -import org.bukkit.block.Dispenser; import org.bukkit.block.data.Directional; +import org.bukkit.entity.Ageable; +import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -15,8 +16,8 @@ import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockDispenseEvent; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.EntitySpawnEvent; +import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import java.util.Arrays; @@ -64,6 +65,27 @@ public class SpawnListener extends PlexListener } } + @EventHandler(priority = EventPriority.HIGH) + public void onEntityClick(PlayerInteractEntityEvent event) + { + Material handItem = event.getPlayer().getEquipment().getItem(event.getHand()).getType(); + if (event.getRightClicked() instanceof Ageable entity) + { + if (SPAWN_EGGS.contains(handItem)) + { + EntityType eggType = spawnEggToEntityType(handItem); + if (eggType != null) + { + Entity spawned = entity.getWorld().spawnEntity(entity.getLocation(), eggType); + if (spawned instanceof Ageable ageable) + { + ageable.setBaby(); + } + } + } + } + } + @EventHandler(priority = EventPriority.HIGH) public void onPlayerInteract(PlayerInteractEvent event) { diff --git a/src/main/java/dev/plex/util/PlexUtils.java b/src/main/java/dev/plex/util/PlexUtils.java index aa05653..e36c4d6 100644 --- a/src/main/java/dev/plex/util/PlexUtils.java +++ b/src/main/java/dev/plex/util/PlexUtils.java @@ -9,7 +9,6 @@ import dev.plex.storage.StorageType; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; -import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.apache.commons.lang.math.NumberUtils; import org.bukkit.*; import org.bukkit.command.Command; @@ -392,6 +391,11 @@ public class PlexUtils extends PlexBase return Collections.unmodifiableSet(classes); } + public static boolean randomBoolean() + { + return ThreadLocalRandom.current().nextBoolean(); + } + public static int randomNum() { return ThreadLocalRandom.current().nextInt();