Compare commits
10 Commits
release-97
...
old/1.19.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0332eb54f2 | ||
|
|
8b759a2020 | ||
|
|
264f7cf9ee | ||
|
|
379a2ac446 | ||
|
|
6343f6141e | ||
|
|
68b9b265a8 | ||
|
|
e654ff4802 | ||
|
|
749a06d195 | ||
|
|
04963e20da | ||
|
|
34844e7343 |
61
.github/workflows/build.yml
vendored
61
.github/workflows/build.yml
vendored
@@ -16,21 +16,22 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
base_jdk: [17]
|
base_jdk: [17]
|
||||||
graal: [latest]
|
|
||||||
os: [ubuntu-22.04]
|
os: [ubuntu-22.04]
|
||||||
|
|
||||||
if: "!startsWith(github.event.commits[0].message, '[CI-Skip]')"
|
if: "!startsWith(github.event.commits[0].message, '[CI-Skip]')"
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout action
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Checkout pages
|
- name: Checkout javadocs
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
if: github.ref_name == env.MAIN_BRANCH
|
||||||
with:
|
with:
|
||||||
|
repository: PlazmaMC/Javadocs
|
||||||
path: javadoc
|
path: javadoc
|
||||||
ref: gh-pages
|
ref: main
|
||||||
token: ${{ secrets.GH_PAT }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Validate Gradle Wrapper
|
- name: Validate Gradle Wrapper
|
||||||
uses: gradle/wrapper-validation-action@v1
|
uses: gradle/wrapper-validation-action@v1
|
||||||
@@ -38,9 +39,9 @@ jobs:
|
|||||||
- name: Set up GraalVM ${{ matrix.base_jdk }}
|
- name: Set up GraalVM ${{ matrix.base_jdk }}
|
||||||
uses: graalvm/setup-graalvm@v1
|
uses: graalvm/setup-graalvm@v1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GH_PAT }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
java-version: ${{ matrix.base_jdk }}
|
java-version: ${{ matrix.base_jdk }}
|
||||||
version: ${{ matrix.graal }}
|
version: latest
|
||||||
cache: 'gradle'
|
cache: 'gradle'
|
||||||
|
|
||||||
- name: Configure Git
|
- name: Configure Git
|
||||||
@@ -71,11 +72,11 @@ jobs:
|
|||||||
if: github.ref_name == env.MAIN_BRANCH
|
if: github.ref_name == env.MAIN_BRANCH
|
||||||
run: |
|
run: |
|
||||||
export GITHUB_USERNAME=${{ env.ORG_NAME }}
|
export GITHUB_USERNAME=${{ env.ORG_NAME }}
|
||||||
export GITHUB_TOKEN=${{ secrets.GH_PAT }}
|
export GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
|
||||||
./gradlew publish --stacktrace
|
./gradlew publish --stacktrace
|
||||||
|
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
if: env.DEBUG == 'true' || !startsWith(github.ref_name, 'ver/')
|
if: "!startsWith(github.ref_name, 'ver/')"
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Artifacts
|
name: Artifacts
|
||||||
@@ -84,24 +85,38 @@ jobs:
|
|||||||
Plazma-API/build/docs/javadoc
|
Plazma-API/build/docs/javadoc
|
||||||
|
|
||||||
- name: Get Release Number
|
- name: Get Release Number
|
||||||
run: echo "RELEASE=$(git ls-remote --tags origin | grep "release" | wc -l)" >> $GITHUB_ENV
|
if: startsWith(github.ref_name, 'ver/')
|
||||||
|
run: echo "RELEASE=$(git ls-remote --tags origin | grep "build/${{ env.MC_VERSION }}" | wc -l)" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Release Artifacts
|
- name: Release Artifacts
|
||||||
if: startsWith(github.ref_name, 'ver/')
|
if: startsWith(github.ref_name, 'ver/')
|
||||||
uses: marvinpinto/action-automatic-releases@latest
|
uses: softprops/action-gh-release@v0.1.15
|
||||||
with:
|
with:
|
||||||
title: "Release #${{ env.RELEASE }}"
|
name: "Build #${{ env.RELEASE }} for ${{ env.MC_VERSION }}"
|
||||||
automatic_release_tag: release-${{ env.RELEASE }}
|
tag_name: build/${{ env.MC_VERSION }}/${{ env.RELEASE }}
|
||||||
repo_token: "${{ secrets.GH_PAT }}"
|
target_commitish: ${{ github.ref_name }}
|
||||||
|
generate_release_notes: true
|
||||||
|
fail_on_unmatched_files: true
|
||||||
files: build/libs/*.jar
|
files: build/libs/*.jar
|
||||||
prerelease: false
|
|
||||||
|
|
||||||
- name: Release Artifacts (Latest)
|
- name: Release Artifacts (Latest/Stable)
|
||||||
if: startsWith(github.ref_name, 'ver/')
|
if: startsWith(github.ref_name, 'ver/')
|
||||||
uses: marvinpinto/action-automatic-releases@latest
|
uses: softprops/action-gh-release@v0.1.15
|
||||||
with:
|
with:
|
||||||
title: "Release #${{ env.RELEASE }}"
|
name: "Build #${{ env.RELEASE }} for ${{ env.MC_VERSION }}"
|
||||||
automatic_release_tag: latest-${{ env.MC_VERSION }}
|
tag_name: build/${{ env.MC_VERSION }}/latest
|
||||||
repo_token: "${{ secrets.GH_PAT }}"
|
target_commitish: ${{ github.ref_name }}
|
||||||
|
generate_release_notes: true
|
||||||
|
fail_on_unmatched_files: true
|
||||||
|
files: build/libs/*.jar
|
||||||
|
|
||||||
|
- name: Release Artifacts (Latest/Development)
|
||||||
|
if: startsWith(github.ref_name, 'dev/')
|
||||||
|
uses: softprops/action-gh-release@v0.1.15
|
||||||
|
with:
|
||||||
|
name: "Development Build for ${{ env.MC_VERSION }}"
|
||||||
|
tag_name: build/${{ env.MC_VERSION }}/latest
|
||||||
|
target_commitish: ${{ github.ref_name }}
|
||||||
|
generate_release_notes: true
|
||||||
|
fail_on_unmatched_files: true
|
||||||
files: build/libs/*.jar
|
files: build/libs/*.jar
|
||||||
prerelease: false
|
|
||||||
|
|||||||
14
README.md
14
README.md
@@ -7,10 +7,10 @@
|
|||||||
[](https://discord.gg/MmfC52K8A8)
|
[](https://discord.gg/MmfC52K8A8)
|
||||||
[](https://github.com/PlazmaMC/Plazma/actions/workflows/build.yml?query=branch:ver/1.19.4)
|
[](https://github.com/PlazmaMC/Plazma/actions/workflows/build.yml?query=branch:ver/1.19.4)
|
||||||
[](https://github.com/PlazmaMC/AlwaysUpToDate/actions/workflows/plazma.yml)
|
[](https://github.com/PlazmaMC/AlwaysUpToDate/actions/workflows/plazma.yml)
|
||||||
[](https://github.com/PlazmaMC/Plazma/releases/latest-1.19.4)
|
[](https://github.com/PlazmaMC/Plazma/releases/build/1.19.4/latest)
|
||||||
|
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
[](https://github.com/PlazmaMC/Plazma/releases/tag/latest-1.19.4)
|
[](https://github.com/PlazmaMC/Plazma/releases/tag/build/1.19.4/latest)
|
||||||
[](https://github.com/PlazmaMC/Plazma/stargazers)
|
[](https://github.com/PlazmaMC/Plazma/stargazers)
|
||||||
[](https://github.com/PPlazmaMC/Plazma/network/members)
|
[](https://github.com/PPlazmaMC/Plazma/network/members)
|
||||||
[](https://github.com/PlazmaMC/Plazma/watchers)
|
[](https://github.com/PlazmaMC/Plazma/watchers)
|
||||||
@@ -19,13 +19,15 @@
|
|||||||
|
|
||||||
[main]: https://github.com/PlazmaMC/Plazma
|
[main]: https://github.com/PlazmaMC/Plazma
|
||||||
|
|
||||||
### This is the branch for Plazma 1.19.4. If you want to know more about Plazma, please check the [main branch][main].
|
> [!IMPORTANT]
|
||||||
이곳은 플라즈마의 1.19.4용 브랜치 입니다. 플라즈마에 대해 자세히 알고 싶다면 [main 브랜치][main]를 확인해주세요.
|
This is the branch for Plazma 1.19.4. If you want to know more about Plazma, please check the **[main branch][main]**.<br>
|
||||||
|
이곳은 플라즈마의 1.19.4용 브랜치 입니다. 플라즈마에 대해 자세히 알고 싶다면 **[main 브랜치][main]** 를 확인해주세요.
|
||||||
|
|
||||||
## ⬇️ Downloads
|
## ⬇️ Downloads
|
||||||
### If you don't know about Mojmap or Bundler, download **Reobf Paperclip**
|
> [!NOTE]
|
||||||
|
If you don't know about Mojmap or Bundler, download **Reobf Paperclip**<br>
|
||||||
Mojmap 또는 Bundler에 대해 잘 알지 못한다면, **Reobf Paperclip**을 사용하세요
|
Mojmap 또는 Bundler에 대해 잘 알지 못한다면, **Reobf Paperclip**을 사용하세요
|
||||||
|
|
||||||
| **Reobf Paperclip (Default)** | Mojmap Paperclip | Reobf Bundler | Mojmap Bundler |
|
| **Reobf Paperclip (Default)** | Mojmap Paperclip | Reobf Bundler | Mojmap Bundler |
|
||||||
| :---: | :---: | :---: | :---: |
|
| :---: | :---: | :---: | :---: |
|
||||||
| [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.19.4/plazma-paperclip-1.19.4-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.19.4/plazma-paperclip-1.19.4-R0.1-SNAPSHOT-mojmap.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.19.4/plazma-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.19.4/plazma-bundler-1.19.4-R0.1-SNAPSHOT-mojmap.jar) |
|
| [Download](https://github.com/PlazmaMC/Plazma/releases/download/build/1.19.4/latest/plazma-paperclip-1.19.4-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/build/1.19.4/latest/plazma-paperclip-1.19.4-R0.1-SNAPSHOT-mojmap.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/build/1.19.4/latest/plazma-bundler-1.19.4-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/build/1.19.4/latest/plazma-bundler-1.19.4-R0.1-SNAPSHOT-mojmap.jar) |
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ plugins {
|
|||||||
java
|
java
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
|
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
|
||||||
id("io.papermc.paperweight.patcher") version "1.5.5"
|
id("io.papermc.paperweight.patcher") version "1.5.10"
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@@ -18,39 +18,59 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
remapper("net.fabricmc:tiny-remapper:0.8.7:fat")
|
remapper("net.fabricmc:tiny-remapper:0.8.11:fat")
|
||||||
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
|
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
|
||||||
paperclip("io.papermc:paperclip:3.0.3")
|
paperclip("io.papermc:paperclip:3.0.3")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
allprojects {
|
||||||
|
apply(plugin = "java")
|
||||||
|
apply(plugin = "maven-publish")
|
||||||
|
|
||||||
|
java.toolchain.languageVersion.set(JavaLanguageVersion.of(17))
|
||||||
|
|
||||||
|
publishing {
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
name = "githubPackage"
|
||||||
|
url = uri("https://maven.pkg.github.com/PlazmaMC/PlazmaBukkit")
|
||||||
|
|
||||||
|
credentials {
|
||||||
|
username = System.getenv("GITHUB_USERNAME")
|
||||||
|
password = System.getenv("GITHUB_TOKEN")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
publications.register<MavenPublication>("gpr") {
|
||||||
|
from(components["java"])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply(plugin = "java")
|
apply(plugin = "java")
|
||||||
|
|
||||||
java {
|
tasks {
|
||||||
toolchain {
|
withType<JavaCompile>().configureEach {
|
||||||
languageVersion.set(JavaLanguageVersion.of(17))
|
options.compilerArgs.add("--add-modules=jdk.incubator.vector")
|
||||||
}
|
options.encoding = Charsets.UTF_8.name()
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
subprojects {
|
|
||||||
tasks.withType<JavaCompile>().configureEach {
|
|
||||||
options.encoding = "UTF-8"
|
|
||||||
options.release.set(17)
|
options.release.set(17)
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<Javadoc> {
|
withType<Javadoc> {
|
||||||
options.encoding = Charsets.UTF_8.name()
|
options.encoding = Charsets.UTF_8.name()
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<ProcessResources> {
|
withType<ProcessResources> {
|
||||||
filteringCharset = Charsets.UTF_8.name()
|
filteringCharset = Charsets.UTF_8.name()
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<Test> {
|
withType<Test> {
|
||||||
minHeapSize = "2g"
|
minHeapSize = "2g"
|
||||||
maxHeapSize = "2g"
|
maxHeapSize = "2g"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@@ -83,7 +103,17 @@ paperweight {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val upstreamTask = tasks.register("updateUpstream") {
|
tasks {
|
||||||
|
generateDevelopmentBundle {
|
||||||
|
apiCoordinates.set("org.plazmamc.plazma:plazma-api")
|
||||||
|
mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi")
|
||||||
|
libraryRepositories.addAll(
|
||||||
|
"https://repo.maven.apache.org/maven2/",
|
||||||
|
"https://papermc.io/repo/repository/maven-public/"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
register("updateUpstream") {
|
||||||
val tempDir = layout.cacheDir("updateUpstream");
|
val tempDir = layout.cacheDir("updateUpstream");
|
||||||
val file = "gradle.properties";
|
val file = "gradle.properties";
|
||||||
|
|
||||||
@@ -108,3 +138,4 @@ val upstreamTask = tasks.register("updateUpstream") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: AlphaKR93 <alphakr93@outlook.com>
|
|
||||||
Date: Fri, 6 Jan 2023 17:11:31 +0900
|
|
||||||
Subject: [PATCH] Publish Packages
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
||||||
index 7b38042c32295ef7c5ea3c212170cc8fcdf0d7a0..1e300e51fa3413f9846c686545f2b7deb0ac5160 100644
|
|
||||||
--- a/build.gradle.kts
|
|
||||||
+++ b/build.gradle.kts
|
|
||||||
@@ -156,3 +156,23 @@ tasks.check {
|
|
||||||
dependsOn(scanJar)
|
|
||||||
}
|
|
||||||
// Paper end
|
|
||||||
+
|
|
||||||
+// Plazma start
|
|
||||||
+publishing {
|
|
||||||
+ repositories {
|
|
||||||
+ maven {
|
|
||||||
+ name = "githubPackage"
|
|
||||||
+ url = uri("https://maven.pkg.github.com/PlazmaMC/Plazma")
|
|
||||||
+
|
|
||||||
+ credentials.username = System.getenv("GITHUB_USERNAME")
|
|
||||||
+ credentials.password = System.getenv("GITHUB_TOKEN")
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ publications {
|
|
||||||
+ register<MavenPublication>("gpr") {
|
|
||||||
+ from(components["java"])
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+// Plazma end
|
|
||||||
@@ -42,7 +42,7 @@ index 46fda579a95f9ab92a1ba61cad8218024a722208..5f38d64b1bcd9468ebdd6de6ef30580c
|
|||||||
- runtimeOnly("org.xerial:sqlite-jdbc:3.41.2.2")
|
- runtimeOnly("org.xerial:sqlite-jdbc:3.41.2.2")
|
||||||
- runtimeOnly("com.mysql:mysql-connector-j:8.0.32")
|
- runtimeOnly("com.mysql:mysql-connector-j:8.0.32")
|
||||||
+ implementation("net.fabricmc:mapping-io:0.4.2") // Paper - needed to read mappings for stacktrace deobfuscation // Plazma - Bump Dependencies
|
+ implementation("net.fabricmc:mapping-io:0.4.2") // Paper - needed to read mappings for stacktrace deobfuscation // Plazma - Bump Dependencies
|
||||||
+ runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1") // Plazma - Bump Dependencies
|
+ runtimeOnly("org.xerial:sqlite-jdbc:3.41.2.2") // Plazma - Bump Dependencies
|
||||||
+ runtimeOnly("com.mysql:mysql-connector-j:8.0.33") // Plazma - Bump Dependencies
|
+ runtimeOnly("com.mysql:mysql-connector-j:8.0.33") // Plazma - Bump Dependencies
|
||||||
runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
|
runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
|
||||||
// Paper start - Use Velocity cipher
|
// Paper start - Use Velocity cipher
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ From: IPECTER <ipectert@gmail.com>
|
|||||||
Date: Tue, 7 Mar 2023 12:28:34 +0900
|
Date: Tue, 7 Mar 2023 12:28:34 +0900
|
||||||
Subject: [PATCH] Optimize Default Configurations
|
Subject: [PATCH] Optimize Default Configurations
|
||||||
|
|
||||||
Original: YouHaveTrouble/minecraft-optimization, AkiraDevelopment/SimplyMC
|
Original: YouHaveTrouble/minecraft-optimization, YouHaveTrouble/minecraft-exploits-and-how-to-fix-them, AkiraDevelopment/SimplyMC
|
||||||
Copyright (C) 2023 YouHaveTrouble, AkiraDevelopment
|
Copyright (C) 2023 YouHaveTrouble, AkiraDevelopment
|
||||||
|
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
index b4e5fbace85c67e7bd347e6a90514bbc2c132d5e..edc8eba38af743167a8b78d34cb426d6929f9605 100644
|
index b4e5fbace85c67e7bd347e6a90514bbc2c132d5e..7a74aa64458a4f3be4f284b4cfcdd57d687f620b 100644
|
||||||
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
@@ -211,8 +211,8 @@ public class PufferfishConfig {
|
@@ -211,8 +211,8 @@ public class PufferfishConfig {
|
||||||
@@ -42,8 +42,29 @@ index b4e5fbace85c67e7bd347e6a90514bbc2c132d5e..edc8eba38af743167a8b78d34cb426d6
|
|||||||
"tick frequency. freq = (distanceToPlayer^2) / (2^value)",
|
"tick frequency. freq = (distanceToPlayer^2) / (2^value)",
|
||||||
"If you want further away entities to tick less often, use 7.",
|
"If you want further away entities to tick less often, use 7.",
|
||||||
"If you want further away entities to tick more often, try 9.");
|
"If you want further away entities to tick more often, try 9.");
|
||||||
|
@@ -253,8 +253,18 @@ public class PufferfishConfig {
|
||||||
|
public static Map<String, Integer> projectileTimeouts;
|
||||||
|
private static void projectileTimeouts() {
|
||||||
|
// Set some defaults
|
||||||
|
- getInt("entity_timeouts.SNOWBALL", -1);
|
||||||
|
- getInt("entity_timeouts.LLAMA_SPIT", -1);
|
||||||
|
+ // Plazma start - Optimize Default Configurations
|
||||||
|
+ if (!Boolean.getBoolean("Plazma.disableConfigOptimization")) {
|
||||||
|
+ getInt("entity_timeouts.ARROW", 200);
|
||||||
|
+ getInt("entity_timeouts.EGG", 200);
|
||||||
|
+ getInt("entity_timeouts.ENDER_PEARL", 200);
|
||||||
|
+ getInt("entity_timeouts.SNOWBALL", 200);
|
||||||
|
+ getInt("entity_timeouts.LLAMA_SPIT", 200);
|
||||||
|
+ } else {
|
||||||
|
+ // Plazma end
|
||||||
|
+ getInt("entity_timeouts.SNOWBALL", -1);
|
||||||
|
+ getInt("entity_timeouts.LLAMA_SPIT", -1);
|
||||||
|
+ } // Plazma
|
||||||
|
setComment("entity_timeouts",
|
||||||
|
"These values define a entity's maximum lifespan. If an",
|
||||||
|
"entity is in this list and it has survived for longer than",
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||||
index 8d442c5a498ecf288a0cc0c54889c6e2fda849ce..205ce3456a3f6d28cc2c7cbc131ec0f63a461527 100644
|
index 8d442c5a498ecf288a0cc0c54889c6e2fda849ce..2d6f1811358f1d99ef9e543672e7d1861671f1f1 100644
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||||
@@ -103,7 +103,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
@@ -103,7 +103,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||||
@@ -55,8 +76,43 @@ index 8d442c5a498ecf288a0cc0c54889c6e2fda849ce..205ce3456a3f6d28cc2c7cbc131ec0f6
|
|||||||
}
|
}
|
||||||
|
|
||||||
public SpamLimiter spamLimiter;
|
public SpamLimiter spamLimiter;
|
||||||
|
@@ -198,7 +198,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||||
|
public BookSize bookSize;
|
||||||
|
|
||||||
|
public class BookSize extends ConfigurationPart {
|
||||||
|
- public int pageMax = 2560; // TODO this appears to be a duplicate setting with one above
|
||||||
|
+ public int pageMax = !Boolean.getBoolean("Plazma.disableConfigOptimization") ? 1024 : 2560; // TODO this appears to be a duplicate setting with one above // Plazma - Optimize Default Configurations
|
||||||
|
public double totalMultiplier = 0.98D; // TODO this should probably be merged into the above inner class
|
||||||
|
}
|
||||||
|
public boolean resolveSelectorsInBooks = false;
|
||||||
|
@@ -209,7 +209,15 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||||
|
public class PacketLimiter extends ConfigurationPart {
|
||||||
|
public Component kickMessage = Component.translatable("disconnect.exceeded_packet_rate", NamedTextColor.RED);
|
||||||
|
public PacketLimit allPackets = new PacketLimit(7.0, 500.0, PacketLimit.ViolateAction.KICK);
|
||||||
|
- public Map<Class<? extends Packet<?>>, PacketLimit> overrides = Map.of(ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP));
|
||||||
|
+ // Plazma start - Optimize Default Configurations
|
||||||
|
+ public Map<Class<? extends Packet<?>>, PacketLimit> overrides = new java.util.HashMap<>() {{
|
||||||
|
+ put(ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP));
|
||||||
|
+ if (!Boolean.getBoolean("Plazma.disableConfigOptimization")) {
|
||||||
|
+ put(net.minecraft.network.protocol.game.ServerboundCommandSuggestionPacket.class, new PacketLimit(1.0, 15.0, PacketLimit.ViolateAction.DROP));
|
||||||
|
+ put(net.minecraft.network.protocol.game.ServerboundPlaceRecipePacket.class, new PacketLimit(4.0, 5.0, PacketLimit.ViolateAction.DROP));
|
||||||
|
+ }
|
||||||
|
+ }};
|
||||||
|
+ // Plazma end
|
||||||
|
|
||||||
|
@ConfigSerializable
|
||||||
|
public record PacketLimit(@Required double interval, @Required double maxPacketRate, ViolateAction action) {
|
||||||
|
@@ -276,7 +284,7 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||||
|
executor.setMaximumPoolSize(_chatExecutorMaxSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- public int maxJoinsPerTick = 5;
|
||||||
|
+ public int maxJoinsPerTick = !Boolean.getBoolean("Plazma.disableConfigOptimization") ? 3 : 5; // Plazma - Optimize Default Configurations
|
||||||
|
public boolean fixEntityPositionDesync = true;
|
||||||
|
public boolean loadPermissionsYmlBeforePlugins = true;
|
||||||
|
@Constraints.Min(4)
|
||||||
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
index a33de97340f14219291c4175e9194914cdf441db..f63b4ab2057176d4f1549200eef16e71c6018dc2 100644
|
index a33de97340f14219291c4175e9194914cdf441db..84dd20cc9026ebb039d01c6edc263805b969d673 100644
|
||||||
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||||
@@ -84,15 +84,15 @@ public class WorldConfiguration extends ConfigurationPart {
|
@@ -84,15 +84,15 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||||
@@ -80,6 +136,17 @@ index a33de97340f14219291c4175e9194914cdf441db..f63b4ab2057176d4f1549200eef16e71
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -116,8 +116,8 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||||
|
public ArmorStands armorStands;
|
||||||
|
|
||||||
|
public class ArmorStands extends ConfigurationPart {
|
||||||
|
- public boolean doCollisionEntityLookups = true;
|
||||||
|
- public boolean tick = true;
|
||||||
|
+ public boolean doCollisionEntityLookups = Boolean.getBoolean("Plazma.disableConfigOptimization"); // Plazma - Optimize Default Configurations
|
||||||
|
+ public boolean tick = Boolean.getBoolean("Plazma.disableConfigOptimization");; // Plazma - Optimize Default Configurations
|
||||||
|
}
|
||||||
|
|
||||||
|
public Markers markers;
|
||||||
@@ -139,7 +139,7 @@ public class WorldConfiguration extends ConfigurationPart {
|
@@ -139,7 +139,7 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||||
@MergeMap
|
@MergeMap
|
||||||
public Reference2IntMap<MobCategory> spawnLimits = Util.make(new Reference2IntOpenHashMap<>(NaturalSpawner.SPAWNING_CATEGORIES.length), map -> Arrays.stream(NaturalSpawner.SPAWNING_CATEGORIES).forEach(mobCategory -> map.put(mobCategory, -1)));
|
public Reference2IntMap<MobCategory> spawnLimits = Util.make(new Reference2IntOpenHashMap<>(NaturalSpawner.SPAWNING_CATEGORIES.length), map -> Arrays.stream(NaturalSpawner.SPAWNING_CATEGORIES).forEach(mobCategory -> map.put(mobCategory, -1)));
|
||||||
@@ -197,7 +264,7 @@ index 24763d3d270c29c95e0b3e85111145234f660a62..18bc271a34ffba8c83743fef7eaf4a2c
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
index 5ed7acb332b8982a724e5002e12f18fe32dd4dd4..8a10f9b7b837c4d20eaf4a83827e36f14a180ea7 100644
|
index 1a125a0a2bbcc1e3e54746ec97abe24c53f69819..4736f85292ff6f0ae2d433f59c37a77eb4436982 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
@@ -154,7 +154,7 @@ public class Main {
|
@@ -154,7 +154,7 @@ public class Main {
|
||||||
@@ -210,7 +277,7 @@ index 5ed7acb332b8982a724e5002e12f18fe32dd4dd4..8a10f9b7b837c4d20eaf4a83827e36f1
|
|||||||
|
|
||||||
File commandFile = (File) optionset.valueOf("commands-settings");
|
File commandFile = (File) optionset.valueOf("commands-settings");
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
index 1ea3012995c738c67b31e997c138f824f9e69ba1..8ed00a650b712cbf4bc8796165a539d76d390d0f 100644
|
index 1ea3012995c738c67b31e997c138f824f9e69ba1..aa37c7a7bfe75064db9cf78e967a6644f61b0e09 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||||
@@ -120,7 +120,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
@@ -120,7 +120,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
||||||
@@ -233,7 +300,8 @@ index 1ea3012995c738c67b31e997c138f824f9e69ba1..8ed00a650b712cbf4bc8796165a539d7
|
|||||||
this.opPermissionLevel = this.get("op-permission-level", 4);
|
this.opPermissionLevel = this.get("op-permission-level", 4);
|
||||||
this.functionPermissionLevel = this.get("function-permission-level", 2);
|
this.functionPermissionLevel = this.get("function-permission-level", 2);
|
||||||
this.maxTickTime = this.get("max-tick-time", TimeUnit.MINUTES.toMillis(1L));
|
this.maxTickTime = this.get("max-tick-time", TimeUnit.MINUTES.toMillis(1L));
|
||||||
this.maxChainedNeighborUpdates = this.get("max-chained-neighbor-updates", 1000000);
|
- this.maxChainedNeighborUpdates = this.get("max-chained-neighbor-updates", 1000000);
|
||||||
|
+ this.maxChainedNeighborUpdates = this.get("max-chained-neighbor-updates", !Boolean.getBoolean("Plazma.disableConfigOptimization") ? 10000 : 1000000); // Plazma - Optimize Default Configurations
|
||||||
this.rateLimitPacketsPerSecond = this.get("rate-limit", 0);
|
this.rateLimitPacketsPerSecond = this.get("rate-limit", 0);
|
||||||
- this.viewDistance = this.get("view-distance", 10);
|
- this.viewDistance = this.get("view-distance", 10);
|
||||||
- this.simulationDistance = this.get("simulation-distance", 10);
|
- this.simulationDistance = this.get("simulation-distance", 10);
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ From: IPECTER <ipectert@gmail.com>
|
|||||||
Date: Tue, 28 Mar 2023 12:42:17 +0900
|
Date: Tue, 28 Mar 2023 12:42:17 +0900
|
||||||
Subject: [PATCH] Improve BiomeTemperatureCache
|
Subject: [PATCH] Improve BiomeTemperatureCache
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
|
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
|
||||||
index ed439b7e94646141c93a7dd3704d1cdeb5c27e16..71880b6fde3a287aa75c3799ffdd82a7943bb9db 100644
|
index ed439b7e94646141c93a7dd3704d1cdeb5c27e16..2bddcaf8762ee7834c32622402a976bfad12d127 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
|
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
|
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
|
||||||
@@ -67,7 +67,7 @@ public final class Biome {
|
@@ -67,7 +67,7 @@ public final class Biome {
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: IPECTER <ipectert@gmail.com>
|
||||||
|
Date: Sat, 30 Dec 2023 21:56:47 +0900
|
||||||
|
Subject: [PATCH] Paper-Add-another-slot-sanity-check
|
||||||
|
|
||||||
|
Backport of Paper ver/1.20.2 8493340
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
|
index 20b328704981c088597359fe18c1d67c339c1c0f..af4951fdfa08dfff22df03950c26fdfc28c5a3cd 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
|
@@ -424,6 +424,7 @@ public abstract class AbstractContainerMenu {
|
||||||
|
this.resetQuickCraft();
|
||||||
|
}
|
||||||
|
} else if (this.quickcraftStatus == 1) {
|
||||||
|
+ if (slotIndex < 0) return; // Paper
|
||||||
|
slot = (Slot) this.slots.get(slotIndex);
|
||||||
|
itemstack = this.getCarried();
|
||||||
|
if (AbstractContainerMenu.canItemQuickReplace(slot, itemstack, true) && slot.mayPlace(itemstack) && (this.quickcraftType == 2 || itemstack.getCount() > this.quickcraftSlots.size()) && this.canDragTo(slot)) {
|
||||||
|
@@ -600,6 +601,7 @@ public abstract class AbstractContainerMenu {
|
||||||
|
int i2;
|
||||||
|
|
||||||
|
if (actionType == ClickType.SWAP) {
|
||||||
|
+ if (slotIndex < 0 || button < 0) return; // Paper
|
||||||
|
slot2 = (Slot) this.slots.get(slotIndex);
|
||||||
|
itemstack1 = playerinventory.getItem(button);
|
||||||
|
itemstack = slot2.getItem();
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jihwan0511 <cgjjj320@gmail.com>
|
||||||
|
Date: Thu, 5 Jan 2024 06:04:37 +0100
|
||||||
|
Subject: [PATCH] Validate ResourceLocation in NBT reading
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/nbt/NbtUtils.java b/src/main/java/net/minecraft/nbt/NbtUtils.java
|
||||||
|
index 18fad4f083862ace2bc56579883f548f6d697091..80083fed4b44b9d433925f09db83e559582109a1 100644
|
||||||
|
--- a/src/main/java/net/minecraft/nbt/NbtUtils.java
|
||||||
|
+++ b/src/main/java/net/minecraft/nbt/NbtUtils.java
|
||||||
|
@@ -230,8 +230,10 @@ public final class NbtUtils {
|
||||||
|
if (!nbt.contains("Name", 8)) {
|
||||||
|
return Blocks.AIR.defaultBlockState();
|
||||||
|
} else {
|
||||||
|
- ResourceLocation resourceLocation = new ResourceLocation(nbt.getString("Name"));
|
||||||
|
- Optional<? extends Holder<Block>> optional = blockLookup.get(ResourceKey.create(Registries.BLOCK, resourceLocation));
|
||||||
|
+ // Paper start - Validate resource location
|
||||||
|
+ ResourceLocation resourceLocation = ResourceLocation.tryParse(nbt.getString("Name"));
|
||||||
|
+ Optional<? extends Holder<Block>> optional = resourceLocation != null ? blockLookup.get(ResourceKey.create(Registries.BLOCK, resourceLocation)) : Optional.empty();
|
||||||
|
+ // Paper end
|
||||||
|
if (optional.isEmpty()) {
|
||||||
|
return Blocks.AIR.defaultBlockState();
|
||||||
|
} else {
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
|
index e0cf7771488ab0065708d68b4e8550b865af0ed4..a7fbd329ea6d36a46c00b4476c74e426dbbfe238 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
|
@@ -620,7 +620,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||||
|
|
||||||
|
this.setLeftHanded(nbt.getBoolean("LeftHanded"));
|
||||||
|
if (nbt.contains("DeathLootTable", 8)) {
|
||||||
|
- this.lootTable = new ResourceLocation(nbt.getString("DeathLootTable"));
|
||||||
|
+ this.lootTable = ResourceLocation.tryParse(nbt.getString("DeathLootTable")); // Paper - Validate ResourceLocation
|
||||||
|
this.lootTableSeed = nbt.getLong("DeathLootTableSeed");
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
index 42ebd91196ae420eee57f4380abc558555457163..b61a367048c3d6dfef187fef35a5dc7471f891d0 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||||
|
@@ -560,7 +560,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||||
|
this.setCritArrow(nbt.getBoolean("crit"));
|
||||||
|
this.setPierceLevel(nbt.getByte("PierceLevel"));
|
||||||
|
if (nbt.contains("SoundEvent", 8)) {
|
||||||
|
- this.soundEvent = (SoundEvent) BuiltInRegistries.SOUND_EVENT.getOptional(new ResourceLocation(nbt.getString("SoundEvent"))).orElse(this.getDefaultHitGroundSoundEvent());
|
||||||
|
+ this.soundEvent = (SoundEvent) BuiltInRegistries.SOUND_EVENT.getOptional(ResourceLocation.tryParse(nbt.getString("SoundEvent"))).orElse(this.getDefaultHitGroundSoundEvent()); // Paper - Validate resource location
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setShotFromCrossbow(nbt.getBoolean("ShotFromCrossbow"));
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/ContainerEntity.java b/src/main/java/net/minecraft/world/entity/vehicle/ContainerEntity.java
|
||||||
|
index 7529751afa2932fd16bc4591189b0358268a7b14..e2e1c7a017e82dc7299e5cd1783818e4f0319c0b 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/vehicle/ContainerEntity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/vehicle/ContainerEntity.java
|
||||||
|
@@ -67,7 +67,7 @@ public interface ContainerEntity extends Container, MenuProvider {
|
||||||
|
default void readChestVehicleSaveData(CompoundTag nbt) {
|
||||||
|
this.clearItemStacks();
|
||||||
|
if (nbt.contains("LootTable", 8)) {
|
||||||
|
- this.setLootTable(new ResourceLocation(nbt.getString("LootTable")));
|
||||||
|
+ this.setLootTable(ResourceLocation.tryParse(nbt.getString("LootTable"))); // Paper - Validate ResourceLocation
|
||||||
|
this.setLootTableSeed(nbt.getLong("LootTableSeed"));
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user