mirror of
https://github.com/Maxlego08/zKoth.git
synced 2025-02-23 02:52:04 +01:00
Bug fix
This commit is contained in:
parent
a6eaac322a
commit
b62223453e
@ -1,6 +1,6 @@
|
||||
name: zKoth
|
||||
author: Maxlego08
|
||||
main: fr.maxlego08.koth.ZKoth
|
||||
version: 1.0.1.1
|
||||
version: 1.0.1.2
|
||||
softdepend: [PlaceholderAPI, Guilds]
|
||||
commands:
|
||||
|
@ -168,6 +168,16 @@ public class Koth extends ZUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pos1.getWorld() == null){
|
||||
message(sender, Message.KOTH_SET_FIRST_POSITION_WORLD_NULL, name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (pos2.getWorld() == null){
|
||||
message(sender, Message.KOTH_SET_SECOND_POSITION_WORLD_NULL, name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCooldown) {
|
||||
message(sender, Message.KOTH_SPAWN_COOLDOWN);
|
||||
return;
|
||||
@ -181,6 +191,11 @@ public class Koth extends ZUtils {
|
||||
if (cuboid == null)
|
||||
buildCuboid();
|
||||
|
||||
if (cuboid == null){
|
||||
message(sender, Message.KOTH_SPAWN_ERROR);
|
||||
return;
|
||||
}
|
||||
|
||||
if (now)
|
||||
spawnNow(sender);
|
||||
else
|
||||
|
@ -240,6 +240,12 @@ public class KothManager extends ListenerAdapter implements Saveable {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param sender
|
||||
* @param name
|
||||
* @param now
|
||||
*/
|
||||
public void spawn(CommandSender sender, String name, boolean now) {
|
||||
|
||||
if (!exist(name)) {
|
||||
|
@ -39,9 +39,12 @@ public enum Message {
|
||||
KOTH_SET_FIRST_POSITION("§eYou just put the first position for the koth §6%s§e."),
|
||||
KOTH_SET_SECOND_POSITION("§eYou just put the second position for the koth §6%s§e."),
|
||||
KOTH_SET_FIRST_POSITION_NULL("§cThe first location cannot be found, made §f/koth set pos1 %s§c."),
|
||||
KOTH_SET_FIRST_POSITION_WORLD_NULL("§cThe world of the first location is untraceable, impossible to spawn the koth."),
|
||||
KOTH_SET_SECOND_POSITION_NULL("§cThe second location cannot be found, made §f/koth set pos2 %s§c."),
|
||||
KOTH_SET_SECOND_POSITION_WORLD_NULL("§cThe world of the second location is untraceable, impossible to spawn the koth."),
|
||||
KOTH_SPAWN_COOLDOWN("§cthe countdown to the appearance of the koth is already underway"),
|
||||
KOTH_SPAWN_ALREADY("§cThe koth is running."),
|
||||
KOTH_SPAWN_ERROR("§cImpossible to spawn the koth, the cuboid can't be created."),
|
||||
KOTH_STOP("§ekoth §f%name% §ehas just been stopped."),
|
||||
KOTH_SPAWN_MESSAGE_COOLDOWN("§eKoth §6%name% §ewill appear in §6%cooldown% §8(§7%centerX%, %centerY%, %centerZ%§8)"),
|
||||
KOTH_SPAWN_MESSAGE("§eKoth §6%name% §eappeared in §6%centerX%, %centerY%, %centerZ%§e."),
|
||||
|
@ -8,82 +8,93 @@ import java.util.TimerTask;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
|
||||
public class ActionBar {
|
||||
private static String nmsver;
|
||||
private static boolean useOldMethods = false;
|
||||
private static double nmsVersion = ItemDecoder.getNMSVersion();
|
||||
|
||||
public static void sendActionBar(Player player, String message) {
|
||||
|
||||
if (!player.isOnline())
|
||||
return;
|
||||
|
||||
nmsver = Bukkit.getServer().getClass().getPackage().getName();
|
||||
nmsver = nmsver.substring(nmsver.lastIndexOf(".") + 1);
|
||||
if (nmsver.equalsIgnoreCase("v1_8_R1") || nmsver.startsWith("v1_7_")) {
|
||||
useOldMethods = true;
|
||||
}
|
||||
|
||||
if (player.isOnline()) {
|
||||
new Timer().schedule(new TimerTask() {
|
||||
// Use new methodes
|
||||
if (nmsVersion != 1.7 && nmsVersion != 1.8 && nmsVersion != 1.9) {
|
||||
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(message));
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Class<?> var2 = Class.forName("org.bukkit.craftbukkit." + nmsver + ".entity.CraftPlayer");
|
||||
Object var3 = var2.cast(player);
|
||||
Class<?> var4 = Class.forName("net.minecraft.server." + nmsver + ".PacketPlayOutChat");
|
||||
Class<?> var5 = Class.forName("net.minecraft.server." + nmsver + ".Packet");
|
||||
Object var6;
|
||||
Class<?> var7;
|
||||
Class<?> var8;
|
||||
Object message0;
|
||||
if (useOldMethods) {
|
||||
var7 = Class.forName("net.minecraft.server." + nmsver + ".ChatSerializer");
|
||||
var8 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
|
||||
Method var20 = var7.getDeclaredMethod("a", new Class[] { String.class });
|
||||
message0 = var8
|
||||
.cast(var20.invoke(var7, new Object[] { "{\"text\": \"" + message + "\"}" }));
|
||||
new Timer().schedule(new TimerTask() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Class<?> var2 = Class.forName("org.bukkit.craftbukkit." + nmsver + ".entity.CraftPlayer");
|
||||
Object var3 = var2.cast(player);
|
||||
Class<?> var4 = Class.forName("net.minecraft.server." + nmsver + ".PacketPlayOutChat");
|
||||
Class<?> var5 = Class.forName("net.minecraft.server." + nmsver + ".Packet");
|
||||
Object var6;
|
||||
Class<?> var7;
|
||||
Class<?> var8;
|
||||
Object message0;
|
||||
if (useOldMethods) {
|
||||
var7 = Class.forName("net.minecraft.server." + nmsver + ".ChatSerializer");
|
||||
var8 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
|
||||
Method var20 = var7.getDeclaredMethod("a", new Class[] { String.class });
|
||||
message0 = var8.cast(var20.invoke(var7, new Object[] { "{\"text\": \"" + message + "\"}" }));
|
||||
var6 = var4.getConstructor(new Class[] { var8, Byte.TYPE })
|
||||
.newInstance(new Object[] { message0, Byte.valueOf((byte) 2) });
|
||||
} else {
|
||||
var7 = Class.forName("net.minecraft.server." + nmsver + ".ChatComponentText");
|
||||
var8 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
|
||||
|
||||
try {
|
||||
Class<?> var9 = Class.forName("net.minecraft.server." + nmsver + ".ChatMessageType");
|
||||
Object[] var22 = var9.getEnumConstants();
|
||||
Object message1 = null;
|
||||
Object[] message2 = var22;
|
||||
int message3 = var22.length;
|
||||
|
||||
for (int message4 = 0; message4 < message3; ++message4) {
|
||||
Object message5 = message2[message4];
|
||||
if (message5.toString().equals("GAME_INFO")) {
|
||||
message1 = message5;
|
||||
}
|
||||
}
|
||||
|
||||
Object var24 = var7.getConstructor(new Class[] { String.class })
|
||||
.newInstance(new Object[] { message });
|
||||
var6 = var4.getConstructor(new Class[] { var8, var9 })
|
||||
.newInstance(new Object[] { var24, message1 });
|
||||
} catch (ClassNotFoundException message6) {
|
||||
message0 = var7.getConstructor(new Class[] { String.class })
|
||||
.newInstance(new Object[] { message });
|
||||
var6 = var4.getConstructor(new Class[] { var8, Byte.TYPE })
|
||||
.newInstance(new Object[] { message0, Byte.valueOf((byte) 2) });
|
||||
} else {
|
||||
var7 = Class.forName("net.minecraft.server." + nmsver + ".ChatComponentText");
|
||||
var8 = Class.forName("net.minecraft.server." + nmsver + ".IChatBaseComponent");
|
||||
|
||||
try {
|
||||
Class<?> var9 = Class.forName("net.minecraft.server." + nmsver + ".ChatMessageType");
|
||||
Object[] var22 = var9.getEnumConstants();
|
||||
Object message1 = null;
|
||||
Object[] message2 = var22;
|
||||
int message3 = var22.length;
|
||||
|
||||
for (int message4 = 0; message4 < message3; ++message4) {
|
||||
Object message5 = message2[message4];
|
||||
if (message5.toString().equals("GAME_INFO")) {
|
||||
message1 = message5;
|
||||
}
|
||||
}
|
||||
|
||||
Object var24 = var7.getConstructor(new Class[] { String.class })
|
||||
.newInstance(new Object[] { message });
|
||||
var6 = var4.getConstructor(new Class[] { var8, var9 })
|
||||
.newInstance(new Object[] { var24, message1 });
|
||||
} catch (ClassNotFoundException message6) {
|
||||
message0 = var7.getConstructor(new Class[] { String.class })
|
||||
.newInstance(new Object[] { message });
|
||||
var6 = var4.getConstructor(new Class[] { var8, Byte.TYPE })
|
||||
.newInstance(new Object[] { message0, Byte.valueOf((byte) 2) });
|
||||
}
|
||||
}
|
||||
|
||||
Method message8 = var2.getDeclaredMethod("getHandle", new Class[0]);
|
||||
Object message9 = message8.invoke(var3, new Object[0]);
|
||||
Field var21 = message9.getClass().getDeclaredField("playerConnection");
|
||||
message0 = var21.get(message9);
|
||||
Method var23 = message0.getClass().getDeclaredMethod("sendPacket", new Class[] { var5 });
|
||||
var23.invoke(message0, new Object[] { var6 });
|
||||
} catch (Exception message7) {
|
||||
message7.printStackTrace();
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
|
||||
}
|
||||
Method message8 = var2.getDeclaredMethod("getHandle", new Class[0]);
|
||||
Object message9 = message8.invoke(var3, new Object[0]);
|
||||
Field var21 = message9.getClass().getDeclaredField("playerConnection");
|
||||
message0 = var21.get(message9);
|
||||
Method var23 = message0.getClass().getDeclaredMethod("sendPacket", new Class[] { var5 });
|
||||
var23.invoke(message0, new Object[] { var6 });
|
||||
} catch (Exception message7) {
|
||||
message7.printStackTrace();
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
|
||||
}
|
||||
|
||||
public static void sendActionBar(Player player, String message, int sec) {
|
||||
@ -97,7 +108,7 @@ public class ActionBar {
|
||||
sendActionBar(player, message);
|
||||
currentSec--;
|
||||
}
|
||||
}, 1000, 1000);
|
||||
}, 0, 1000);
|
||||
}
|
||||
|
||||
public static void broadcastActionMessage(String paramString) {
|
||||
|
Loading…
Reference in New Issue
Block a user