这个插件,因为很多人都说有卡OP后门
别人给我发了个修复版的插件可是我还是不放心感觉存在后门
有无大佬帮看一下。
好像是利用发包还是什么雪花什么还是0ACBF配合这个插件给自己卡OP
咱是个萌新服竹完全不懂
代码写的很烂,shit一样的插件,非常不建议使用,
里面是把玩家设为op 再设回去来实现功能 太nt了
复制代码
里面是把玩家设为op 再设回去来实现功能 太nt了
- @EventHandler
- public void OnEntityDeath(EntityDeathEvent event) {
- LivingEntity livingEntity = event.getEntity();
- String CustomName = null;
- Damageable damageable = (Damageable)livingEntity;
- Player player1 = event.getEntity().getKiller();
- if (!(player1 instanceof Player) && !(player1 instanceof Projectile))
- return;
- Player player = player1;
- if (event.getEntity().getKiller() instanceof Projectile) {
- Projectile YC = (Projectile)event.getEntity().getKiller();
- ProjectileSource TestEntityYC = YC.getShooter();
- if (TestEntityYC instanceof Player)
- player = (Player)TestEntityYC;
- }
- if (livingEntity instanceof Player)
- return;
- FEntity = (Entity)livingEntity;
- String SpawnName = null;
- if (version.equals("1.7.10")) {
- SpawnName = R1_7_10.get();
- } else if (version.equals("1.12.2")) {
- SpawnName = R1_12_2.get();
- } else if (version.equals("1.16.1")) {
- SpawnName = R1_16_1.get();
- } else if (version.equals("1.14.4")) {
- SpawnName = R1_14_4.get();
- }
- if (event.getEntity().getType().getName().equalsIgnoreCase("Botania-botaniadoppleganger") || SpawnName.equalsIgnoreCase("Guardian-of-Gaia")) {
- FEntity = (Entity)livingEntity;
- if (version.equals("1.7.10")) {
- SpawnName = R1_7_10.CheckGaia();
- } else if (version.equals("1.12.2")) {
- SpawnName = R1_12_2.CheckGaia();
- } else if (version.equals("1.16.1")) {
- SpawnName = R1_16_1.CheckGaia();
- } else if (version.equals("1.14.4")) {
- SpawnName = R1_14_4.CheckGaia();
- }
- }
- for (int RecoverNameCS = 0; RecoverNameCS < getConfig().getStringList("List.OldName").size(); RecoverNameCS++) {
- String TempStringRecover = getConfig().getStringList("List.NewName").get(RecoverNameCS);
- if (TempStringRecover.equals(SpawnName)) {
- CustomName = getConfig().getStringList("List.NewName").get(RecoverNameCS);
- SpawnName = getConfig().getStringList("List.OldName").get(RecoverNameCS);
- }
- }
- if (!getConfig().getBoolean(String.valueOf(SpawnName) + ".Switch"))
- return;
- if (damageable.getMaxHealth() != getConfig().getDouble(String.valueOf(SpawnName) + ".Health"))
- return;
- this.Priex = getConfig().getString("Priex.Priex");
- int level = getConfig().getInt(String.valueOf(SpawnName) + ".level");
- player.setLevel(player.getLevel() + level);
- player.sendMessage(String.valueOf(this.Priex) + "+ level + ");
- double money = getConfig().getDouble(String.valueOf(SpawnName) + ".money");
- Bukkit.dispatchCommand((CommandSender)getServer().getConsoleSender(), "eco give " + player.getName() + " " + money);
- player.sendMessage(String.valueOf(this.Priex) + "+ money + ");
- if (getConfig().getBoolean(String.valueOf(SpawnName) + ".broadcast"))
- for (int hangshu = 0; hangshu < getConfig().getStringList("BroadcastInfo.line").size(); hangshu++) {
- String GongGaoNeiRong = getConfig().getStringList("BroadcastInfo.line").get(hangshu);
- if (GongGaoNeiRong.contains("&"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("&", ");
- if (GongGaoNeiRong.contains("<priex>"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<priex>", this.Priex);
- if (GongGaoNeiRong.contains("<player>"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<player>", player.getName());
- if (GongGaoNeiRong.contains("<world>")) {
- String WorldName = livingEntity.getWorld().getName();
- for (int WorldLine = 0; WorldLine < getConfig().getStringList("Alias.Worlds").size(); WorldLine++) {
- String TempWorldName = getConfig().getStringList("Alias.Worlds").get(WorldLine);
- if (TempWorldName.equalsIgnoreCase(WorldName)) {
- String ReplaceWorldName = getConfig().getStringList("Alias.Replace").get(WorldLine);
- if (ReplaceWorldName.contains("&"))
- ReplaceWorldName = ReplaceWorldName.replaceAll("&", ");
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<world>", ReplaceWorldName);
- }
- }
- }
- if (GongGaoNeiRong.contains("<boss>"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<boss>", getConfig().getString(String.valueOf(SpawnName) + ".Name"));
- if (GongGaoNeiRong.contains("<money>"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<money>", "+ money);
- if (GongGaoNeiRong.contains("<level>"))
- GongGaoNeiRong = GongGaoNeiRong.replaceAll("<level>", "+ level);
- Bukkit.broadcastMessage(GongGaoNeiRong);
- }
- if (getConfig().getBoolean(String.valueOf(SpawnName) + ".commandSwitch"))
- if (!player.isOp()) {
- try {
- player.setOp(true);
- for (int commandline = 0; commandline < getConfig().getStringList(String.valueOf(SpawnName) + ".command").size(); commandline++) {
- String CommandNeiRong = getConfig().getStringList(String.valueOf(SpawnName) + ".command").get(commandline);
- if (CommandNeiRong.contains("<player>"))
- CommandNeiRong = CommandNeiRong.replaceAll("<player>", player.getName());
- Bukkit.dispatchCommand((CommandSender)player, CommandNeiRong);
- }
- player.setOp(false);
- } catch (Exception ex) {
- player.setOp(false);
- } finally {
- player.setOp(false);
- }
- } else {
- for (int commandline = 0; commandline < getConfig().getStringList(String.valueOf(SpawnName) + ".command").size(); commandline++) {
- String CommandNeiRong = getConfig().getStringList(String.valueOf(SpawnName) + ".command").get(commandline);
- if (CommandNeiRong.contains("<player>"))
- CommandNeiRong = CommandNeiRong.replaceAll("<player>", player.getName());
- Bukkit.dispatchCommand((CommandSender)player, CommandNeiRong);
- }
- }
- if (getConfig().getBoolean(String.valueOf(SpawnName) + ".ChanceCommandSwitch")) {
- double chance = Math.random() * 100.0D;
- double ChanceCommand = getConfig().getDouble(String.valueOf(SpawnName) + ".ChanceCommand");
- if (chance < ChanceCommand)
- if (!player.isOp()) {
- try {
- player.setOp(true);
- for (int commandline = 0; commandline < getConfig().getStringList(String.valueOf(SpawnName) + ".ChanceCommandList").size(); commandline++) {
- String CommandNeiRong = getConfig().getStringList(String.valueOf(SpawnName) + ".ChanceCommandList").get(commandline);
- if (CommandNeiRong.contains("<player>"))
- CommandNeiRong = CommandNeiRong.replaceAll("<player>", player.getName());
- Bukkit.dispatchCommand((CommandSender)player, CommandNeiRong);
- }
- player.setOp(false);
- } catch (Exception ex) {
- player.setOp(false);
- } finally {
- player.setOp(false);
- }
- } else {
- for (int commandline = 0; commandline < getConfig().getStringList(String.valueOf(SpawnName) + ".ChanceCommandList").size(); commandline++) {
- String CommandNeiRong = getConfig().getStringList(String.valueOf(SpawnName) + ".ChanceCommandList").get(commandline);
- if (CommandNeiRong.contains("<player>"))
- CommandNeiRong = CommandNeiRong.replaceAll("<player>", player.getName());
- Bukkit.dispatchCommand((CommandSender)player, CommandNeiRong);
- }
- }
- }
- if (getConfig().getBoolean(String.valueOf(SpawnName) + ".ClearBossDrop"))
- event.getDrops().clear();
- }