Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WorldGuard-Folia #2060

Draft
wants to merge 62 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
ea6a2d3
Reimplement Folia Support.
Yomamaeatstoes Dec 26, 2023
50e4f4a
Update README.md
Yomamaeatstoes Dec 26, 2023
b658d97
Updated FoliaLib dependency. Fixed ProcessPlayerEvent scheduler in Wo…
Loving11ish Jan 28, 2024
6edbb60
Merge pull request #1 from Folia-Inquisitors/Master-Folia-Third-Revision
Yomamaeatstoes Jan 29, 2024
1368238
Updated FoliaLib dependency. Added new Folia task methods to Schedule…
Loving11ish Feb 6, 2024
c41f279
Merge remote-tracking branch 'upstream/master' into Master-Folia-Firs…
KaspianDev May 8, 2024
17a0d9d
Merge pull request #2 from KaspianDev/Master-Folia-First-Revision
Yomamaeatstoes May 13, 2024
65431c7
Fix fire placement by blocks when fire-spread is set to deny
aurorasmiles May 12, 2024
d9424b1
Release 7.0.10.
wizjany May 14, 2024
6f5501f
Bump to snapshot.
wizjany May 14, 2024
d6ef5e9
Remove adventure snapshot repository
Joo200 May 17, 2024
8b7729e
Fix silent flag for gameplay commands (#2081)
aurorasmiles May 23, 2024
ead1e1b
Fix checking bypass on initialize (#2082)
aromaa May 24, 2024
27f0095
Fix compilation for MC 1.21. Nothing tested yet.
wizjany Jun 17, 2024
2bd426b
Update Materials.java with 1.21 tags and materials
Joo200 Jun 17, 2024
7783e9a
Fix ItemStack conversion on block place on MC 1.21 (#2093)
lenis0012 Jun 19, 2024
6898ad8
Fix ItemStack conversion for spigot compatibility
Joo200 Jun 22, 2024
887f3bf
Special handling for WindCharges
Brokkonaut Jun 4, 2024
8aa37e3
Do not call as a bulk event, because it has to check every blocks type
Brokkonaut Jun 4, 2024
8329879
WindCharge -> AbstractWindCharge
Brokkonaut Jun 25, 2024
a5ea511
Fix UseBlockFlag for multiple uses at the same time, add windburst-flag
Joo200 Jun 26, 2024
af645ea
Cleanup code
Joo200 Jun 26, 2024
b269d7e
Handle vaults as use, crafters as chest-access.
wizjany Jun 26, 2024
1bfae45
Merge pull request #2089 from EngineHub/feat/mc-1.21
wizjany Jun 26, 2024
a801a9d
Release 7.0.11-beta1.
wizjany Jun 26, 2024
fa357f4
Back to snapshot.
wizjany Jun 26, 2024
c6fbfb8
remove double space
CyberFlameGO Jul 4, 2024
5749210
Port build-logic from WorldEdit
aurorasmiles Jul 2, 2024
ca49458
A bit of cleanup.
wizjany Jul 22, 2024
16ea462
Merge pull request #2100 from aurorasmiles/feat/buildlogic
wizjany Jul 22, 2024
8ffc81a
Fix NPE for teleport events without target location
Joo200 Jul 22, 2024
0de567d
Merge remote-tracking branch 'upstream/version/7.0.x' into WG7.0
KaspianDev Aug 8, 2024
7a0458d
Fix compilation
KaspianDev Aug 8, 2024
76c9092
Merge pull request #5 from KaspianDev/WG7.0
KaspianDev Aug 8, 2024
aa46529
Extend use flag to all (trap)doors.
wizjany Sep 8, 2024
70d225e
Split chest boat ride/open.
wizjany Sep 8, 2024
2ea5068
Workaround books no longer sending change block for lecterns.
wizjany Sep 8, 2024
b73a0a7
Check mob-damage for potion splashes from e.g. witches.
wizjany Sep 8, 2024
afb619d
Fix breeze damage flags
Joo200 Jul 22, 2024
9dd7d7c
Fix wind-charge-burst flag for player knockback
Joo200 Jul 27, 2024
679b569
Split wind charge into breeze/player flags.
wizjany Sep 8, 2024
0f3ea50
Merge pull request #2115 from EngineHub/feature/fix-breeze-stuff
wizjany Sep 8, 2024
cb011a8
Add moisture-change flag (#1879) (#2096)
ploppyperson Sep 9, 2024
068ad68
Release 7.0.11.
wizjany Sep 9, 2024
fb88d56
Bump to SNAPSHOT for dev.
wizjany Sep 9, 2024
03aac83
Match explosion flag coverage with EntityListener.
wizjany Sep 13, 2024
830472d
Revert previous changes to explosion event handling.
wizjany Sep 13, 2024
829a4a4
Release 7.0.12.
wizjany Sep 13, 2024
02dc89b
Bump to snapshot.
wizjany Sep 13, 2024
a0e397e
Use more snapshot-less holders on Paper.
wizjany Sep 13, 2024
d9716a5
Ignore arrow combustion.
wizjany Sep 13, 2024
92adfa9
Merge branch 'EngineHub:version/7.0.x' into Master-Folia-First-Revision
Yomamaeatstoes Oct 2, 2024
3b9ab47
Avoid using metadata storage if possible (#2150)
Joo200 Oct 16, 2024
5579d19
Remove stack size bypassing perm.
wizjany Oct 28, 2024
764d258
Fix deprecations on stack methods.
wizjany Oct 28, 2024
af8b023
Merge branch 'EngineHub:version/7.0.x' into Master-Folia-First-Revision
Yomamaeatstoes Nov 5, 2024
1a59d1e
Update to 1.21.3. (#2153)
wizjany Nov 9, 2024
2f13ae0
Release 7.0.13-beta-1
wizjany Nov 9, 2024
7ae07a9
Back to snapshot.
wizjany Nov 9, 2024
b1c0eb4
Merge branch 'EngineHub:version/7.0.x' into Master-Folia-First-Revision
Yomamaeatstoes Dec 1, 2024
89b6bdc
Fix typo.
wizjany Dec 10, 2024
b08da82
Merge branch 'EngineHub:version/7.0.x' into Master-Folia-First-Revision
Yomamaeatstoes Dec 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 7.0.13 (beta)

* Update to 1.21.3
* Remove max-stack-size bypass in stack command
* Fix a falling block metadata leak. (May still be problematic on Spigot, use Paper.)
* Fix flame enchant being blocked as entity damage on the arrow itself.
* More Paper-specific performance enhancements for hoppers.

## 7.0.12

* Fix a change in the default behavior of explosion flag handling.

## 7.0.11

* Add support for MC 1.21.
* Add wind-charge-burst flag which is checked along with `use` (for the interaction) or `pvp` (for the knockback).
* Add breeze-charge-explosion flag for breeze charges (i.e. from the mob, not player wind charges).
* Add moisture-change flag and config options.
* Fix an error if a player logged in to an unloaded world.
* Fix chest boat usage always being counted as ride.
* Consider potions thrown by mobs as mob-damage.
* Workaround spigot no longer sending block change events when a book is placed on a lectern.
* Improve accuracy of target blocks in blacklist/build-perms events.

## 7.0.10

* Add support for MC 1.20.5 and 1.20.6, drop support for other 1.20 versions
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ Please read CONTRIBUTING.md for important guidelines to follow.

Submissions must be licensed under the GNU Lesser General Public License v3.

# Folia Inquisitors
This Folia support is maintained by the following organizations and people:

[<img src="https://github.com/Folia-Inquisitors.png" width=80 alt="Folia-Inquisitors">](https://github.com/orgs/Folia-Inquisitors/repositories)
[<img src="https://github.com/TechnicallyCoded.png" width=80 alt="TechnicallyCoded">](https://github.com/TechnicallyCoded)
[<img src="https://github.com/Yomamaeatstoes.png" width=80 alt="Yomamaeatstoes">](https://github.com/Yomamaeatstoes)
[<img src="https://github.com/Loving11ish.png" width=80 alt="Loving11ish">](https://github.com/Loving11ish)

Links
-----

Expand Down
16 changes: 8 additions & 8 deletions buildSrc/build.gradle.kts → build-logic/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
plugins {
`kotlin-dsl`
kotlin("jvm") version embeddedKotlinVersion
}

repositories {
mavenCentral()
gradlePluginPortal()
}

dependencies {
implementation(gradleApi())
implementation("gradle.plugin.org.cadixdev.gradle:licenser:0.6.1")
implementation("org.ajoberstar.grgit:grgit-gradle:5.2.2")
implementation("com.github.johnrengelman:shadow:8.1.1")
implementation("org.jfrog.buildinfo:build-info-extractor-gradle:5.2.0")
implementation(libs.licenser)
implementation(libs.grgit)
implementation(libs.shadow)
implementation(libs.jfrog.buildinfo)
implementation(libs.gson)

constraints {
val asmVersion = "[9.7,)"
val asmVersion = "[${libs.versions.minimumAsm.get()},)"
implementation("org.ow2.asm:asm:$asmVersion") {
because("Need Java 21 support in shadow")
}
implementation("org.ow2.asm:asm-commons:$asmVersion") {
because("Need Java 21 support in shadow")
}
implementation("org.vafer:jdependency:[2.10,)") {
implementation("org.vafer:jdependency:[${libs.versions.minimumJdependency.get()},)") {
because("Need Java 21 support in shadow")
}
}
Expand Down
9 changes: 9 additions & 0 deletions build-logic/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}

rootProject.name = "build-logic"
32 changes: 32 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.artifactory-root.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import org.jfrog.gradle.plugin.artifactory.dsl.ArtifactoryPluginConvention
import org.jfrog.gradle.plugin.artifactory.task.ArtifactoryTask

plugins {
id("com.jfrog.artifactory")
}

val ARTIFACTORY_CONTEXT_URL = "artifactory_contextUrl"
val ARTIFACTORY_USER = "artifactory_user"
val ARTIFACTORY_PASSWORD = "artifactory_password"

if (!project.hasProperty(ARTIFACTORY_CONTEXT_URL)) ext[ARTIFACTORY_CONTEXT_URL] = "http://localhost"
if (!project.hasProperty(ARTIFACTORY_USER)) ext[ARTIFACTORY_USER] = "guest"
if (!project.hasProperty(ARTIFACTORY_PASSWORD)) ext[ARTIFACTORY_PASSWORD] = ""

configure<ArtifactoryPluginConvention> {
setContextUrl("${project.property(ARTIFACTORY_CONTEXT_URL)}")
clientConfig.publisher.run {
repoKey = when {
"${project.version}".contains("SNAPSHOT") -> "libs-snapshot-local"
else -> "libs-release-local"
}
username = "${project.property(ARTIFACTORY_USER)}"
password = "${project.property(ARTIFACTORY_PASSWORD)}"
isMaven = true
isIvy = false
}
}

tasks.named<ArtifactoryTask>("artifactoryPublish") {
isSkip = true
}
10 changes: 10 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.artifactory-sub.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
plugins {
id("com.jfrog.artifactory")
}

// Artifactory eagerly evaluates publications, so this must run after all changes to artifacts are done
afterEvaluate {
tasks.named<org.jfrog.gradle.plugin.artifactory.task.ArtifactoryTask>("artifactoryPublish") {
publications("maven")
}
}
65 changes: 65 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.common-java.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import buildlogic.getLibrary
import buildlogic.stringyLibs

plugins {
id("eclipse")
id("idea")
id("checkstyle")
id("buildlogic.common")
}

tasks
.withType<JavaCompile>()
.matching { it.name == "compileJava" || it.name == "compileTestJava" }
.configureEach {
val disabledLint = listOf(
"processing", "path", "fallthrough", "serial", "overloads",
)
options.release.set(21)
options.compilerArgs.addAll(listOf("-Xlint:all") + disabledLint.map { "-Xlint:-$it" })
options.isDeprecation = true
options.encoding = "UTF-8"
options.compilerArgs.add("-parameters")
//options.compilerArgs.add("-Werror")
}

configure<CheckstyleExtension> {
configFile = rootProject.file("config/checkstyle/checkstyle.xml")
toolVersion = "10.16.0"
}

tasks.withType<Test>().configureEach {
useJUnitPlatform()
}

dependencies {
"compileOnly"(stringyLibs.getLibrary("jsr305"))
"testImplementation"(platform(stringyLibs.getLibrary("junit-bom")))
"testImplementation"(stringyLibs.getLibrary("junit-jupiter-api"))
"testImplementation"(stringyLibs.getLibrary("junit-jupiter-params"))
"testRuntimeOnly"(stringyLibs.getLibrary("junit-jupiter-engine"))
}

// Java 8 turns on doclint which we fail
tasks.withType<Javadoc>().configureEach {
options.encoding = "UTF-8"
(options as StandardJavadocDocletOptions).apply {
//addBooleanOption("Werror", true)
addBooleanOption("Xdoclint:all", true)
addBooleanOption("Xdoclint:-missing", true)
tags(
"apiNote:a:API Note:",
"implSpec:a:Implementation Requirements:",
"implNote:a:Implementation Note:"
)
}
}

configure<JavaPluginExtension> {
withJavadocJar()
withSourcesJar()
}

tasks.named("check").configure {
dependsOn("checkstyleMain", "checkstyleTest")
}
73 changes: 73 additions & 0 deletions build-logic/src/main/kotlin/buildlogic.common.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import buildlogic.getLibrary
import buildlogic.stringyLibs
import org.gradle.plugins.ide.idea.model.IdeaModel

plugins {
id("org.cadixdev.licenser")
}

group = rootProject.group
version = rootProject.version

repositories {
mavenCentral()
maven {
name = "EngineHub"
url = uri("https://maven.enginehub.org/repo/")
}
maven {
name = "devmart-other"
url = uri("https://nexuslite.gcnt.net/repos/other/")
}
}

configurations.all {
resolutionStrategy {
cacheChangingModulesFor(1, TimeUnit.DAYS)
}
}

plugins.withId("java") {
the<JavaPluginExtension>().toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}

dependencies {
for (conf in listOf("implementation", "api")) {
if (!configurations.names.contains(conf)) {
continue
}
add(conf, platform(stringyLibs.getLibrary("log4j-bom")).map {
val dep = create(it)
dep.because("Mojang provides Log4j")
dep
})
constraints {
add(conf, stringyLibs.getLibrary("guava")) {
because("Mojang provides Guava")
}
add(conf, stringyLibs.getLibrary("gson")) {
because("Mojang provides Gson")
}
add(conf, stringyLibs.getLibrary("fastutil")) {
because("Mojang provides FastUtil")
}
}
}
}

license {
header(rootProject.file("HEADER.txt"))
include("**/*.java")
include("**/*.kt")
}

plugins.withId("idea") {
configure<IdeaModel> {
module {
isDownloadSources = true
isDownloadJavadoc = true
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
plugins {
id("java")
id("maven-publish")
id("buildlogic.common-java")
id("buildlogic.artifactory-sub")
}

ext["internalVersion"] = "$version+${rootProject.ext["gitCommitHash"]}"

publishing {
publications {
register<MavenPublication>("maven") {
versionMapping {
usage("java-api") {
fromResolutionOf("runtimeClasspath")
}
usage("java-runtime") {
fromResolutionResult()
}
}
}
}
}
Loading