volmitsoftware / biletools Goto Github PK
View Code? Open in Web Editor NEWTools for making garbage
License: GNU General Public License v3.0
Tools for making garbage
License: GNU General Public License v3.0
i have SkyWars plugin which depends on MinigameCore, when i update MinigameCore the plugin is unloaded before the plugin which depends on it, also those plugin with dependency are loaded back before the depend plugin is loaded
in this example the used order is:
unload MinigameCore
unload SkyWars
load SkyWars
load MinigameCore
but it should be:
unload SkyWars
unload MinigameCore
load MinigameCore
load SkyWars
[11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:10 EDT INFO] [BileTools] Now Tracking: VanishNoPacket.jar [Mon, 19. Mar 2018 02:04:13 EDT INFO] [BileTools] Now Tracking: WorldGuardExtraFlagsPlugin.jar [11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:16 EDT INFO] [BileTools] Now Tracking: essentials-kit-gui.jar [Mon, 19. Mar 2018 02:04:17 EDT INFO] UUID of player NanoNuke is b66d01e2-3e97-4f7a-a1af-4073af50555f [Mon, 19. Mar 2018 02:04:18 EDT INFO] [BileTools] Now Tracking: Bookshelves_v1.2.0.jar [11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:22 EDT INFO] [BileTools] Now Tracking: ItemNamer.jar [Mon, 19. Mar 2018 02:04:22 EDT INFO] [BileTools] Now Tracking: SuperbVote-0.4.1.jar [Mon, 19. Mar 2018 02:04:25 EDT INFO] [BileTools] Now Tracking: AdvancedAchievements.jar [11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:27 EDT INFO] [BileTools] Now Tracking: Emotes_v1_6.jar [Mon, 19. Mar 2018 02:04:29 EDT INFO] [BileTools] Now Tracking: HideMyPlugins.jar [11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:31 EDT INFO] [BileTools] Now Tracking: AdvancedBan-2.1.4-RELEASE.jar [Mon, 19. Mar 2018 02:04:32 EDT INFO] [BileTools] Now Tracking: Plan-4.1.7.jar [11:04 PM] BOTTim: [Mon, 19. Mar 2018 02:04:36 EDT INFO] [BileTools] Now Tracking: mcMMOAction.jar [Mon, 19. Mar 2018 02:04:39 EDT INFO] [BileTools] Now Tracking: HolographicDisplays.jar
It will take extremely long, and crash the server. I haven't been able to successfully launch the server yet.
Paper just rewrote their plugin loader, involving some change that breaks plugins that unregister other plugins. Is there anything that can be done to work around this?
Specifically, what's happening is that the old version of the plugin will be disabled, but the new version is not loaded. Here's what the log looks like:
[11:59:23 INFO]: [BileTools] File change detected: UltraCosmetics-3.0-DEV-b7.jar
[11:59:23 INFO]: [BileTools] Identified Plugin: UltraCosmetics <-> UltraCosmetics-3.0-DEV-b7.jar
[11:59:23 INFO]: [BileTools] Reloading: UltraCosmetics
[11:59:23 INFO]: [BileTools] [STDOUT] Backed up UltraCosmetics 3.0-DEV-b7
[11:59:23 INFO]: [Bile]: Unloading UltraCosmetics
[11:59:23 INFO]: [UltraCosmetics] Disabling UltraCosmetics v3.0-DEV-b7
It seems like this is the check that's failing with the change in Paper:
if (getPlugin(file) != null) {
return;
}
This started occuring just recently, not entirely sure what's up. Haven't experienced this with other plugins yet (since I'm testing just this one which has the issue, haven't tested for other, considerably big projects).
The issue is as follows:
I export the plugin I've been working on.
Bile tools detects that and attempts to reload the plugin.
The plugin that has been reloaded throws an error for a few classes (different each time or same, it's a bit random). It's a IllegalAccessError: no such method
error. Or a class def not found one, sometimes. It's quite random.
No real issue whatsoever, seems like the plugin loads properly, but I'm honestly unsure.
I just end up reloading the plugin manually once more using /biletools reload ...
I'm absolutely sure that the classes that the error says don't exist, they do exist and the plugin functions properly but I still receive a bunch of errors. If you wish that I send the errors and the code associated with it, let me know.
So I'm trying to use bile tools: https://www.spigotmc.org/resources/biletools-test-plugins-faster.54823/
But am getting this error (Windows):
[BileTools] Task #2 for BileTools v2 generated an exception
java.lang.NullPointerException: Cannot invoke "java.io.File.getName()" because the return value of "com.volmit.bile.BileUtils.getPluginFile(org.bukkit.plugin.Plugin)" is null
at com.volmit.bile.BileTools.onTick(BileTools.java:457) ~[BileTools-2.jar:?]
at com.volmit.bile.BileTools$2.run(BileTools.java:324) ~[BileTools-2.jar:?]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.17.1.jar:git-Paper-346]
at org.bukkit.craftbukkit.v1_17_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[patched_1.17.1.jar:git-Paper-346]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1564) ~[patched_1.17.1.jar:git-Paper-346]
at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:490) ~[patched_1.17.1.jar:git-Paper-346]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1480) ~[patched_1.17.1.jar:git-Paper-346]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1279) ~[patched_1.17.1.jar:git-Paper-346]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-346]
at java.lang.Thread.run(Thread.java:831) ~[?:?]
The plugin still reloads the jar but still gets this error for some reason.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.