mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-18 00:20:44 +00:00
Remove SpawnEggUtils
This tends to get neglected. The only method that's used by outside code was getSpawnEgg() which is available on Bukkit's item factory class. This utility class has been obviated and thus can be removed.
This commit is contained in:
@@ -11,7 +11,6 @@ import vg.civcraft.mc.civmodcore.dao.DatabaseCredentials;
|
||||
import vg.civcraft.mc.civmodcore.dao.ManagedDatasource;
|
||||
import vg.civcraft.mc.civmodcore.inventory.gui.ClickableInventoryListener;
|
||||
import vg.civcraft.mc.civmodcore.inventory.items.EnchantUtils;
|
||||
import vg.civcraft.mc.civmodcore.inventory.items.SpawnEggUtils;
|
||||
import vg.civcraft.mc.civmodcore.players.PlayerNames;
|
||||
import vg.civcraft.mc.civmodcore.players.scoreboard.bottom.BottomLineAPI;
|
||||
import vg.civcraft.mc.civmodcore.players.scoreboard.side.ScoreBoardAPI;
|
||||
@@ -81,7 +80,6 @@ public class CivModCorePlugin extends ACivMod {
|
||||
this.commands.registerCommand(new ChunkMetaCommand());
|
||||
// Load APIs
|
||||
EnchantUtils.loadEnchantAbbreviations();
|
||||
SpawnEggUtils.init();
|
||||
BottomLineAPI.init();
|
||||
this.skinCache = new SkinCache(this, this.config.getSkinCacheThreads());
|
||||
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
package vg.civcraft.mc.civmodcore.inventory.items;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.ImmutableBiMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import vg.civcraft.mc.civmodcore.utilities.CivLogger;
|
||||
|
||||
/**
|
||||
* Class of static APIs for Spawn Eggs.
|
||||
*/
|
||||
public final class SpawnEggUtils {
|
||||
|
||||
private static final BiMap<Material, EntityType> SPAWN_EGGS = ImmutableBiMap.<Material, EntityType>builder()
|
||||
.put(Material.AXOLOTL_SPAWN_EGG, EntityType.AXOLOTL)
|
||||
.put(Material.ALLAY_SPAWN_EGG, EntityType.ALLAY)
|
||||
.put(Material.BAT_SPAWN_EGG, EntityType.BAT)
|
||||
.put(Material.BEE_SPAWN_EGG, EntityType.BEE)
|
||||
.put(Material.BLAZE_SPAWN_EGG, EntityType.BLAZE)
|
||||
.put(Material.BREEZE_SPAWN_EGG, EntityType.BREEZE)
|
||||
.put(Material.CAT_SPAWN_EGG, EntityType.CAT)
|
||||
.put(Material.CAMEL_SPAWN_EGG, EntityType.CAMEL)
|
||||
.put(Material.CAVE_SPIDER_SPAWN_EGG, EntityType.CAVE_SPIDER)
|
||||
.put(Material.CHICKEN_SPAWN_EGG, EntityType.CHICKEN)
|
||||
.put(Material.COD_SPAWN_EGG, EntityType.COD)
|
||||
.put(Material.COW_SPAWN_EGG, EntityType.COW)
|
||||
.put(Material.CREEPER_SPAWN_EGG, EntityType.CREEPER)
|
||||
.put(Material.DOLPHIN_SPAWN_EGG, EntityType.DOLPHIN)
|
||||
.put(Material.DONKEY_SPAWN_EGG, EntityType.DONKEY)
|
||||
.put(Material.DROWNED_SPAWN_EGG, EntityType.DROWNED)
|
||||
.put(Material.ELDER_GUARDIAN_SPAWN_EGG, EntityType.ELDER_GUARDIAN)
|
||||
.put(Material.ENDERMAN_SPAWN_EGG, EntityType.ENDERMAN)
|
||||
.put(Material.ENDERMITE_SPAWN_EGG, EntityType.ENDERMITE)
|
||||
.put(Material.ENDER_DRAGON_SPAWN_EGG, EntityType.ENDER_DRAGON)
|
||||
.put(Material.EVOKER_SPAWN_EGG, EntityType.EVOKER)
|
||||
.put(Material.FOX_SPAWN_EGG, EntityType.FOX)
|
||||
.put(Material.FROG_SPAWN_EGG, EntityType.FROG)
|
||||
.put(Material.GHAST_SPAWN_EGG, EntityType.GHAST)
|
||||
.put(Material.GLOW_SQUID_SPAWN_EGG, EntityType.GLOW_SQUID)
|
||||
.put(Material.GOAT_SPAWN_EGG, EntityType.GOAT)
|
||||
.put(Material.GUARDIAN_SPAWN_EGG, EntityType.GUARDIAN)
|
||||
.put(Material.HOGLIN_SPAWN_EGG, EntityType.HOGLIN)
|
||||
.put(Material.HORSE_SPAWN_EGG, EntityType.HORSE)
|
||||
.put(Material.HUSK_SPAWN_EGG, EntityType.HUSK)
|
||||
.put(Material.IRON_GOLEM_SPAWN_EGG, EntityType.IRON_GOLEM)
|
||||
.put(Material.LLAMA_SPAWN_EGG, EntityType.LLAMA)
|
||||
.put(Material.MAGMA_CUBE_SPAWN_EGG, EntityType.MAGMA_CUBE)
|
||||
.put(Material.MOOSHROOM_SPAWN_EGG, EntityType.MOOSHROOM)
|
||||
.put(Material.MULE_SPAWN_EGG, EntityType.MULE)
|
||||
.put(Material.OCELOT_SPAWN_EGG, EntityType.OCELOT)
|
||||
.put(Material.PANDA_SPAWN_EGG, EntityType.PANDA)
|
||||
.put(Material.PARROT_SPAWN_EGG, EntityType.PARROT)
|
||||
.put(Material.PHANTOM_SPAWN_EGG, EntityType.PHANTOM)
|
||||
.put(Material.PIG_SPAWN_EGG, EntityType.PIG)
|
||||
.put(Material.PIGLIN_BRUTE_SPAWN_EGG, EntityType.PIGLIN_BRUTE)
|
||||
.put(Material.PIGLIN_SPAWN_EGG, EntityType.PIGLIN)
|
||||
.put(Material.PILLAGER_SPAWN_EGG, EntityType.PILLAGER)
|
||||
.put(Material.POLAR_BEAR_SPAWN_EGG, EntityType.POLAR_BEAR)
|
||||
.put(Material.PUFFERFISH_SPAWN_EGG, EntityType.PUFFERFISH)
|
||||
.put(Material.RABBIT_SPAWN_EGG, EntityType.RABBIT)
|
||||
.put(Material.RAVAGER_SPAWN_EGG, EntityType.RAVAGER)
|
||||
.put(Material.SALMON_SPAWN_EGG, EntityType.SALMON)
|
||||
.put(Material.SHEEP_SPAWN_EGG, EntityType.SHEEP)
|
||||
.put(Material.SHULKER_SPAWN_EGG, EntityType.SHULKER)
|
||||
.put(Material.SILVERFISH_SPAWN_EGG, EntityType.SILVERFISH)
|
||||
.put(Material.SKELETON_HORSE_SPAWN_EGG, EntityType.SKELETON_HORSE)
|
||||
.put(Material.SKELETON_SPAWN_EGG, EntityType.SKELETON)
|
||||
.put(Material.SLIME_SPAWN_EGG, EntityType.SLIME)
|
||||
.put(Material.SNIFFER_SPAWN_EGG, EntityType.SNIFFER)
|
||||
.put(Material.SNOW_GOLEM_SPAWN_EGG, EntityType.SNOW_GOLEM)
|
||||
.put(Material.SPIDER_SPAWN_EGG, EntityType.SPIDER)
|
||||
.put(Material.SQUID_SPAWN_EGG, EntityType.SQUID)
|
||||
.put(Material.STRAY_SPAWN_EGG, EntityType.STRAY)
|
||||
.put(Material.STRIDER_SPAWN_EGG, EntityType.STRIDER)
|
||||
.put(Material.TADPOLE_SPAWN_EGG, EntityType.TADPOLE)
|
||||
.put(Material.TRADER_LLAMA_SPAWN_EGG, EntityType.TRADER_LLAMA)
|
||||
.put(Material.TROPICAL_FISH_SPAWN_EGG, EntityType.TROPICAL_FISH)
|
||||
.put(Material.TURTLE_SPAWN_EGG, EntityType.TURTLE)
|
||||
.put(Material.VEX_SPAWN_EGG, EntityType.VEX)
|
||||
.put(Material.VILLAGER_SPAWN_EGG, EntityType.VILLAGER)
|
||||
.put(Material.VINDICATOR_SPAWN_EGG, EntityType.VINDICATOR)
|
||||
.put(Material.WANDERING_TRADER_SPAWN_EGG, EntityType.WANDERING_TRADER)
|
||||
.put(Material.WARDEN_SPAWN_EGG, EntityType.WARDEN)
|
||||
.put(Material.WITCH_SPAWN_EGG, EntityType.WITCH)
|
||||
.put(Material.WITHER_SKELETON_SPAWN_EGG, EntityType.WITHER_SKELETON)
|
||||
.put(Material.WITHER_SPAWN_EGG, EntityType.WITHER)
|
||||
.put(Material.WOLF_SPAWN_EGG, EntityType.WOLF)
|
||||
.put(Material.ZOGLIN_SPAWN_EGG, EntityType.ZOGLIN)
|
||||
.put(Material.ZOMBIE_SPAWN_EGG, EntityType.ZOMBIE)
|
||||
.put(Material.ZOMBIE_HORSE_SPAWN_EGG, EntityType.ZOMBIE_HORSE)
|
||||
.put(Material.ZOMBIFIED_PIGLIN_SPAWN_EGG, EntityType.ZOMBIFIED_PIGLIN)
|
||||
.put(Material.ZOMBIE_VILLAGER_SPAWN_EGG, EntityType.ZOMBIE_VILLAGER)
|
||||
.build();
|
||||
|
||||
public static void init() {
|
||||
final var logger = CivLogger.getLogger(SpawnEggUtils.class);
|
||||
// Determine if there's any enchants missing names
|
||||
final Set<Material> missing = new HashSet<>();
|
||||
CollectionUtils.addAll(missing, Material.values());
|
||||
missing.removeIf(material -> !material.name().endsWith("_SPAWN_EGG") || SPAWN_EGGS.containsKey(material));
|
||||
if (!missing.isEmpty()) {
|
||||
logger.warning("The following spawn eggs are missing: " +
|
||||
missing.stream().map(Enum::name).collect(Collectors.joining(",")) + ".");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests if a material is that of a spawn egg.
|
||||
*
|
||||
* @param material The material to test.
|
||||
* @return Returns true if the material is that of a spawn egg.
|
||||
*/
|
||||
public static boolean isSpawnEgg(final Material material) {
|
||||
if (material == null) {
|
||||
return false;
|
||||
}
|
||||
return SPAWN_EGGS.containsKey(material);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the spawned entity type for a spawn egg.
|
||||
*
|
||||
* @param material The material, must be a spawn egg otherwise it's a guaranteed null.
|
||||
* @return Returns the entity type that will be spawned from the spawn egg, or null.
|
||||
*/
|
||||
@Nullable
|
||||
public static EntityType getEntityType(final Material material) {
|
||||
if (material == null) {
|
||||
return null;
|
||||
}
|
||||
return SPAWN_EGGS.get(material);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the spawn egg material from an entity type.
|
||||
*
|
||||
* @param type The type of entity to match to the spawn egg.
|
||||
* @return Returns a spawn egg material, or null.
|
||||
*/
|
||||
@Nullable
|
||||
public static Material getSpawnEgg(final EntityType type) {
|
||||
if (type == null) {
|
||||
return null;
|
||||
}
|
||||
return SPAWN_EGGS.inverse().get(type);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,7 +12,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import vg.civcraft.mc.civmodcore.inventory.items.SpawnEggUtils;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,13 +6,14 @@ import com.programmerdan.minecraft.simpleadminhacks.framework.BasicHackConfig;
|
||||
import com.programmerdan.minecraft.simpleadminhacks.framework.autoload.AutoLoad;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Ageable;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import vg.civcraft.mc.civmodcore.inventory.items.SpawnEggUtils;
|
||||
|
||||
public class ArthropodEggHack extends BasicHack {
|
||||
|
||||
@@ -73,7 +74,11 @@ public class ArthropodEggHack extends BasicHack {
|
||||
|
||||
// Check if egg should be spawned
|
||||
if (randomNum < targetPercentage) {
|
||||
ItemStack item = new ItemStack(SpawnEggUtils.getSpawnEgg(event.getEntityType()), 1);
|
||||
final Material spawnEggMaterial = Bukkit.getItemFactory().getSpawnEgg(event.getEntityType());
|
||||
if (spawnEggMaterial == null) {
|
||||
return;
|
||||
}
|
||||
ItemStack item = ItemStack.of(spawnEggMaterial, 1);
|
||||
if (removeDrops) {
|
||||
event.getDrops().clear();
|
||||
event.setDroppedExp(0);
|
||||
|
||||
Reference in New Issue
Block a user