diff --git a/build-data/dev-imports.txt b/build-data/dev-imports.txt index 9167438d9..1d9862a95 100644 --- a/build-data/dev-imports.txt +++ b/build-data/dev-imports.txt @@ -12,65 +12,3 @@ # mc_data chat_type/chat.json # mc_data dimension_type/overworld.json # - -minecraft net/minecraft/server/commands/AdvancementCommands.java -minecraft net/minecraft/server/commands/AttributeCommand.java -minecraft net/minecraft/server/commands/BanListCommands.java -minecraft net/minecraft/server/commands/BossBarCommands.java -minecraft net/minecraft/server/commands/ChaseCommand.java -minecraft net/minecraft/server/commands/ClearInventoryCommands.java -minecraft net/minecraft/server/commands/CloneCommands.java -minecraft net/minecraft/server/commands/DamageCommand.java -minecraft net/minecraft/server/commands/DataPackCommand.java -minecraft net/minecraft/server/commands/DebugCommand.java -minecraft net/minecraft/server/commands/DebugConfigCommand.java -minecraft net/minecraft/server/commands/DebugMobSpawningCommand.java -minecraft net/minecraft/server/commands/DebugPathCommand.java -minecraft net/minecraft/server/commands/EmoteCommands.java -minecraft net/minecraft/server/commands/ExecuteCommand.java -minecraft net/minecraft/server/commands/ExperienceCommand.java -minecraft net/minecraft/server/commands/FillBiomeCommand.java -minecraft net/minecraft/server/commands/FillCommand.java -minecraft net/minecraft/server/commands/ForceLoadCommand.java -minecraft net/minecraft/server/commands/FunctionCommand.java -minecraft net/minecraft/server/commands/HelpCommand.java -minecraft net/minecraft/server/commands/ItemCommands.java -minecraft net/minecraft/server/commands/JfrCommand.java -minecraft net/minecraft/server/commands/KillCommand.java -minecraft net/minecraft/server/commands/LocateCommand.java -minecraft net/minecraft/server/commands/LookAt.java -minecraft net/minecraft/server/commands/MsgCommand.java -minecraft net/minecraft/server/commands/PardonCommand.java -minecraft net/minecraft/server/commands/PardonIpCommand.java -minecraft net/minecraft/server/commands/ParticleCommand.java -minecraft net/minecraft/server/commands/PerfCommand.java -minecraft net/minecraft/server/commands/PlaySoundCommand.java -minecraft net/minecraft/server/commands/PublishCommand.java -minecraft net/minecraft/server/commands/RaidCommand.java -minecraft net/minecraft/server/commands/RandomCommand.java -minecraft net/minecraft/server/commands/RecipeCommand.java -minecraft net/minecraft/server/commands/ReturnCommand.java -minecraft net/minecraft/server/commands/RideCommand.java -minecraft net/minecraft/server/commands/RotateCommand.java -minecraft net/minecraft/server/commands/SaveAllCommand.java -minecraft net/minecraft/server/commands/SaveOffCommand.java -minecraft net/minecraft/server/commands/SaveOnCommand.java -minecraft net/minecraft/server/commands/SayCommand.java -minecraft net/minecraft/server/commands/ScoreboardCommand.java -minecraft net/minecraft/server/commands/SeedCommand.java -minecraft net/minecraft/server/commands/ServerPackCommand.java -minecraft net/minecraft/server/commands/SetBlockCommand.java -minecraft net/minecraft/server/commands/SetPlayerIdleTimeoutCommand.java -minecraft net/minecraft/server/commands/SpawnArmorTrimsCommand.java -minecraft net/minecraft/server/commands/SpectateCommand.java -minecraft net/minecraft/server/commands/StopCommand.java -minecraft net/minecraft/server/commands/StopSoundCommand.java -minecraft net/minecraft/server/commands/TagCommand.java -minecraft net/minecraft/server/commands/TeamCommand.java -minecraft net/minecraft/server/commands/TeamMsgCommand.java -minecraft net/minecraft/server/commands/TellRawCommand.java -minecraft net/minecraft/server/commands/TitleCommand.java -minecraft net/minecraft/server/commands/TransferCommand.java -minecraft net/minecraft/server/commands/TriggerCommand.java -minecraft net/minecraft/server/commands/WardenSpawnTrackerCommand.java -minecraft net/minecraft/server/commands/WhitelistCommand.java diff --git a/build.gradle.kts b/build.gradle.kts index 6d35d0d0a..e8a54db12 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,49 +3,117 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java - `maven-publish` `kotlin-dsl` + `maven-publish` `always-up-to-date` alias(libs.plugins.shadow) apply false alias(libs.plugins.paperweight) } val jdkVersion = property("jdkVersion").toString().toInt() -val providerRepo = property("providerRepo").toString() -val brandName = property("brandName").toString() - kotlin.jvmToolchain(jdkVersion) +val paperMcRepo = "https://repo.papermc.io/repository/maven-public/" repositories { mavenCentral() - maven("https://repo.papermc.io/repository/maven-public/") { + maven(paperMcRepo) { + name = "papermc-repo" content { onlyForConfigurations(configurations.paperclip.name) } } + maven("https://repo.codemc.io/repository/maven-public/") { + name = "codemc-repo" + } } dependencies { remapper(libs.remapper) - decompiler(libs.decompiler) paperclip(libs.paperclip) + decompiler(libs.decompiler) } +val brandName: String by project +val providerRepo: String by project +paperweight { + serverProject = project(":${brandName.lowercase()}-server") + + remapRepo = paperMcRepo + decompileRepo = paperMcRepo + + useStandardUpstream("paper") { + url = github("PaperMC", "Paper-archive") + ref = providers.gradleProperty("paperCommit") + + withStandardPatcher { + baseName("Paper") + + apiPatchDir.set(projectDir.resolve("patches/api")) + apiOutputDir.set(projectDir.resolve("$brandName-API")) + + serverPatchDir.set(projectDir.resolve("patches/server")) + serverOutputDir.set(projectDir.resolve("$brandName-Server")) + } + + patchTasks.register("generatedApi") { + isBareDirectory = true + upstreamDirPath = "paper-api-generator/generated" + patchDir = projectDir.resolve("patches/generated-api") + outputDir = projectDir.resolve("paper-api-generator/generated") + } + } +} + +tasks { + applyPatches { + dependsOn("applyGeneratedApiPatches") + } + + rebuildPatches { + dependsOn("rebuildGeneratedApiPatches") + } + + generateDevelopmentBundle { + apiCoordinates.set("${project.group}:${brandName.lowercase()}-api") + libraryRepositories.addAll( + "https://repo.maven.apache.org/maven2/", + "https://maven.pkg.github.com/$providerRepo", + "https://papermc.io/repo/repository/maven-public/" + ) + } +} + +publishing.publications.create("devBundle") { + artifact(tasks.generateDevelopmentBundle) { artifactId = "dev-bundle" } +} + +val mavenUrl: String? by project +val mavenUsername: String? by project +val mavenPassword: String? by project allprojects { apply(plugin = "java") apply(plugin = "maven-publish") java.toolchain.languageVersion.set(JavaLanguageVersion.of(jdkVersion)) - publishing.repositories.maven("https://maven.pkg.github.com/$providerRepo") { - name = "githubPackage" + mavenUrl?.let { + publishing.repositories.maven(it) { + name = "codemc-repo" - credentials { - username = providers.systemProperty("ghName").orElse(providers.gradleProperty("ghName")).getOrElse(System.getenv("GITHUB_NAME")) - password = providers.systemProperty("ghToken").orElse(providers.gradleProperty("ghToken")).getOrElse(System.getenv("GITHUB_TOKEN")) + credentials { + username = mavenUsername + password = mavenPassword + } } } } subprojects { + repositories { + mavenCentral() + maven(paperMcRepo) + maven("https://jitpack.io") + maven("https://repo.codemc.io/repository/maven-public/") + } + tasks { withType().configureEach { options.encoding = Charsets.UTF_8.name() @@ -68,36 +136,6 @@ subprojects { } } } - - repositories { - mavenCentral() - maven("https://jitpack.io") - maven("https://papermc.io/repo/repository/maven-public/") - } -} - -paperweight { - serverProject = project(":${brandName.lowercase()}-server") - - remapRepo = "https://repo.papermc.io/repository/maven-public/" - decompileRepo = "https://repo.papermc.io/repository/maven-public/" - - usePaperUpstream(providers.gradleProperty("paperCommit")) { - withPaperPatcher { - apiPatchDir.set(projectDir.resolve("patches/api")) - apiOutputDir.set(projectDir.resolve("$brandName-API")) - - serverPatchDir.set(projectDir.resolve("patches/server")) - serverOutputDir.set(projectDir.resolve("$brandName-Server")) - } - - patchTasks.register("generatedApi") { - isBareDirectory = true - upstreamDirPath = "paper-api-generator/generated" - patchDir = projectDir.resolve("patches/generated-api") - outputDir = projectDir.resolve("paper-api-generator/generated") - } - } } val paperRepoVal = property("paperRepo").toString() @@ -107,7 +145,6 @@ val purpurBranch = property("purpurBranch").toString() val pufferfishRepoVal = property("pufferfishRepo").toString() val pufferfishBranch = property("pufferfishBranch").toString() val isUsePufferfish = property("usePufferfish").toString().toBoolean() - alwaysUpToDate { paperRepo.set(paperRepoVal) @@ -123,46 +160,3 @@ alwaysUpToDate { usePufferfish.set(isUsePufferfish) } - -tasks { - applyPatches { - dependsOn("applyGeneratedApiPatches") - } - - rebuildPatches { - dependsOn("rebuildGeneratedApiPatches") - } - - generateDevelopmentBundle { - apiCoordinates.set("${project.group}:${brandName.lowercase()}-api") - libraryRepositories.addAll( - "https://repo.maven.apache.org/maven2/", - "https://maven.pkg.github.com/$providerRepo", - "https://papermc.io/repo/repository/maven-public/" - ) - } - - clean { - doLast { - listOf( - ".gradle/caches", - "$brandName-API", - "$brandName-Server", - "paper-api-generator", - "run", - - // remove dev environment files - "0001-fixup.patch", - "compare.txt" - ).forEach { - projectDir.resolve(it).deleteRecursively() - } - } - } -} - -publishing { - publications.create("devBundle") { - artifact(tasks.generateDevelopmentBundle) { artifactId = "dev-bundle" } - } -} diff --git a/initDev b/initDev index 7d6912419..29d027bd6 100755 --- a/initDev +++ b/initDev @@ -16,7 +16,7 @@ alias fa="ca __generate_fixup_patch" alias fg="cg __generate_fixup_patch" alias fs="cs __generate_fixup_patch" -hash gradle 2>&1 && alias gradle="./gradlew" +alias gradle="./gradlew" # TODO: Paperweight will not work with Gradle 8.10.2 alias gr="cd $PROJECT_DIR; gradle" alias grc="gr --no-rebuild" diff --git a/patches/server/0042-Remove-persist-isClientSide-flag.patch b/patches/server/0042-Remove-persist-isClientSide-flag.patch index 8c16eb656..c861702d2 100644 --- a/patches/server/0042-Remove-persist-isClientSide-flag.patch +++ b/patches/server/0042-Remove-persist-isClientSide-flag.patch @@ -195,6 +195,70 @@ index 571db5f9bf94745a8afe2cd313e593fb15db5e37..43e42d265513feedc54f3780f37427a5 public ChunkAccess getAnyChunkNow(final int chunkX, final int chunkZ) { if (this.world == null) { +diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java +index 8d82425ccbc30b3f4a59767ca72bf37311ddeda0..e137cc2e16a7b1532501bb3bb568236b427d171b 100644 +--- a/src/main/java/net/minecraft/commands/Commands.java ++++ b/src/main/java/net/minecraft/commands/Commands.java +@@ -203,7 +203,7 @@ public class Commands { + SayCommand.register(this.dispatcher); + ScheduleCommand.register(this.dispatcher); + ScoreboardCommand.register(this.dispatcher, commandRegistryAccess); +- SeedCommand.register(this.dispatcher, environment != Commands.CommandSelection.INTEGRATED); ++ SeedCommand.register(this.dispatcher, true); // Plazma - Remove persist 'isClientSide' flag + SetBlockCommand.register(this.dispatcher, commandRegistryAccess); + SetSpawnCommand.register(this.dispatcher); + SetWorldSpawnCommand.register(this.dispatcher); +@@ -234,12 +234,12 @@ public class Commands { + WardenSpawnTrackerCommand.register(this.dispatcher); + SpawnArmorTrimsCommand.register(this.dispatcher); + ServerPackCommand.register(this.dispatcher); +- if (environment.includeDedicated) { ++ //if (environment.includeDedicated) { // Plazma - Remove persist 'isClientSide' flag + DebugConfigCommand.register(this.dispatcher); +- } ++ //} // Plazma - Remove persist 'isClientSide' flag + } + +- if (environment.includeDedicated) { ++ //if (environment.includeDedicated) { // Plazma - Remove persist 'isClientSide' flag + BanIpCommands.register(this.dispatcher); + BanListCommands.register(this.dispatcher); + BanPlayerCommands.register(this.dispatcher); +@@ -263,11 +263,13 @@ public class Commands { + org.purpurmc.purpur.command.CompassCommand.register(this.dispatcher); // Purpur + org.purpurmc.purpur.command.RamBarCommand.register(this.dispatcher); // Purpur + org.purpurmc.purpur.command.RamCommand.register(this.dispatcher); // Purpur +- } ++ //} // Plazma - Remove persist 'isClientSide' flag + ++ /* // Plazma - Remove persist 'isClientSide' flag + if (environment.includeIntegrated) { + PublishCommand.register(this.dispatcher); + } ++ */ // Plazma - Remove persist 'isClientSide' flag + + // Paper start - Vanilla command permission fixes + for (final CommandNode node : this.dispatcher.getRoot().getChildren()) { +@@ -731,18 +733,7 @@ public class Commands { + } + } + +- public static enum CommandSelection { +- +- ALL(true, true), DEDICATED(false, true), INTEGRATED(true, false); +- +- final boolean includeIntegrated; +- final boolean includeDedicated; +- +- private CommandSelection(final boolean flag, final boolean flag1) { +- this.includeIntegrated = flag; +- this.includeDedicated = flag1; +- } +- } ++ public enum CommandSelection { ALL, DEDICATED, INTEGRATED } // Plazma - Remove persist 'isClientSide' flag + + @FunctionalInterface + public interface ParseFunction { diff --git a/src/main/java/net/minecraft/core/cauldron/CauldronInteraction.java b/src/main/java/net/minecraft/core/cauldron/CauldronInteraction.java index ee2c4c5265d96afe592c5007b0b6ad7649ce5190..2495456fae536d83afd8023f531aeb65ec10bf82 100644 --- a/src/main/java/net/minecraft/core/cauldron/CauldronInteraction.java @@ -406,7 +470,7 @@ index 65ed3d77a51b8299517e0c165403b0c5ac413475..5c7dbb218b6a9a7ccb2c9dbab93a7d8b return stack; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6e9766aff9a9f2b578f5b8a6b42e206fb7ad1bc6..ad0e9c8f64e9ef925b3f12ac1570689c9450e21b 100644 +index 6e9766aff9a9f2b578f5b8a6b42e206fb7ad1bc6..421b3c524a2828fdd8b0b95c37bce9b79fc7825d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -270,8 +270,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> list = TagLoader.loadTagsForExistingRegistries(resourcemanager, this.registries.compositeAccess(), io.papermc.paper.plugin.lifecycle.event.registrar.ReloadableRegistrarEvent.Cause.RELOAD); // Paper - tag lifecycle - add cause + +- return ReloadableServerResources.loadResources(resourcemanager, this.registries, list, this.worldData.enabledFeatures(), this.isDedicatedServer() ? Commands.CommandSelection.DEDICATED : Commands.CommandSelection.INTEGRATED, this.getFunctionCompilationLevel(), this.executor, this).whenComplete((datapackresources, throwable) -> { ++ return ReloadableServerResources.loadResources(resourcemanager, this.registries, list, this.worldData.enabledFeatures(), Commands.CommandSelection.DEDICATED, this.getFunctionCompilationLevel(), this.executor, this).whenComplete((datapackresources, throwable) -> { // Plazma - Remove persist 'isClientSide' flag + if (throwable != null) { + resourcemanager.close(); + } @@ -2687,16 +2689,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { + return false; diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java index a8484b9659f175cc20985bf66082616ceb31df4d..abd93a93e6c9367c022259d1ab3895e2764ac702 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -896,6 +978,27 @@ index 579f81ed04eeb6373b25e6794d3bf0c403891011..e0b70bac3018dc39e6c8e47171060332 } @Nullable +diff --git a/src/main/java/net/minecraft/util/profiling/jfr/Environment.java b/src/main/java/net/minecraft/util/profiling/jfr/Environment.java +index 5250e97ccfe3c5bcb98980d46d2257165ad508a6..17953a59188048ad3ab388d9713ada6148a682b6 100644 +--- a/src/main/java/net/minecraft/util/profiling/jfr/Environment.java ++++ b/src/main/java/net/minecraft/util/profiling/jfr/Environment.java +@@ -3,7 +3,6 @@ package net.minecraft.util.profiling.jfr; + import net.minecraft.server.MinecraftServer; + + public enum Environment { +- CLIENT("client"), + SERVER("server"); + + private final String description; +@@ -13,7 +12,7 @@ public enum Environment { + } + + public static Environment from(MinecraftServer server) { +- return server.isDedicatedServer() ? SERVER : CLIENT; ++ return SERVER; // Plazma - Remove persist 'isClientSide' flag + } + + public String getDescription() { diff --git a/src/main/java/net/minecraft/world/entity/AgeableMob.java b/src/main/java/net/minecraft/world/entity/AgeableMob.java index 119856b22df5bbcd4e5bf5f95645156f774c6168..809b72d0eb69f21d0d71515259e5e2f9d01d6232 100644 --- a/src/main/java/net/minecraft/world/entity/AgeableMob.java @@ -1236,6 +1339,28 @@ index 1d50b03246d114c6583815205eeacb7ac8549aec..2ff0dc3823c1b0c4e2c26fbc7196f420 } public boolean canSerialize() { +diff --git a/src/main/java/net/minecraft/world/entity/FlyingMob.java b/src/main/java/net/minecraft/world/entity/FlyingMob.java +index 255f0c078cf931ee0612358900fa73e6c43a9a66..dc0d2c31b0d6624cb8fe8fbc3b0ed0fb45f335b1 100644 +--- a/src/main/java/net/minecraft/world/entity/FlyingMob.java ++++ b/src/main/java/net/minecraft/world/entity/FlyingMob.java +@@ -16,7 +16,7 @@ public abstract class FlyingMob extends Mob { + + @Override + public void travel(Vec3 movementInput) { +- if (this.isControlledByLocalInstance()) { ++ //if (this.isControlledByLocalInstance()) { // Plazma - Remove persist 'isClientSide' flag + if (this.isInWater()) { + this.moveRelative(0.02F, movementInput); + this.move(MoverType.SELF, this.getDeltaMovement()); +@@ -41,7 +41,7 @@ public abstract class FlyingMob extends Mob { + this.move(MoverType.SELF, this.getDeltaMovement()); + this.setDeltaMovement(this.getDeltaMovement().scale((double)f)); + } +- } ++ //} // Plazma - Remove persist 'isClientSide' flag + } + + @Override diff --git a/src/main/java/net/minecraft/world/entity/Interaction.java b/src/main/java/net/minecraft/world/entity/Interaction.java index 221d73676fe2fd240a47cf312c1179e049298cac..bc991efa3d1845642df3741e650aa559c3f6edab 100644 --- a/src/main/java/net/minecraft/world/entity/Interaction.java diff --git a/patches/server/0049-Completely-remove-Mojang-profiler.patch b/patches/server/0049-Completely-remove-Mojang-profiler.patch index 43d76bb79..6cf3d87a5 100644 --- a/patches/server/0049-Completely-remove-Mojang-profiler.patch +++ b/patches/server/0049-Completely-remove-Mojang-profiler.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Completely remove Mojang profiler diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 8d82425ccbc30b3f4a59767ca72bf37311ddeda0..731592a7eeb1434c8568b722314fba64b8b83050 100644 +index e137cc2e16a7b1532501bb3bb568236b427d171b..495341d9ebf5f4aa63526defdf822de18f9818a7 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -132,7 +132,7 @@ import net.minecraft.server.commands.WorldBorderCommand; @@ -17,7 +17,7 @@ index 8d82425ccbc30b3f4a59767ca72bf37311ddeda0..731592a7eeb1434c8568b722314fba64 import net.minecraft.util.profiling.jfr.JvmProfiler; import net.minecraft.world.flag.FeatureFlagSet; import net.minecraft.world.flag.FeatureFlags; -@@ -353,9 +353,11 @@ public class Commands { +@@ -355,9 +355,11 @@ public class Commands { // Paper end CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource(); @@ -29,7 +29,7 @@ index 8d82425ccbc30b3f4a59767ca72bf37311ddeda0..731592a7eeb1434c8568b722314fba64 ContextChain contextchain = this.finishParsing(parseresults, s, commandlistenerwrapper, label); // CraftBukkit // Paper - Add UnknownCommandEvent try { -@@ -384,9 +386,9 @@ public class Commands { +@@ -386,9 +388,9 @@ public class Commands { commandlistenerwrapper.sendFailure(Component.literal(Util.describeError(exception))); Commands.LOGGER.error("'/{}' threw an exception", s, exception); } @@ -41,7 +41,7 @@ index 8d82425ccbc30b3f4a59767ca72bf37311ddeda0..731592a7eeb1434c8568b722314fba64 } -@@ -448,7 +450,7 @@ public class Commands { +@@ -450,7 +452,7 @@ public class Commands { int j = minecraftserver.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_FORK_COUNT); try { @@ -213,7 +213,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..a72bf8986d7f93dc0b3d8830c17745cf } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ad0e9c8f64e9ef925b3f12ac1570689c9450e21b..e63e6d885054cd926508f9999c8a4eed712d4891 100644 +index 421b3c524a2828fdd8b0b95c37bce9b79fc7825d..c41cf465cc6133c7bb43b4d1019efae808ad86a9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -111,19 +111,19 @@ import net.minecraft.util.datafix.DataFixers; @@ -1227,7 +1227,7 @@ index 20d9cd87fcbdd666231746ca1b364cde7016b5d6..14188b6e317dca2bbf98896951605f2e while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 94ab672f4576a77a609093eab76b1c5e2abddde2..755f9e3e00a38b276be3d6d757c411eaf27e385f 100644 +index ba8ff8f39d3ba39db9c2ce6070cabe33381f4adb..97bf63c4a472e41e0b10a938752eeee8a4a36e7c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -102,8 +102,8 @@ import net.minecraft.tags.FluidTags;