Hardfork - Initial Commit
This commit is contained in:
423
.gitignore
vendored
423
.gitignore
vendored
@@ -1,64 +1,389 @@
|
||||
# JVM crash related
|
||||
core.*
|
||||
hs_err_pid*
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/java,kotlin,jetbrains+all,gradle,git,visualstudiocode,eclipse,netbeans,macos,windows,linux,vim,maven
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=java,kotlin,jetbrains+all,gradle,git,visualstudiocode,eclipse,netbeans,macos,windows,linux,vim,maven
|
||||
|
||||
# Intellij
|
||||
.idea/
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
out/
|
||||
### Paperweight ###
|
||||
run/
|
||||
paper-api/
|
||||
paper-server/
|
||||
purpur-api/
|
||||
purpur-server/
|
||||
plazma-api/build.gradle.kts
|
||||
plazma-server/build.gradle.kts
|
||||
plazma-server/src/minecraft/
|
||||
|
||||
# Eclipse
|
||||
.classpath
|
||||
.project
|
||||
### Eclipse ###
|
||||
.metadata
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
.recommenders
|
||||
|
||||
# netbeans
|
||||
nbproject/
|
||||
nbactions.xml
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# vscode
|
||||
.vscode/
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# PyDev specific (Python IDE for Eclipse)
|
||||
*.pydevproject
|
||||
|
||||
# CDT-specific (C/C++ Development Tooling)
|
||||
.cproject
|
||||
|
||||
# CDT- autotools
|
||||
.autotools
|
||||
|
||||
# Java annotation processor (APT)
|
||||
.factorypath
|
||||
|
||||
# PDT-specific (PHP Development Tools)
|
||||
.buildpath
|
||||
|
||||
# sbteclipse plugin
|
||||
.target
|
||||
|
||||
# Tern plugin
|
||||
.tern-project
|
||||
|
||||
# TeXlipse plugin
|
||||
.texlipse
|
||||
|
||||
# STS (Spring Tool Suite)
|
||||
.springBeans
|
||||
|
||||
# Code Recommenders
|
||||
.recommenders/
|
||||
|
||||
# Annotation Processing
|
||||
.apt_generated/
|
||||
.apt_generated_test/
|
||||
|
||||
# Scala IDE specific (Scala & Java development for Eclipse)
|
||||
.cache-main
|
||||
.scala_dependencies
|
||||
.worksheet
|
||||
|
||||
# Uncomment this line if you wish to ignore the project description file.
|
||||
# Typically, this file would be tracked if it contains build/dependency configurations:
|
||||
#.project
|
||||
|
||||
### Eclipse Patch ###
|
||||
# Spring Boot Tooling
|
||||
.sts4-cache/
|
||||
|
||||
### Git ###
|
||||
# Created by git for backups. To disable backups in Git:
|
||||
# $ git config --global mergetool.keepBackup false
|
||||
*.orig
|
||||
|
||||
# Created by git when using merge tools for conflicts
|
||||
*.BACKUP.*
|
||||
*.BASE.*
|
||||
*.LOCAL.*
|
||||
*.REMOTE.*
|
||||
*_BACKUP_*.txt
|
||||
*_BASE_*.txt
|
||||
*_LOCAL_*.txt
|
||||
*_REMOTE_*.txt
|
||||
|
||||
### Java ###
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
replay_pid*
|
||||
|
||||
### JetBrains+all ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# AWS User-specific
|
||||
.idea/**/aws.xml
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
!gradle-wrapper.jar
|
||||
.gradle/
|
||||
build/
|
||||
*/build/
|
||||
run/
|
||||
javadoc/
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# we use maven!
|
||||
build.xml
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# Maven
|
||||
log/
|
||||
target/
|
||||
dependency-reduced-pom.xml
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# various other potential build files
|
||||
bin/
|
||||
dist/
|
||||
manifest.mf
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# Mac
|
||||
.DS_Store/
|
||||
.DS_Store
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# vim
|
||||
.*.sw[a-p]
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# Linux temp files
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# SonarLint plugin
|
||||
.idea/sonarlint/
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### JetBrains+all Patch ###
|
||||
# Ignore everything but code style settings and run configurations
|
||||
# that are supposed to be shared within teams.
|
||||
|
||||
.idea/*
|
||||
|
||||
!.idea/codeStyles
|
||||
!.idea/runConfigurations
|
||||
|
||||
### Kotlin ###
|
||||
# Compiled class file
|
||||
|
||||
# Log file
|
||||
|
||||
# BlueJ files
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
|
||||
# Package Files #
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
|
||||
### Linux ###
|
||||
*~
|
||||
|
||||
# Paperweight
|
||||
build-data/
|
||||
*-API
|
||||
*-MojangAPI
|
||||
*-Server
|
||||
paper-api-generator
|
||||
compare.txt
|
||||
*.patch
|
||||
!patches/**/*
|
||||
upstream
|
||||
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# .nfs files are created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
### macOS ###
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
### macOS Patch ###
|
||||
# iCloud generated files
|
||||
*.icloud
|
||||
|
||||
### Maven ###
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
pom.xml.next
|
||||
release.properties
|
||||
dependency-reduced-pom.xml
|
||||
buildNumber.properties
|
||||
.mvn/timing.properties
|
||||
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
|
||||
.mvn/wrapper/maven-wrapper.jar
|
||||
|
||||
# Eclipse m2e generated files
|
||||
# Eclipse Core
|
||||
.project
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
.classpath
|
||||
|
||||
### NetBeans ###
|
||||
**/nbproject/private/
|
||||
**/nbproject/Makefile-*.mk
|
||||
**/nbproject/Package-*.bash
|
||||
build/
|
||||
nbbuild/
|
||||
dist/
|
||||
nbdist/
|
||||
.nb-gradle/
|
||||
|
||||
### Vim ###
|
||||
# Swap
|
||||
[._]*.s[a-v][a-z]
|
||||
!*.svg # comment out if you don't need vector files
|
||||
[._]*.sw[a-p]
|
||||
[._]s[a-rt-v][a-z]
|
||||
[._]ss[a-gi-z]
|
||||
[._]sw[a-p]
|
||||
|
||||
# Session
|
||||
Session.vim
|
||||
Sessionx.vim
|
||||
|
||||
# Temporary
|
||||
.netrwhist
|
||||
# Auto-generated tag files
|
||||
tags
|
||||
# Persistent undo
|
||||
[._]*.un~
|
||||
|
||||
### VisualStudioCode ###
|
||||
.vscode/*
|
||||
!.vscode/settings.json
|
||||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
!.vscode/*.code-snippets
|
||||
|
||||
# Local History for Visual Studio Code
|
||||
.history/
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
|
||||
### VisualStudioCode Patch ###
|
||||
# Ignore all local history of files
|
||||
.history
|
||||
.ionide
|
||||
|
||||
### Windows ###
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
### Gradle ###
|
||||
.gradle
|
||||
**/build/
|
||||
!src/**/build/
|
||||
|
||||
# Ignore Gradle GUI config
|
||||
gradle-app.setting
|
||||
|
||||
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||
!gradle-wrapper.jar
|
||||
|
||||
# Avoid ignore Gradle wrappper properties
|
||||
!gradle-wrapper.properties
|
||||
|
||||
# Cache of project
|
||||
.gradletasknamecache
|
||||
|
||||
# Eclipse Gradle plugin generated files
|
||||
# Eclipse Core
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
|
||||
### Gradle Patch ###
|
||||
# Java heap dump
|
||||
*.hprof
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/java,kotlin,jetbrains+all,gradle,git,visualstudiocode,eclipse,netbeans,macos,windows,linux,vim,maven
|
||||
23
LICENSE.md
23
LICENSE.md
@@ -1,23 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the “Software”), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
24
README.md
24
README.md
@@ -1,24 +0,0 @@
|
||||
<div align="center">
|
||||
|
||||
[](https://github.com/PlazmaMC/Plazma)
|
||||
|
||||
### A Server Platform for Minecraft: Java Edition based on [Paper](https://github.com/PaperMC/Paper)
|
||||
|
||||
[](https://plazmamc.org/discord)
|
||||
[](LICENSE.md)
|
||||
[](https://plazmamc.org/downloads)
|
||||
|
||||
[](https://plazmamc.org/downloads)
|
||||
[](https://github.com/PlazmaMC/Plazma/stargazers)
|
||||
[](https://github.com/PlazmaMC/Plazma/forks)
|
||||
[](https://github.com/PlazmaMC/Plazma/watchers)
|
||||
|
||||
### [⬇️ Downloads](https://plazmamc.org/downloads)
|
||||
|
||||
</div>
|
||||
|
||||
[main]: https://github.com/PlazmaMC/PlazmaBukkit/blob/main/README.md
|
||||
|
||||
> [!IMPORTANT]
|
||||
This is the branch for Plazma 1.21.4. If you want to know more about Plazma, please check the **[main branch][main]**.<br>
|
||||
해당 페이지는 Plazma의 1.21.4용 분기입니다. 플라즈마에 대해 자세히 알고 싶다면 **[main 분기][main]** 를 확인해주세요.
|
||||
@@ -1,17 +0,0 @@
|
||||
# You can use this file to import files from minecraft libraries into the project
|
||||
# format:
|
||||
# <artifactId> <fileName>
|
||||
# both fully qualified and a file based syntax are accepted for <fileName>:
|
||||
# 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
|
||||
# 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
|
||||
#
|
||||
|
||||
minecraft net.minecraft.server.commands.PardonCommand
|
||||
minecraft net.minecraft.server.commands.PardonIpCommand
|
||||
168
build.gradle.kts
168
build.gradle.kts
@@ -2,132 +2,84 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat
|
||||
import org.gradle.api.tasks.testing.logging.TestLogEvent
|
||||
|
||||
plugins {
|
||||
java
|
||||
`maven-publish`
|
||||
alias(libs.plugins.shadow) apply false
|
||||
alias(libs.plugins.paperweight)
|
||||
id("io.papermc.paperweight.patcher") version "2.0.0-beta.14"
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://repo.papermc.io/repository/maven-public/") { name = "papermc"
|
||||
content { onlyForConfigurations(configurations.paperclip.name) }
|
||||
}
|
||||
maven("https://repo.codemc.io/repository/maven-public/") { name = "codemc" }
|
||||
maven("https://jitpack.io") { name = "jitpack" }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
remapper(libs.remapper)
|
||||
paperclip(libs.paperclip)
|
||||
decompiler(libs.decompiler)
|
||||
}
|
||||
|
||||
val brandName: String by project
|
||||
val providerRepo: String by project
|
||||
paperweight {
|
||||
serverProject = project(":${brandName.lowercase()}-server")
|
||||
upstreams.register("purpur") {
|
||||
repo = github("PurpurMC", "Purpur")
|
||||
ref = providers.gradleProperty("purpurRef")
|
||||
|
||||
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"))
|
||||
patchFile {
|
||||
path = "purpur-server/build.gradle.kts"
|
||||
outputFile = file("plazma-server/build.gradle.kts")
|
||||
patchFile = file("plazma-server/build.gradle.kts.patch")
|
||||
}
|
||||
|
||||
patchTasks.register("generatedApi") {
|
||||
isBareDirectory = true
|
||||
upstreamDirPath = "paper-api-generator/generated"
|
||||
patchDir = projectDir.resolve("patches/generated-api")
|
||||
outputDir = projectDir.resolve("paper-api-generator/generated")
|
||||
patchFile {
|
||||
path = "purpur-api/build.gradle.kts"
|
||||
outputFile = file("plazma-api/build.gradle.kts")
|
||||
patchFile = file("plazma-api/build.gradle.kts.patch")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks {
|
||||
applyPatches {
|
||||
dependsOn("applyGeneratedApiPatches")
|
||||
}
|
||||
|
||||
rebuildPatches {
|
||||
dependsOn("rebuildGeneratedApiPatches")
|
||||
}
|
||||
|
||||
generateDevelopmentBundle {
|
||||
apiCoordinates.set("${project.group}:${brandName.lowercase()}-api")
|
||||
libraryRepositories.addAll(
|
||||
"https://repo1.maven.org/maven2/",
|
||||
"https://repo.papermc.io/repository/maven-public/",
|
||||
"https://repo.codemc.io/repository/maven-public/",
|
||||
"https://jitpack.io",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
publishing.publications.create<MavenPublication>("devBundle") {
|
||||
artifact(tasks.generateDevelopmentBundle) { artifactId = "dev-bundle" }
|
||||
}
|
||||
|
||||
val mavenUsername: String? by project
|
||||
val mavenPassword: String? by project
|
||||
allprojects {
|
||||
apply(plugin = "java")
|
||||
apply(plugin = "maven-publish")
|
||||
|
||||
java.toolchain.languageVersion.set(JavaLanguageVersion.of(21))
|
||||
|
||||
publishing.repositories.maven("https://maven.pkg.github.com/$providerRepo") {
|
||||
name = "github"
|
||||
|
||||
credentials {
|
||||
username = mavenUsername ?: System.getenv("GRADLE_PROPERTY_MAVEN_USERNAME") ?: System.getenv("MAVEN_USERNAME")
|
||||
password = mavenPassword ?: System.getenv("GRADLE_PROPERTY_MAVEN_PASSWORD") ?: System.getenv("MAVEN_PASSWORD")
|
||||
patchRepo("paperApi") {
|
||||
upstreamPath = "paper-api"
|
||||
patchesDir = file("plazma-api/paper-patches")
|
||||
outputDir = file("paper-api")
|
||||
}
|
||||
}
|
||||
|
||||
publishing.repositories.maven("https://repo.codemc.io/repository/maven-snapshots/") {
|
||||
name = "codemc"
|
||||
|
||||
credentials {
|
||||
username = mavenUsername ?: System.getenv("GRADLE_PROPERTY_MAVEN_USERNAME") ?: System.getenv("MAVEN_USERNAME")
|
||||
password = mavenPassword ?: System.getenv("GRADLE_PROPERTY_MAVEN_PASSWORD") ?: System.getenv("MAVEN_PASSWORD")
|
||||
patchDir("purpurApi") {
|
||||
upstreamPath = "purpur-api"
|
||||
excludes = listOf("build.gradle.kts", "build.gradle.kts.patch", "paper-patches")
|
||||
patchesDir = file("plazma-api/fork-patches")
|
||||
outputDir = file("purpur-api")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://repo.papermc.io/repository/maven-public/") { name = "papermc" }
|
||||
maven("https://repo.codemc.io/repository/maven-public/") { name = "codeme" }
|
||||
maven("https://jitpack.io") { name = "jitpack" }
|
||||
apply(plugin = "java-library")
|
||||
apply(plugin = "maven-publish")
|
||||
|
||||
extensions.configure<JavaPluginExtension> {
|
||||
toolchain {
|
||||
languageVersion = JavaLanguageVersion.of(21)
|
||||
}
|
||||
}
|
||||
|
||||
tasks {
|
||||
withType<JavaCompile>().configureEach {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
options.release = 21
|
||||
}
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://repo.papermc.io/repository/maven-public/")
|
||||
}
|
||||
|
||||
withType<Javadoc> {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
tasks.withType<AbstractArchiveTask>().configureEach {
|
||||
isPreserveFileTimestamps = false
|
||||
isReproducibleFileOrder = true
|
||||
}
|
||||
tasks.withType<JavaCompile> {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
options.release = 21
|
||||
options.isFork = true
|
||||
}
|
||||
tasks.withType<Javadoc> {
|
||||
options.encoding = Charsets.UTF_8.name()
|
||||
}
|
||||
tasks.withType<ProcessResources> {
|
||||
filteringCharset = Charsets.UTF_8.name()
|
||||
}
|
||||
tasks.withType<Test> {
|
||||
testLogging {
|
||||
showStackTraces = true
|
||||
exceptionFormat = TestExceptionFormat.FULL
|
||||
events(TestLogEvent.STANDARD_OUT)
|
||||
}
|
||||
}
|
||||
|
||||
withType<ProcessResources> {
|
||||
filteringCharset = Charsets.UTF_8.name()
|
||||
}
|
||||
|
||||
withType<Test> {
|
||||
testLogging {
|
||||
showStackTraces = true
|
||||
exceptionFormat = TestExceptionFormat.FULL
|
||||
events(TestLogEvent.STANDARD_OUT)
|
||||
extensions.configure<PublishingExtension> {
|
||||
repositories {
|
||||
/*
|
||||
maven("https://repo.papermc.io/repository/maven-snapshots/") {
|
||||
name = "paperSnapshots"
|
||||
credentials(PasswordCredentials::class)
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,10 @@
|
||||
org.gradle.daemon = true
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
org.gradle.vfs.watch = false
|
||||
org.gradle.jvmargs = -Xmx4G -Dfile.encoding=UTF-8 -Dgraal.CompilerConfiguration=community -Dgraal.UsePriorityInlining=true -Dgraal.Vectorization=true -Dgraal.OptDuplication=true -Dgraal.SpeculativeGuardMovement=true -Dgraal.WriteableCodeCache=true
|
||||
group=org.plazmamc.plazma
|
||||
version=1.21.4-R0.1-SNAPSHOT
|
||||
mcVersion=1.21.4
|
||||
|
||||
paper.runMemoryGb = 8
|
||||
paper.runDisableWatchdog = true
|
||||
purpurRef=a9862d7ec77a2b7690e73e635a5829f1596be84e
|
||||
|
||||
group = org.plazmamc.plazma
|
||||
brandKey = plazmamc:plazma
|
||||
brandName = Plazma
|
||||
providerName = PlazmaMC
|
||||
providerRepo = PlazmaMC/PlazmaBukkit
|
||||
|
||||
version = 1.21.4-R0.1-SNAPSHOT
|
||||
mcVersion = 1.21.4
|
||||
|
||||
paperCommit = b746d9df0b6b7765478b2a72c2d963b6e668fa35
|
||||
purpurCommit = f06fd5bb3880e660ecfb43beaadf8ddac175fa8f
|
||||
org.gradle.configuration-cache=true
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
org.gradle.vfs.watch=false
|
||||
|
||||
@@ -1,15 +1,2 @@
|
||||
[versions]
|
||||
shadow = "8.3.5"
|
||||
remapper = "0.10.3"
|
||||
paperclip = "3.0.3"
|
||||
paperweight = "1.7.7"
|
||||
decompiler = "1.10.1"
|
||||
|
||||
[libraries]
|
||||
paperclip = { group = "io.papermc", name = "paperclip", version.ref = "paperclip" }
|
||||
remapper = { group = "net.fabricmc", name = "tiny-remapper", version.ref="remapper" }
|
||||
decompiler = { group = "org.vineflower", name = "vineflower", version.ref = "decompiler" }
|
||||
|
||||
[plugins]
|
||||
shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }
|
||||
paperweight = { id = "io.papermc.paperweight.patcher", version.ref = "paperweight" }
|
||||
# This file was generated by the Gradle 'init' task.
|
||||
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
|
||||
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
4
gradlew
vendored
4
gradlew
vendored
@@ -15,6 +15,8 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@@ -84,7 +86,7 @@ done
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
|
||||
2
gradlew.bat
vendored
2
gradlew.bat
vendored
@@ -13,6 +13,8 @@
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
|
||||
136
initDev
136
initDev
@@ -1,136 +0,0 @@
|
||||
#!/bin/bash
|
||||
# To initialize your development environment,
|
||||
# run below command in your terminal:
|
||||
# source ./initDev
|
||||
|
||||
PROJECT_DIR=$(pwd)
|
||||
|
||||
alias cl="clear;"
|
||||
|
||||
alias src="cd $PROJECT_DIR;"
|
||||
alias ca="cd $PROJECT_DIR/*-API || exit 1; vs;"
|
||||
alias cg="cd $PROJECT_DIR/paper-api-generator/generated || exit 1; vs;"
|
||||
alias cs="cd $PROJECT_DIR/*-Server || exit 1; vs;"
|
||||
|
||||
alias fa="ca __generate_fixup_patch"
|
||||
alias fg="cg __generate_fixup_patch"
|
||||
alias fs="cs __generate_fixup_patch"
|
||||
|
||||
alias gradle="./gradlew" # TODO: Paperweight will not work with Gradle 8.10.2
|
||||
alias gr="cd $PROJECT_DIR; gradle"
|
||||
alias grc="gr --no-rebuild"
|
||||
|
||||
alias ap="grc applyPatches"
|
||||
alias aap="grc applyAPIPatches"
|
||||
alias agp="grc applyGeneratedAPIPatches"
|
||||
alias asp="grc applyServerPatches"
|
||||
|
||||
alias aap!="rm -rf $PROJECT_DIR/*-API; aap"
|
||||
alias agp!="rm -rf $PROJECT_DIR/paper-api-generator/generated; agp"
|
||||
alias asp!="rm -rf $PROJECT_DIR/*-Server; asp"
|
||||
|
||||
alias aapa="ca vpa"
|
||||
alias aapc="ca vpc"
|
||||
alias aapc="ca vps"
|
||||
alias agpa="cg vpa"
|
||||
alias agpc="cg vpc"
|
||||
alias agpc="cg vps"
|
||||
alias aspa="cs vpa"
|
||||
alias aspc="cs vpc"
|
||||
alias aspc="cs vps"
|
||||
|
||||
alias rp="grc rebuildPatches"
|
||||
alias rap="grc rebuildAPIPatches"
|
||||
alias rgp="grc rebuildGeneratedAPIPatches"
|
||||
alias rsp="grc rebuildServerPatches"
|
||||
|
||||
alias mk="gr build"
|
||||
alias mko="gr createReobfPaperclipJar"
|
||||
alias mkm="gr createMojmapPaperclipJar"
|
||||
|
||||
|
||||
alias va="git add"
|
||||
alias va.="git add ."
|
||||
|
||||
alias vl="git log --oneline base..HEAD"
|
||||
|
||||
alias vr="git rebase --autosquash base"
|
||||
alias vra="git rebase --abort"
|
||||
alias vrc="va.; git rebase --continue"
|
||||
alias vrs="git rebase --skip"
|
||||
|
||||
alias vp="git am --show-current-patch"
|
||||
alias vpa="git am --abort"
|
||||
alias vpc="git am --continue"
|
||||
alias vps="git am --skip"
|
||||
|
||||
alias vm="git commit --fixup"
|
||||
alias vs="git status"
|
||||
|
||||
alias vc="git commit --verbose --no-interactive"
|
||||
alias vcn="vc --no-message"
|
||||
alias vcm="vc --message"
|
||||
|
||||
alias vca="git commit --verbose --no-interactive --all"
|
||||
alias vcan="git commit --verbose --no-interactive --all --no-message"
|
||||
alias vcam="git commit --verbose --no-interactive --all --message"
|
||||
|
||||
alias ve="git commit --verbose --no-interactive --amend"
|
||||
alias ven="ve --no-message"
|
||||
alias vem="ve --message"
|
||||
|
||||
alias vea="git commit --verbose --no-interactive --all --amend"
|
||||
alias vean="vea --no-message"
|
||||
alias veam="vea --message"
|
||||
|
||||
alias as="ca src"
|
||||
alias al="ca vl"
|
||||
alias ac="ca va.; vcm"
|
||||
alias am="ca vm"
|
||||
alias ae="ca ve"
|
||||
alias aea="ca vea"
|
||||
alias aean="ca vean"
|
||||
alias aeam="ca veam"
|
||||
|
||||
alias gs="cg src"
|
||||
alias gl="cg vl"
|
||||
alias gc="cg va.; vcm"
|
||||
alias gm="cg vm"
|
||||
alias ge="cg ve"
|
||||
alias gea="cg vea"
|
||||
alias gean="cg vean"
|
||||
alias geam="cg veam"
|
||||
|
||||
alias ss="cs src"
|
||||
alias sl="cs vl"
|
||||
alias sc="cs va.; vcm"
|
||||
alias sm="cs vm"
|
||||
alias se="cs ve"
|
||||
alias sea="cs vea"
|
||||
alias sean="cs vean"
|
||||
alias seam="cs veam"
|
||||
|
||||
function __generate_fixup_patch() {
|
||||
garg="."
|
||||
[[ "$1" == "-x" ]] && garg="--amend"
|
||||
|
||||
git add .
|
||||
git commit "$garg" -m "fixup"
|
||||
git format-patch -1
|
||||
mv 0001-fixup.patch ../ -f
|
||||
|
||||
cd ../
|
||||
}
|
||||
|
||||
# Commit Updated Upstream
|
||||
function cuu() {
|
||||
# shellcheck disable=SC2059
|
||||
printf "Updated Upstream ($1)$(/bin/cat compare.txt)" | git commit -F -
|
||||
}
|
||||
|
||||
git update-index --assume-unchanged ./build-data/dev-imports.txt
|
||||
|
||||
if [ ! -L "$PROJECT_DIR/upstream" ]; then
|
||||
grc applyPatches
|
||||
ln -dsf "$PROJECT_DIR/.gradle/caches/paperweight/upstreams/paper" "$PROJECT_DIR/upstream"
|
||||
fi
|
||||
@@ -1,47 +0,0 @@
|
||||
[versions]
|
||||
brigadier = "1.2.9"
|
||||
|
||||
guava = "33.3.1-jre"
|
||||
gson = "2.11.0"
|
||||
bungeechat = "1.20-R0.2-deprecated+build.19"
|
||||
|
||||
# snakeyaml
|
||||
joml = "1.10.8"
|
||||
json-simple = "1.1.1"
|
||||
|
||||
fastutil = "8.5.15"
|
||||
# adventure
|
||||
# log4j
|
||||
slf4j-api = "2.0.9"
|
||||
sentry = "5.4.0"
|
||||
|
||||
# asm
|
||||
# mvn
|
||||
|
||||
annotations = "24.1.0"
|
||||
checkerqual = "3.21.0"
|
||||
jspecify = "1.0.0"
|
||||
|
||||
|
||||
[libraries]
|
||||
brigadier = { group = "com.mojang", name = "brigadier", version.ref = "brigadier" }
|
||||
|
||||
guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
|
||||
gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" }
|
||||
bungeechat = { group = "net.md-5", name = "bungeecord-chat", version.ref = "bungeechat" }
|
||||
|
||||
joml = { group = "org.joml", name = "joml", version.ref = "joml" }
|
||||
jsonsimple = { group = "com.googlecode.json-simple", name = "json-simple", version.ref = "json-simple" }
|
||||
|
||||
fastutil = { group = "it.unimi.dsi", name = "fastutil", version.ref = "fastutil" }
|
||||
slf4j = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j-api" }
|
||||
sentry = { group = "io.sentry", name = "sentry", version.ref = "sentry" }
|
||||
|
||||
annotations = { group = "org.jetbrains", name = "annotations", version.ref = "annotations" }
|
||||
checkerqual = { group = "org.checkerframework", name = "checker-qual", version.ref = "checkerqual" }
|
||||
jspecify = { group = "org.jspecify", name = "jspecify", version.ref = "jspecify" }
|
||||
|
||||
|
||||
[bundles]
|
||||
api = [ "brigadier", "guava", "gson", "fastutil", "slf4j", "sentry", "jspecify" ]
|
||||
annotations = [ "annotations", "checkerqual" ]
|
||||
@@ -1,73 +0,0 @@
|
||||
[versions]
|
||||
adventure = "4.17.0"
|
||||
log4j = "2.24.1"
|
||||
asm = "9.7.1"
|
||||
|
||||
mvn = "3.9.6"
|
||||
mvn-resolver = "1.9.18"
|
||||
|
||||
commons-lang2 = "2.6"
|
||||
commons-lang3 = "3.12.0"
|
||||
|
||||
snakeyaml = "2.2"
|
||||
|
||||
junit = "1.10.0"
|
||||
junit-jupiter = "5.10.0"
|
||||
junit-pioneer = "2.2.0"
|
||||
|
||||
hamcrest = "2.2"
|
||||
mockito = "5.14.1"
|
||||
|
||||
[libraries]
|
||||
adventure-bom = { group = "net.kyori", name = "adventure-bom", version.ref = "adventure" }
|
||||
adventure-api = { group = "net.kyori", name = "adventure-api", version.ref = "adventure" }
|
||||
adventure-minimessage = { group = "net.kyori", name = "adventure-text-minimessage", version.ref = "adventure" }
|
||||
adventure-logger-slf4j = { group = "net.kyori", name = "adventure-text-logger-slf4j", version.ref = "adventure" }
|
||||
adventure-serializer-gson = { group = "net.kyori", name = "adventure-text-serializer-gson", version.ref = "adventure" }
|
||||
adventure-serializer-ansi = { group = "net.kyori", name = "adventure-text-serializer-ansi", version.ref = "adventure" }
|
||||
adventure-serializer-plain = { group = "net.kyori", name = "adventure-text-serializer-plain", version.ref = "adventure" }
|
||||
adventure-serializer-legacy = { group = "net.kyori", name = "adventure-text-serializer-legacy", version.ref = "adventure" }
|
||||
|
||||
log4j = { group = "org.apache.logging.log4j", name = "log4j-core", version.ref = "log4j" }
|
||||
log4j-api = { group = "org.apache.logging.log4j", name = "log4j-api", version.ref = "log4j" }
|
||||
log4j-stream = { group = "org.apache.logging.log4j", name = "log4j-iostreams", version.ref = "log4j" }
|
||||
|
||||
asm = { group = "org.ow2.asm", name = "asm", version.ref = "asm" }
|
||||
asm-tree = { group = "org.ow2.asm", name = "asm-tree", version.ref = "asm" }
|
||||
asm-commons = { group = "org.ow2.asm", name = "asm-commons", version.ref = "asm" }
|
||||
|
||||
mvn = { group = "org.apache.maven", name = "maven-resolver-provider", version.ref = "mvn" }
|
||||
mvn-connector = { group = "org.apache.maven.resolver", name = "maven-resolver-connector-basic", version.ref = "mvn-resolver" }
|
||||
mvn-transport = { group = "org.apache.maven.resolver", name = "maven-resolver-transport-http", version.ref = "mvn-resolver" }
|
||||
|
||||
commons-lang2 = { group = "commons-lang", name = "commons-lang", version.ref = "commons-lang2" }
|
||||
commons-lang3 = { group = "org.apache.commons", name = "commons-lang3", version.ref = "commons-lang3" }
|
||||
|
||||
snakeyaml = { group = "org.yaml", name = "snakeyaml", version.ref = "snakeyaml" }
|
||||
|
||||
junit = { group = "org.junit.platform", name = "junit-platform-suite-engine", version.ref = "junit" }
|
||||
junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit-jupiter" }
|
||||
junit-pioneer = { group = "org.junit-pioneer", name = "junit-pioneer", version.ref = "junit-pioneer" }
|
||||
|
||||
hamcrest = { group = "org.hamcrest", name = "hamcrest", version.ref = "hamcrest" }
|
||||
mockito = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
|
||||
|
||||
|
||||
[bundles]
|
||||
asm = [ "asm", "asm-commons" ]
|
||||
mvn = [ "mvn-connector", "mvn-transport" ]
|
||||
|
||||
test = [
|
||||
"junit-jupiter",
|
||||
"hamcrest",
|
||||
"mockito",
|
||||
"asm-tree"
|
||||
]
|
||||
adventure = [
|
||||
"adventure-api",
|
||||
"adventure-minimessage",
|
||||
"adventure-logger-slf4j",
|
||||
"adventure-serializer-gson",
|
||||
"adventure-serializer-plain",
|
||||
"adventure-serializer-legacy"
|
||||
]
|
||||
@@ -1,94 +0,0 @@
|
||||
[versions]
|
||||
concurrentutil = "0.0.2"
|
||||
|
||||
jline = "3.27.1"
|
||||
tca = "1.3.0"
|
||||
# adventure
|
||||
# log4j
|
||||
netty = "4.1.97.Final"
|
||||
# asm
|
||||
configurate = "4.2.0-SNAPSHOT"
|
||||
# commons2
|
||||
sqlite = "3.47.0.0"
|
||||
mysql = "9.1.0"
|
||||
disruptor = "3.4.4"
|
||||
velocity = "3.3.0-SNAPSHOT"
|
||||
|
||||
# mvn
|
||||
|
||||
# snakeyaml
|
||||
simpleyaml = "1.8.4"
|
||||
|
||||
rhino = "1.7.14"
|
||||
upnp = "1.0"
|
||||
|
||||
classgraph = "4.8.47"
|
||||
# test (junit, hamcrest, mockito, asm-tree)
|
||||
srgutils = "1.0.9"
|
||||
art = "2.0.3"
|
||||
|
||||
rewriter = "0.0.3"
|
||||
spark-api = "0.1-20240720.200737-2"
|
||||
spark = "1.10.119-SNAPSHOT"
|
||||
|
||||
|
||||
[libraries]
|
||||
concurrentutil = { group = "ca.spottedleaf", name = "concurrentutil", version.ref = "concurrentutil" }
|
||||
|
||||
jline-ffm = { group = "org.jline", name = "jline-terminal-ffm", version.ref = "jline" }
|
||||
jline-jni = { group = "org.jline", name = "jline-terminal-jni", version.ref = "jline" }
|
||||
tca = { group = "net.minecrell", name = "terminalconsoleappender", version.ref="tca" }
|
||||
# adventure
|
||||
# log4j
|
||||
netty-haproxy = { group = "io.netty", name = "netty-codec-haproxy", version.ref = "netty" }
|
||||
# asm
|
||||
configurate-yaml = { group = "org.spongepowered", name = "configurate-yaml", version.ref = "configurate" }
|
||||
# commons2
|
||||
sqlite = { group = "org.xerial", name = "sqlite-jdbc", version.ref = "sqlite" }
|
||||
mysql = { group = "com.mysql", name = "mysql-connector-j", version.ref = "mysql" }
|
||||
disruptor = { group = "com.lmax", name = "disruptor", version.ref = "disruptor" }
|
||||
velocity-native = { group = "com.velocitypowered", name = "velocity-native", version.ref = "velocity" }
|
||||
|
||||
# snakeyaml
|
||||
simpleyaml = { group = "com.github.carleslc.Simple-YAML", name = "Simple-Yaml", version.ref = "simpleyaml" }
|
||||
|
||||
rhino-runtime = { group = "org.mozilla", name = "rhino-runtime", version.ref = "rhino" }
|
||||
rhino-engine = { group = "org.mozilla", name = "rhino-engine", version.ref = "rhino" }
|
||||
upnp = { group = "dev.omega24", name = "upnp4j", version.ref = "upnp" }
|
||||
|
||||
classgraph = { group = "io.github.classgraph", name = "classgraph", version.ref = "classgraph" }
|
||||
# test (junit, hamcrest, mockito, asm-tree)
|
||||
srgutils = { group = "net.neoforged", name = "srgutils", version.ref = "srgutils" }
|
||||
art = { group = "net.neoforged", name = "AutoRenamingTool", version.ref = "art" }
|
||||
|
||||
rewriter = { group = "io.papermc", name = "reflection-rewriter", version.ref = "rewriter" }
|
||||
rewriter-runtime = { group = "io.papermc", name = "reflection-rewriter-runtime", version.ref = "rewriter" }
|
||||
rewriter-proxy = { group = "io.papermc", name = "reflection-rewriter-proxy-generator", version.ref = "rewriter" }
|
||||
|
||||
spark-api = { group = "me.lucko", name = "spark-api", version.ref = "spark-api" }
|
||||
spark = { group = "me.lucko", name = "spark-paper", version.ref = "spark" }
|
||||
|
||||
|
||||
[bundles]
|
||||
runtime = [ "sqlite", "mysql", "disruptor" ]
|
||||
test = [ "classgraph" ]
|
||||
|
||||
implementation = [
|
||||
"concurrentutil",
|
||||
"jline-ffm",
|
||||
"jline-jni",
|
||||
"tca",
|
||||
"netty-haproxy",
|
||||
"configurate-yaml",
|
||||
"velocity-native",
|
||||
"rhino-runtime",
|
||||
"rhino-engine",
|
||||
"upnp",
|
||||
"srgutils",
|
||||
"art",
|
||||
"rewriter",
|
||||
"rewriter-runtime",
|
||||
"rewriter-proxy",
|
||||
"spark-api",
|
||||
"spark"
|
||||
]
|
||||
33
plazma-api/build.gradle.kts.patch
Normal file
33
plazma-api/build.gradle.kts.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
--- a/purpur-api/build.gradle.kts
|
||||
+++ b/purpur-api/build.gradle.kts
|
||||
@@ -101,21 +_,17 @@
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
- java {
|
||||
- srcDir(generatedApiPath)
|
||||
- srcDir(file("../paper-api/src/main/java"))
|
||||
- }
|
||||
- resources {
|
||||
- srcDir(file("../paper-api/src/main/resources"))
|
||||
- }
|
||||
+ java { srcDir(generatedApiPath) }
|
||||
+ java { srcDir(file("../paper-api/src/main/java")) }
|
||||
+ resources { srcDir(file("../paper-api/src/main/resources")) }
|
||||
+ java { srcDir(file("../purpur-api/src/main/java")) }
|
||||
+ resources { srcDir(file("../purpur-api/src/main/resources")) }
|
||||
}
|
||||
test {
|
||||
- java {
|
||||
- srcDir(file("../paper-api/src/test/java"))
|
||||
- }
|
||||
- resources {
|
||||
- srcDir(file("../paper-api/src/test/resources"))
|
||||
- }
|
||||
+ java { srcDir(file("../paper-api/src/test/java")) }
|
||||
+ resources { srcDir(file("../paper-api/src/test/resources")) }
|
||||
+ java { srcDir(file("../purpur-api/src/test/java")) }
|
||||
+ resources { srcDir(file("../purpur-api/src/test/resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
51
plazma-server/build.gradle.kts.patch
Normal file
51
plazma-server/build.gradle.kts.patch
Normal file
@@ -0,0 +1,51 @@
|
||||
--- a/purpur-server/build.gradle.kts
|
||||
+++ b/purpur-server/build.gradle.kts
|
||||
@@ -29,7 +_,23 @@
|
||||
outputDir = rootDirectory.dir("paper-server")
|
||||
}
|
||||
}
|
||||
- activeFork = purpur
|
||||
+
|
||||
+ val plazma = forks.register("plazma") {
|
||||
+ forks = purpur
|
||||
+ upstream.patchRepo("paperServer") {
|
||||
+ upstreamRepo = purpur.patchedRepo("paperServer")
|
||||
+ patchesDir = rootDirectory.dir("plazma-server/paper-patches")
|
||||
+ outputDir = rootDirectory.dir("paper-server")
|
||||
+ }
|
||||
+ upstream.patchDir("purpurServer") {
|
||||
+ upstreamPath = "purpur-server"
|
||||
+ excludes = setOf("src/minecraft", "minecraft-patches", "paper-patches", "build.gradle.kts", "build.gradle.kts.patch")
|
||||
+ patchesDir = rootDirectory.dir("plazma-server/purpur-patches")
|
||||
+ outputDir = rootDirectory.dir("purpur-server")
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ activeFork = plazma
|
||||
|
||||
spigot {
|
||||
buildDataRef = "3edaf46ec1eed4115ce1b18d2846cded42577e42"
|
||||
@@ -115,10 +_,14 @@
|
||||
main {
|
||||
java { srcDir("../paper-server/src/main/java") }
|
||||
resources { srcDir("../paper-server/src/main/resources") }
|
||||
+ java { srcDir("../purpur-server/src/main/java") }
|
||||
+ resources { srcDir("../purpur-server/src/main/resources") }
|
||||
}
|
||||
test {
|
||||
java { srcDir("../paper-server/src/test/java") }
|
||||
resources { srcDir("../paper-server/src/test/resources") }
|
||||
+ java { srcDir("../purpur-server/src/test/java") }
|
||||
+ resources { srcDir("../purpur-server/src/test/resources") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +_,7 @@
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":purpur-api"))
|
||||
+ implementation(project(":plazma-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
|
||||
@@ -1,25 +1,16 @@
|
||||
import java.util.Locale
|
||||
|
||||
val projectName = "Plazma"
|
||||
|
||||
dependencyResolutionManagement {
|
||||
versionCatalogs {
|
||||
create("libs") {}
|
||||
create("api") {
|
||||
from(files("libs/api.versions.toml"))
|
||||
}
|
||||
create("server") {
|
||||
from(files("libs/server.versions.toml"))
|
||||
}
|
||||
create("common") {
|
||||
from(files("libs/common.versions.toml"))
|
||||
}
|
||||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
mavenLocal()
|
||||
maven("https://repo.papermc.io/repository/maven-public/")
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = projectName.lowercase()
|
||||
for (name in listOf("$projectName-API", "$projectName-Server")) {
|
||||
val projName = name.lowercase(Locale.ENGLISH)
|
||||
include(projName)
|
||||
findProject(":$projName")!!.projectDir = file(name)
|
||||
plugins {
|
||||
id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0"
|
||||
}
|
||||
|
||||
rootProject.name = "plazma"
|
||||
|
||||
include("plazma-api")
|
||||
include("plazma-server")
|
||||
|
||||
Reference in New Issue
Block a user