diff --git a/.gitignore b/.gitignore index 2984095..6dec446 100644 --- a/.gitignore +++ b/.gitignore @@ -1,53 +1,17 @@ +# project files .gradle/ -build/ - -# Eclipse stuff -.classpath -.project -.settings/ - -# VSCode stuff -.vscode/ - -# netbeans -nbproject/ -nbactions.xml - -# we use maven! -build.xml - -# maven -target/ -dependency-reduced-pom.xml - -# vim -.*.sw[a-p] - -# various other potential build files -build/ -bin/ -dist/ -manifest.mf - -# Mac filesystem dust -.DS_Store/ -.DS_Store - -# intellij -*.iml -*.ipr -*.iws .idea/ -out/ - -# Linux temp files -*~ - -# other stuff +build/ run/ -sakura-server -sakura-api +# upstream +paper-api +paper-server paper-api-generator +# sakura +sakura-api/build.gradle.kts +sakura-server/build.gradle.kts +sakura-server/src/vanilla + !gradle/wrapper/gradle-wrapper.jar diff --git a/build-data/dev-imports.txt b/build-data/dev-imports.txt index 84b074d..1d9862a 100644 --- a/build-data/dev-imports.txt +++ b/build-data/dev-imports.txt @@ -8,19 +8,7 @@ # To import classes from the vanilla Minecraft jar use `minecraft` as the artifactId: # minecraft net.minecraft.world.level.entity.LevelEntityGetterAdapter # minecraft net/minecraft/world/level/entity/LevelEntityGetter.java -minecraft net.minecraft.world.level.block.piston.PistonStructureResolver -minecraft net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket -minecraft net.minecraft.world.item.ItemNameBlockItem -minecraft net.minecraft.world.level.block.FallingBlock -minecraft net.minecraft.world.level.block.piston.MovingPistonBlock -minecraft net.minecraft.world.level.block.piston.PistonHeadBlock -minecraft net.minecraft.world.level.block.LadderBlock -minecraft net.minecraft.world.level.block.Blocks -minecraft net.minecraft.world.entity.projectile.ProjectileUtil -minecraft net.minecraft.world.level.block.CarpetBlock -minecraft net.minecraft.world.item.Item -minecraft net.minecraft.world.item.SwordItem -minecraft net.minecraft.world.item.DiggerItem -minecraft net.minecraft.world.food.Foods -minecraft net.minecraft.world.item.Items -minecraft net.minecraft.world.level.material.Fluid +# To import minecraft data files, like the default chat type, use `mc_data` as the prefix: +# mc_data chat_type/chat.json +# mc_data dimension_type/overworld.json +# diff --git a/build-data/dev-imports.txt.bin b/build-data/dev-imports.txt.bin new file mode 100644 index 0000000..84b074d --- /dev/null +++ b/build-data/dev-imports.txt.bin @@ -0,0 +1,26 @@ +# You can use this file to import files from minecraft libraries into the project +# format: +# +# both fully qualified and a file based syntax are accepted for : +# authlib com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java +# datafixerupper com.mojang.datafixers.DataFixerBuilder +# datafixerupper com/mojang/datafixers/util/Either.java +# To import classes from the vanilla Minecraft jar use `minecraft` as the artifactId: +# minecraft net.minecraft.world.level.entity.LevelEntityGetterAdapter +# minecraft net/minecraft/world/level/entity/LevelEntityGetter.java +minecraft net.minecraft.world.level.block.piston.PistonStructureResolver +minecraft net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket +minecraft net.minecraft.world.item.ItemNameBlockItem +minecraft net.minecraft.world.level.block.FallingBlock +minecraft net.minecraft.world.level.block.piston.MovingPistonBlock +minecraft net.minecraft.world.level.block.piston.PistonHeadBlock +minecraft net.minecraft.world.level.block.LadderBlock +minecraft net.minecraft.world.level.block.Blocks +minecraft net.minecraft.world.entity.projectile.ProjectileUtil +minecraft net.minecraft.world.level.block.CarpetBlock +minecraft net.minecraft.world.item.Item +minecraft net.minecraft.world.item.SwordItem +minecraft net.minecraft.world.item.DiggerItem +minecraft net.minecraft.world.food.Foods +minecraft net.minecraft.world.item.Items +minecraft net.minecraft.world.level.material.Fluid diff --git a/build-data/sakura.at b/build-data/sakura.at new file mode 100644 index 0000000..422ff52 --- /dev/null +++ b/build-data/sakura.at @@ -0,0 +1,22 @@ +# This file is auto generated, any changes may be overridden! +# See CONTRIBUTING.md on how to add access transformers. +protected io.papermc.paper.configuration.Configurations reloader(Ljava/lang/Class;Ljava/lang/Object;)Lorg/spongepowered/configurate/util/CheckedFunction; +protected io.papermc.paper.configuration.PaperConfigurations createDirectoriesSymlinkAware(Ljava/nio/file/Path;)V +protected io.papermc.paper.configuration.PaperConfigurations defaultOptions(Lorg/spongepowered/configurate/ConfigurationOptions;)Lorg/spongepowered/configurate/ConfigurationOptions; +protected net.minecraft.world.entity.Entity collide(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; +protected net.minecraft.world.entity.Entity updateInWaterStateAndDoWaterCurrentPushing()V +protected net.minecraft.world.entity.projectile.Projectile checkLeftOwner()Z +protected net.minecraft.world.level.ServerExplosion blockCache +protected net.minecraft.world.level.ServerExplosion calculateExplodedPositions()Ljava/util/List; +protected net.minecraft.world.level.ServerExplosion directMappedBlockCache +protected net.minecraft.world.level.ServerExplosion getBlockDensity(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/entity/Entity;)F +protected net.minecraft.world.level.ServerExplosion getOrCacheExplosionBlock(IIIJZ)Lca/spottedleaf/moonrise/patches/collisions/ExplosionBlockCache; +protected net.minecraft.world.level.ServerExplosion interactWithBlocks(Ljava/util/List;)V +protected net.minecraft.world.level.ServerExplosion interactsWithBlocks()Z +protected net.minecraft.world.level.ServerExplosion source +protected-f net.minecraft.world.entity.Entity eyeHeight +protected-f net.minecraft.world.level.ServerExplosion center +public net.minecraft.server.level.ServerLevel entityTickList +public net.minecraft.world.entity.Entity stuckSpeedMultiplier +public net.minecraft.world.level.entity.EntityTickList entities +public net.minecraft.world.level.material.FlowingFluid getLegacyLevel(Lnet/minecraft/world/level/material/FluidState;)I diff --git a/build.gradle.kts b/build.gradle.kts index 1bddb7a..9cd270d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,66 +1,77 @@ -import io.papermc.paperweight.util.constants.PAPERCLIP_CONFIG +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { java - id("io.papermc.paperweight.patcher") version "1.7.5" + id("io.papermc.paperweight.patcher") version "2.0.0-beta.13" } -repositories { - mavenCentral() - maven("https://papermc.io/repo/repository/maven-public/") { - content { onlyForConfigurations(PAPERCLIP_CONFIG) } +paperweight { + upstreams.paper { + val brand = rootProject.name + ref = providers.gradleProperty("paperRef") + + patchFile { + path = "paper-server/build.gradle.kts" + outputFile = file("$brand-server/build.gradle.kts") + patchFile = file("$brand-server/build.gradle.kts.patch") + } + patchFile { + path = "paper-api/build.gradle.kts" + outputFile = file("$brand-api/build.gradle.kts") + patchFile = file("$brand-api/build.gradle.kts.patch") + } + patchDir("paperApi") { + upstreamPath = "paper-api" + excludes = setOf("build.gradle.kts") + patchesDir = file("$brand-api/paper-patches") + outputDir = file("paper-api") + } + patchDir("paperApiGenerator") { + upstreamPath = "paper-api-generator" + patchesDir = file("$brand-api-generator/paper-patches") + outputDir = file("paper-api-generator") + } } } -dependencies { - remapper("net.fabricmc:tiny-remapper:0.10.3:fat") - decompiler("org.vineflower:vineflower:1.10.1") - paperclip("io.papermc:paperclip:3.0.3") -} +val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" subprojects { - apply(plugin = "java") + apply(plugin = "java-library") + apply(plugin = "maven-publish") - java { - toolchain { languageVersion = JavaLanguageVersion.of(21) } - } - - tasks.withType().configureEach { - options.encoding = "UTF-8" - options.release = 21 + extensions.configure { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } } repositories { mavenCentral() - maven("https://oss.sonatype.org/content/groups/public/") - maven("https://papermc.io/repo/repository/maven-public/") - maven("https://ci.emc.gs/nexus/content/groups/aikar/") - maven("https://repo.aikar.co/content/groups/aikar") - maven("https://repo.md-5.net/content/repositories/releases/") - maven("https://hub.spigotmc.org/nexus/content/groups/public/") - maven("https://jitpack.io") + maven(paperMavenPublicUrl) } -} -paperweight { - serverProject = project(":sakura-server") - - remapRepo = "https://maven.fabricmc.net/" - decompileRepo = "https://files.minecraftforge.net/maven/" - - usePaperUpstream(providers.gradleProperty("paperRef")) { - withPaperPatcher { - apiPatchDir = layout.projectDirectory.dir("patches/api") - apiOutputDir = layout.projectDirectory.dir("sakura-api") - - serverPatchDir = layout.projectDirectory.dir("patches/server") - serverOutputDir = layout.projectDirectory.dir("sakura-server") - } - patchTasks.register("generatedApi") { - isBareDirectory = true - upstreamDirPath = "paper-api-generator/generated" - patchDir = layout.projectDirectory.dir("patches/generatedApi") - outputDir = layout.projectDirectory.dir("paper-api-generator/generated") + tasks.withType().configureEach { + isPreserveFileTimestamps = false + isReproducibleFileOrder = true + } + tasks.withType { + options.encoding = Charsets.UTF_8.name() + options.release = 21 + options.isFork = true + } + tasks.withType { + options.encoding = Charsets.UTF_8.name() + } + tasks.withType { + filteringCharset = Charsets.UTF_8.name() + } + tasks.withType { + testLogging { + showStackTraces = true + exceptionFormat = TestExceptionFormat.FULL + events(TestLogEvent.STANDARD_OUT) } } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7e784e7..82266e1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=me.samsuik.sakura version=1.21.4-R0.1-SNAPSHOT mcVersion=1.21.4 -paperRef=b746d9df0b6b7765478b2a72c2d963b6e668fa35 +paperRef=8e80d4e15852ffbed1a18d1e9b34550191433200 org.gradle.jvmargs=-Xmx2G org.gradle.vfs.watch=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a441313..cea7a79 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/patches/api/0001-Customise-Version-Command.patch b/migrate/api/0001-Customise-Version-Command.patch similarity index 100% rename from patches/api/0001-Customise-Version-Command.patch rename to migrate/api/0001-Customise-Version-Command.patch diff --git a/patches/api/0002-Client-Visibility-Settings-API.patch b/migrate/api/0002-Client-Visibility-Settings-API.patch similarity index 100% rename from patches/api/0002-Client-Visibility-Settings-API.patch rename to migrate/api/0002-Client-Visibility-Settings-API.patch diff --git a/patches/api/0003-Merge-Cannon-Entities.patch b/migrate/api/0003-Merge-Cannon-Entities.patch similarity index 100% rename from patches/api/0003-Merge-Cannon-Entities.patch rename to migrate/api/0003-Merge-Cannon-Entities.patch diff --git a/patches/api/0004-isPushedByFluid-API.patch b/migrate/api/0004-isPushedByFluid-API.patch similarity index 100% rename from patches/api/0004-isPushedByFluid-API.patch rename to migrate/api/0004-isPushedByFluid-API.patch diff --git a/patches/api/0005-Falling-Block-Parity-API.patch b/migrate/api/0005-Falling-Block-Parity-API.patch similarity index 100% rename from patches/api/0005-Falling-Block-Parity-API.patch rename to migrate/api/0005-Falling-Block-Parity-API.patch diff --git a/patches/api/0006-Local-Value-Storage-API.patch b/migrate/api/0006-Local-Value-Storage-API.patch similarity index 100% rename from patches/api/0006-Local-Value-Storage-API.patch rename to migrate/api/0006-Local-Value-Storage-API.patch diff --git a/patches/api/0007-Entity-tracking-range-modifier.patch b/migrate/api/0007-Entity-tracking-range-modifier.patch similarity index 100% rename from patches/api/0007-Entity-tracking-range-modifier.patch rename to migrate/api/0007-Entity-tracking-range-modifier.patch diff --git a/patches/server/0005-Client-Visibility-Settings.patch b/migrate/server/feature/0005-Client-Visibility-Settings.patch similarity index 100% rename from patches/server/0005-Client-Visibility-Settings.patch rename to migrate/server/feature/0005-Client-Visibility-Settings.patch diff --git a/patches/server/0007-Load-Chunks-on-Movement.patch b/migrate/server/feature/0007-Load-Chunks-on-Movement.patch similarity index 100% rename from patches/server/0007-Load-Chunks-on-Movement.patch rename to migrate/server/feature/0007-Load-Chunks-on-Movement.patch diff --git a/patches/server/0014-Optimise-paper-explosions.patch b/migrate/server/feature/0014-Optimise-paper-explosions.patch similarity index 100% rename from patches/server/0014-Optimise-paper-explosions.patch rename to migrate/server/feature/0014-Optimise-paper-explosions.patch diff --git a/patches/server/0015-Store-Entity-Data-State.patch b/migrate/server/feature/0015-Store-Entity-Data-State.patch similarity index 100% rename from patches/server/0015-Store-Entity-Data-State.patch rename to migrate/server/feature/0015-Store-Entity-Data-State.patch diff --git a/patches/server/0016-Merge-Cannon-Entities.patch b/migrate/server/feature/0016-Merge-Cannon-Entities.patch similarity index 100% rename from patches/server/0016-Merge-Cannon-Entities.patch rename to migrate/server/feature/0016-Merge-Cannon-Entities.patch diff --git a/patches/server/0017-Replace-explosion-density-cache.patch b/migrate/server/feature/0017-Replace-explosion-density-cache.patch similarity index 100% rename from patches/server/0017-Replace-explosion-density-cache.patch rename to migrate/server/feature/0017-Replace-explosion-density-cache.patch diff --git a/patches/server/0018-Optimise-explosions-in-protected-regions.patch b/migrate/server/feature/0018-Optimise-explosions-in-protected-regions.patch similarity index 100% rename from patches/server/0018-Optimise-explosions-in-protected-regions.patch rename to migrate/server/feature/0018-Optimise-explosions-in-protected-regions.patch diff --git a/patches/server/0019-Specialised-Explosions.patch b/migrate/server/feature/0019-Specialised-Explosions.patch similarity index 100% rename from patches/server/0019-Specialised-Explosions.patch rename to migrate/server/feature/0019-Specialised-Explosions.patch diff --git a/patches/server/0020-Optimise-cannon-entity-movement.patch b/migrate/server/feature/0020-Optimise-cannon-entity-movement.patch similarity index 100% rename from patches/server/0020-Optimise-cannon-entity-movement.patch rename to migrate/server/feature/0020-Optimise-cannon-entity-movement.patch diff --git a/patches/server/0025-Add-maxSearch-to-getEntities.patch b/migrate/server/feature/0025-Add-maxSearch-to-getEntities.patch similarity index 100% rename from patches/server/0025-Add-maxSearch-to-getEntities.patch rename to migrate/server/feature/0025-Add-maxSearch-to-getEntities.patch diff --git a/patches/server/0026-Optimise-LivingEntity-pushEntities.patch b/migrate/server/feature/0026-Optimise-LivingEntity-pushEntities.patch similarity index 100% rename from patches/server/0026-Optimise-LivingEntity-pushEntities.patch rename to migrate/server/feature/0026-Optimise-LivingEntity-pushEntities.patch diff --git a/patches/server/0029-Explosion-Durable-Blocks.patch b/migrate/server/feature/0029-Explosion-Durable-Blocks.patch similarity index 100% rename from patches/server/0029-Explosion-Durable-Blocks.patch rename to migrate/server/feature/0029-Explosion-Durable-Blocks.patch diff --git a/patches/server/0030-Destroy-Waterlogged-Blocks.patch b/migrate/server/feature/0030-Destroy-Waterlogged-Blocks.patch similarity index 100% rename from patches/server/0030-Destroy-Waterlogged-Blocks.patch rename to migrate/server/feature/0030-Destroy-Waterlogged-Blocks.patch diff --git a/patches/server/0037-Configure-cannon-physics-by-version.patch b/migrate/server/feature/0037-Configure-cannon-physics-by-version.patch similarity index 100% rename from patches/server/0037-Configure-cannon-physics-by-version.patch rename to migrate/server/feature/0037-Configure-cannon-physics-by-version.patch diff --git a/patches/server/0042-Allow-explosions-to-destroy-lava.patch b/migrate/server/feature/0042-Allow-explosions-to-destroy-lava.patch similarity index 100% rename from patches/server/0042-Allow-explosions-to-destroy-lava.patch rename to migrate/server/feature/0042-Allow-explosions-to-destroy-lava.patch diff --git a/patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch b/migrate/server/feature/0044-Treat-solid-blocks-as-full-when-moving-fast.patch similarity index 100% rename from patches/server/0044-Treat-solid-blocks-as-full-when-moving-fast.patch rename to migrate/server/feature/0044-Treat-solid-blocks-as-full-when-moving-fast.patch diff --git a/patches/server/0045-Reduce-entity-tracker-player-updates.patch b/migrate/server/feature/0045-Reduce-entity-tracker-player-updates.patch similarity index 100% rename from patches/server/0045-Reduce-entity-tracker-player-updates.patch rename to migrate/server/feature/0045-Reduce-entity-tracker-player-updates.patch diff --git a/patches/server/0046-Add-option-for-legacy-lava-block-formation.patch b/migrate/server/feature/0046-Add-option-for-legacy-lava-block-formation.patch similarity index 100% rename from patches/server/0046-Add-option-for-legacy-lava-block-formation.patch rename to migrate/server/feature/0046-Add-option-for-legacy-lava-block-formation.patch diff --git a/patches/server/0057-Add-entity-travel-distance-limits.patch b/migrate/server/feature/0057-Add-entity-travel-distance-limits.patch similarity index 100% rename from patches/server/0057-Add-entity-travel-distance-limits.patch rename to migrate/server/feature/0057-Add-entity-travel-distance-limits.patch diff --git a/patches/server/0071-Protect-scaffolding-from-creepers.patch b/migrate/server/feature/0071-Protect-scaffolding-from-creepers.patch similarity index 100% rename from patches/server/0071-Protect-scaffolding-from-creepers.patch rename to migrate/server/feature/0071-Protect-scaffolding-from-creepers.patch diff --git a/patches/server/0074-Configurable-left-shooting-and-adjusting-limits.patch b/migrate/server/feature/0074-Configurable-left-shooting-and-adjusting-limits.patch similarity index 100% rename from patches/server/0074-Configurable-left-shooting-and-adjusting-limits.patch rename to migrate/server/feature/0074-Configurable-left-shooting-and-adjusting-limits.patch diff --git a/patches/server/0075-Optimise-hopper-ticking.patch b/migrate/server/feature/0075-Optimise-hopper-ticking.patch similarity index 100% rename from patches/server/0075-Optimise-hopper-ticking.patch rename to migrate/server/feature/0075-Optimise-hopper-ticking.patch diff --git a/patches/server/0076-Tick-entity-schedulers-only-when-necessary.patch b/migrate/server/feature/0076-Tick-entity-schedulers-only-when-necessary.patch similarity index 100% rename from patches/server/0076-Tick-entity-schedulers-only-when-necessary.patch rename to migrate/server/feature/0076-Tick-entity-schedulers-only-when-necessary.patch diff --git a/patches/server/0079-Optimise-check-inside-blocks-and-traverse-blocks.patch b/migrate/server/feature/0079-Optimise-check-inside-blocks-and-traverse-blocks.patch similarity index 100% rename from patches/server/0079-Optimise-check-inside-blocks-and-traverse-blocks.patch rename to migrate/server/feature/0079-Optimise-check-inside-blocks-and-traverse-blocks.patch diff --git a/migrate/server/feature/applied/.ignore b/migrate/server/feature/applied/.ignore new file mode 100644 index 0000000..e69de29 diff --git a/patches/server/0002-Sakura-Utils.patch b/migrate/server/source/0002-Sakura-Utils.patch similarity index 100% rename from patches/server/0002-Sakura-Utils.patch rename to migrate/server/source/0002-Sakura-Utils.patch diff --git a/patches/server/0003-Sakura-Configuration-Files.patch b/migrate/server/source/0003-Sakura-Configuration-Files.patch similarity index 100% rename from patches/server/0003-Sakura-Configuration-Files.patch rename to migrate/server/source/0003-Sakura-Configuration-Files.patch diff --git a/patches/server/0004-Local-Config-and-Value-Storage-API.patch b/migrate/server/source/0004-Local-Config-and-Value-Storage-API.patch similarity index 100% rename from patches/server/0004-Local-Config-and-Value-Storage-API.patch rename to migrate/server/source/0004-Local-Config-and-Value-Storage-API.patch diff --git a/patches/server/0006-Optional-Force-Position-Updates.patch b/migrate/server/source/0006-Optional-Force-Position-Updates.patch similarity index 100% rename from patches/server/0006-Optional-Force-Position-Updates.patch rename to migrate/server/source/0006-Optional-Force-Position-Updates.patch diff --git a/patches/server/0008-Track-Tick-Information.patch b/migrate/server/source/0008-Track-Tick-Information.patch similarity index 100% rename from patches/server/0008-Track-Tick-Information.patch rename to migrate/server/source/0008-Track-Tick-Information.patch diff --git a/patches/server/0009-Optimise-New-Liquid-Level.patch b/migrate/server/source/0009-Optimise-New-Liquid-Level.patch similarity index 100% rename from patches/server/0009-Optimise-New-Liquid-Level.patch rename to migrate/server/source/0009-Optimise-New-Liquid-Level.patch diff --git a/patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch b/migrate/server/source/0010-Slice-Packet-obfuscation-and-reduction.patch similarity index 100% rename from patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch rename to migrate/server/source/0010-Slice-Packet-obfuscation-and-reduction.patch diff --git a/patches/server/0011-Use-Optimised-TrackedEntityMap.patch b/migrate/server/source/0011-Use-Optimised-TrackedEntityMap.patch similarity index 100% rename from patches/server/0011-Use-Optimised-TrackedEntityMap.patch rename to migrate/server/source/0011-Use-Optimised-TrackedEntityMap.patch diff --git a/patches/server/0012-Copy-EntityList-methods-to-BasicEntityList.patch b/migrate/server/source/0012-Copy-EntityList-methods-to-BasicEntityList.patch similarity index 100% rename from patches/server/0012-Copy-EntityList-methods-to-BasicEntityList.patch rename to migrate/server/source/0012-Copy-EntityList-methods-to-BasicEntityList.patch diff --git a/patches/server/0013-Add-utility-methods-to-EntitySlices.patch b/migrate/server/source/0013-Add-utility-methods-to-EntitySlices.patch similarity index 100% rename from patches/server/0013-Add-utility-methods-to-EntitySlices.patch rename to migrate/server/source/0013-Add-utility-methods-to-EntitySlices.patch diff --git a/patches/server/0021-Entity-pushed-by-fluid-API.patch b/migrate/server/source/0021-Entity-pushed-by-fluid-API.patch similarity index 100% rename from patches/server/0021-Entity-pushed-by-fluid-API.patch rename to migrate/server/source/0021-Entity-pushed-by-fluid-API.patch diff --git a/patches/server/0022-Cannon-Mechanics.patch b/migrate/server/source/0022-Cannon-Mechanics.patch similarity index 100% rename from patches/server/0022-Cannon-Mechanics.patch rename to migrate/server/source/0022-Cannon-Mechanics.patch diff --git a/patches/server/0023-Cache-MovingBlockEntity-collision-shape.patch b/migrate/server/source/0023-Cache-MovingBlockEntity-collision-shape.patch similarity index 100% rename from patches/server/0023-Cache-MovingBlockEntity-collision-shape.patch rename to migrate/server/source/0023-Cache-MovingBlockEntity-collision-shape.patch diff --git a/patches/server/0024-Optimise-TNT-fluid-state.patch b/migrate/server/source/0024-Optimise-TNT-fluid-state.patch similarity index 100% rename from patches/server/0024-Optimise-TNT-fluid-state.patch rename to migrate/server/source/0024-Optimise-TNT-fluid-state.patch diff --git a/patches/server/0027-Despawn-falling-blocks-inside-moving-pistons.patch b/migrate/server/source/0027-Despawn-falling-blocks-inside-moving-pistons.patch similarity index 100% rename from patches/server/0027-Despawn-falling-blocks-inside-moving-pistons.patch rename to migrate/server/source/0027-Despawn-falling-blocks-inside-moving-pistons.patch diff --git a/patches/server/0028-Configure-Entity-Knockback.patch b/migrate/server/source/0028-Configure-Entity-Knockback.patch similarity index 100% rename from patches/server/0028-Configure-Entity-Knockback.patch rename to migrate/server/source/0028-Configure-Entity-Knockback.patch diff --git a/patches/server/0031-Falling-Block-Stacking-Restrictions.patch b/migrate/server/source/0031-Falling-Block-Stacking-Restrictions.patch similarity index 100% rename from patches/server/0031-Falling-Block-Stacking-Restrictions.patch rename to migrate/server/source/0031-Falling-Block-Stacking-Restrictions.patch diff --git a/patches/server/0032-Added-list-of-ItemEntity-s-that-ignore-explosions.patch b/migrate/server/source/0032-Added-list-of-ItemEntity-s-that-ignore-explosions.patch similarity index 100% rename from patches/server/0032-Added-list-of-ItemEntity-s-that-ignore-explosions.patch rename to migrate/server/source/0032-Added-list-of-ItemEntity-s-that-ignore-explosions.patch diff --git a/patches/server/0033-Add-option-to-disable-entity-ai.patch b/migrate/server/source/0033-Add-option-to-disable-entity-ai.patch similarity index 100% rename from patches/server/0033-Add-option-to-disable-entity-ai.patch rename to migrate/server/source/0033-Add-option-to-disable-entity-ai.patch diff --git a/patches/server/0034-Consistent-Explosion-Radius.patch b/migrate/server/source/0034-Consistent-Explosion-Radius.patch similarity index 100% rename from patches/server/0034-Consistent-Explosion-Radius.patch rename to migrate/server/source/0034-Consistent-Explosion-Radius.patch diff --git a/patches/server/0035-Remove-spigot-max-tnt-per-tick.patch b/migrate/server/source/0035-Remove-spigot-max-tnt-per-tick.patch similarity index 100% rename from patches/server/0035-Remove-spigot-max-tnt-per-tick.patch rename to migrate/server/source/0035-Remove-spigot-max-tnt-per-tick.patch diff --git a/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch b/migrate/server/source/0036-Option-to-configure-entity-water-sensitivity.patch similarity index 100% rename from patches/server/0036-Option-to-configure-entity-water-sensitivity.patch rename to migrate/server/source/0036-Option-to-configure-entity-water-sensitivity.patch diff --git a/patches/server/0038-Add-redstone-implementation-API.patch b/migrate/server/source/0038-Add-redstone-implementation-API.patch similarity index 100% rename from patches/server/0038-Add-redstone-implementation-API.patch rename to migrate/server/source/0038-Add-redstone-implementation-API.patch diff --git a/patches/server/0039-Allow-water-in-the-nether.patch b/migrate/server/source/0039-Allow-water-in-the-nether.patch similarity index 100% rename from patches/server/0039-Allow-water-in-the-nether.patch rename to migrate/server/source/0039-Allow-water-in-the-nether.patch diff --git a/patches/server/0040-Configure-concrete-solidifying-in-water.patch b/migrate/server/source/0040-Configure-concrete-solidifying-in-water.patch similarity index 100% rename from patches/server/0040-Configure-concrete-solidifying-in-water.patch rename to migrate/server/source/0040-Configure-concrete-solidifying-in-water.patch diff --git a/patches/server/0041-Option-for-fast-nether-dimension-lava.patch b/migrate/server/source/0041-Option-for-fast-nether-dimension-lava.patch similarity index 100% rename from patches/server/0041-Option-for-fast-nether-dimension-lava.patch rename to migrate/server/source/0041-Option-for-fast-nether-dimension-lava.patch diff --git a/patches/server/0043-Disable-bubble-columns-affecting-cannon-entities.patch b/migrate/server/source/0043-Disable-bubble-columns-affecting-cannon-entities.patch similarity index 100% rename from patches/server/0043-Disable-bubble-columns-affecting-cannon-entities.patch rename to migrate/server/source/0043-Disable-bubble-columns-affecting-cannon-entities.patch diff --git a/patches/server/0047-Configure-mob-spawner-defaults.patch b/migrate/server/source/0047-Configure-mob-spawner-defaults.patch similarity index 100% rename from patches/server/0047-Configure-mob-spawner-defaults.patch rename to migrate/server/source/0047-Configure-mob-spawner-defaults.patch diff --git a/patches/server/0048-Allow-disabling-random-dispenser-item-selection.patch b/migrate/server/source/0048-Allow-disabling-random-dispenser-item-selection.patch similarity index 100% rename from patches/server/0048-Allow-disabling-random-dispenser-item-selection.patch rename to migrate/server/source/0048-Allow-disabling-random-dispenser-item-selection.patch diff --git a/patches/server/0049-Add-instant-mob-death-animation.patch b/migrate/server/source/0049-Add-instant-mob-death-animation.patch similarity index 100% rename from patches/server/0049-Add-instant-mob-death-animation.patch rename to migrate/server/source/0049-Add-instant-mob-death-animation.patch diff --git a/patches/server/0050-Configure-fluids-breaking-redstone.patch b/migrate/server/source/0050-Configure-fluids-breaking-redstone.patch similarity index 100% rename from patches/server/0050-Configure-fluids-breaking-redstone.patch rename to migrate/server/source/0050-Configure-fluids-breaking-redstone.patch diff --git a/patches/server/0051-Option-to-disable-explosions-hurting-players.patch b/migrate/server/source/0051-Option-to-disable-explosions-hurting-players.patch similarity index 100% rename from patches/server/0051-Option-to-disable-explosions-hurting-players.patch rename to migrate/server/source/0051-Option-to-disable-explosions-hurting-players.patch diff --git a/patches/server/0052-Iron-golems-take-fall-damage.patch b/migrate/server/source/0052-Iron-golems-take-fall-damage.patch similarity index 100% rename from patches/server/0052-Iron-golems-take-fall-damage.patch rename to migrate/server/source/0052-Iron-golems-take-fall-damage.patch diff --git a/patches/server/0053-Add-explosions-dropping-items-config.patch b/migrate/server/source/0053-Add-explosions-dropping-items-config.patch similarity index 100% rename from patches/server/0053-Add-explosions-dropping-items-config.patch rename to migrate/server/source/0053-Add-explosions-dropping-items-config.patch diff --git a/patches/server/0054-Avoid-searching-for-lava-if-throttled-water-flow-spe.patch b/migrate/server/source/0054-Avoid-searching-for-lava-if-throttled-water-flow-spe.patch similarity index 100% rename from patches/server/0054-Avoid-searching-for-lava-if-throttled-water-flow-spe.patch rename to migrate/server/source/0054-Avoid-searching-for-lava-if-throttled-water-flow-spe.patch diff --git a/patches/server/0055-Calculate-biome-noise-once-per-chunk-section.patch b/migrate/server/source/0055-Calculate-biome-noise-once-per-chunk-section.patch similarity index 100% rename from patches/server/0055-Calculate-biome-noise-once-per-chunk-section.patch rename to migrate/server/source/0055-Calculate-biome-noise-once-per-chunk-section.patch diff --git a/patches/server/0056-Fix-doEntityDrops-gamerule-preventing-falling-blocks.patch b/migrate/server/source/0056-Fix-doEntityDrops-gamerule-preventing-falling-blocks.patch similarity index 100% rename from patches/server/0056-Fix-doEntityDrops-gamerule-preventing-falling-blocks.patch rename to migrate/server/source/0056-Fix-doEntityDrops-gamerule-preventing-falling-blocks.patch diff --git a/patches/server/0058-Configure-potion-speed-and-breaking-inside-entities.patch b/migrate/server/source/0058-Configure-potion-speed-and-breaking-inside-entities.patch similarity index 100% rename from patches/server/0058-Configure-potion-speed-and-breaking-inside-entities.patch rename to migrate/server/source/0058-Configure-potion-speed-and-breaking-inside-entities.patch diff --git a/patches/server/0059-Add-outline-colliison-to-enderpearls.patch b/migrate/server/source/0059-Add-outline-colliison-to-enderpearls.patch similarity index 100% rename from patches/server/0059-Add-outline-colliison-to-enderpearls.patch rename to migrate/server/source/0059-Add-outline-colliison-to-enderpearls.patch diff --git a/patches/server/0060-Disable-player-poses-shrinking-collision-box.patch b/migrate/server/source/0060-Disable-player-poses-shrinking-collision-box.patch similarity index 100% rename from patches/server/0060-Disable-player-poses-shrinking-collision-box.patch rename to migrate/server/source/0060-Disable-player-poses-shrinking-collision-box.patch diff --git a/patches/server/0061-Mob-spawner-behaviour.patch b/migrate/server/source/0061-Mob-spawner-behaviour.patch similarity index 100% rename from patches/server/0061-Mob-spawner-behaviour.patch rename to migrate/server/source/0061-Mob-spawner-behaviour.patch diff --git a/patches/server/0062-Use-random-chance-for-crop-growth-instead-of-age.patch b/migrate/server/source/0062-Use-random-chance-for-crop-growth-instead-of-age.patch similarity index 100% rename from patches/server/0062-Use-random-chance-for-crop-growth-instead-of-age.patch rename to migrate/server/source/0062-Use-random-chance-for-crop-growth-instead-of-age.patch diff --git a/patches/server/0063-Protect-block-shapes-against-plugins.patch b/migrate/server/source/0063-Protect-block-shapes-against-plugins.patch similarity index 100% rename from patches/server/0063-Protect-block-shapes-against-plugins.patch rename to migrate/server/source/0063-Protect-block-shapes-against-plugins.patch diff --git a/patches/server/0064-Legacy-player-combat-mechanics.patch b/migrate/server/source/0064-Legacy-player-combat-mechanics.patch similarity index 100% rename from patches/server/0064-Legacy-player-combat-mechanics.patch rename to migrate/server/source/0064-Legacy-player-combat-mechanics.patch diff --git a/patches/server/0065-Allow-disabling-sweep-attacks.patch b/migrate/server/source/0065-Allow-disabling-sweep-attacks.patch similarity index 100% rename from patches/server/0065-Allow-disabling-sweep-attacks.patch rename to migrate/server/source/0065-Allow-disabling-sweep-attacks.patch diff --git a/patches/server/0066-Change-shields-to-reduce-damage.patch b/migrate/server/source/0066-Change-shields-to-reduce-damage.patch similarity index 100% rename from patches/server/0066-Change-shields-to-reduce-damage.patch rename to migrate/server/source/0066-Change-shields-to-reduce-damage.patch diff --git a/patches/server/0067-Old-enchanted-golden-apples.patch b/migrate/server/source/0067-Old-enchanted-golden-apples.patch similarity index 100% rename from patches/server/0067-Old-enchanted-golden-apples.patch rename to migrate/server/source/0067-Old-enchanted-golden-apples.patch diff --git a/patches/server/0068-Configure-fast-health-regen.patch b/migrate/server/source/0068-Configure-fast-health-regen.patch similarity index 100% rename from patches/server/0068-Configure-fast-health-regen.patch rename to migrate/server/source/0068-Configure-fast-health-regen.patch diff --git a/patches/server/0069-Add-option-for-fishing-hooks-pulling-entities.patch b/migrate/server/source/0069-Add-option-for-fishing-hooks-pulling-entities.patch similarity index 100% rename from patches/server/0069-Add-option-for-fishing-hooks-pulling-entities.patch rename to migrate/server/source/0069-Add-option-for-fishing-hooks-pulling-entities.patch diff --git a/patches/server/0070-Old-combat-sounds-and-particle-effects.patch b/migrate/server/source/0070-Old-combat-sounds-and-particle-effects.patch similarity index 100% rename from patches/server/0070-Old-combat-sounds-and-particle-effects.patch rename to migrate/server/source/0070-Old-combat-sounds-and-particle-effects.patch diff --git a/patches/server/0072-Entity-tracking-range-modifier.patch b/migrate/server/source/0072-Entity-tracking-range-modifier.patch similarity index 100% rename from patches/server/0072-Entity-tracking-range-modifier.patch rename to migrate/server/source/0072-Entity-tracking-range-modifier.patch diff --git a/patches/server/0073-Set-entity-impulse-on-explosion.patch b/migrate/server/source/0073-Set-entity-impulse-on-explosion.patch similarity index 100% rename from patches/server/0073-Set-entity-impulse-on-explosion.patch rename to migrate/server/source/0073-Set-entity-impulse-on-explosion.patch diff --git a/patches/server/0077-Add-max-armour-durability-damage.patch b/migrate/server/source/0077-Add-max-armour-durability-damage.patch similarity index 100% rename from patches/server/0077-Add-max-armour-durability-damage.patch rename to migrate/server/source/0077-Add-max-armour-durability-damage.patch diff --git a/patches/server/0078-Modify-bucket-stack-size.patch b/migrate/server/source/0078-Modify-bucket-stack-size.patch similarity index 100% rename from patches/server/0078-Modify-bucket-stack-size.patch rename to migrate/server/source/0078-Modify-bucket-stack-size.patch diff --git a/patches/server/0080-Configure-TNT-duplication.patch b/migrate/server/source/0080-Configure-TNT-duplication.patch similarity index 100% rename from patches/server/0080-Configure-TNT-duplication.patch rename to migrate/server/source/0080-Configure-TNT-duplication.patch diff --git a/patches/server/0081-Add-lava-flow-speed-api.patch b/migrate/server/source/0081-Add-lava-flow-speed-api.patch similarity index 100% rename from patches/server/0081-Add-lava-flow-speed-api.patch rename to migrate/server/source/0081-Add-lava-flow-speed-api.patch diff --git a/patches/server/0001-Branding-changes.patch b/migrate/server/source/applied/0001-Branding-changes.patch similarity index 100% rename from patches/server/0001-Branding-changes.patch rename to migrate/server/source/applied/0001-Branding-changes.patch diff --git a/patches/unapplied-server/0031-Cache-Vanillia-and-Eigen-Redstone.patch b/migrate/server/unapplied/0031-Cache-Vanillia-and-Eigen-Redstone.patch similarity index 100% rename from patches/unapplied-server/0031-Cache-Vanillia-and-Eigen-Redstone.patch rename to migrate/server/unapplied/0031-Cache-Vanillia-and-Eigen-Redstone.patch diff --git a/sakura-server/build.gradle.kts.patch b/sakura-server/build.gradle.kts.patch new file mode 100644 index 0000000..0371c4b --- /dev/null +++ b/sakura-server/build.gradle.kts.patch @@ -0,0 +1,63 @@ +--- a/paper-server/build.gradle.kts ++++ b/paper-server/build.gradle.kts +@@ -9,6 +_,7 @@ + } + + val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" ++val serverBrand = rootProject.name + + dependencies { + mache("io.papermc:mache:1.21.4+build.7") +@@ -21,6 +_,21 @@ + // macheOldPath = file("F:\\Projects\\PaperTooling\\mache\\versions\\1.21.4\\src\\main\\java") + // gitFilePatches = true + ++ val fork = forks.register(serverBrand) { ++ upstream.patchDir("paperServer") { ++ upstreamPath = "paper-server" ++ excludes = setOf("src/minecraft", "patches", "build.gradle.kts") ++ patchesDir = rootDirectory.dir("$serverBrand-server/paper-patches") ++ outputDir = rootDirectory.dir("paper-server") ++ } ++ } ++ ++ activeFork = fork ++ ++ paper { ++ paperServerDir = upstreamsDirectory().map { it.dir("paper/paper-server") } ++ } ++ + spigot { + buildDataRef = "3edaf46ec1eed4115ce1b18d2846cded42577e42" + packageVersion = "v1_21_R3" // also needs to be updated in MappingEnvironment +@@ -101,7 +_,20 @@ + } + } + +-val log4jPlugins = sourceSets.create("log4jPlugins") ++sourceSets { ++ main { ++ java { srcDir("../paper-server/src/main/java") } ++ resources { srcDir("../paper-server/src/main/resources") } ++ } ++ test { ++ java { srcDir("../paper-server/src/test/java") } ++ resources { srcDir("../paper-server/src/test/resources") } ++ } ++} ++ ++val log4jPlugins = sourceSets.create("log4jPlugins") { ++ java { srcDir("../paper-server/src/log4jPlugins/java") } ++} + configurations.named(log4jPlugins.compileClasspathConfigurationName) { + extendsFrom(configurations.compileClasspath.get()) + } +@@ -119,7 +_,7 @@ + } + + dependencies { +- implementation(project(":paper-api")) ++ implementation(project(":$serverBrand-api")) + implementation("ca.spottedleaf:concurrentutil:0.0.3") + implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ + implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 diff --git a/sakura-server/src/minecraft/java b/sakura-server/src/minecraft/java new file mode 160000 index 0000000..9221a6a --- /dev/null +++ b/sakura-server/src/minecraft/java @@ -0,0 +1 @@ +Subproject commit 9221a6af363698f8da6174661aa7c28cdfd98cf8 diff --git a/sakura-server/src/minecraft/resources b/sakura-server/src/minecraft/resources new file mode 160000 index 0000000..5a4f038 --- /dev/null +++ b/sakura-server/src/minecraft/resources @@ -0,0 +1 @@ +Subproject commit 5a4f0388221bf0894ec2019f8b8132039a0f759a diff --git a/settings.gradle.kts b/settings.gradle.kts index 25f5555..b7dec05 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,12 +1,13 @@ pluginManagement { repositories { gradlePluginPortal() - maven("https://papermc.io/repo/repository/maven-public/") + mavenLocal() + maven("https://repo.papermc.io/repository/maven-public/") } } plugins { - id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" + id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0" } rootProject.name = "sakura"