Paper/Spigot-Server-Patches/0636-Added-ServerResourcesReloadedEvent.patch
Aikar a08be1ec7c
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
9294ebbf0 SPIGOT-5877: Add support for Vanilla custom dimensions
2021-04-15 20:47:34 -04:00

80 lines
4.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Wed, 2 Dec 2020 20:04:01 -0800
Subject: [PATCH] Added ServerResourcesReloadedEvent
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6ae5dc6fe52fb172bec709d4ab80c624535b8e43..3b5df83d3a7d12fb23ac488a8936e1b4921fb5fd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2,9 +2,6 @@ package net.minecraft.server;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
-import co.aikar.timings.Timings;
-import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
-import com.google.common.base.Stopwatch;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -182,6 +179,7 @@ import org.bukkit.event.server.ServerLoadEvent;
import co.aikar.timings.MinecraftTimings; // Paper
import org.spigotmc.SlackActivityAccountant; // Spigot
import io.papermc.paper.util.PaperJvmChecker; // Paper
+import io.papermc.paper.event.server.ServerResourcesReloadedEvent; // Paper
public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTask> implements IMojangStatistics, ICommandListener, AutoCloseable {
@@ -1934,7 +1932,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
return this.customFunctionData;
}
+ // Paper start - add cause
+ @Deprecated
public CompletableFuture<Void> a(Collection<String> collection) {
+ return this.reloadServerResources(collection, ServerResourcesReloadedEvent.Cause.PLUGIN);
+ }
+ public CompletableFuture<Void> reloadServerResources(Collection<String> collection, ServerResourcesReloadedEvent.Cause cause) {
+ // Paper end
CompletableFuture<Void> completablefuture = CompletableFuture.supplyAsync(() -> {
Stream<String> stream = collection.stream(); // CraftBukkit - decompile error
ResourcePackRepository resourcepackrepository = this.resourcePackRepository;
@@ -1950,6 +1954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.resourcePackRepository.a(collection);
this.saveData.a(a(this.resourcePackRepository));
datapackresources.i();
+ new ServerResourcesReloadedEvent(cause).callEvent(); // Paper
if (Thread.currentThread() != this.serverThread) return; // Paper
//this.getPlayerList().savePlayers(); // Paper - we don't need to do this
this.getPlayerList().reload();
diff --git a/src/main/java/net/minecraft/server/commands/CommandReload.java b/src/main/java/net/minecraft/server/commands/CommandReload.java
index 01ff3713aff19b231b616376fb41c011b74eefdf..2c66816f7930e90559feaf4c5b0790d3358882b7 100644
--- a/src/main/java/net/minecraft/server/commands/CommandReload.java
+++ b/src/main/java/net/minecraft/server/commands/CommandReload.java
@@ -12,13 +12,14 @@ import net.minecraft.server.packs.repository.ResourcePackRepository;
import net.minecraft.world.level.storage.SaveData;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import io.papermc.paper.event.server.ServerResourcesReloadedEvent; // Paper
public class CommandReload {
private static final Logger LOGGER = LogManager.getLogger();
public static void a(Collection<String> collection, CommandListenerWrapper commandlistenerwrapper) {
- commandlistenerwrapper.getServer().a(collection).exceptionally((throwable) -> {
+ commandlistenerwrapper.getServer().reloadServerResources(collection, ServerResourcesReloadedEvent.Cause.COMMAND).exceptionally((throwable) -> { // Paper
CommandReload.LOGGER.warn("Failed to execute reload", throwable);
commandlistenerwrapper.sendFailureMessage(new ChatMessage("commands.reload.failure"));
return null;
@@ -48,7 +49,7 @@ public class CommandReload {
SaveData savedata = minecraftserver.getSaveData();
Collection<String> collection = resourcepackrepository.d();
Collection<String> collection1 = a(resourcepackrepository, savedata, collection);
- minecraftserver.a(collection1);
+ minecraftserver.reloadServerResources(collection1, ServerResourcesReloadedEvent.Cause.PLUGIN); // Paper
}
// CraftBukkit end