From c0d36db38d79eadb49451ee6846fb685a3a8c615 Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Tue, 5 Nov 2024 18:33:34 +0900 Subject: [PATCH] Hashed RCON password --- build.gradle.kts | 4 - patches/server/0047-Reduce-allocations.patch | 158 +++++++----- .../server/0048-Hashed-rcon-password.patch | 236 ++++++++++++++++++ 3 files changed, 326 insertions(+), 72 deletions(-) create mode 100644 patches/server/0048-Hashed-rcon-password.patch diff --git a/build.gradle.kts b/build.gradle.kts index 911850e..6d35d0d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -50,10 +50,6 @@ subprojects { withType().configureEach { options.encoding = Charsets.UTF_8.name() options.release = jdkVersion - options.compilerArgs.addAll(listOf( - "--add-modules=jdk.incubator.vector", - "-Xmaxwarns", "1" - )) } withType { diff --git a/patches/server/0047-Reduce-allocations.patch b/patches/server/0047-Reduce-allocations.patch index e700ec6..539b5a1 100644 --- a/patches/server/0047-Reduce-allocations.patch +++ b/patches/server/0047-Reduce-allocations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reduce allocations diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java -index 7fed43a1e7bcf35c4d7fd3224837a47fedd59860..cf592f8a742c725d3159103bedf15ff604c1d92f 100644 +index 7fed43a1e7bcf35c4d7fd3224837a47fedd59860..c28b6733aa113c21796329ffe51874406657257e 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/list/EntityList.java @@ -18,9 +18,9 @@ public final class EntityList implements Iterable { @@ -21,7 +21,7 @@ index 7fed43a1e7bcf35c4d7fd3224837a47fedd59860..cf592f8a742c725d3159103bedf15ff6 public int size() { diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java -index 9f3b25bb2439f283f878db93973a02fcdcd14eed..b6b20eb4c2bb09ec6b953ab14a3cfca819fb3ac4 100644 +index 9f3b25bb2439f283f878db93973a02fcdcd14eed..6ac85136d54a057f5adbf9664e14a90db7247b5e 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/list/IntList.java @@ -10,9 +10,9 @@ public final class IntList { @@ -37,7 +37,7 @@ index 9f3b25bb2439f283f878db93973a02fcdcd14eed..b6b20eb4c2bb09ec6b953ab14a3cfca8 public int size() { diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java -index 2e876b918672e8ef3b5197b7e6b1597247fdeaa1..f52f647c248eb395aecf901d3c29bbe237034a46 100644 +index 2e876b918672e8ef3b5197b7e6b1597247fdeaa1..9a962cb155ef7ba33aec6e34881fd03781279073 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/list/ReferenceList.java @@ -7,14 +7,14 @@ import java.util.NoSuchElementException; @@ -58,7 +58,7 @@ index 2e876b918672e8ef3b5197b7e6b1597247fdeaa1..f52f647c248eb395aecf901d3c29bbe2 public ReferenceList(final E[] referenceArray) { diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java -index 2bae9949ef325d0001aa638150fbbdf968367e75..9e502067112d3a9256616c52fda0aa9ac5d9d18e 100644 +index 2bae9949ef325d0001aa638150fbbdf968367e75..a41e6af4793ba4e0306847ccbd60576369cf4383 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/list/ShortList.java @@ -10,9 +10,9 @@ public final class ShortList { @@ -74,7 +74,7 @@ index 2bae9949ef325d0001aa638150fbbdf968367e75..9e502067112d3a9256616c52fda0aa9a public int size() { diff --git a/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java b/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java -index db92261a6cb3758391108361096417c61bc82cdc..4de1ce8524a178a9343a31cfb5a63c3196d483ca 100644 +index db92261a6cb3758391108361096417c61bc82cdc..70ffa0853e04bd1684a36621143c3656a7448f71 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/list/SortedList.java @@ -6,14 +6,14 @@ import java.util.Comparator; @@ -95,7 +95,7 @@ index db92261a6cb3758391108361096417c61bc82cdc..4de1ce8524a178a9343a31cfb5a63c31 public SortedList(final E[] elements, final Comparator comparator) { diff --git a/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java -index bb44de17a37082e57f2292a4f470740be1d09b11..1f16351667321b965b039b34bf6181986738b92e 100644 +index bb44de17a37082e57f2292a4f470740be1d09b11..34c4d6cff702683d488a3ba0f59b513e279413af 100644 --- a/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java +++ b/src/main/java/ca/spottedleaf/moonrise/common/misc/NearbyPlayers.java @@ -156,7 +156,7 @@ public final class NearbyPlayers { @@ -117,7 +117,7 @@ index bb44de17a37082e57f2292a4f470740be1d09b11..1f16351667321b965b039b34bf618198 players.add(player); return; diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java -index b3c993a790fc3fab6a408c731deb297f74c959ce..68ff12594f694275ec5265df72981305e083846a 100644 +index b3c993a790fc3fab6a408c731deb297f74c959ce..c53ea30fe9282ae1bb26b48b8844ef1e0e890545 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java @@ -387,7 +387,7 @@ public final class ChunkEntitySlices { @@ -148,7 +148,7 @@ index b3c993a790fc3fab6a408c731deb297f74c959ce..68ff12594f694275ec5265df72981305 } else { this.storage = Arrays.copyOf(this.storage, this.storage.length * 2); diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/server/ServerEntityLookup.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/server/ServerEntityLookup.java -index 58d9187adc188b693b6becc400f766e069bf1bf5..26e25f800876a4aa8abcf6e22ca051f552807cc0 100644 +index 58d9187adc188b693b6becc400f766e069bf1bf5..a3d186c80840fdb628a48181df219c4629213ab1 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/server/ServerEntityLookup.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/server/ServerEntityLookup.java @@ -15,10 +15,10 @@ import net.minecraft.world.level.entity.LevelCallback; @@ -165,7 +165,7 @@ index 58d9187adc188b693b6becc400f766e069bf1bf5..26e25f800876a4aa8abcf6e22ca051f5 public ServerEntityLookup(final ServerLevel world, final LevelCallback worldCallback) { super(world, worldCallback); diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/ChunkTaskScheduler.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/ChunkTaskScheduler.java -index f3c453773e0413276935ca653b60bbe64fa4b169..efe0ddc180534687ecc5ae6e79756e84da566d82 100644 +index f3c453773e0413276935ca653b60bbe64fa4b169..1983a3802d96def1dbb53445ebf219290342cc29 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/ChunkTaskScheduler.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/ChunkTaskScheduler.java @@ -919,9 +919,10 @@ public final class ChunkTaskScheduler { @@ -181,7 +181,7 @@ index f3c453773e0413276935ca653b60bbe64fa4b169..efe0ddc180534687ecc5ae6e79756e84 } diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java -index eafa4e6d55cd0f9314ac0f2b96a7f48fbb5e1a4c..624d219704a94b2f0ceddc915d16ac3b47f22325 100644 +index eafa4e6d55cd0f9314ac0f2b96a7f48fbb5e1a4c..19c55571d3478532845d87d0053e41006f87d8f6 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/scheduling/NewChunkHolder.java @@ -458,7 +458,7 @@ public final class NewChunkHolder { @@ -194,7 +194,7 @@ index eafa4e6d55cd0f9314ac0f2b96a7f48fbb5e1a4c..624d219704a94b2f0ceddc915d16ac3b public static final record ChunkCompletion(ChunkAccess chunk, ChunkStatus genStatus) {}; private static final VarHandle CHUNK_COMPLETION_ARRAY_HANDLE = ConcurrentUtil.getArrayHandle(ChunkCompletion[].class); diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/starlight/light/StarLightEngine.java b/src/main/java/ca/spottedleaf/moonrise/patches/starlight/light/StarLightEngine.java -index 95218c6dc9ade3c0347f26564c9f319f0e88c102..d9d2b3a70ec84e4fa219456f41b960dd9e2707bf 100644 +index 95218c6dc9ade3c0347f26564c9f319f0e88c102..2bcf46ade808cb9db05f07777adf36f19408b192 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/starlight/light/StarLightEngine.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/starlight/light/StarLightEngine.java @@ -1094,6 +1094,7 @@ public abstract class StarLightEngine { @@ -215,7 +215,7 @@ index 95218c6dc9ade3c0347f26564c9f319f0e88c102..d9d2b3a70ec84e4fa219456f41b960dd } diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java -index 4b44053cf7704e3889440361bb4971d7aa03e3ba..a5f99d4a30a7db6247fe4989ceb64f90a41384b0 100644 +index 4b44053cf7704e3889440361bb4971d7aa03e3ba..52261fdccd1a301733b0a8badce8bc30e5a8cfa9 100644 --- a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java @@ -97,8 +97,8 @@ public final class ChunkPacketBlockControllerAntiXray extends ChunkPacketBlockCo @@ -230,7 +230,7 @@ index 4b44053cf7704e3889440361bb4971d7aa03e3ba..a5f99d4a30a7db6247fe4989ceb64f90 presetBlockStatesDeepslate = null; presetBlockStatesNetherrack = null; diff --git a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java -index 95d3b42cbe2184b0a04d941f27f7a6e643ef59be..689502103461f743b2e569aee15396e7864f3d9a 100644 +index 95d3b42cbe2184b0a04d941f27f7a6e643ef59be..b90c330a78c47f27f25ae4f7aff8fddace7122b1 100644 --- a/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java +++ b/src/main/java/io/papermc/paper/command/brigadier/PaperCommands.java @@ -195,7 +195,7 @@ public class PaperCommands implements Commands, PaperRegistrar extraInfo = List.of("", "DO NOT REPORT THIS TO PAPER OR PURPUR! REPORT TO " + io.papermc.paper.ServerBrandConstants.BRAND_NAME.toUpperCase() + " INSTEAD!", ""); // Purpur - Rebrand // Plazma - Fork-friendly Rebranding diff --git a/src/main/java/net/minecraft/CrashReportCategory.java b/src/main/java/net/minecraft/CrashReportCategory.java -index 1e9873d7b258ce1f0b2437cb1e487157a16f6834..b57ce8a314bc3f649d298496590e3fb69bd1cab8 100644 +index 1e9873d7b258ce1f0b2437cb1e487157a16f6834..94f1337bb63a505641b66e6cbf0cc2884a42f2c5 100644 --- a/src/main/java/net/minecraft/CrashReportCategory.java +++ b/src/main/java/net/minecraft/CrashReportCategory.java @@ -10,9 +10,10 @@ import net.minecraft.world.level.LevelHeightAccessor; @@ -346,7 +346,7 @@ index 1e9873d7b258ce1f0b2437cb1e487157a16f6834..b57ce8a314bc3f649d298496590e3fb6 public CrashReportCategory(String title) { this.title = title; diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index ccfe9ef24dce9f34613692adb13738d3ad0e7aac..dbaa700890d661f2661855f436b842cd8c5d10a1 100644 +index ccfe9ef24dce9f34613692adb13738d3ad0e7aac..c2c5606bd02598b011eb998b034b03f515b29331 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -576,7 +576,7 @@ public class Util { @@ -359,7 +359,7 @@ index ccfe9ef24dce9f34613692adb13738d3ad0e7aac..dbaa700890d661f2661855f436b842cd } } diff --git a/src/main/java/net/minecraft/nbt/ByteArrayTag.java b/src/main/java/net/minecraft/nbt/ByteArrayTag.java -index 06648f9751fd8a322d0809ffebf6a544596ee1a4..649f039e379ce4701a93760456f2ece5d4477591 100644 +index 06648f9751fd8a322d0809ffebf6a544596ee1a4..63d53f4f0f07533398dbdf07bea47c056bf3436c 100644 --- a/src/main/java/net/minecraft/nbt/ByteArrayTag.java +++ b/src/main/java/net/minecraft/nbt/ByteArrayTag.java @@ -175,7 +175,7 @@ public class ByteArrayTag extends CollectionTag { @@ -372,7 +372,7 @@ index 06648f9751fd8a322d0809ffebf6a544596ee1a4..649f039e379ce4701a93760456f2ece5 @Override diff --git a/src/main/java/net/minecraft/nbt/CompoundTag.java b/src/main/java/net/minecraft/nbt/CompoundTag.java -index d7bb00a946346dff0b0269cbd65276e146a63fb0..1bab0ab188771db4820d8f6a3f92eff5bb0ca2aa 100644 +index d7bb00a946346dff0b0269cbd65276e146a63fb0..740e02099278cf4ff055e810e83336c4a7927d8b 100644 --- a/src/main/java/net/minecraft/nbt/CompoundTag.java +++ b/src/main/java/net/minecraft/nbt/CompoundTag.java @@ -409,7 +409,7 @@ public class CompoundTag implements Tag { @@ -403,7 +403,7 @@ index d7bb00a946346dff0b0269cbd65276e146a63fb0..1bab0ab188771db4820d8f6a3f92eff5 public CompoundTag getCompound(String key) { diff --git a/src/main/java/net/minecraft/nbt/IntArrayTag.java b/src/main/java/net/minecraft/nbt/IntArrayTag.java -index ff13d67151c50ea11a45117e524c7524e2b1a202..729dcdd89c17559a12e8ed59db098226c3cc231d 100644 +index ff13d67151c50ea11a45117e524c7524e2b1a202..a9bfd74d4110b7740bd80ef2a7bffe1de431072d 100644 --- a/src/main/java/net/minecraft/nbt/IntArrayTag.java +++ b/src/main/java/net/minecraft/nbt/IntArrayTag.java @@ -186,7 +186,7 @@ public class IntArrayTag extends CollectionTag { @@ -416,7 +416,7 @@ index ff13d67151c50ea11a45117e524c7524e2b1a202..729dcdd89c17559a12e8ed59db098226 @Override diff --git a/src/main/java/net/minecraft/nbt/ListTag.java b/src/main/java/net/minecraft/nbt/ListTag.java -index 154bffd341e43be0a0fa710cfbed1a2094f249a3..8cf2db1a19aaf991ccaaf7aa64bfd4dcfed436e2 100644 +index 154bffd341e43be0a0fa710cfbed1a2094f249a3..6fc71dc6a878b073848fb0b078af8d02325478f2 100644 --- a/src/main/java/net/minecraft/nbt/ListTag.java +++ b/src/main/java/net/minecraft/nbt/ListTag.java @@ -258,7 +258,7 @@ public class ListTag extends CollectionTag { @@ -438,7 +438,7 @@ index 154bffd341e43be0a0fa710cfbed1a2094f249a3..8cf2db1a19aaf991ccaaf7aa64bfd4dc public double getDouble(int index) { diff --git a/src/main/java/net/minecraft/nbt/LongArrayTag.java b/src/main/java/net/minecraft/nbt/LongArrayTag.java -index 2e5c34ebb94a1536cf09d71bdf052a49ecb9159d..249fa1c77c2ed34c9c68c922bcc2793a0cf52b1a 100644 +index 2e5c34ebb94a1536cf09d71bdf052a49ecb9159d..b1c2bbcec4991818f976e05d56d5695b885a2b14 100644 --- a/src/main/java/net/minecraft/nbt/LongArrayTag.java +++ b/src/main/java/net/minecraft/nbt/LongArrayTag.java @@ -185,7 +185,7 @@ public class LongArrayTag extends CollectionTag { @@ -451,7 +451,7 @@ index 2e5c34ebb94a1536cf09d71bdf052a49ecb9159d..249fa1c77c2ed34c9c68c922bcc2793a @Override diff --git a/src/main/java/net/minecraft/nbt/NbtIo.java b/src/main/java/net/minecraft/nbt/NbtIo.java -index 9f659af04a5362ae3645d072caa090682760dc9f..864ae86d164c122be5be2b40f398cf08df08a79c 100644 +index 9f659af04a5362ae3645d072caa090682760dc9f..93b221625637d58ad2df561d8a47cbcf6360ac1f 100644 --- a/src/main/java/net/minecraft/nbt/NbtIo.java +++ b/src/main/java/net/minecraft/nbt/NbtIo.java @@ -277,7 +277,7 @@ public class NbtIo { @@ -464,7 +464,7 @@ index 9f659af04a5362ae3645d072caa090682760dc9f..864ae86d164c122be5be2b40f398cf08 } else { InputStream inputstream = Files.newInputStream(path); diff --git a/src/main/java/net/minecraft/network/CipherBase.java b/src/main/java/net/minecraft/network/CipherBase.java -index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..a3c32cd5a8828d11a8ca567711c05d0fef7a93a8 100644 +index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..80a28985e072334d960fe5a674d9bb0896f23b24 100644 --- a/src/main/java/net/minecraft/network/CipherBase.java +++ b/src/main/java/net/minecraft/network/CipherBase.java @@ -7,8 +7,8 @@ import javax.crypto.ShortBufferException; @@ -479,7 +479,7 @@ index a2920b8a9eff77d9c5d1d7f70ad3abdacba8f0fa..a3c32cd5a8828d11a8ca567711c05d0f protected CipherBase(Cipher cipher) { this.cipher = cipher; diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 56e47c5709c765943407d2065b25bd512d1f9388..d6de5829b6c2341f7d4d6a081715cab8221e8707 100644 +index 56e47c5709c765943407d2065b25bd512d1f9388..902faff84d17d3a251745ceb7b047340fb7b5faa 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java @@ -326,7 +326,7 @@ public class Connection extends SimpleChannelInboundHandler> { @@ -491,8 +491,30 @@ index 56e47c5709c765943407d2065b25bd512d1f9388..d6de5829b6c2341f7d4d6a081715cab8 PacketFlow enumprotocoldirection = listener.flow(); String s; +diff --git a/src/main/java/net/minecraft/network/chat/Component.java b/src/main/java/net/minecraft/network/chat/Component.java +index 5941800692ed06e17925ec6526ea38793a65de12..417029cce923ff669bbdd123aebcf7a3220357e3 100644 +--- a/src/main/java/net/minecraft/network/chat/Component.java ++++ b/src/main/java/net/minecraft/network/chat/Component.java +@@ -192,7 +192,7 @@ public interface Component extends Message, FormattedText, Iterable { + } + + static MutableComponent translatable(String key) { +- return MutableComponent.create(new TranslatableContents(key, (String) null, TranslatableContents.NO_ARGS)); ++ return MutableComponent.create(new TranslatableContents(key, (String) null, org.plazmamc.plazma.constants.Null.OBJECT)); // Plazma - Reduce allocations + } + + static MutableComponent translatable(String key, Object... args) { +@@ -212,7 +212,7 @@ public interface Component extends Message, FormattedText, Iterable { + } + + static MutableComponent translatableWithFallback(String key, @Nullable String fallback) { +- return MutableComponent.create(new TranslatableContents(key, fallback, TranslatableContents.NO_ARGS)); ++ return MutableComponent.create(new TranslatableContents(key, fallback, org.plazmamc.plazma.constants.Null.OBJECT)); // Plazma - Reduce allocations + } + + static MutableComponent translatableWithFallback(String key, @Nullable String fallback, Object... args) { diff --git a/src/main/java/net/minecraft/network/chat/contents/TranslatableContents.java b/src/main/java/net/minecraft/network/chat/contents/TranslatableContents.java -index 4aa6232bf0f72fcde32d257100bd15b1c5192aaa..eb40b14f575925a31b4270a59aa5315cf76b451a 100644 +index 4aa6232bf0f72fcde32d257100bd15b1c5192aaa..f284c87d5e31fef54a34f8092cc252984be1fcc0 100644 --- a/src/main/java/net/minecraft/network/chat/contents/TranslatableContents.java +++ b/src/main/java/net/minecraft/network/chat/contents/TranslatableContents.java @@ -29,7 +29,7 @@ import net.minecraft.util.ExtraCodecs; @@ -514,7 +536,7 @@ index 4aa6232bf0f72fcde32d257100bd15b1c5192aaa..eb40b14f575925a31b4270a59aa5315c private static TranslatableContents create(String key, Optional fallback, Optional> args) { diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java -index 1a37654aff9a9c86c9f7af10a1cf721371f0c5ec..7885de11565346d47dc6477819d90f5c1a822bc4 100644 +index 1a37654aff9a9c86c9f7af10a1cf721371f0c5ec..4c9e70ee96e991aeab7a220aad1f21cd3572f54a 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket.java @@ -66,7 +66,7 @@ public class ClientboundSectionBlocksUpdatePacket implements Packet> { @@ -650,7 +672,7 @@ index 0735a0bd182635e1969d19336b46bc72b14e555f..7ebc4fc3aee5a706931b4f1d2c0225e8 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/util/ZeroBitStorage.java b/src/main/java/net/minecraft/util/ZeroBitStorage.java -index 1f9c436a632e4f110be61cf76fcfc3b7eb80334e..f2971648e423efff46cf4cd7e230d48313c9cb3c 100644 +index 1f9c436a632e4f110be61cf76fcfc3b7eb80334e..9dba696fd7a26248bd25c7af783c6ca132bb77d9 100644 --- a/src/main/java/net/minecraft/util/ZeroBitStorage.java +++ b/src/main/java/net/minecraft/util/ZeroBitStorage.java @@ -5,7 +5,7 @@ import java.util.function.IntConsumer; @@ -672,7 +694,7 @@ index 1f9c436a632e4f110be61cf76fcfc3b7eb80334e..f2971648e423efff46cf4cd7e230d483 @Override diff --git a/src/main/java/net/minecraft/util/monitoring/jmx/MinecraftServerStatistics.java b/src/main/java/net/minecraft/util/monitoring/jmx/MinecraftServerStatistics.java -index a371f685534bf161f476ccea431fec6a80aca9c1..8341cda93559863218e207053e00ab2d03ff368d 100644 +index a371f685534bf161f476ccea431fec6a80aca9c1..d2addf2453fa35779f0197f54a102e068d9b0f66 100644 --- a/src/main/java/net/minecraft/util/monitoring/jmx/MinecraftServerStatistics.java +++ b/src/main/java/net/minecraft/util/monitoring/jmx/MinecraftServerStatistics.java @@ -26,6 +26,7 @@ import net.minecraft.server.MinecraftServer; @@ -693,7 +715,7 @@ index a371f685534bf161f476ccea431fec6a80aca9c1..8341cda93559863218e207053e00ab2d } diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 32a1bb3ea64099c4583607ee246b8cadb77c4d44..47c3ecd7ae93f6c764d71cd6b22f9cdd2e7b796d 100644 +index 32a1bb3ea64099c4583607ee246b8cadb77c4d44..e7b79aa92afbee2c4f3b18fc30b36cb47fea357b 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -257,7 +257,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -706,7 +728,7 @@ index 32a1bb3ea64099c4583607ee246b8cadb77c4d44..47c3ecd7ae93f6c764d71cd6b22f9cdd this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true)); } diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java -index 0c085bc33a8f1a4ab299d9b6a13ac0f54c76b101..ca3e79abe6bf86e073a4bd2b7bc0fc817f5a07ed 100644 +index 0c085bc33a8f1a4ab299d9b6a13ac0f54c76b101..727e0d9fb297923088c6622f137b1e97807c1849 100644 --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java @@ -119,7 +119,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -719,7 +741,7 @@ index 0c085bc33a8f1a4ab299d9b6a13ac0f54c76b101..ca3e79abe6bf86e073a4bd2b7bc0fc81 this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Mob.class, 5, false, false, (entityliving, worldserver) -> { return entityliving instanceof Enemy && !(entityliving instanceof Creeper); diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java -index 5997c826baecbc291575662917dc2f86aae18343..e45e723e03a2bdce45f5c72d6dc6ad56d483e2ba 100644 +index 5997c826baecbc291575662917dc2f86aae18343..ba3ff61e1accbe299a49bcc93b2cdbfeeafc55c6 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java @@ -338,7 +338,7 @@ public class Panda extends Animal { @@ -732,7 +754,7 @@ index 5997c826baecbc291575662917dc2f86aae18343..e45e723e03a2bdce45f5c72d6dc6ad56 public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index 082004a11174ecd492da4a59de226bdd94da914c..f55396fba4cb7e7b053e8bed9e44a2ef9efde0e7 100644 +index 082004a11174ecd492da4a59de226bdd94da914c..c2b81c8c43fdd14dcf5347e6683636da5687830a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -458,7 +458,7 @@ public class Rabbit extends Animal implements VariantHolder { @@ -745,7 +767,7 @@ index 082004a11174ecd492da4a59de226bdd94da914c..f55396fba4cb7e7b053e8bed9e44a2ef this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Wolf.class, true)); this.getAttribute(Attributes.ATTACK_DAMAGE).addOrUpdateTransientModifier(new AttributeModifier(Rabbit.EVIL_ATTACK_POWER_MODIFIER, 5.0D, AttributeModifier.Operation.ADD_VALUE)); diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java -index d6953cc2cd43e740106983730b1ef4f0f8d532a0..484931684f0f8584e36d550d60a06f71650f0237 100644 +index d6953cc2cd43e740106983730b1ef4f0f8d532a0..2f448e3895d3e7c5c60c953c6302cb24656549fd 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -247,7 +247,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder(this, Animal.class, false, Wolf.PREY_SELECTOR)); // Purpur - moved to updatePathfinders() this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR)); diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java -index 61a939bdebeed51a839c93d31038e4395a9484c3..f3b25d19730c6500e590379f0799a085d35e636d 100644 +index 61a939bdebeed51a839c93d31038e4395a9484c3..947c492f2350aa76bbf85e2679f6e3096444617c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java @@ -88,7 +88,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS @@ -771,7 +793,7 @@ index 61a939bdebeed51a839c93d31038e4395a9484c3..f3b25d19730c6500e590379f0799a085 private final DynamicGameEventListener dynamicVibrationListener; private VibrationSystem.Data vibrationData; diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/EnderDragonPhase.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/EnderDragonPhase.java -index 48826eb0a960f7af6dd2ef184a8aed744a1d8f83..820ab7458ecc2ecd83bc26f7573461fc59937bb9 100644 +index 48826eb0a960f7af6dd2ef184a8aed744a1d8f83..495a24d4e6705902c36032227bdfa3591ea940de 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/EnderDragonPhase.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/EnderDragonPhase.java @@ -5,7 +5,8 @@ import java.util.Arrays; @@ -785,7 +807,7 @@ index 48826eb0a960f7af6dd2ef184a8aed744a1d8f83..820ab7458ecc2ecd83bc26f7573461fc public static final EnderDragonPhase STRAFE_PLAYER = create(DragonStrafePlayerPhase.class, "StrafePlayer"); public static final EnderDragonPhase LANDING_APPROACH = create(DragonLandingApproachPhase.class, "LandingApproach"); diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 7c862d730d8062303046519a9601c62fe284e1ba..ef6c7a1abeb885d155d921b05aea718050af8180 100644 +index 7c862d730d8062303046519a9601c62fe284e1ba..8ef1beb34e4439a62be222a8ad7d2f58df6f328b 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -258,7 +258,7 @@ public class WitherBoss extends Monster implements RangedAttackMob { @@ -798,7 +820,7 @@ index 7c862d730d8062303046519a9601c62fe284e1ba..ef6c7a1abeb885d155d921b05aea7180 } diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 4a389323d2ba15b282217ec54c52f5c278f79ff6..650a0c955f2c1951220d8310ea01b63253e076b1 100644 +index 4a389323d2ba15b282217ec54c52f5c278f79ff6..47d40d10c1b1514e6d56b994cc34b124b7fb5ce1 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java @@ -81,7 +81,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -811,7 +833,7 @@ index 4a389323d2ba15b282217ec54c52f5c278f79ff6..650a0c955f2c1951220d8310ea01b632 this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, IronGolem.class, true)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java -index 058ca0f7b85754950ddbb014958c1b90f15f8549..feea0830f9bea48f9259809ea64ff0cee9525be3 100644 +index 058ca0f7b85754950ddbb014958c1b90f15f8549..275e874a27afdb6b708d7edb8317f8b26f3e2711 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -154,7 +154,7 @@ public class Creeper extends Monster { @@ -824,7 +846,7 @@ index 058ca0f7b85754950ddbb014958c1b90f15f8549..feea0830f9bea48f9259809ea64ff0ce public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index fbf08c9041e07f49f1fc2f869ea2f5ba795bc7ff..1b283f1d405bc3c14ba535aaa9d696dfe8835d7b 100644 +index fbf08c9041e07f49f1fc2f869ea2f5ba795bc7ff..1f9a24cc958675d4ad5d6fe9fd1ff515d0bdb4d2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -136,7 +136,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -837,7 +859,7 @@ index fbf08c9041e07f49f1fc2f869ea2f5ba795bc7ff..1b283f1d405bc3c14ba535aaa9d696df this.targetSelector.addGoal(4, new ResetUniversalAngerTargetGoal<>(this, false)); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java -index 57158457f7d0e6a785df9fe19204d73d6b918e79..1bf4be0200fecb0550a66d6f88a5fc6722191ae2 100644 +index 57158457f7d0e6a785df9fe19204d73d6b918e79..6326c74849b648622eda886a3adb0db45b8c750c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java @@ -90,7 +90,7 @@ public class Endermite extends Monster { @@ -850,7 +872,7 @@ index 57158457f7d0e6a785df9fe19204d73d6b918e79..1bf4be0200fecb0550a66d6f88a5fc67 } diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java -index ece70d8303e563df416fc6703e6d7d2e23ee220a..8544173db2ddb0b54f2491732bd2e1a71ddd871f 100644 +index ece70d8303e563df416fc6703e6d7d2e23ee220a..25110321e35656e30017e7affceff1960991da37 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java @@ -89,7 +89,7 @@ public class Silverfish extends Monster { @@ -863,7 +885,7 @@ index ece70d8303e563df416fc6703e6d7d2e23ee220a..8544173db2ddb0b54f2491732bd2e1a7 } diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java -index 651cc3297a86ff298f72b28a9fb623a0922adad8..14fc1d6ecda1c2cd0553f5be8d540e53f834efa7 100644 +index 651cc3297a86ff298f72b28a9fb623a0922adad8..3cb5d615833767122ae8b92294e44ffdf4ac21b3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java @@ -97,7 +97,7 @@ public class Spider extends Monster { @@ -876,7 +898,7 @@ index 651cc3297a86ff298f72b28a9fb623a0922adad8..14fc1d6ecda1c2cd0553f5be8d540e53 this.targetSelector.addGoal(3, new Spider.SpiderTargetGoal<>(this, IronGolem.class)); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 94f2f27abdf5e48835bd134ac164a163fb78dc41..c77efbdf838a3831f03b731805393daa04a4ff32 100644 +index 94f2f27abdf5e48835bd134ac164a163fb78dc41..a3141438b5fa64318a1d515de296ce59e18b0ce9 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -170,7 +170,7 @@ public class Zombie extends Monster { @@ -889,7 +911,7 @@ index 94f2f27abdf5e48835bd134ac164a163fb78dc41..c77efbdf838a3831f03b731805393daa // Purpur start if ( this.level().spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false) { // Spigot diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java -index 8c3271dcc8c9aa58e2e007eba282c11e42b4e0c9..eb97ca849b9eae8ec304b306fcc98c3c0cd54abb 100644 +index 8c3271dcc8c9aa58e2e007eba282c11e42b4e0c9..dd69e6efade81c6421f9cf0365d42092529cee63 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java @@ -120,7 +120,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -902,7 +924,7 @@ index 8c3271dcc8c9aa58e2e007eba282c11e42b4e0c9..eb97ca849b9eae8ec304b306fcc98c3c this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true)); } diff --git a/src/main/java/net/minecraft/world/inventory/SlotRanges.java b/src/main/java/net/minecraft/world/inventory/SlotRanges.java -index 52471449f59f6a50fdacc3d7a6d64f5ed37b995a..5f20537bde42fa8736920f7768f3fb1618f8ed2c 100644 +index 52471449f59f6a50fdacc3d7a6d64f5ed37b995a..58912bf516db67c3e46fc70327f12edff27a28b9 100644 --- a/src/main/java/net/minecraft/world/inventory/SlotRanges.java +++ b/src/main/java/net/minecraft/world/inventory/SlotRanges.java @@ -14,6 +14,7 @@ import net.minecraft.util.StringRepresentable; @@ -925,7 +947,7 @@ index 52471449f59f6a50fdacc3d7a6d64f5ed37b995a..5f20537bde42fa8736920f7768f3fb16 private static SlotRange create(String name, int slotId) { return SlotRange.of(name, IntLists.singleton(slotId)); diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapedRecipePattern.java b/src/main/java/net/minecraft/world/item/crafting/ShapedRecipePattern.java -index 2490a42c9c35c7e080279ef8566288a28362d167..27482b8498f493f3afeab7faa5641b59fcc779cf 100644 +index 2490a42c9c35c7e080279ef8566288a28362d167..34d6eaebfe03716c8cbbb5395024b0dad3781809 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapedRecipePattern.java +++ b/src/main/java/net/minecraft/world/item/crafting/ShapedRecipePattern.java @@ -121,7 +121,7 @@ public final class ShapedRecipePattern { @@ -938,7 +960,7 @@ index 2490a42c9c35c7e080279ef8566288a28362d167..27482b8498f493f3afeab7faa5641b59 String[] strings = new String[pattern.size() - l - k]; diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java -index cb19d28823a701720cd1998310dfc8cc8f50919f..ac10a4ad9003187355169b97cab3fdafb9c3393e 100644 +index cb19d28823a701720cd1998310dfc8cc8f50919f..5be6a615182fe7cf46be6a3b9683333c4e98f7b7 100644 --- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java @@ -462,7 +462,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder { @@ -969,7 +991,7 @@ index cb19d28823a701720cd1998310dfc8cc8f50919f..ac10a4ad9003187355169b97cab3fdaf @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStep.java b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStep.java -index 4e56398a6fb8b97199f4c74ebebc1055fb718dcf..287d8dc3285518b72020cbb7d93a81f400816ec1 100644 +index 4e56398a6fb8b97199f4c74ebebc1055fb718dcf..84faa524b57e1877ed6006be6784b07bc2805ecc 100644 --- a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStep.java +++ b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStep.java @@ -144,7 +144,7 @@ public final class ChunkStep implements ca.spottedleaf.moonrise.patches.chunk_sy @@ -982,7 +1004,7 @@ index 4e56398a6fb8b97199f4c74ebebc1055fb718dcf..287d8dc3285518b72020cbb7d93a81f4 } diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java -index 6a465d9b12c92b5385c394fef7456630be97c04d..b1aaca70b013e718caa21cd8128462ca8a1ffa61 100644 +index 6a465d9b12c92b5385c394fef7456630be97c04d..d0be5fd43b59a8b4dd3ac2fab1c6580936318be0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFile.java @@ -426,7 +426,7 @@ public class RegionFile implements AutoCloseable, ca.spottedleaf.moonrise.patche @@ -1013,7 +1035,7 @@ index 6a465d9b12c92b5385c394fef7456630be97c04d..b1aaca70b013e718caa21cd8128462ca } } else { diff --git a/src/main/java/net/minecraft/world/level/levelgen/DebugLevelSource.java b/src/main/java/net/minecraft/world/level/levelgen/DebugLevelSource.java -index 749a082d23b59ab6b02fd3fcfddb5ca8c19b639b..e95841f9821830ab7c6b04a67f213d5d37013a80 100644 +index 749a082d23b59ab6b02fd3fcfddb5ca8c19b639b..42c365f504dadaeae37ebf9a328baa294a7f6e7e 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/DebugLevelSource.java +++ b/src/main/java/net/minecraft/world/level/levelgen/DebugLevelSource.java @@ -86,7 +86,7 @@ public class DebugLevelSource extends ChunkGenerator { @@ -1026,7 +1048,7 @@ index 749a082d23b59ab6b02fd3fcfddb5ca8c19b639b..e95841f9821830ab7c6b04a67f213d5d @Override diff --git a/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java b/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java -index cdca5ae69991cc068bfbc0686b5defb3604a5440..6447f9a0ded10ac6c68af2b3d5296c371d4c9bed 100644 +index cdca5ae69991cc068bfbc0686b5defb3604a5440..47108aa61105928fd383aec87c4f4220b00f93ae 100644 --- a/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java +++ b/src/main/java/net/minecraft/world/level/storage/LevelStorageSource.java @@ -108,7 +108,7 @@ public class LevelStorageSource { @@ -1087,7 +1109,7 @@ index cdca5ae69991cc068bfbc0686b5defb3604a5440..6447f9a0ded10ac6c68af2b3d5296c37 public void close() throws IOException { diff --git a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java -index b148cf247acdd36f856d0495cde4cc5ad32b5a2f..aa7591c213936c50cc9f0c45814d59170edce9ed 100644 +index b148cf247acdd36f856d0495cde4cc5ad32b5a2f..e0bd48d9791f59e14bd0bbddc15b3500e41f3378 100644 --- a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java +++ b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java @@ -60,7 +60,7 @@ public class PlayerDataStorage { @@ -1100,7 +1122,7 @@ index b148cf247acdd36f856d0495cde4cc5ad32b5a2f..aa7591c213936c50cc9f0c45814d5917 Files.copy(path1, path2, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES); } catch (Exception exception) { diff --git a/src/main/java/net/minecraft/world/scores/Team.java b/src/main/java/net/minecraft/world/scores/Team.java -index b968d22e149bf9063f14167fe9856868e5933303..776bb0e22f9ef2c0f3801b7207c48eefecbb7d07 100644 +index b968d22e149bf9063f14167fe9856868e5933303..a45be27cdbb66d42f7632fa1a685039620fc5cd6 100644 --- a/src/main/java/net/minecraft/world/scores/Team.java +++ b/src/main/java/net/minecraft/world/scores/Team.java @@ -70,7 +70,7 @@ public abstract class Team { @@ -1113,7 +1135,7 @@ index b968d22e149bf9063f14167fe9856868e5933303..776bb0e22f9ef2c0f3801b7207c48eef @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/bootstrap/Main.java b/src/main/java/org/bukkit/craftbukkit/bootstrap/Main.java -index 8a4f95049c63afb28bef6719c77b7a7092e75aae..dd600e70d80b5f436bb00435a8c5c4e77eeee0e4 100644 +index 8a4f95049c63afb28bef6719c77b7a7092e75aae..f295205e3093f8c3c4ed4c1cf6ac3aaf5ea61c53 100644 --- a/src/main/java/org/bukkit/craftbukkit/bootstrap/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/bootstrap/Main.java @@ -50,7 +50,7 @@ public class Main { @@ -1126,7 +1148,7 @@ index 8a4f95049c63afb28bef6719c77b7a7092e75aae..dd600e70d80b5f436bb00435a8c5c4e7 System.out.println("Starting server"); Thread runThread = new Thread(() -> { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 48ad261eec1b74fad5a4fc1516b75fd2aaecd528..d266a615cc37b4a4fcd7f62a350495ef5cddf4c6 100644 +index 48ad261eec1b74fad5a4fc1516b75fd2aaecd528..024465e1c1232f839db00432379ca8f42b7ff78b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -520,7 +520,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1139,7 +1161,7 @@ index 48ad261eec1b74fad5a4fc1516b75fd2aaecd528..d266a615cc37b4a4fcd7f62a350495ef } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 70f20de37c1f8d57a8d9fe00dcd864fdd9948ec2..84b10f1f4d3b31830cc52b906d481b332cd5120a 100644 +index 70f20de37c1f8d57a8d9fe00dcd864fdd9948ec2..80758c071b9d88e699214679d48da1570469dc19 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -447,7 +447,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta, WritableBo @@ -1161,7 +1183,7 @@ index 70f20de37c1f8d57a8d9fe00dcd864fdd9948ec2..84b10f1f4d3b31830cc52b906d481b33 CraftMetaBook.this.internalAddPage(this.componentsToPage(page)); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java -index 040dac82e484cb44b3afd444b4bbd1fd994bfe7c..e010da32034426fa05a1750c1cb812691cb0ffe7 100644 +index 040dac82e484cb44b3afd444b4bbd1fd994bfe7c..347c2783d069019ab177f885469d5acc2a778bbe 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBookSigned.java @@ -399,7 +399,7 @@ public class CraftMetaBookSigned extends CraftMetaItem implements BookMeta { @@ -1183,7 +1205,7 @@ index 040dac82e484cb44b3afd444b4bbd1fd994bfe7c..e010da32034426fa05a1750c1cb81269 CraftMetaBookSigned.this.internalAddPage(this.componentsToPage(page)); diff --git a/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java b/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java -index b25dc23b81687dd4d4e70b3615ffb91f8c03c68b..8e29a793d307369a64f84838ccc7441a906b6959 100644 +index b25dc23b81687dd4d4e70b3615ffb91f8c03c68b..58226a58f663980b7313e3367f33ecd37dcdfb8c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java +++ b/src/main/java/org/bukkit/craftbukkit/util/WeakCollection.java @@ -164,7 +164,7 @@ public final class WeakCollection implements Collection { diff --git a/patches/server/0048-Hashed-rcon-password.patch b/patches/server/0048-Hashed-rcon-password.patch new file mode 100644 index 0000000..1ca1a4b --- /dev/null +++ b/patches/server/0048-Hashed-rcon-password.patch @@ -0,0 +1,236 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: AlphaKR93 +Date: Tue, 5 Nov 2024 18:31:09 +0900 +Subject: [PATCH] Hashed rcon password + + +diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +index 067f91dd019be40cb09f8fa78cae587429488201..765eb86e66125a517f14a568958281bd57c1bc63 100644 +--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java ++++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +@@ -73,7 +73,6 @@ public class DedicatedServerProperties extends Settings> { + return v1; + } + ++ // Plazma start - Settings helper ++ protected void set(String key, V value) { this.properties.put(key, value); } ++ protected void remove(String key) { this.properties.remove(key); } ++ // Plazma end - Settings helper ++ + protected Settings.MutableValue getMutable(String key, Function parser, Function stringifier, V fallback) { + String s1 = this.getStringRaw(key); + V v1 = MoreObjects.firstNonNull(s1 != null ? parser.apply(s1) : null, fallback); +diff --git a/src/main/java/net/minecraft/server/rcon/thread/RconClient.java b/src/main/java/net/minecraft/server/rcon/thread/RconClient.java +index 1c3775c6d29a85803c87948c64ec81cbeb87aef4..4f6f46398ac0814a95d8253cc5f575b8f09f7209 100644 +--- a/src/main/java/net/minecraft/server/rcon/thread/RconClient.java ++++ b/src/main/java/net/minecraft/server/rcon/thread/RconClient.java +@@ -26,13 +26,12 @@ public class RconClient extends GenericThread { + private boolean authed; + private final Socket client; + private final byte[] buf = new byte[1460]; +- private final String rconPassword; + // CraftBukkit start + private final DedicatedServer serverInterface; + private final RconConsoleSource rconConsoleSource; + // CraftBukkit end + +- RconClient(ServerInterface server, String password, Socket socket) { ++ RconClient(ServerInterface server, Socket socket) {// Plazma - hashed rcon password + super("RCON Client " + String.valueOf(socket.getInetAddress())); + this.serverInterface = (DedicatedServer) server; // CraftBukkit + this.client = socket; +@@ -43,7 +42,6 @@ public class RconClient extends GenericThread { + this.running = false; + } + +- this.rconPassword = password; + this.rconConsoleSource = new net.minecraft.server.rcon.RconConsoleSource(this.serverInterface, socket.getRemoteSocketAddress()); // CraftBukkit + } + +@@ -93,7 +91,7 @@ public class RconClient extends GenericThread { + String s1 = PktUtils.stringFromByteArray(this.buf, j, i); + int j1 = j + s1.length(); + +- if (!s1.isEmpty() && s1.equals(this.rconPassword)) { ++ if (!s1.isEmpty() && serverInterface.getProperties().matchRconPassword(s1)) { + this.authed = true; + this.send(l, 2, ""); + continue; +diff --git a/src/main/java/net/minecraft/server/rcon/thread/RconThread.java b/src/main/java/net/minecraft/server/rcon/thread/RconThread.java +index c12d7db2b048a327c0e8f398848cd3a9bce0ebce..150cecc44a7f49740fa400e02de09671ff8b392a 100644 +--- a/src/main/java/net/minecraft/server/rcon/thread/RconThread.java ++++ b/src/main/java/net/minecraft/server/rcon/thread/RconThread.java +@@ -16,15 +16,13 @@ import org.slf4j.Logger; + public class RconThread extends GenericThread { + private static final Logger LOGGER = LogUtils.getLogger(); + private final ServerSocket socket; +- private final String rconPassword; + private final List clients = Lists.newArrayList(); + private final ServerInterface serverInterface; + +- private RconThread(ServerInterface server, ServerSocket listener, String password) { ++ private RconThread(ServerInterface server, ServerSocket listener) {// Plazma - hashed rcon password + super("RCON Listener"); + this.serverInterface = server; + this.socket = listener; +- this.rconPassword = password; + } + + private void clearClients() { +@@ -37,7 +35,7 @@ public class RconThread extends GenericThread { + while (this.running) { + try { + Socket socket = this.socket.accept(); +- RconClient rconClient = new RconClient(this.serverInterface, this.rconPassword, socket); ++ RconClient rconClient = new RconClient(this.serverInterface, socket); // Plazma - hashed rcon password + rconClient.start(); + this.clients.add(rconClient); + this.clearClients(); +@@ -64,15 +62,14 @@ public class RconThread extends GenericThread { + + int i = dedicatedServerProperties.rconPort; + if (0 < i && 65535 >= i) { +- String string2 = dedicatedServerProperties.rconPassword; +- if (string2.isEmpty()) { ++ if (!dedicatedServerProperties.shouldStartRCON()) { // Plazma - hashed rcon password + LOGGER.warn("No rcon password set in server.properties, rcon disabled!"); + return null; + } else { + try { + ServerSocket serverSocket = new ServerSocket(i, 0, InetAddress.getByName(string)); + serverSocket.setSoTimeout(500); +- RconThread rconThread = new RconThread(server, serverSocket, string2); ++ RconThread rconThread = new RconThread(server, serverSocket); // Plazma - hashed rcon password + if (!rconThread.start()) { + return null; + } else {