NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

commit 9979c9de23bb37425192b04297d49f8ba6cc9140
parent 7b8544dffdc8e9057f24bfea23fe8972a87cec2c
Author: NK <[email protected]>
Date:   Thu, 17 Nov 2022 11:45:53 +0000

removing

Diffstat:
Dsrc/main/java/me/night/nullvalkyrie/commands/SpawnCommand.java | 151------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 151 deletions(-)

diff --git a/src/main/java/me/night/nullvalkyrie/commands/SpawnCommand.java b/src/main/java/me/night/nullvalkyrie/commands/SpawnCommand.java @@ -1,151 +0,0 @@ -//package me.night.nullvalkyrie.commands; -// -//import me.night.nullvalkyrie.Main; -//import me.night.nullvalkyrie.util.components.CustomMob; -//import org.bukkit.Bukkit; -//import org.bukkit.Location; -//import org.bukkit.World; -//import org.bukkit.block.Block; -//import org.bukkit.command.CommandSender; -//import org.bukkit.entity.*; -//import org.bukkit.event.EventHandler; -//import org.bukkit.event.Listener; -//import org.bukkit.event.entity.EntityDamageEvent; -//import org.bukkit.event.entity.EntityDeathEvent; -//import org.bukkit.scheduler.BukkitRunnable; -// -//import java.text.DecimalFormat; -//import java.util.*; -// -//public class SpawnCommand extends Command implements Listener { -// private final Main main; -// public World world; -// public final Map<Entity, Integer> indicators = new HashMap<>(); -// public final Map<Entity, CustomMob> entities = new HashMap<>(); -// private final DecimalFormat formatter = new DecimalFormat("#"); -// public SpawnCommand(Main main) { -// super( -// "spawn", -// new String[]{}, -// "Spawn a custom mob", -// "" -// ); -// this.main = main; -// } -// -// @Override -// public void onCommand(CommandSender sender, String[] args) { -// world = Bukkit.getWorld("world"); -// -// spawnMobs(9, 10, 5 * 20); -// new BukkitRunnable() { -// final Set<Entity> stands = indicators.keySet(); -// final List<Entity> removal = new ArrayList<>(); -// @Override -// public void run() { -// for (Entity stand : stands) { -// int ticksLeft = indicators.get(stand); -// if (ticksLeft == 0) { -// stand.remove(); -// removal.add(stand); -// continue; -// } -// ticksLeft--; -// indicators.put(stand, ticksLeft); -// } -// stands.removeAll(removal); -// } -// }.runTaskTimer(main, 0L, 1L); -// -// } -// public void spawnMobs(int size, int mobCap, int spawnTime) { -// CustomMob[] mobTypes = CustomMob.values(); -// new BukkitRunnable() { -// final Set<Entity> spawned = entities.keySet(); -// final List<Entity> removal = new ArrayList<>(); -// @Override -// public void run() { -// for (Entity entity : spawned) { -// if (!entity.isValid() || entity.isDead()) removal.add(entity); -// } -// spawned.removeAll(removal); -// -// // Spawning Algorithm -// int diff = mobCap - entities.size(); -// if (diff <= 0) return; -// int spawnAmount = (int) (Math.random() * (diff + 1)), count = 0; -// while (count <= spawnAmount) { -// count++; -// int ranX = getRandomWithNeg(size), ranZ = getRandomWithNeg(size); -// Block block = world.getHighestBlockAt(ranX, ranZ); -// double xOffset = getRandomOffset(), zOffset = getRandomOffset(); -// Location loc = block.getLocation().clone().add(xOffset, 1, zOffset); -// if (!isSpawnable(loc)) continue; -// double random = Math.random() * 101, previous = 0; -// CustomMob typeToSpawn = mobTypes[0]; -// for (CustomMob type : mobTypes) { -// previous += type.getSpawnChance(); -// if (random <= previous) { -// typeToSpawn = type; -// break; -// } -// } -// entities.put(typeToSpawn.spawn(loc), typeToSpawn); -// } -// } -// }.runTaskTimer(main, 0L, spawnTime); -// } -// -// public static boolean isSpawnable(Location loc) { -// Block feetBlock = loc.getBlock(), headBlock = loc.clone().add(0, 1, 0).getBlock(), upperBlock = loc.clone().add(0, 2, 0).getBlock(); -// return feetBlock.isPassable() && !feetBlock.isLiquid() && headBlock.isPassable() && !headBlock.isLiquid() && upperBlock.isPassable() && !upperBlock.isLiquid(); -// } -// -// private static double getRandomOffset() { -// double random = Math.random(); -// if (Math.random() > 0.5) random *= -1; -// return random; -// } -// -// public static int getRandomWithNeg(int size) { -// int random = (int) (Math.random() * (size + 1)); -// if (Math.random() > 0.5) random *= -1; -// return random; -// } -// -// @EventHandler -// public void onEntityDamage(EntityDamageEvent event) { -// Entity rawEntity = event.getEntity(); -// if (!entities.containsKey(rawEntity)) return; -// CustomMob mob = entities.get(rawEntity); -// LivingEntity entity = (LivingEntity) rawEntity; -// double damage = event.getFinalDamage(), health = entity.getHealth() + entity.getAbsorptionAmount(); -// if (health > damage) { -// // If the entity survived the hit -// health -= damage; -// entity.setCustomName(Utils.color(mob.getName() + " &r&c" + (int) health + "/" + (int) mob.getMaxHealth() + "❤")); -// } -// Location loc = entity.getLocation().clone().add(getRandomOffset(), 1, getRandomOffset()); -// world.spawn(loc, ArmorStand.class, armorStand -> { -// armorStand.setMarker(true); -// armorStand.setVisible(false); -// armorStand.setGravity(false); -// armorStand.setSmall(true); -// armorStand.setCustomNameVisible(true); -// armorStand.setCustomName(Util.color("&c" + formatter.format(damage))); -// indicators.put(armorStand, 30); -// }); -// } -// -// @EventHandler -// public void onEntityDeath(EntityDeathEvent event) { -// if (!entities.containsKey(event.getEntity())) return; -// event.setDroppedExp(0); -// event.getDrops().clear(); -// entities.remove(event.getEntity()).tryDropLoot(event.getEntity().getLocation()); -// } -// @Override -// public List<String> onTabComplete(CommandSender sender, String[] args) { -// return null; -// } -//}