mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 23:38:25 +01:00
Update the bundled spark version
This commit is contained in:
parent
5ff87e597f
commit
1ef619aa34
1 changed files with 19 additions and 76 deletions
|
@ -13,8 +13,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion")
|
||||
// Paper end - Remap reflection
|
||||
+ // Paper start - spark
|
||||
+ implementation("me.lucko:spark-api:0.1-SNAPSHOT")
|
||||
+ implementation("me.lucko:spark-paper:1.10.83-SNAPSHOT")
|
||||
+ implementation("me.lucko:spark-api:0.1-20240720.200737-2")
|
||||
+ implementation("me.lucko:spark-paper:1.10.84-20240720.204128-1")
|
||||
+ // Paper end - spark
|
||||
}
|
||||
|
||||
|
@ -28,8 +28,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+package io.papermc.paper;
|
||||
+
|
||||
+import io.papermc.paper.configuration.GlobalConfiguration;
|
||||
+import io.papermc.paper.plugin.ClassLoaderStorage;
|
||||
+import io.papermc.paper.plugin.entrypoint.classloader.PaperSimplePluginClassLoader;
|
||||
+import io.papermc.paper.plugin.entrypoint.classloader.group.PaperPluginClassLoaderStorage;
|
||||
+import io.papermc.paper.plugin.provider.classloader.ConfiguredPluginClassLoader;
|
||||
+import io.papermc.paper.plugin.provider.classloader.PaperClassLoaderStorage;
|
||||
+import io.papermc.paper.util.MCUtil;
|
||||
+import java.util.List;
|
||||
+import java.util.logging.Level;
|
||||
|
@ -40,11 +41,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+import me.lucko.spark.paper.api.PaperSparkModule;
|
||||
+import net.kyori.adventure.text.Component;
|
||||
+import net.kyori.adventure.text.format.TextColor;
|
||||
+import net.minecraft.util.ExceptionCollector;
|
||||
+import org.bukkit.Server;
|
||||
+import org.bukkit.command.Command;
|
||||
+import org.bukkit.command.CommandSender;
|
||||
+import org.bukkit.craftbukkit.CraftServer;
|
||||
+import org.bukkit.plugin.java.PluginClassLoader;
|
||||
+
|
||||
+// It's like electricity.
|
||||
+public final class SparksFly {
|
||||
|
@ -87,24 +88,23 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }, new PaperClassLookup() {
|
||||
+ @Override
|
||||
+ public Class<?> lookup(final String className) throws Exception {
|
||||
+ final ExceptionCollector<ClassNotFoundException> exceptions = new ExceptionCollector<>();
|
||||
+ try {
|
||||
+ return Class.forName(className);
|
||||
+ } catch (final Exception e) {
|
||||
+ for (final PaperSimplePluginClassLoader loader : ClassLoaderStorage.MODERN_LOADERS) {
|
||||
+ final Class<?> loadedClass = loader.loadClass(className);
|
||||
+ if (loadedClass != null) {
|
||||
+ return loadedClass;
|
||||
+ } catch (final ClassNotFoundException e) {
|
||||
+ exceptions.add(e);
|
||||
+ for (final ConfiguredPluginClassLoader loader : ((PaperPluginClassLoaderStorage) PaperClassLoaderStorage.instance()).getGlobalGroup().getClassLoaders()) {
|
||||
+ try {
|
||||
+ final Class<?> loadedClass = loader.loadClass(className, true, false, true);
|
||||
+ if (loadedClass != null) {
|
||||
+ return loadedClass;
|
||||
+ }
|
||||
+ } catch (final ClassNotFoundException exception) {
|
||||
+ exceptions.add(exception);
|
||||
+ }
|
||||
+ }
|
||||
+ for (final PluginClassLoader loader : ClassLoaderStorage.LEGACY_LOADERS) {
|
||||
+ final Class<?> loadedClass = loader.loadClass(className, true, false, true);
|
||||
+ if (loadedClass != null) {
|
||||
+ return loadedClass;
|
||||
+ }
|
||||
+ }
|
||||
+ final ClassNotFoundException exception = new ClassNotFoundException("Could not find class " + className);
|
||||
+ exception.addSuppressed(e);
|
||||
+ throw exception;
|
||||
+ exceptions.throwIfPresent();
|
||||
+ return null;
|
||||
+ }
|
||||
+ }
|
||||
+ });
|
||||
|
@ -225,43 +225,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/ClassLoaderStorage.java b/src/main/java/io/papermc/paper/plugin/ClassLoaderStorage.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/ClassLoaderStorage.java
|
||||
@@ -0,0 +0,0 @@
|
||||
+package io.papermc.paper.plugin;
|
||||
+
|
||||
+import io.papermc.paper.plugin.entrypoint.classloader.PaperSimplePluginClassLoader;
|
||||
+import java.util.HashSet;
|
||||
+import java.util.Set;
|
||||
+import org.bukkit.plugin.java.PluginClassLoader;
|
||||
+
|
||||
+public final class ClassLoaderStorage {
|
||||
+ public static final Set<PaperSimplePluginClassLoader> MODERN_LOADERS = new HashSet<>();
|
||||
+ public static final Set<PluginClassLoader> LEGACY_LOADERS = new HashSet<>();
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java b/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/entrypoint/classloader/PaperSimplePluginClassLoader.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package io.papermc.paper.plugin.entrypoint.classloader;
|
||||
|
||||
+import io.papermc.paper.plugin.ClassLoaderStorage;
|
||||
import io.papermc.paper.plugin.configuration.PluginMeta;
|
||||
import io.papermc.paper.plugin.util.NamespaceChecker;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
@@ -0,0 +0,0 @@ public class PaperSimplePluginClassLoader extends URLClassLoader {
|
||||
this.jarUrl = source.toUri().toURL();
|
||||
this.configuration = configuration;
|
||||
this.jar = file;
|
||||
+
|
||||
+ ClassLoaderStorage.MODERN_LOADERS.add(this); // Paper - spark
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/source/FileProviderSource.java b/src/main/java/io/papermc/paper/plugin/provider/source/FileProviderSource.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/source/FileProviderSource.java
|
||||
|
@ -304,26 +267,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
type.register(entrypointHandler, file, context);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProvider.java b/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProvider.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProvider.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/provider/type/spigot/SpigotPluginProvider.java
|
||||
@@ -0,0 +0,0 @@ package io.papermc.paper.plugin.provider.type.spigot;
|
||||
|
||||
import com.destroystokyo.paper.util.SneakyThrow;
|
||||
import com.destroystokyo.paper.utils.PaperPluginLogger;
|
||||
+import io.papermc.paper.plugin.ClassLoaderStorage;
|
||||
import io.papermc.paper.plugin.manager.PaperPluginManagerImpl;
|
||||
import io.papermc.paper.plugin.provider.configuration.LoadOrderConfiguration;
|
||||
import io.papermc.paper.plugin.provider.entrypoint.DependencyContext;
|
||||
@@ -0,0 +0,0 @@ public class SpigotPluginProvider implements PluginProvider<JavaPlugin>, Provide
|
||||
// We must provide a temporary context in order to properly handle dependencies on the plugin classloader constructor.
|
||||
loader.dependencyContext = PaperPluginManagerImpl.getInstance();
|
||||
|
||||
+ ClassLoaderStorage.LEGACY_LOADERS.add(loader); // Paper - spark
|
||||
|
||||
this.status = ProviderStatus.INITIALIZED;
|
||||
return loader.getPlugin();
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
|
|
Loading…
Reference in a new issue