9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-22 16:29:26 +00:00

Remove vectorized map color conversion

It is no longer necessary: set "use-map-color-cache: true" in bukkit.yml instead for better performance
This commit is contained in:
Martijn Muijsers
2023-08-07 21:15:57 +02:00
parent 7e7185a162
commit 330dd0267e
99 changed files with 61 additions and 433 deletions

View File

@@ -1,128 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Thu, 24 Nov 2022 01:21:32 +0100
Subject: [PATCH] SIMD support
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
This patch is based on the following patch:
"Add SIMD utilities"
By: Kevin Raneri <kevin.raneri@gmail.com>
As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/build.gradle.kts b/build.gradle.kts
index 8825fd8ff27ba641deaa61c8a5cadb2b236b6512..adcee0a55ed720cb76f9dcd67be9be8f46fb925c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -95,6 +95,7 @@ tasks.withType<JavaCompile> {
compilerArgs.add("-Xlint:-module")
compilerArgs.add("-Xlint:-removal")
compilerArgs.add("-Xlint:-dep-ann")
+ compilerArgs.add("--add-modules=jdk.incubator.vector") // Gale - Pufferfish - SIMD support
}
// Gale end - hide irrelevant compilation warnings
@@ -152,6 +153,7 @@ tasks.withType<Javadoc> {
}
options.addStringOption("Xdoclint:none", "-quiet") // Gale - hide irrelevant compilation warnings
+ options.addStringOption("-add-modules", "jdk.incubator.vector") // Gale - Pufferfish - SIMD support
}
// Paper start
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/SIMDChecker.java b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDChecker.java
new file mode 100644
index 0000000000000000000000000000000000000000..3f008b41727ff1bfdf14e6d186e8d74af5b35245
--- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDChecker.java
@@ -0,0 +1,45 @@
+// Gale - Pufferfish - SIMD support
+
+package gg.pufferfish.pufferfish.simd;
+
+import jdk.incubator.vector.FloatVector;
+import jdk.incubator.vector.IntVector;
+import jdk.incubator.vector.VectorSpecies;
+
+import org.slf4j.Logger;
+
+/**
+ * Basically, java is annoying and we have to push this out to its own class.
+ */
+@Deprecated
+public class SIMDChecker {
+
+ @Deprecated
+ public static boolean canEnable(Logger logger, boolean logVectorSizesToConsole) {
+ try {
+ int javaVersion = SIMDDetection.getJavaVersion();
+ if (!(javaVersion >= 17 && javaVersion <= 22)) {
+ return false;
+ } else {
+ SIMDDetection.testRun = true;
+
+ VectorSpecies<Integer> ISPEC = IntVector.SPECIES_PREFERRED;
+ VectorSpecies<Float> FSPEC = FloatVector.SPECIES_PREFERRED;
+
+ if (logVectorSizesToConsole) {
+ logger.info("Max SIMD vector size on this system is " + ISPEC.vectorBitSize() + " bits (int)");
+ logger.info("Max SIMD vector size on this system is " + FSPEC.vectorBitSize() + " bits (float)");
+ }
+
+ if (ISPEC.elementSize() < 2 || FSPEC.elementSize() < 2) {
+ SIMDDetection.unsupportingLaneSize = true;
+ return false;
+ }
+
+ return true;
+ }
+ } catch (NoClassDefFoundError | Exception ignored) {} // Basically, we don't do anything. This lets us detect if it's not functional and disable it.
+ return false;
+ }
+
+}
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java
new file mode 100644
index 0000000000000000000000000000000000000000..ad304cfa228060adc12902da4604ccef31f27445
--- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/simd/SIMDDetection.java
@@ -0,0 +1,37 @@
+// Gale - Pufferfish - SIMD support
+
+package gg.pufferfish.pufferfish.simd;
+
+import org.slf4j.Logger;
+
+@Deprecated
+public class SIMDDetection {
+
+ public static boolean isEnabled = false;
+ public static boolean testRun = false;
+ public static boolean unsupportingLaneSize = false;
+
+ @Deprecated
+ public static boolean canEnable(Logger logger, boolean logVectorSizesToConsole) {
+ try {
+ return SIMDChecker.canEnable(logger, logVectorSizesToConsole);
+ } catch (NoClassDefFoundError | Exception ignored) {
+ return false;
+ }
+ }
+
+ @Deprecated
+ public static int getJavaVersion() {
+ // https://stackoverflow.com/a/2591122
+ String version = System.getProperty("java.version");
+ if(version.startsWith("1.")) {
+ version = version.substring(2, 3);
+ } else {
+ int dot = version.indexOf(".");
+ if(dot != -1) { version = version.substring(0, dot); }
+ }
+ version = version.split("-")[0]; // Azul is stupid
+ return Integer.parseInt(version);
+ }
+
+}

View File

@@ -1,149 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Thu, 24 Nov 2022 17:03:21 +0100
Subject: [PATCH] Vectorized map color conversion
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
This patch is based on the following patch:
"Optimize map rendering"
By: Kevin Raneri <kevin.raneri@gmail.com>
As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
* Pufferfish description *
This patch does not add any API that should be used by plugins. Any
classes and methods added by this patch should NOT be used in plugins.
diff --git a/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java b/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java
new file mode 100644
index 0000000000000000000000000000000000000000..88b98e6bd23a2ab4aeb9e09977ff1d1bd959ad66
--- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/simd/VectorMapPalette.java
@@ -0,0 +1,86 @@
+// Gale - Pufferfish - vectorize map color conversion
+
+package gg.pufferfish.pufferfish.simd;
+
+import jdk.incubator.vector.FloatVector;
+import jdk.incubator.vector.IntVector;
+import jdk.incubator.vector.VectorMask;
+import jdk.incubator.vector.VectorSpecies;
+import org.bukkit.map.MapPalette;
+
+import java.awt.*;
+
+@Deprecated
+public class VectorMapPalette {
+
+ private static final VectorSpecies<Integer> I_SPEC = IntVector.SPECIES_PREFERRED;
+ private static final VectorSpecies<Float> F_SPEC = FloatVector.SPECIES_PREFERRED;
+
+ @Deprecated
+ public static void matchColorVectorized(int[] in, byte[] out) {
+ int speciesLength = I_SPEC.length();
+ int i;
+ for (i = 0; i < in.length - speciesLength; i += speciesLength) {
+ float[] redsArr = new float[speciesLength];
+ float[] bluesArr = new float[speciesLength];
+ float[] greensArr = new float[speciesLength];
+ int[] alphasArr = new int[speciesLength];
+
+ for (int j = 0; j < speciesLength; j++) {
+ alphasArr[j] = (in[i + j] >> 24) & 0xFF;
+ redsArr[j] = (in[i + j] >> 16) & 0xFF;
+ greensArr[j] = (in[i + j] >> 8) & 0xFF;
+ bluesArr[j] = (in[i + j] >> 0) & 0xFF;
+ }
+
+ IntVector alphas = IntVector.fromArray(I_SPEC, alphasArr, 0);
+ FloatVector reds = FloatVector.fromArray(F_SPEC, redsArr, 0);
+ FloatVector greens = FloatVector.fromArray(F_SPEC, greensArr, 0);
+ FloatVector blues = FloatVector.fromArray(F_SPEC, bluesArr, 0);
+ IntVector resultIndex = IntVector.zero(I_SPEC);
+ VectorMask<Integer> modificationMask = VectorMask.fromLong(I_SPEC, 0xffffffff);
+
+ modificationMask = modificationMask.and(alphas.lt(128).not());
+ FloatVector bestDistances = FloatVector.broadcast(F_SPEC, Float.MAX_VALUE);
+
+ for (int c = 4; c < MapPalette.colors.length; c++) {
+ // We're using 32-bit floats here because it's 2x faster and nobody will know the difference.
+ // For correctness, the original algorithm uses 64-bit floats instead. Completely unnecessary.
+ FloatVector compReds = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getRed());
+ FloatVector compGreens = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getGreen());
+ FloatVector compBlues = FloatVector.broadcast(F_SPEC, MapPalette.colors[c].getBlue());
+
+ FloatVector rMean = reds.add(compReds).div(2.0f);
+ FloatVector rDiff = reds.sub(compReds);
+ FloatVector gDiff = greens.sub(compGreens);
+ FloatVector bDiff = blues.sub(compBlues);
+
+ FloatVector weightR = rMean.div(256.0f).add(2);
+ FloatVector weightG = FloatVector.broadcast(F_SPEC, 4.0f);
+ FloatVector weightB = FloatVector.broadcast(F_SPEC, 255.0f).sub(rMean).div(256.0f).add(2.0f);
+
+ FloatVector distance = weightR.mul(rDiff).mul(rDiff).add(weightG.mul(gDiff).mul(gDiff)).add(weightB.mul(bDiff).mul(bDiff));
+
+ // Now we compare to the best distance we've found.
+ // This mask contains a "1" if better, and a "0" otherwise.
+ VectorMask<Float> bestDistanceMask = distance.lt(bestDistances);
+ bestDistances = bestDistances.blend(distance, bestDistanceMask); // Update the best distances
+
+ // Update the result array
+ // We also AND with the modification mask because we don't want to interfere if the alpha value isn't large enough.
+ resultIndex = resultIndex.blend(c, bestDistanceMask.cast(I_SPEC).and(modificationMask)); // Update the results
+ }
+
+ for (int j = 0; j < speciesLength; j++) {
+ int index = resultIndex.lane(j);
+ out[i + j] = (byte) (index < 128 ? index : -129 + (index - 127));
+ }
+ }
+
+ // For the final ones, fall back to the regular method
+ for (; i < in.length; i++) {
+ out[i] = MapPalette.matchColor(new Color(in[i], true));
+ }
+ }
+
+}
diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java
index 3a9aaca2e76411a9c27f9f5e0f22d060d5a66d06..f2061156b9a0ce79d10935b443d641bb8b3a837a 100644
--- a/src/main/java/org/bukkit/map/MapPalette.java
+++ b/src/main/java/org/bukkit/map/MapPalette.java
@@ -5,6 +5,8 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
+
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -40,7 +42,7 @@ public final class MapPalette {
}
@NotNull
- static final Color[] colors = {
+ public static final Color[] colors = { // Gale - Pufferfish - vectorized map color conversion - package -> public
c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0), c(0, 0, 0, 0),
c(89, 125, 39), c(109, 153, 48), c(127, 178, 56), c(67, 94, 29),
c(174, 164, 115), c(213, 201, 140), c(247, 233, 163), c(130, 123, 86),
@@ -211,9 +213,15 @@ public final class MapPalette {
temp.getRGB(0, 0, temp.getWidth(), temp.getHeight(), pixels, 0, temp.getWidth());
byte[] result = new byte[temp.getWidth() * temp.getHeight()];
+ if (!SIMDDetection.isEnabled) { // Gale - Pufferfish - vectorized map color conversion
for (int i = 0; i < pixels.length; i++) {
result[i] = matchColor(new Color(pixels[i], true));
}
+ // Gale start - Pufferfish - vectorized map color conversion
+ } else {
+ gg.pufferfish.pufferfish.simd.VectorMapPalette.matchColorVectorized(pixels, result);
+ }
+ // Gale end - Pufferfish - vectorized map color conversion
return result;
}

View File

@@ -68,10 +68,10 @@ index 2e23147f807c6620b54d3047fe24a3847900712c..9ae9eff03fa9b240ed736eaa97fee0da
}
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 5ade5d2ff3a68cf9e0240fc86e4b63432cb899c0..be4e05851e94f943b6382ba5bb9f0750c95bdad4 100644
index 2a3cd1baab364126d10a42c8ab59f3da8ca9bdfb..b7dcfaaff685ca6d86555bf4fa4d51b6a835ab66 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -35,6 +35,25 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -27,6 +27,25 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
}

View File

@@ -1,95 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Thu, 24 Nov 2022 01:19:12 +0100
Subject: [PATCH] SIMD support
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
This patch is based on the following patch:
"Add SIMD utilities"
By: Kevin Raneri <kevin.raneri@gmail.com>
As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/build.gradle.kts b/build.gradle.kts
index ba6f5098de10b77d7fc911212ff7077f8774440d..f1804bfc661b597733d612e51129097ebc076bca 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -73,6 +73,7 @@ tasks.withType<JavaCompile> {
compilerArgs.add("-Xlint:-module")
compilerArgs.add("-Xlint:-removal")
compilerArgs.add("-Xlint:-dep-ann")
+ compilerArgs.add("--add-modules=jdk.incubator.vector") // Gale - Pufferfish - SIMD support
}
// Gale end - hide irrelevant compilation warnings
@@ -202,6 +203,7 @@ fun TaskContainer.registerRunTask(
jvmArgs("--enable-preview")
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
// Gale end - enable virtual threads for development runs
+ jvmArgs("--add-modules=jdk.incubator.vector") // Gale - Pufferfish - SIMD support
doFirst {
workingDir.mkdirs()
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 5be4267d88604210b7bfcc03b2c2056e0a9f0fb0..e981740075e287ede989e805314a1356b566a2c4 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -14,6 +14,8 @@ import java.util.Locale;
import java.util.Optional;
import java.util.function.BooleanSupplier;
import javax.annotation.Nullable;
+
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
import net.minecraft.DefaultUncaughtExceptionHandler;
import net.minecraft.DefaultUncaughtExceptionHandlerWithName;
import net.minecraft.SharedConstants;
@@ -46,6 +48,7 @@ import net.minecraft.world.level.GameType;
import net.minecraft.world.level.block.entity.SkullBlockEntity;
import net.minecraft.world.level.storage.LevelStorageSource;
import org.galemc.gale.command.GaleCommands;
+import org.galemc.gale.configuration.GaleGlobalConfiguration;
import org.slf4j.Logger;
// CraftBukkit start
@@ -223,6 +226,20 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
// Paper end
+ // Gale start - Pufferfish - SIMD support
+ // Attempt to detect vectorization
+ try {
+ SIMDDetection.isEnabled = SIMDDetection.canEnable(LOGGER, GaleGlobalConfiguration.get().smallOptimizations.simd.logVectorSizesToConsole);
+ } catch (NoClassDefFoundError | Exception ignored) {}
+
+ if (!SIMDDetection.isEnabled && !SIMDDetection.unsupportingLaneSize && GaleGlobalConfiguration.get().smallOptimizations.simd.warnIfDisabled) {
+ LOGGER.warn("SIMD operations are available for your server, but are not configured!");
+ LOGGER.warn("To enable additional optimizations, add \"--add-modules=jdk.incubator.vector\" to your startup flags, BEFORE the \"-jar\".");
+ LOGGER.warn("If you have already added this flag, then SIMD operations are not supported on your JVM or CPU.");
+ LOGGER.warn("If you would like to disable this message, set simd.warn-if-disabled to false in gale-global.yml");
+ }
+ // Gale start - Pufferfish - SIMD support
+
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
this.setMotd(dedicatedserverproperties.motd);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 2a3cd1baab364126d10a42c8ab59f3da8ca9bdfb..5ade5d2ff3a68cf9e0240fc86e4b63432cb899c0 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -25,6 +25,14 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public int dummyValue = 0;
+ // Gale start - Pufferfish - SIMD support
+ public Simd simd;
+ public class Simd extends ConfigurationPart {
+ public boolean warnIfDisabled = true;
+ public boolean logVectorSizesToConsole = false;
+ }
+ // Gale end - Pufferfish - SIMD support
+
}
public Misc misc;

View File

@@ -35,7 +35,7 @@ index cb4379268b191d331c71be44642baac381ffaaf6..77aa75c9b1c31b47513a9d06b0930f95
public static long getCoordinateKey(final ChunkPos pair) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d1ee75ec070ac6f08f120c14c68a02f529d33174..d2a8f3260141af6a8bb807bdd581f7c3d5a7dca5 100644
index 24e43afed47993d25df37a1f0e7d90d77205cb0d..c6d41c3650d24ebfbb57b75a1d76a12aa6a22faf 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -29,10 +29,10 @@ index 9645952c84412adf5b98c2c189e6a9dc8612c8c8..b08365b0a8cb9a5471db67d9c1a91f73
do {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index be4e05851e94f943b6382ba5bb9f0750c95bdad4..5021cc0b7a0f99ec53d565862add241428311dc3 100644
index b7dcfaaff685ca6d86555bf4fa4d51b6a835ab66..9190885b839bc06042f1c22e4280838621a6936c 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -57,6 +57,19 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -49,6 +49,19 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public Misc misc;
public class Misc extends ConfigurationPart {

View File

@@ -38,7 +38,7 @@ index be563b466b9b9312254596ea3b8e116b28cf250c..7355c828ab66c23d878e4981be9e44c7
+
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 713f62b7bfe290b1eb0eda6e3acc1d3583029aa6..4dc59a82f12a727f6db4a68bc1f5bd65c8cb08cc 100644
index 0d04d7f9a9df7140cc35534a3f301f2815faed51..50cd68e40c67b83af4e8008ce93782a060658dd4 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -38,6 +38,7 @@ import co.aikar.timings.MinecraftTimings;

View File

@@ -44,10 +44,10 @@ index 9501e5f25f5c4d3069e554d4dc82b0e094156682..e81afb79d66321f70eb40c43d3bd7b92
}
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 5021cc0b7a0f99ec53d565862add241428311dc3..6b528eab517aed9c00c75b4bf6e1a7b21194c343 100644
index 9190885b839bc06042f1c22e4280838621a6936c..044ea3e293a7ad2ae169a7ac8a635c390aa5d393 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -71,6 +71,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -63,6 +63,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
// Gale end - Pufferfish - make chat order verification configurable
public IncludeInTimingsReport includeInTimingsReport;
@@ -55,7 +55,7 @@ index 5021cc0b7a0f99ec53d565862add241428311dc3..6b528eab517aed9c00c75b4bf6e1a7b2
public class IncludeInTimingsReport extends ConfigurationPart {
// Gale start - include server.properties in timings
@@ -106,4 +107,11 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -98,4 +99,11 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
}

View File

@@ -28,10 +28,10 @@ index 353e81397ba286ac67984ca143e7a98586612a98..6257e19bc6cfeae300babb99730361df
final String conversationInput = s;
this.server.processQueue.add(new Runnable() {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 6b528eab517aed9c00c75b4bf6e1a7b21194c343..425206669bc13d971097ea052bffcfd6896f90d3 100644
index 044ea3e293a7ad2ae169a7ac8a635c390aa5d393..453e47a3748a8da3cb1674949ded2bc64af0c67a 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -112,6 +112,11 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -104,6 +104,11 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean invalidStatistics = true; // Gale - EMC - do not log invalid statistics

View File

@@ -58,10 +58,10 @@ index acc49f66bf34e2507d0ee6fec0a56b11bfc68f46..8834a32bfb27653062d242144dcd75ce
// CraftBukkit end
} else {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 425206669bc13d971097ea052bffcfd6896f90d3..16c9ebc736bae1626bdb4e99ac8ff1cb7afd3419 100644
index 453e47a3748a8da3cb1674949ded2bc64af0c67a..7ed77d874d9c576223632e8dc957c53d28456841 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -111,6 +111,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -103,6 +103,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public class LogToConsole extends ConfigurationPart {
public boolean invalidStatistics = true; // Gale - EMC - do not log invalid statistics

View File

@@ -57,10 +57,10 @@ index 877498729c66de9aa6a27c9148f7494d7895615c..d2bbbb0e73dafd2294838137bfbd16ac
Util.logAndPauseIfInIde("Detected setBlock in a far chunk [" + i + ", " + j + "], pos: " + pos + ", status: " + this.generatingStatus + (this.currentlyGenerating == null ? "" : ", currently generating: " + (String) this.currentlyGenerating.get()));
hasSetFarWarned = true;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 16c9ebc736bae1626bdb4e99ac8ff1cb7afd3419..cb9648bace4522404cc9327f6aef588bc58172e0 100644
index 7ed77d874d9c576223632e8dc957c53d28456841..0149626d47810745159d34a7faf6e437bfb7f373 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -112,6 +112,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -104,6 +104,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean invalidStatistics = true; // Gale - EMC - do not log invalid statistics
public boolean ignoredAdvancements = true; // Gale - Purpur - do not log ignored advancements

View File

@@ -58,10 +58,10 @@ index ea29e07a105f3ba6a878bdccf36e7eaf66280280..7b782f705b9f349e914a7192778d5e25
handler.accept((Recipe) optional.get());
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index cb9648bace4522404cc9327f6aef588bc58172e0..27a467029cf3e014a17a7e8ed3ab984fe9927750 100644
index 0149626d47810745159d34a7faf6e437bfb7f373..0c4b8d0ed0bd85e2917858e6c4cadaa5240cc288 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -113,6 +113,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -105,6 +105,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean invalidStatistics = true; // Gale - EMC - do not log invalid statistics
public boolean ignoredAdvancements = true; // Gale - Purpur - do not log ignored advancements
public boolean setBlockInFarChunk = true; // Gale - Purpur - do not log setBlock in far chunks

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
index 110503062b3043cffa082a1cda6b8d57152869aa..951ca1e25cdcdf6a1ade4090ca397f6d21c4e599 100644
index 2677e21d8239bf0361a3bc5c9a50c328e54d70f6..36b39517ef0aa817c5a10d6d7f4904a87c346b47 100644
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
+++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
@@ -31,6 +31,7 @@ import org.bukkit.Material;
@@ -58,10 +58,10 @@ index 110503062b3043cffa082a1cda6b8d57152869aa..951ca1e25cdcdf6a1ade4090ca397f6d
new Exception().printStackTrace();
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 27a467029cf3e014a17a7e8ed3ab984fe9927750..133c10907358ae6064d2c1a18c967a00ad358127 100644
index 0c4b8d0ed0bd85e2917858e6c4cadaa5240cc288..241431b3d118e402e98710929102c7502af813bf 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -114,6 +114,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -106,6 +106,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean ignoredAdvancements = true; // Gale - Purpur - do not log ignored advancements
public boolean setBlockInFarChunk = true; // Gale - Purpur - do not log setBlock in far chunks
public boolean unrecognizedRecipes = false; // Gale - Purpur - do not log unrecognized recipes

View File

@@ -28,10 +28,10 @@ index c0a80824a0307ea673805015119cc834b268f0dc..d7c6e90ccf3a8ce58e5533c5158ce626
return playerChatMessage;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 133c10907358ae6064d2c1a18c967a00ad358127..3541e53b60793bc53c49402f3a3eacf12cb92b23 100644
index 241431b3d118e402e98710929102c7502af813bf..cd15e6db2f266a3221a26c344bf67af6ad7b79c7 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -119,6 +119,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -111,6 +111,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public Chat chat;
public class Chat extends ConfigurationPart {
public boolean emptyMessageWarning = false; // Gale - do not log empty message warnings

View File

@@ -20,10 +20,10 @@ index 6257e19bc6cfeae300babb99730361dfcd7459d2..a72876beab9a0522ef3239b718e5be29
this.disconnect(Component.translatable("multiplayer.disconnect.out_of_order_chat"), org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event ca
}); // Paper - push to main
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 3541e53b60793bc53c49402f3a3eacf12cb92b23..2c012ca584c84528a143609110d39a0d808a9c00 100644
index cd15e6db2f266a3221a26c344bf67af6ad7b79c7..91e02aa9bdd1ac68a883c1c0a0c70c51c37ce491 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -120,6 +120,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -112,6 +112,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public class Chat extends ConfigurationPart {
public boolean emptyMessageWarning = false; // Gale - do not log empty message warnings
public boolean expiredMessageWarning = false; // Gale - do not log expired message warnings

View File

@@ -28,7 +28,7 @@ index 774fb97912f766589f3548f659618ad554e0503f..bec9a8ca016f23352ba51e5f70ecb9a0
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 46b462d9092f33675626aa5ae0d3f1cc654c650f..afab6cd5ea21c97ea1b8936bd3a00a572d38f48e 100644
index 22697de39b8d00a522689d5abf894621cf051c89..cf717e46b82d8842c97d2c8aa172d02bb788184a 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -101,6 +101,7 @@ import net.minecraft.world.scores.Objective;
@@ -49,10 +49,10 @@ index 46b462d9092f33675626aa5ae0d3f1cc654c650f..afab6cd5ea21c97ea1b8936bd3a00a57
boolean flag1 = false;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 2c012ca584c84528a143609110d39a0d808a9c00..72786c52906aa327ad49577390265f326693a975 100644
index 91e02aa9bdd1ac68a883c1c0a0c70c51c37ce491..8692e7eb8b2b08fc3c5132adcc4262759f579da2 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -121,6 +121,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -113,6 +113,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean emptyMessageWarning = false; // Gale - do not log empty message warnings
public boolean expiredMessageWarning = false; // Gale - do not log expired message warnings
public boolean outOfOrderMessageWarning = false; // Gale - do not log out-of-order message warnings

View File

@@ -44,10 +44,10 @@ index 2ff578e4a953ffcf5176815ba8e3f06f73499989..0d034a1b810e3840055a10ca1960eecb
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 72786c52906aa327ad49577390265f326693a975..9e9e238f9ad011851dcc9f94ed0953430b28129e 100644
index 8692e7eb8b2b08fc3c5132adcc4262759f579da2..8bf9763c9c359cfc45d1c866d667fa01e6bd0bf6 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -115,6 +115,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -107,6 +107,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean setBlockInFarChunk = true; // Gale - Purpur - do not log setBlock in far chunks
public boolean unrecognizedRecipes = false; // Gale - Purpur - do not log unrecognized recipes
public boolean legacyMaterialInitialization = false; // Gale - Purpur - do not log legacy Material initialization

View File

@@ -41,10 +41,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index e981740075e287ede989e805314a1356b566a2c4..84ffee8934381ba380a2a8cf936968464df7a71e 100644
index 5be4267d88604210b7bfcc03b2c2056e0a9f0fb0..e2b09f40dd259ff2374945a46df3c3f8bd500a63 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -179,7 +179,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -176,7 +176,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
// Paper start - detect running as root

View File

@@ -41,10 +41,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 84ffee8934381ba380a2a8cf936968464df7a71e..cafc4391d2ed3df7b0b8d73c663777cdbb3a5de9 100644
index e2b09f40dd259ff2374945a46df3c3f8bd500a63..5390cdf13c462e478c9e61115c0bb3401e0eacfe 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -297,7 +297,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -280,7 +280,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
String proxyFlavor = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "Velocity" : "BungeeCord";
String proxyLink = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "https://docs.papermc.io/velocity/security" : "http://www.spigotmc.org/wiki/firewall-guide/";
// Paper end

View File

@@ -39,7 +39,7 @@ index d2b4654a9095a678bbc9e004af969cf54da0fcab..d797bac97ec1adec7a25a26c8e052e70
});
this.rotation = Rotation.valueOf(nbt.getString("rotation"));
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 9e9e238f9ad011851dcc9f94ed0953430b28129e..2065c70e461dff839c660ab9b70cedf3c989df0b 100644
index 8bf9763c9c359cfc45d1c866d667fa01e6bd0bf6..80d8766057869f0c50605340e4a516ebf120d358 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -4,8 +4,12 @@ package org.galemc.gale.configuration;
@@ -55,7 +55,7 @@ index 9e9e238f9ad011851dcc9f94ed0953430b28129e..2065c70e461dff839c660ab9b70cedf3
@SuppressWarnings({"CanBeFinal", "FieldCanBeLocal", "FieldMayBeFinal", "NotNullFieldNotInitialized", "InnerClassMayBeStatic"})
public class GaleGlobalConfiguration extends ConfigurationPart {
static final int CURRENT_VERSION = 1;
@@ -108,7 +112,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -100,7 +104,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
}
public LogToConsole logToConsole;
@@ -64,7 +64,7 @@ index 9e9e238f9ad011851dcc9f94ed0953430b28129e..2065c70e461dff839c660ab9b70cedf3
public boolean invalidStatistics = true; // Gale - EMC - do not log invalid statistics
public boolean ignoredAdvancements = true; // Gale - Purpur - do not log ignored advancements
@@ -125,6 +129,21 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -117,6 +121,21 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean notSecureMarker = true; // Gale - do not log Not Secure marker
}

View File

@@ -13,7 +13,7 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index afab6cd5ea21c97ea1b8936bd3a00a572d38f48e..f300964912f76cc97074e954dfcddad3e62d4af0 100644
index cf717e46b82d8842c97d2c8aa172d02bb788184a..4c5d2c3e50be81435260207dc1208c083a8201e6 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -480,7 +480,13 @@ public abstract class PlayerList {
@@ -31,10 +31,10 @@ index afab6cd5ea21c97ea1b8936bd3a00a572d38f48e..f300964912f76cc97074e954dfcddad3
public void updateEntireScoreboard(ServerScoreboard scoreboard, ServerPlayer player) {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 2065c70e461dff839c660ab9b70cedf3c989df0b..f033f2909bea28a37ce95c8b30ff4a744786d79c 100644
index 80d8766057869f0c50605340e4a516ebf120d358..13961140b8027996c393bd6d14a89b18b5d7ce7e 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -120,6 +120,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -112,6 +112,7 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean unrecognizedRecipes = false; // Gale - Purpur - do not log unrecognized recipes
public boolean legacyMaterialInitialization = false; // Gale - Purpur - do not log legacy Material initialization
public boolean nullIdDisconnections = true; // Gale - Pufferfish - do not log disconnections with null id

View File

@@ -13,7 +13,7 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d2a8f3260141af6a8bb807bdd581f7c3d5a7dca5..9fad45e41872615b47981281d47d8f0278dc4b59 100644
index c6d41c3650d24ebfbb57b75a1d76a12aa6a22faf..bd82f2374dc991dea21b83ae44d7f5708dc4e357 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -305,7 +305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -13,7 +13,7 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9fad45e41872615b47981281d47d8f0278dc4b59..307e74d2d116d62b54c9be21bc13c2605733cc3f 100644
index bd82f2374dc991dea21b83ae44d7f5708dc4e357..5690f551281a8d0cc3927cb4d860a403141b7239 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -314,6 +314,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -13,7 +13,7 @@ As part of: Slice (https://github.com/Cryptite/Slice)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 307e74d2d116d62b54c9be21bc13c2605733cc3f..2a4132103a937f58f8976d355f2419da816e6af9 100644
index 5690f551281a8d0cc3927cb4d860a403141b7239..4f654e5cc39ca3fccb0bff1c1f859a17e7d17229 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -890,7 +890,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 8fe9fd6828f9fdfcd587d67471a4199602807e74..681c1b6c976c74de15745a3a0038b3b2915c553c 100644
index 87fabd874b39a6a21ca7fb2c6207a4cec048328c..80b49fc41d8c9c9f387f85d993433857ff48f55e 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -15,6 +15,8 @@ import java.net.SocketAddress;

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 681c1b6c976c74de15745a3a0038b3b2915c553c..902f75eece79c8aa144240c7eee0f63aba11ed2d 100644
index 80b49fc41d8c9c9f387f85d993433857ff48f55e..ed7ecc89a5b0ebd24c677adb93e512b29d2cb5b5 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1042,14 +1042,18 @@ public abstract class PlayerList {

View File

@@ -109,10 +109,10 @@ index c51aee272b5cc991fec5fd0242f493ab6e9e4b32..4633aaf37dad0348191880f3d4cd91c4
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index f033f2909bea28a37ce95c8b30ff4a744786d79c..455aad097e4f20141d90e237e7f02ef7a50d1e5c 100644
index 13961140b8027996c393bd6d14a89b18b5d7ce7e..f7e016899cf74db72a94eeaa22ee2abc6d9426f1 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -109,6 +109,13 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -101,6 +101,13 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
}

View File

@@ -23,10 +23,10 @@ index 00166d86baad60beed5896871c9b9118fefc20b6..ded7811cd10bc436957ed9f1576f3231
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 455aad097e4f20141d90e237e7f02ef7a50d1e5c..9576ce22e2c5fb06d10de00ca24fba9345087870 100644
index f7e016899cf74db72a94eeaa22ee2abc6d9426f1..2cc90a79b13f11405b3d21320c18d294c15c4822 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -74,6 +74,20 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -66,6 +66,20 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public boolean verifyChatOrder = true;
// Gale end - Pufferfish - make chat order verification configurable

View File

@@ -13,7 +13,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2a4132103a937f58f8976d355f2419da816e6af9..eca5c3b581da9426d109eb71bf9b883362e155df 100644
index 4f654e5cc39ca3fccb0bff1c1f859a17e7d17229..332750297ca104bb95ef624caff8010595674c43 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3596,6 +3596,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index eca5c3b581da9426d109eb71bf9b883362e155df..eecf64e6ae6f11d242d2579039b783a013072646 100644
index 332750297ca104bb95ef624caff8010595674c43..544c60e1792aa9c429efbdfa27e5fe0293857d15 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4514,6 +4514,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -13,7 +13,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index c3076b07077873a852c8a59219bd6aa74f2b9212..0e765c1fb7b93905b7aff8f03fcabba7dc2d8cfa 100644
index 9c99384dac31b94d62d129868ad6f0131dd7bd16..8e216eaafb1b90d4fd373a4384ecff0b1e917835 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1908,12 +1908,18 @@ public class ServerPlayer extends Player {

View File

@@ -46,10 +46,10 @@ index cc7222cc7e53e8ae693e4e94ad53391db7a663c4..9d1d7033fdd2ae65b8fd323e9199b9d5
continue;
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index 9576ce22e2c5fb06d10de00ca24fba9345087870..c2a6868d4dfb53d3fb5d1a0e51c016a01fc58acf 100644
index 2cc90a79b13f11405b3d21320c18d294c15c4822..2123a003097edce4c100945a3cca706a8b0d696f 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -88,6 +88,19 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -80,6 +80,19 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
public int premiumAccountSlowLoginTimeout = -1;
// Gale end - make slow login timeout configurable

View File

@@ -14,7 +14,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 902f75eece79c8aa144240c7eee0f63aba11ed2d..ba5027dbd5dd20aee5a06d7feeb4dd1313f8661c 100644
index ed7ecc89a5b0ebd24c677adb93e512b29d2cb5b5..016640e983367174603957049fc3d4d205e05103 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -269,6 +269,13 @@ public abstract class PlayerList {

View File

@@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index c2a6868d4dfb53d3fb5d1a0e51c016a01fc58acf..de59a8e59db702d9c2cd01c93f09bd8cfc2c2e58 100644
index 2123a003097edce4c100945a3cca706a8b0d696f..6f168b52e6db0cddc5941e8c7d8e3b4029eec95a 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -143,6 +143,14 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -135,6 +135,14 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
}

View File

@@ -87,7 +87,7 @@ index af8b5282df19c92c5f1394dc9d889012ce509f32..f070bd0eca4a55445f436c9520a89aab
int i = 29999999;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
index de59a8e59db702d9c2cd01c93f09bd8cfc2c2e58..14f0573b1a580a9b0004b079726365280ca55557 100644
index 6f168b52e6db0cddc5941e8c7d8e3b4029eec95a..de4ee51bdd323c7c1f6297e933fe4117792c52e8 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleGlobalConfiguration.java
@@ -27,7 +27,29 @@ public class GaleGlobalConfiguration extends ConfigurationPart {
@@ -119,5 +119,5 @@ index de59a8e59db702d9c2cd01c93f09bd8cfc2c2e58..14f0573b1a580a9b0004b07972636528
+
+ }
// Gale start - Pufferfish - SIMD support
public Simd simd;
}

View File

@@ -16,7 +16,7 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index eecf64e6ae6f11d242d2579039b783a013072646..8bd042416b1f7c60756285e5b6f298a8ba051ac8 100644
index 544c60e1792aa9c429efbdfa27e5fe0293857d15..b2b783cb41994c6ca462510d1e3944d57dd64a73 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2122,8 +2122,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {

View File

@@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 8bd042416b1f7c60756285e5b6f298a8ba051ac8..05a7f024848048b7bca227212584e2ccc82200f7 100644
index b2b783cb41994c6ca462510d1e3944d57dd64a73..fc12f540f4b2eb81636916c5150bc54ac12fc0c8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1251,9 +1251,19 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {