@LuckyKazya Why bother casting? Don't do this. this.getCommand("ljreload").setExecutor((CommandExecutor)new Commands(this));
@vibeman Forgot about this but yeah I can get this done sometime soon.
@CahyaAziz Why not have the plugin download the zip from online, you can use a service like Mediafire to upload the file.
@Prest00n Good luck, your code for this should be about 10 lines and to challenge yourself add the feature to change how much durability is used...
@MaxBKAC Run this on the main thread, if you are doing this little amount for 5 ticks then it will just be worse on performance to be using...
@MaxBKAC private ConcurrentMap<UUID,Integer> map = new ConcurrentHashMap<>(); Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, new...
@MaxBKAC Alright if you want that level of precision then just use an integer for ticks and in a repeating task cycle through your hashmap and...
@Tim_M Well actually calling getBlock on a loaded chunk is thread-safe so why not on the main thread load chunks which have zero impact if you go...
Alright so first off don't store in your map player names (Strings) instead store the player's UUID and next don't use your playerSpammingFunc...
@Tim_M Can't you just run it in a CompletableFuture task to fix the first problem and use Bukkit.getScheduler().runTask(); To solve the second...
@voltywolty You cannot cast the entity to a player without checking it first, your code looks backwards just use it like this @EventHandler public...
@TerThesz Perhaps this may help you I don't know why you are collecting IP addresses of servers, doesn't seem like something a plugin should be...
I think this is what you are looking for https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/meta/CompassMeta.html
@Script1996 That is weird idk why that's happening but first off don't go about casting stuff without checking it and second off just simply don't...
How do you want them to switch chats?
Separate names with a comma.