From 7e1bce15a21980507b280d079bd2448f11c48a24 Mon Sep 17 00:00:00 2001 From: Xanadu13 <104714710+iXanadu13@users.noreply.github.com> Date: Fri, 25 Aug 2023 21:51:11 +0800 Subject: [PATCH] Delete src/main/java/pers/xanadu/enderdragon/reward directory --- .../xanadu/enderdragon/reward/Chance.java | 22 ------- .../xanadu/enderdragon/reward/DistType.java | 28 --------- .../xanadu/enderdragon/reward/Reward.java | 50 ---------------- .../xanadu/enderdragon/reward/RewardDist.java | 59 ------------------- .../enderdragon/reward/dist/Dist_All.java | 36 ----------- .../enderdragon/reward/dist/Dist_Drop.java | 53 ----------------- .../enderdragon/reward/dist/Dist_Killer.java | 29 --------- .../enderdragon/reward/dist/Dist_Pack.java | 53 ----------------- .../enderdragon/reward/dist/Dist_Rank.java | 57 ------------------ .../reward/dist/Dist_Termwise.java | 39 ------------ 10 files changed, 426 deletions(-) delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/Chance.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/DistType.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/Reward.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/RewardDist.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_All.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Drop.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Killer.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Pack.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Rank.java delete mode 100644 src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Termwise.java diff --git a/src/main/java/pers/xanadu/enderdragon/reward/Chance.java b/src/main/java/pers/xanadu/enderdragon/reward/Chance.java deleted file mode 100644 index e9a8ccb..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/Chance.java +++ /dev/null @@ -1,22 +0,0 @@ -package pers.xanadu.enderdragon.reward; - - -public class Chance { - private double value; - private String str; - public Chance(Chance chance){ - str = chance.str; - value = chance.value; - } - public Chance(double d0,String str){ - this.str = str; - this.value = d0; - } - public double getValue(){ - return value; - } - public String getStr(){ - return str; - } - -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/DistType.java b/src/main/java/pers/xanadu/enderdragon/reward/DistType.java deleted file mode 100644 index f8d72a8..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/DistType.java +++ /dev/null @@ -1,28 +0,0 @@ -package pers.xanadu.enderdragon.reward; - -import java.util.Map; -import java.util.TreeMap; - -public enum DistType { - killer, - drop,//glow? - all, - rank,//num - pack,//num - termwise, - unknown; - - private static final Map mp = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - - public static DistType getByName(String str){ - //if(str == null) return drop; - return mp.getOrDefault(str,unknown); - } - static { - DistType[] values = DistType.values(); - for (DistType type : values) { - String name = type.name(); - mp.put(name, type); - } - } -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/Reward.java b/src/main/java/pers/xanadu/enderdragon/reward/Reward.java deleted file mode 100644 index 6bc6cf6..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/Reward.java +++ /dev/null @@ -1,50 +0,0 @@ -package pers.xanadu.enderdragon.reward; - -import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.manager.ItemManager; - - -public class Reward extends ItemStack { - protected String name; - protected Chance chance; - private ItemStack item; - - @Override - public String toString(){ - return ItemManager.write(this); - } - - public String getName() { - return this.name; - } -// -// @Override -// public int hashCode() { -// return this.name.hashCode(); -// } - - public ItemStack getItem() { - if(item == null) return new ItemStack(Material.AIR); - return item.clone(); - } - public Chance getChance(){ - return this.chance; - } - - - - protected Reward(ItemStack item,String chance) { - this.item = item; - - } - public Reward(ItemStack item, Chance chance){ - this.item = item; - this.chance = chance; - } - public Reward(ItemStack item){ - this.item = item; - this.chance = null; - } - -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/RewardDist.java b/src/main/java/pers/xanadu/enderdragon/reward/RewardDist.java deleted file mode 100644 index 2b41a98..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/RewardDist.java +++ /dev/null @@ -1,59 +0,0 @@ -package pers.xanadu.enderdragon.reward; - -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.reward.dist.*; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -public abstract class RewardDist { - public static RewardDist parse(ConfigurationSection section){ - if(section == null) return new Dist_Drop(); - String type_name = section.getString("type"); - DistType type = DistType.getByName(type_name); - switch (type){ - case all : { - return new Dist_All(); - } - case drop : { - return new Dist_Drop(section.getConfigurationSection("drop")); - } - case killer : { - return new Dist_Killer(); - } - case pack : { - return new Dist_Pack(section.getConfigurationSection("pack")); - } - case rank : { - return new Dist_Rank(section.getConfigurationSection("rank")); - } - case termwise : { - return new Dist_Termwise(); - } - default : { - Lang.error("Unknown reward_dist type: "+type_name); - return new Dist_Drop(); - } - } - } - public List getDropReward(MyDragon myDragon){ - List list = new ArrayList<>(); - for(Reward reward : myDragon.datum){ - double chance = reward.getChance().getValue(); - if(chance > ThreadLocalRandom.current().nextDouble(100)){ - list.add(reward.getItem()); - } - } - return list; - } - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player killer){ - - } - -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_All.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_All.java deleted file mode 100644 index 47abdd3..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_All.java +++ /dev/null @@ -1,36 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.Bukkit; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.manager.DamageManager; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - -public class Dist_All extends RewardDist { - @Override - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player killer){ - ConcurrentHashMap damage_data = DamageManager.data.get(dragon.getUniqueId()); - if(damage_data == null) return; - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - Bukkit.getOnlinePlayers().forEach(p->{ - if(damage_data.containsKey(p.getName())){ - boolean full = false; - for(ItemStack item : items){ - if(full || p.getInventory().firstEmpty() == -1){ - p.getWorld().dropItem(p.getLocation(),item); - full = true; - } - else p.getInventory().addItem(item); - } - if(full) Lang.sendFeedback(p, Lang.dragon_player_inv_full); - } - }); - } -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Drop.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Drop.java deleted file mode 100644 index 8cb1ce3..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Drop.java +++ /dev/null @@ -1,53 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.World; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Item; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.util.Vector; -import pers.xanadu.enderdragon.manager.GlowManager; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.List; -import java.util.concurrent.ThreadLocalRandom; - -import static pers.xanadu.enderdragon.manager.GlowManager.setGlowingColor; - -public class Dist_Drop extends RewardDist { - private final GlowManager.GlowColor color; - public Dist_Drop(ConfigurationSection section){ - if(section == null) color = GlowManager.GlowColor.NONE; - else { - String color = section.getString("glow","NONE").toUpperCase(); - this.color = GlowManager.GlowColor.valueOf(color); - } - } - public Dist_Drop(){ - color = GlowManager.GlowColor.NONE; - } - @Override - public void handle_dist(final MyDragon myDragon, final EnderDragon dragon, final Player killer){ - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - World world = dragon.getWorld(); - Location loc = dragon.getLocation(); - items.forEach(item->{ - Item entity_item = world.dropItemNaturally(loc,item); - ChatColor color = getGlowColor(); - if(color!=null) setGlowingColor(entity_item,color); - double x = ThreadLocalRandom.current().nextDouble(0.25); - double y = ThreadLocalRandom.current().nextDouble(0.25); - double z = ThreadLocalRandom.current().nextDouble(0.25); - entity_item.setVelocity(new Vector(x,y,z)); - }); - } - - public ChatColor getGlowColor(){ - return GlowManager.getGlowColor(color); - } -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Killer.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Killer.java deleted file mode 100644 index f442e38..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Killer.java +++ /dev/null @@ -1,29 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.List; - -public class Dist_Killer extends RewardDist { - @Override - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player p){ - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - if(p != null){ - boolean full = false; - for(ItemStack item : items){ - if(full || p.getInventory().firstEmpty() == -1){ - p.getWorld().dropItem(p.getLocation(),item); - full = true; - } - else p.getInventory().addItem(item); - } - if(full) Lang.sendFeedback(p, Lang.dragon_player_inv_full); - } - } -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Pack.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Pack.java deleted file mode 100644 index a443c3f..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Pack.java +++ /dev/null @@ -1,53 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.Bukkit; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.manager.DamageManager; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.AExpJ; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - -public class Dist_Pack extends RewardDist { - private final int max_num; - public Dist_Pack(ConfigurationSection section){ - if(section == null) max_num = 1; - else max_num = section.getInt("max_num",1); - } - - @Override - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player killer){ - ConcurrentHashMap damage_data = DamageManager.data.get(dragon.getUniqueId()); - if(damage_data == null) return; - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - int m = Math.min(max_num,damage_data.size()); - if(m<=0) return; - List receivers = AExpJ.sample(damage_data,m); - receivers.forEach(receiver->{ - Player p = Bukkit.getPlayer(receiver); - if(p != null){ - boolean full = false; - for(ItemStack item : items){ - if(full || p.getInventory().firstEmpty() == -1){ - p.getWorld().dropItem(p.getLocation(),item); - full = true; - } - else p.getInventory().addItem(item); - } - if(full) Lang.sendFeedback(p, Lang.dragon_player_inv_full); - } - }); - } - - public int getMax_num(){ - return max_num; - } -} - diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Rank.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Rank.java deleted file mode 100644 index d17fb95..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Rank.java +++ /dev/null @@ -1,57 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.Bukkit; -import org.bukkit.configuration.ConfigurationSection; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.manager.DamageManager; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; - -public class Dist_Rank extends RewardDist { - private final int max_num; - public Dist_Rank(ConfigurationSection section){ - if(section == null) max_num = 1; - else max_num = section.getInt("max_num",1); - } - public int getMax_num(){ - return max_num; - } - @Override - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player killer){ - ConcurrentHashMap damage_data = DamageManager.data.get(dragon.getUniqueId()); - if(damage_data == null) return; - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - int m = Math.min(max_num,damage_data.size()); - if(m<=0) return; - List> list = damage_data.entrySet().stream().sorted(Dist_Rank::sortByDamage).collect(Collectors.toList()); - for(int i=0;i int sortByDamage(Map.Entry e1,Map.Entry e2){ - if(e2.getValue()>e1.getValue()) return 1; - if(e2.getValue().equals(e1.getValue())) return 0; - return -1; - } -} diff --git a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Termwise.java b/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Termwise.java deleted file mode 100644 index 65bdc1d..0000000 --- a/src/main/java/pers/xanadu/enderdragon/reward/dist/Dist_Termwise.java +++ /dev/null @@ -1,39 +0,0 @@ -package pers.xanadu.enderdragon.reward.dist; - -import org.bukkit.Bukkit; -import org.bukkit.entity.EnderDragon; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import pers.xanadu.enderdragon.config.Lang; -import pers.xanadu.enderdragon.manager.DamageManager; -import pers.xanadu.enderdragon.reward.RewardDist; -import pers.xanadu.enderdragon.util.AliasSample; -import pers.xanadu.enderdragon.util.MyDragon; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - -public class Dist_Termwise extends RewardDist { - @Override - public void handle_dist(final MyDragon myDragon,final EnderDragon dragon,final Player killer){ - ConcurrentHashMap damage_data = DamageManager.data.get(dragon.getUniqueId()); - if(damage_data == null) return; - List items = getDropReward(myDragon); - if(items.isEmpty()) return; - AliasSample alias = new AliasSample(new ArrayList<>(damage_data.values())); - List list = new ArrayList<>(damage_data.keySet()); - items.forEach(item->{ - int idx = alias.next(); - String receiver = list.get(idx); - Player p = Bukkit.getPlayer(receiver); - if(p != null){ - if(p.getInventory().firstEmpty() == -1){ - p.getWorld().dropItem(p.getLocation(),item); - Lang.sendFeedback(p, Lang.dragon_player_inv_full); - } - else p.getInventory().addItem(item); - } - }); - } -}