Updated Upstream (Paper & Tuinity)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
eaadb4a68f Fix Java toolchain configuration to work on arm macOS
8bebf48495 Mark sensor and behavior timings as verbose
6855505490 Fix some inconsistency issues with empty map items (#6304)
ed1dc272e6 Add System.out.println catcher (#6278)
112b6a508a Add force getter to ParticleBuilder (#6300)
a44f486694 Allow plugins to use Log4J to log (#6288)
8c28a33d4e Don't not shuffle visible chunks (#6283)
0e978ea45e Rewrite LogEvents to contain information about the source jar of stacktrace elements (#6142)
6e7f9aafd6 Prevent AFK kick while watching end credits (#6239). (#6265)

Tuinity Changes:
61c9a54783 Don't use CI build number for implementation version (#356)
dc9d19c984 Update packet limiter config to accept mojang or spigot packet class names (#322)
This commit is contained in:
William Blake Galbreath
2021-08-02 16:05:32 -05:00
parent d4afd4e248
commit 13b1d3715e
21 changed files with 115 additions and 105 deletions

View File

@@ -4,7 +4,7 @@ version = 1.17.1-R0.1-SNAPSHOT
mcVersion = 1.17.1 mcVersion = 1.17.1
packageVersion = 1_17_R1 packageVersion = 1_17_R1
paperCommit = 81a7559b41256a2605b7a6db29b314fd70253f19 paperCommit = 6e7f9aafd6b7ae5a801e0265a8f9156a83b20aa5
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index b50463c2356301a1b47a0bf4f50dc1f121d363a1..66f5e6edc2bac290664c534df213058eaeab3b4e 100644 index b50463c2356301a1b47a0bf4f50dc1f121d363a1..f5a9c41fdbaede65cf4607737421571f0c344c1f 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -1,10 +1,16 @@ @@ -1,10 +1,16 @@
@@ -48,7 +48,7 @@ index b50463c2356301a1b47a0bf4f50dc1f121d363a1..66f5e6edc2bac290664c534df213058e
- implementation(project(":Paper-API")) - implementation(project(":Paper-API"))
- implementation(project(":Paper-MojangAPI")) - implementation(project(":Paper-MojangAPI"))
+ implementation(project(":Tuinity-API")) // Tuinity + implementation(project(":Tuinity-API")) // Tuinity
+ implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Tuinity + implementation("io.papermc.paper:paper-mojangapi:1.17.1-R0.1-SNAPSHOT") // Tuinity
// Paper start // Paper start
implementation("org.jline:jline-terminal-jansi:3.12.1") implementation("org.jline:jline-terminal-jansi:3.12.1")
implementation("net.minecrell:terminalconsoleappender:1.2.0") implementation("net.minecrell:terminalconsoleappender:1.2.0")
@@ -60,7 +60,14 @@ index b50463c2356301a1b47a0bf4f50dc1f121d363a1..66f5e6edc2bac290664c534df213058e
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("junit:junit:4.13.1") testImplementation("junit:junit:4.13.1")
@@ -80,7 +88,7 @@ tasks.jar { @@ -74,13 +82,13 @@ tasks.jar {
manifest {
val git = Git(rootProject.layout.projectDirectory.path)
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
- val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
+ val implementationVersion = /* System.getenv("BUILD_NUMBER") ?: */ "\"$gitHash\"" // Tuinity - Do not use CI build number for implementation version (always use git hash)
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -23114,7 +23121,7 @@ index 0000000000000000000000000000000000000000..300364f693583be802a71d94cda5d96c
+ } + }
+} +}
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
index e873b23527cc4e56580c3c7dc5b52ecc3f2a9e31..6317988df19da315c057a9cbc55ff77006f45912 100644 index 8c883d2f88acc731734a121ebb76821e66658cc9..c2e8380590d83ce20ee02c90d825b0ad5e883ba9 100644
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java --- a/src/main/java/co/aikar/timings/MinecraftTimings.java
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -45,6 +45,8 @@ public final class MinecraftTimings { @@ -45,6 +45,8 @@ public final class MinecraftTimings {
@@ -24753,13 +24760,16 @@ index 0000000000000000000000000000000000000000..49dc783a312ed62415d28cdd801dad6a
+} +}
diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..356a6118f1b0b091f7527aec747659025562eafc index 0000000000000000000000000000000000000000..bca56d612451a70b55ed37817df7cf4453311477
--- /dev/null --- /dev/null
+++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java +++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java
@@ -0,0 +1,432 @@ @@ -0,0 +1,441 @@
+package com.tuinity.tuinity.config; +package com.tuinity.tuinity.config;
+ +
+import com.destroystokyo.paper.util.SneakyThrow; +import com.destroystokyo.paper.util.SneakyThrow;
+import io.papermc.paper.util.ObfHelper;
+import java.util.HashMap;
+import java.util.Map;
+import net.minecraft.server.MinecraftServer; +import net.minecraft.server.MinecraftServer;
+import org.bukkit.Bukkit; +import org.bukkit.Bukkit;
+import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.ConfigurationSection;
@@ -24926,35 +24936,41 @@ index 0000000000000000000000000000000000000000..356a6118f1b0b091f7527aec74765902
+ +
+ // auto recipe limiting + // auto recipe limiting
+ TuinityConfig.getDouble("packet-limiter.limits." + + TuinityConfig.getDouble("packet-limiter.limits." +
+ "PacketPlayInAutoRecipe" + ".interval", 4.0); + "PacketPlayInAutoRecipe" + ".interval", 4.0);
+ TuinityConfig.getDouble("packet-limiter.limits." + + TuinityConfig.getDouble("packet-limiter.limits." +
+ "PacketPlayInAutoRecipe" + ".max-packet-rate", 5.0); + "PacketPlayInAutoRecipe" + ".max-packet-rate", 5.0);
+ TuinityConfig.getString("packet-limiter.limits." + + TuinityConfig.getString("packet-limiter.limits." +
+ "PacketPlayInAutoRecipe" + ".action", PacketLimit.ViolateAction.DROP.name()); + "PacketPlayInAutoRecipe" + ".action", PacketLimit.ViolateAction.DROP.name());
+ +
+ final String canonicalName = MinecraftServer.class.getCanonicalName(); + final Map<String, String> mojangToSpigot = new HashMap<>();
+ final String nmsPackage = canonicalName.substring(0, canonicalName.lastIndexOf(".")); + final Map<String, ObfHelper.ClassMapping> maps = ObfHelper.INSTANCE.mappings();
+ if (maps != null) {
+ maps.forEach((spigotName, classMapping) ->
+ mojangToSpigot.put(classMapping.mojangName(), classMapping.obfName()));
+ }
+
+ for (final String packetClassName : section.getKeys(false)) { + for (final String packetClassName : section.getKeys(false)) {
+ if (packetClassName.equals("all")) { + if (packetClassName.equals("all")) {
+ continue; + continue;
+ } + }
+ Class<?> packetClazz = null; + Class<?> packetClazz = null;
+ +
+ try { + for (final String subpackage : List.of("game", "handshake", "login", "status")) {
+ packetClazz = Class.forName(nmsPackage + "." + packetClassName); + final String fullName = "net.minecraft.network.protocol." + subpackage + "." + packetClassName;
+ } catch (final ClassNotFoundException ex) { + try {
+ for (final String subpackage : java.util.Arrays.asList("game", "handshake", "login", "status")) { + packetClazz = Class.forName(fullName);
+ break;
+ } catch (final ClassNotFoundException ex) {
+ try { + try {
+ packetClazz = Class.forName("net.minecraft.network.protocol." + subpackage + "." + packetClassName); + final String spigot = mojangToSpigot.get(fullName);
+ if (spigot != null) {
+ packetClazz = Class.forName(spigot);
+ }
+ } catch (final ClassNotFoundException ignore) {} + } catch (final ClassNotFoundException ignore) {}
+ } + }
+ if (packetClazz == null) {
+ MinecraftServer.LOGGER.warn("Packet '" + packetClassName + "' does not exist, cannot limit it! Please update tuinity.yml");
+ continue;
+ }
+ } + }
+ +
+ if (!net.minecraft.network.protocol.Packet.class.isAssignableFrom(packetClazz)) { + if (packetClazz == null || !net.minecraft.network.protocol.Packet.class.isAssignableFrom(packetClazz)) {
+ MinecraftServer.LOGGER.warn("Packet '" + packetClassName + "' does not exist, cannot limit it! Please update tuinity.yml"); + MinecraftServer.LOGGER.warn("Packet '" + packetClassName + "' does not exist, cannot limit it! Please update tuinity.yml");
+ continue; + continue;
+ } + }
@@ -32317,7 +32333,7 @@ index 1cc4e0a1f3d8235ef88b48e01ca8b78a263d2676..428d94c60b826ddf3797d6713661dff1
+ */ // Tuinity - replace old loader system + */ // Tuinity - replace old loader system
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce161878034e57c3f4 100644 index 0d143d073fa7cdfa14f12e9c795350dca8ac5e80..8b84befc6840d25dc3d6e2d42a4024a3c979a097 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -47,6 +47,7 @@ import net.minecraft.world.level.storage.LevelStorageSource; @@ -47,6 +47,7 @@ import net.minecraft.world.level.storage.LevelStorageSource;
@@ -32606,11 +32622,19 @@ index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce16187803
this.level.timings.doChunkUnload.stopTiming(); // Spigot this.level.timings.doChunkUnload.stopTiming(); // Spigot
this.level.getProfiler().pop(); this.level.getProfiler().pop();
this.clearCache(); this.clearCache();
@@ -838,18 +1017,26 @@ public class ServerChunkCache extends ChunkSource { @@ -834,24 +1013,31 @@ public class ServerChunkCache extends ChunkSource {
//Collections.shuffle(list); // Paper
// Paper - moved up this.lastSpawnState = spawnercreature_d;
this.level.getProfiler().pop();
- List<ChunkHolder> list = Lists.newArrayList(this.chunkMap.visibleChunkMap.values()); // Paper
+ //List<ChunkHolder> list = Lists.newArrayList(this.chunkMap.visibleChunkMap.values()); // Paper
- Collections.shuffle(list);
+ //Collections.shuffle(list);
// Paper - moved natural spawn event up
this.level.timings.chunkTicks.startTiming(); // Paper this.level.timings.chunkTicks.startTiming(); // Paper
- final int[] chunksTicked = {0}; this.chunkMap.forEachVisibleChunk((playerchunk) -> { // Paper - safe iterator incase chunk loads, also no wrapping - final int[] chunksTicked = {0}; // Paper
- list.forEach((playerchunk) -> {
- Optional<LevelChunk> optional = ((Either) playerchunk.getTickingChunkFuture().getNow(ChunkHolder.UNLOADED_LEVEL_CHUNK)).left(); - Optional<LevelChunk> optional = ((Either) playerchunk.getTickingChunkFuture().getNow(ChunkHolder.UNLOADED_LEVEL_CHUNK)).left();
- -
- if (optional.isPresent()) { - if (optional.isPresent()) {
@@ -32640,7 +32664,7 @@ index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce16187803
} }
// this.level.timings.doTickTiles.startTiming(); // Spigot // Paper // this.level.timings.doTickTiles.startTiming(); // Spigot // Paper
@@ -857,7 +1044,11 @@ public class ServerChunkCache extends ChunkSource { @@ -859,7 +1045,11 @@ public class ServerChunkCache extends ChunkSource {
// this.level.timings.doTickTiles.stopTiming(); // Spigot // Paper // this.level.timings.doTickTiles.stopTiming(); // Spigot // Paper
} }
} }
@@ -32653,7 +32677,7 @@ index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce16187803
this.level.timings.chunkTicks.stopTiming(); // Paper this.level.timings.chunkTicks.stopTiming(); // Paper
this.level.getProfiler().push("customSpawners"); this.level.getProfiler().push("customSpawners");
if (flag1) { if (flag1) {
@@ -866,25 +1057,28 @@ public class ServerChunkCache extends ChunkSource { @@ -868,25 +1058,28 @@ public class ServerChunkCache extends ChunkSource {
} // Paper - timings } // Paper - timings
} }
@@ -32697,7 +32721,7 @@ index 1043577580bee20a46ae4b2c9e7cef27d45568ad..3f0168a9edfa67f99e6fe9ce16187803
} }
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) { private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
@@ -1031,46 +1225,14 @@ public class ServerChunkCache extends ChunkSource { @@ -1033,46 +1226,14 @@ public class ServerChunkCache extends ChunkSource {
super.doRunTask(task); super.doRunTask(task);
} }
@@ -33816,7 +33840,7 @@ index 961660f6f9e00b93252519e38b74c66c53388ed2..c80280150897064dc9d814edfbbcc1ce
protected void initChannel(Channel channel) { protected void initChannel(Channel channel) {
try { try {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 064aecb28f05fcf572ee7d29f611a31cc7b6e49a..c4cea533f619624976c4d1290312ed1a6b250855 100644 index ad1a9c6c354d40d5fa589666b1b00792d9cd6161..162a4b3b3312867a64425caa0d6ec6af157b20e1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -536,6 +536,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -536,6 +536,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -38353,10 +38377,10 @@ index 0a76032b48af4327580b99730e534f628924fe35..c9c668aa5b2ddf21ffcce8b395e3d88b
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9954e45c32a4b6d80fe912ed9d55cd4fc8c4e98b..1ec307d705087eec9d867f9f8e8858ac388f3846 100644 index 6d7f16fede01c19f638e1dcdae8b07b79cd86dc0..57dab1be4bfa91c7c9d7e53e7fe388a94dc60e0b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -239,7 +239,7 @@ import javax.annotation.Nullable; // Paper @@ -240,7 +240,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server { public final class CraftServer implements Server {
@@ -38365,7 +38389,7 @@ index 9954e45c32a4b6d80fe912ed9d55cd4fc8c4e98b..1ec307d705087eec9d867f9f8e8858ac
private final String serverVersion; private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion(); private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft"); private final Logger logger = Logger.getLogger("Minecraft");
@@ -884,6 +884,7 @@ public final class CraftServer implements Server { @@ -886,6 +886,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -38373,7 +38397,7 @@ index 9954e45c32a4b6d80fe912ed9d55cd4fc8c4e98b..1ec307d705087eec9d867f9f8e8858ac
for (ServerLevel world : this.console.getAllLevels()) { for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty); world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -918,6 +919,7 @@ public final class CraftServer implements Server { @@ -920,6 +921,7 @@ public final class CraftServer implements Server {
} }
world.spigotConfig.init(); // Spigot world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper world.paperConfig.init(); // Paper
@@ -38381,7 +38405,7 @@ index 9954e45c32a4b6d80fe912ed9d55cd4fc8c4e98b..1ec307d705087eec9d867f9f8e8858ac
} }
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -2451,6 +2453,14 @@ public final class CraftServer implements Server { @@ -2453,6 +2455,14 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config; return com.destroystokyo.paper.PaperConfig.config;
} }

View File

@@ -5,20 +5,18 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 66f5e6edc2bac290664c534df213058eaeab3b4e..0f87b2104253705608e402e28b8b262ae2181206 100644 index f5a9c41fdbaede65cf4607737421571f0c344c1f..b84b6e1d77411e3a62e086285b7217dd49f65dfb 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -35,8 +35,8 @@ repositories { @@ -35,7 +35,7 @@ repositories {
} }
dependencies { dependencies {
- implementation(project(":Tuinity-API")) // Tuinity - implementation(project(":Tuinity-API")) // Tuinity
- implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Tuinity
+ implementation(project(":Purpur-API")) // Purpur + implementation(project(":Purpur-API")) // Purpur
+ implementation("io.papermc.paper:paper-mojangapi:1.17.1-R0.1-SNAPSHOT") // Purpur implementation("io.papermc.paper:paper-mojangapi:1.17.1-R0.1-SNAPSHOT") // Tuinity
// Paper start // Paper start
implementation("org.jline:jline-terminal-jansi:3.12.1") implementation("org.jline:jline-terminal-jansi:3.12.1")
implementation("net.minecrell:terminalconsoleappender:1.2.0")
@@ -67,6 +67,7 @@ dependencies { @@ -67,6 +67,7 @@ dependencies {
implementation("co.aikar:cleaner:1.0-SNAPSHOT") // Paper implementation("co.aikar:cleaner:1.0-SNAPSHOT") // Paper
@@ -27,7 +25,14 @@ index 66f5e6edc2bac290664c534df213058eaeab3b4e..0f87b2104253705608e402e28b8b262a
implementation("org.quiltmc:tiny-mappings-parser:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation implementation("org.quiltmc:tiny-mappings-parser:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
implementation("com.velocitypowered:velocity-native:1.1.0-SNAPSHOT") // Tuinity implementation("com.velocitypowered:velocity-native:1.1.0-SNAPSHOT") // Tuinity
@@ -88,7 +89,7 @@ tasks.jar { @@ -82,13 +83,13 @@ tasks.jar {
manifest {
val git = Git(rootProject.layout.projectDirectory.path)
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
- val implementationVersion = /* System.getenv("BUILD_NUMBER") ?: */ "\"$gitHash\"" // Tuinity - Do not use CI build number for implementation version (always use git hash)
+ val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\"" // Purpur - we use both CI build numbers _and_ git hashes
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -190,10 +195,10 @@ index 1b324839e37d510552f5f5497de009add69ecda5..6e530a9a2c176b1a9ef00ddd730de069
// Spigot end // Spigot end
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file."); DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1ec307d705087eec9d867f9f8e8858ac388f3846..affe0e9976d6ed444f39ce838726373852989a1c 100644 index 57dab1be4bfa91c7c9d7e53e7fe388a94dc60e0b..6616e523f6a9dff1f371535bf246212093b6cb9e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -239,7 +239,7 @@ import javax.annotation.Nullable; // Paper @@ -240,7 +240,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server { public final class CraftServer implements Server {

View File

@@ -459,10 +459,10 @@ index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338f
+ } + }
+} +}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index affe0e9976d6ed444f39ce838726373852989a1c..cb0c931575f53969206a0591869f968c45b77722 100644 index 6616e523f6a9dff1f371535bf246212093b6cb9e..4f22861ef28ff4df39567886935132a1e360ee59 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -885,6 +885,7 @@ public final class CraftServer implements Server { @@ -887,6 +887,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config
@@ -470,7 +470,7 @@ index affe0e9976d6ed444f39ce838726373852989a1c..cb0c931575f53969206a0591869f968c
for (ServerLevel world : this.console.getAllLevels()) { for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty); world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -920,6 +921,7 @@ public final class CraftServer implements Server { @@ -922,6 +923,7 @@ public final class CraftServer implements Server {
world.spigotConfig.init(); // Spigot world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper world.paperConfig.init(); // Paper
world.tuinityConfig.init(); // Tuinity - Server Config world.tuinityConfig.init(); // Tuinity - Server Config
@@ -478,7 +478,7 @@ index affe0e9976d6ed444f39ce838726373852989a1c..cb0c931575f53969206a0591869f968c
} }
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -935,6 +937,7 @@ public final class CraftServer implements Server { @@ -937,6 +939,7 @@ public final class CraftServer implements Server {
this.reloadData(); this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
@@ -486,7 +486,7 @@ index affe0e9976d6ed444f39ce838726373852989a1c..cb0c931575f53969206a0591869f968c
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2461,6 +2464,18 @@ public final class CraftServer implements Server { @@ -2463,6 +2466,18 @@ public final class CraftServer implements Server {
} }
// Tuinity end - add config to timings report // Tuinity end - add config to timings report

View File

@@ -73,7 +73,7 @@ index 2aea5ddba1d5c4dd0afeaee58a3542d0c0000edd..53806589d0138e43e50c4ca7c1e6fc9a
+ +
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f0da340879f10d23b2d02e238ec944739390986e..a0f529180ecd641fc4484d4afe3153ce39314285 100644 index f99d06e53856c14f5b94c28d379b8188ac1411db..c02b3cdd93df7806d52138b02612dd48a451962b 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2412,6 +2412,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -2412,6 +2412,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -201,7 +201,7 @@ index d28cecd9bea7c82fa675d333810e2e63a91c615e..8f8bc29d847801938e251904b8334b4b
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 24c629d5f26bc5aadebcf39a63930b3448525242..28139fd78e7dfb703e941a46bd18e0236d58fe22 100644 index 2b7eeb5659b1083ef550eb9feb0b7ba8a92a92e3..f8e080a943082a10fef3bd99c86ffe78aae8e0b4 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity { @@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity {
@@ -217,7 +217,7 @@ index 24c629d5f26bc5aadebcf39a63930b3448525242..28139fd78e7dfb703e941a46bd18e023
protected int lerpSteps; protected int lerpSteps;
protected double lerpX; protected double lerpX;
protected double lerpY; protected double lerpY;
@@ -2570,7 +2570,7 @@ public abstract class LivingEntity extends Entity { @@ -2571,7 +2571,7 @@ public abstract class LivingEntity extends Entity {
return this.hasEffect(MobEffects.JUMP) ? (double) (0.1F * (float) (this.getEffect(MobEffects.JUMP).getAmplifier() + 1)) : 0.0D; return this.hasEffect(MobEffects.JUMP) ? (double) (0.1F * (float) (this.getEffect(MobEffects.JUMP).getAmplifier() + 1)) : 0.0D;
} }
@@ -226,7 +226,7 @@ index 24c629d5f26bc5aadebcf39a63930b3448525242..28139fd78e7dfb703e941a46bd18e023
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower(); double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
@@ -3224,8 +3224,10 @@ public abstract class LivingEntity extends Entity { @@ -3225,8 +3225,10 @@ public abstract class LivingEntity extends Entity {
this.pushEntities(); this.pushEntities();
this.level.getProfiler().pop(); this.level.getProfiler().pop();
// Paper start // Paper start
@@ -239,7 +239,7 @@ index 24c629d5f26bc5aadebcf39a63930b3448525242..28139fd78e7dfb703e941a46bd18e023
Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3235,6 +3237,21 @@ public abstract class LivingEntity extends Entity { @@ -3236,6 +3238,21 @@ public abstract class LivingEntity extends Entity {
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
} }
} }
@@ -4474,7 +4474,7 @@ index c4f7c94255e4631a3c0355f9260132ba28296f50..d6c31596e21041a124a263054ccb6447
this.setTradingPlayer(player); this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1); this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index e7a7de5ad9b64876df77e20465631ca8e5b19a4a..7b4f41d53373a56ad50cf4a9a761d87612600da7 100644 index 9e0eec259fdae57e235bfe00ece4df9957edc642..19b65c0d2fd96b4516c0717511a6bb02b2d66065 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity { @@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity {

View File

@@ -68,13 +68,13 @@ index 53806589d0138e43e50c4ca7c1e6fc9a3317d38c..a0d2480021b5cb4ae7e28d25869d7820
return this.stats; return this.stats;
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a0f529180ecd641fc4484d4afe3153ce39314285..c6ef86206fc498a0fcd1c1527516d98e00a5df40 100644 index c02b3cdd93df7806d52138b02612dd48a451962b..f6a091ab2f549761b8d19fb35e1db907954a9717 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -390,6 +390,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -390,6 +390,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
} }
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60)) { if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
+ // Purpur start + // Purpur start
+ this.player.setAfk(true); + this.player.setAfk(true);
+ if (!this.player.level.purpurConfig.idleTimeoutKick) { + if (!this.player.level.purpurConfig.idleTimeoutKick) {
@@ -146,7 +146,7 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4
private EntitySelector() {} private EntitySelector() {}
// Paper start // Paper start
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 7b4f41d53373a56ad50cf4a9a761d87612600da7..d6b610a848f37db24af9b219be2f22aeaf892388 100644 index 19b65c0d2fd96b4516c0717511a6bb02b2d66065..d761865eabfc67651b0a2a92ad35fc236886b61d 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity { @@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {

View File

@@ -17,10 +17,10 @@ index 0544ac93513d3a274bfb53bb6120bd598f4d603b..9ce5984fbeba4839290c9d213d441957
public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true); public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index cb0c931575f53969206a0591869f968c45b77722..c2565facdd17d80c83c0788a641d79eb73986618 100644 index 4f22861ef28ff4df39567886935132a1e360ee59..7e49b67ac9e9034e2bc0ffea0c3fd3874f2982eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2630,4 +2630,11 @@ public final class CraftServer implements Server { @@ -2632,4 +2632,11 @@ public final class CraftServer implements Server {
} }
// Paper end // Paper end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cecffa5879f386e99ccd27386f90074aef0b72fe..c59882224b44d1d477ca8d84155b7f3b9f7da0ce 100644 index 1a3ffb49a2b5f65d6e7e4911aed0d4e527ed6f51..df5a573e7c097cb7b0d5c1b087fc4f2eea81548a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity { @@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity {
@@ -27,7 +27,7 @@ index cecffa5879f386e99ccd27386f90074aef0b72fe..c59882224b44d1d477ca8d84155b7f3b
if (!landedState.isAir()) { if (!landedState.isAir()) {
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D); double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
@@ -1890,7 +1891,7 @@ public abstract class LivingEntity extends Entity { @@ -1891,7 +1892,7 @@ public abstract class LivingEntity extends Entity {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP); MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1); float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);

View File

@@ -41,10 +41,10 @@ index 9577355817a71b2e398ccf411cbcfd3a77bfafaf..dd9fca23e1f96ad261589d9b66d4306a
public static boolean enderChestSixRows = false; public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false; public static boolean enderChestPermissionRows = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c2565facdd17d80c83c0788a641d79eb73986618..98ca2f530cb4df122168274d5676b3eb77117972 100644 index 7e49b67ac9e9034e2bc0ffea0c3fd3874f2982eb..7e3f6c4cc9f3fb7681cca30cc41b2df6b18bc236 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2636,5 +2636,10 @@ public final class CraftServer implements Server { @@ -2638,5 +2638,10 @@ public final class CraftServer implements Server {
public String getServerName() { public String getServerName() {
return this.getProperties().serverName; return this.getProperties().serverName;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index c59882224b44d1d477ca8d84155b7f3b9f7da0ce..172f7746a93afa1ee7990eeab1d3da2fc210aa99 100644 index df5a573e7c097cb7b0d5c1b087fc4f2eea81548a..a8412dd9609559e4840e5823e5472ada625ae3f3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1707,8 +1707,10 @@ public abstract class LivingEntity extends Entity { @@ -1708,8 +1708,10 @@ public abstract class LivingEntity extends Entity {
this.dropEquipment(); // CraftBukkit - from below this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {

View File

@@ -17,10 +17,10 @@ index 9b6ee1fc3fd17faf2c2be56c0c292b1d5f98e0fa..24f4c130a539b3a42bf13f9bd4d264f9
public void absMoveTo(double x, double y, double z) { public void absMoveTo(double x, double y, double z) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 172f7746a93afa1ee7990eeab1d3da2fc210aa99..31f3767c7d9e9fc5f3bd91c7ec163bce8ada64db 100644 index a8412dd9609559e4840e5823e5472ada625ae3f3..9f82479d3b1822d91f3e91f0e980200b9dcce962 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2883,7 +2883,7 @@ public abstract class LivingEntity extends Entity { @@ -2884,7 +2884,7 @@ public abstract class LivingEntity extends Entity {
} }
} }

View File

@@ -18,10 +18,10 @@ index 24f4c130a539b3a42bf13f9bd4d264f9c84dec3b..ad8497df1b0410989afd22d65e6afd0e
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) { && this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end // Paper end
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 31f3767c7d9e9fc5f3bd91c7ec163bce8ada64db..8f550154b12521662889bbc91f5cd8e20523a90f 100644 index 9f82479d3b1822d91f3e91f0e980200b9dcce962..56459702284a8bb5d0297e2d16cb25132d51cf7f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2388,7 +2388,7 @@ public abstract class LivingEntity extends Entity { @@ -2389,7 +2389,7 @@ public abstract class LivingEntity extends Entity {
@Override @Override
protected void outOfWorld() { protected void outOfWorld() {

View File

@@ -69,10 +69,10 @@ index c96feac8afa0e0ea05513692d1e937ae7cbecd66..214b25f57f15e2127b92ec88117c36d4
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime; tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 98ca2f530cb4df122168274d5676b3eb77117972..072532ca2c6868a29a019c4f79b44e4aaa02ffa7 100644 index 7e3f6c4cc9f3fb7681cca30cc41b2df6b18bc236..0e09d8f573e466b17cce6187adc769b61bbfb2d6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2410,6 +2410,7 @@ public final class CraftServer implements Server { @@ -2412,6 +2412,7 @@ public final class CraftServer implements Server {
@Override @Override
public double[] getTPS() { public double[] getTPS() {
return new double[] { return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8f550154b12521662889bbc91f5cd8e20523a90f..f1a8b91f620152a3da3c11769c3c2353ccdba3cf 100644 index 56459702284a8bb5d0297e2d16cb25132d51cf7f..9240dac662e60d130cdb8c3724c211c89875f6f0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3284,7 +3284,16 @@ public abstract class LivingEntity extends Entity { @@ -3285,7 +3285,16 @@ public abstract class LivingEntity extends Entity {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 0c14ccc74abcc68ecc5422b38bc729dc659b9b8b..b909eeba0539ab133e274a15b0b479b5546fc903 100644 index 795d454e46cfa39f80c5fc931f4931d8561b03b4..91fd6709e66ee9c999ba7be3bec2689a5a01528c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1516,6 +1516,19 @@ public abstract class LivingEntity extends Entity { @@ -1517,6 +1517,19 @@ public abstract class LivingEntity extends Entity {
} }
} }

View File

@@ -63,7 +63,7 @@ index a853e2cc2e3f06a0ca0bb1799b3fd02890ae6521..a8265cd631d335d4eaec1918bd48570e
} }
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index d4a19fc38027717e43353bc62ef23e564f3b4c26..4f85cd75af97ce29211c5d4347292125c0ca527d 100644 index 4688cfb6f24066d3034efcd6b4816ceb37561f1f..0f6e577e47a3b1ce5a356801b6192d1d306d19c2 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -209,7 +209,13 @@ public class Boat extends Entity { @@ -209,7 +209,13 @@ public class Boat extends Entity {
@@ -101,7 +101,7 @@ index 44d63145480d38a4ec3a38be108200af070bcffa..7de67b75010f0da52004c911f6ee98eb
world.playSound((Player) null, entityarmorstand.getX(), entityarmorstand.getY(), entityarmorstand.getZ(), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F); world.playSound((Player) null, entityarmorstand.getX(), entityarmorstand.getY(), entityarmorstand.getZ(), SoundEvents.ARMOR_STAND_PLACE, SoundSource.BLOCKS, 0.75F, 0.8F);
world.gameEvent((Entity) context.getPlayer(), GameEvent.ENTITY_PLACE, (Entity) entityarmorstand); world.gameEvent((Entity) context.getPlayer(), GameEvent.ENTITY_PLACE, (Entity) entityarmorstand);
diff --git a/src/main/java/net/minecraft/world/item/BoatItem.java b/src/main/java/net/minecraft/world/item/BoatItem.java diff --git a/src/main/java/net/minecraft/world/item/BoatItem.java b/src/main/java/net/minecraft/world/item/BoatItem.java
index c0864c833fd313e6ba9339ecc7f9e2359954bda3..8f5ed444ab430ae60d52e68ded605cfa0634331f 100644 index 87e0faaab1ec98123fd735112d15da332a830554..daf24491886c3a5cb031389bfed8e62a6e62afe3 100644
--- a/src/main/java/net/minecraft/world/item/BoatItem.java --- a/src/main/java/net/minecraft/world/item/BoatItem.java
+++ b/src/main/java/net/minecraft/world/item/BoatItem.java +++ b/src/main/java/net/minecraft/world/item/BoatItem.java
@@ -67,6 +67,11 @@ public class BoatItem extends Item { @@ -67,6 +67,11 @@ public class BoatItem extends Item {
@@ -113,7 +113,7 @@ index c0864c833fd313e6ba9339ecc7f9e2359954bda3..8f5ed444ab430ae60d52e68ded605cfa
+ entityboat.setCustomName(itemstack.getHoverName()); + entityboat.setCustomName(itemstack.getHoverName());
+ } + }
+ // Purpur end + // Purpur end
if (!world.noCollision(entityboat, entityboat.getBoundingBox().inflate(-0.1D))) { if (!world.noCollision(entityboat, entityboat.getBoundingBox().inflate(net.minecraft.Util.COLLISION_EPSILON))) {
return InteractionResultHolder.fail(itemstack); return InteractionResultHolder.fail(itemstack);
} else { } else {
diff --git a/src/main/java/net/minecraft/world/item/HangingEntityItem.java b/src/main/java/net/minecraft/world/item/HangingEntityItem.java diff --git a/src/main/java/net/minecraft/world/item/HangingEntityItem.java b/src/main/java/net/minecraft/world/item/HangingEntityItem.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b909eeba0539ab133e274a15b0b479b5546fc903..11abf0df677a9d609d82cbcb8e3967fc4b613362 100644 index 91fd6709e66ee9c999ba7be3bec2689a5a01528c..a343738d971994c91ac42e41558ca05d6f9f8f57 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1681,7 +1681,7 @@ public abstract class LivingEntity extends Entity { @@ -1682,7 +1682,7 @@ public abstract class LivingEntity extends Entity {
boolean flag = false; boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper if (this.dead && adversary instanceof WitherBoss) { // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 11abf0df677a9d609d82cbcb8e3967fc4b613362..59e4e240420a11b19b6da199092590ebe9096383 100644 index a343738d971994c91ac42e41558ca05d6f9f8f57..276bac768069d14b0015eed3f31f98c38978df0b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2123,6 +2123,20 @@ public abstract class LivingEntity extends Entity { @@ -2124,6 +2124,20 @@ public abstract class LivingEntity extends Entity {
((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F)); ((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F));
} }

View File

@@ -29,7 +29,7 @@ index 5572fe00a915fc31afe3bc7dcf45e894d7cb69b5..c0f97b07f7c0c98699f90f6c2cc6bd67
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index dd88755ac380e5c85d5327d02bc3ec7e06355e49..3df4ca11fc44facd02f358948473d84d1de48e2b 100644 index 246d6bdb7c431f9aca2e337dd2d4dfa5f8baf486..5bb0a3c4d25c5b06e6547a1789b6b27972fbda59 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity { @@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity {
@@ -60,7 +60,7 @@ index dd88755ac380e5c85d5327d02bc3ec7e06355e49..3df4ca11fc44facd02f358948473d84d
} }
// CraftBukkit start // CraftBukkit start
@@ -3304,6 +3311,27 @@ public abstract class LivingEntity extends Entity { @@ -3305,6 +3312,27 @@ public abstract class LivingEntity extends Entity {
this.hurt(DamageSource.DROWN, 1.0F); this.hurt(DamageSource.DROWN, 1.0F);
} }

View File

@@ -16,10 +16,10 @@ restoring it back to the entity just before the criterion triggers run and
then finally clearing the equipment again right after the criterion is done. then finally clearing the equipment again right after the criterion is done.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 3df4ca11fc44facd02f358948473d84d1de48e2b..1354cd7e9805f16700d122b281be8038d5dd27ef 100644 index 5bb0a3c4d25c5b06e6547a1789b6b27972fbda59..04e32a71cd97710b8193711fb691cc08e5460daf 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1661,10 +1661,13 @@ public abstract class LivingEntity extends Entity { @@ -1662,10 +1662,13 @@ public abstract class LivingEntity extends Entity {
} }
// Paper start // Paper start
@@ -33,7 +33,7 @@ index 3df4ca11fc44facd02f358948473d84d1de48e2b..1354cd7e9805f16700d122b281be8038
} }
if (this.isSleeping()) { if (this.isSleeping()) {
@@ -2534,6 +2537,12 @@ public abstract class LivingEntity extends Entity { @@ -2535,6 +2538,12 @@ public abstract class LivingEntity extends Entity {
@Override @Override
public abstract void setItemSlot(EquipmentSlot slot, ItemStack stack); public abstract void setItemSlot(EquipmentSlot slot, ItemStack stack);

View File

@@ -1,19 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 31 Jul 2021 22:52:52 -0500
Subject: [PATCH] Negative map IDs are still valid
diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java
index 20743fb00aa346d777fe4ddd02647e69736732f9..355e9ccd481cc7682e1f5423407b80627b5d3bc9 100644
--- a/src/main/java/net/minecraft/world/item/MapItem.java
+++ b/src/main/java/net/minecraft/world/item/MapItem.java
@@ -58,7 +58,7 @@ public class MapItem extends ComplexItem {
@Nullable
public static MapItemSavedData getSavedData(@Nullable Integer id, Level world) {
- return id == null || id < 0 ? null : world.getMapData(MapItem.makeKey(id)); // Paper - map ids under 0 are invalid
+ return id == null ? null : world.getMapData(MapItem.makeKey(id)); // Paper - map ids under 0 are invalid // Purpur - negative ids are still valid
}
@Nullable