From 28ce30ec481333fc54e263f4516154c65a098a5a Mon Sep 17 00:00:00 2001 From: AlphaKR93 Date: Sat, 2 Nov 2024 17:43:18 +0900 Subject: [PATCH] fix --- .github/workflows/release.yml | 23 ++++++++ .../server/0001-Purpur-Server-Changes.patch | 21 +++++-- .../server/0006-Plazma-Configurations.patch | 6 +- .../0022-Optimise-state-lookup-more.patch | 57 ------------------- 4 files changed, 42 insertions(+), 65 deletions(-) delete mode 100644 patches/work/0022-Optimise-state-lookup-more.patch diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9768c88..b1759ef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,6 +81,28 @@ jobs: - name: Create Mojmap Jar run: ./gradlew createMojmapPaperclipJar --stacktrace + - name: Update sources + if: startsWith(github.ref_name, 'ver/') || startsWith(github.ref_name, 'dev/') + run: | + cd Plazma-API + git checkout -b plazma/${{ env.VERSION }} + git remote add sources https://github.com/PlazmaMC/sources-api + git push -f sources plazma/${{ env.VERSION }} + + cd ../Plazma-Server + git checkout -b plazma/${{ env.VERSION }} + cp -r ./.gradle/caches/paperweight/mc-dev-sources/com ./src/main/java/ + cp -r ./.gradle/caches/paperweight/mc-dev-sources/net ./src/main/java/ + cp -r ./.gradle/caches/paperweight/mc-dev-sources/data ./src/main/resources/ + cp -r ./.gradle/caches/paperweight/mc-dev-sources/assets ./src/main/resources/ + cp -r ./.gradle/caches/paperweight/mc-dev-sources/META-INF ./src/main/resources/ + cp -r ./.gradle/caches/paperweight/mc-dev-sources/*.* ./src/main/resources/ + git add . + git commit --fixup $(git rev-list -n 1 base) + git rebase --autosquash upstream/master + git remote add sources https://github.com/PlazmaMC/sources-server + git push -f sources plazma/${{ env.VERSION }} + - name: Update Javadoc if: startsWith(github.ref_name, 'ver/') || startsWith(github.ref_name, 'dev/') continue-on-error: true @@ -90,6 +112,7 @@ jobs: mkdir javadoc && cd javadoc git init && git branch -m ${{ env.VERSION }} git remote add origin https://github.com/PlazmaMC/Javadocs + cd .. fi cp -rf Plazma-API/build/docs/javadoc/* javadoc/ diff --git a/patches/server/0001-Purpur-Server-Changes.patch b/patches/server/0001-Purpur-Server-Changes.patch index 98fb7c4..87fa25e 100644 --- a/patches/server/0001-Purpur-Server-Changes.patch +++ b/patches/server/0001-Purpur-Server-Changes.patch @@ -952,10 +952,18 @@ index 90ca25c4aaf92a5639839a7cdaee2ffcdb75efa7..f0d762bd140fad27ae73bcf3e61b640b Bootstrap.bootStrap(); Bootstrap.validate(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 64b56abf8900d0424100da460fc68ac964394793..1ad565ad881cb7efd4a3919c164f275006b4b789 100644 +index 64b56abf8900d0424100da460fc68ac964394793..fa1c48a1f861b06e970bdc3499c14f19eea04772 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -324,10 +324,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); + public int autosavePeriod; + // Paper - don't store the vanilla dispatcher +@@ -324,10 +325,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Mon, 4 Dec 2023 23:12:47 +0900 -Subject: [PATCH] Optimise state lookup more - - -diff --git a/src/main/java/io/papermc/paper/util/table/ZeroCollidingReferenceStateTable.java b/src/main/java/io/papermc/paper/util/table/ZeroCollidingReferenceStateTable.java -index 57d0cd3ad6f972e986c72a57f1a6e36003f190c2..50d97c5ab33f33b81dbafd7cf42da5afd9856eeb 100644 ---- a/src/main/java/io/papermc/paper/util/table/ZeroCollidingReferenceStateTable.java -+++ b/src/main/java/io/papermc/paper/util/table/ZeroCollidingReferenceStateTable.java -@@ -17,6 +17,7 @@ public final class ZeroCollidingReferenceStateTable { - protected final StateHolder this_state; - - protected long[] index_table; -+ public long[] index_table() { return this.index_table; } // Plazma - Getter - protected StateHolder[][] value_table; - - public ZeroCollidingReferenceStateTable(final StateHolder state, final Map, Comparable> this_map) { -diff --git a/src/main/java/net/minecraft/world/level/block/state/StateHolder.java b/src/main/java/net/minecraft/world/level/block/state/StateHolder.java -index 45744d86e9582a93a0cec26009deea091080fbbe..5dd9473c55a08a775aa406901a0e54ef6f63837a 100644 ---- a/src/main/java/net/minecraft/world/level/block/state/StateHolder.java -+++ b/src/main/java/net/minecraft/world/level/block/state/StateHolder.java -@@ -114,6 +114,12 @@ public abstract class StateHolder { - } - - public , V extends T> S trySetValue(Property property, V value) { -+ // Plazma start - Optimise state lookup more -+ final S ret = (S) this.optimisedTable.get(property, value); -+ if (ret == null) throw new IllegalArgumentException("Cannot set property " + property + " to " + value + " on " + this.owner + ", it is not an allowed value"); -+ return ret; -+ /* -+ // Plazma end - Optimise state lookup more - Comparable comparable = this.values.get(property); - if (comparable != null && !comparable.equals(value)) { - S object = this.neighbours.get(property, value); -@@ -125,10 +131,11 @@ public abstract class StateHolder { - } else { - return (S)this; - } -+ */ // Plazma - Optimise state lookup more - } - - public void populateNeighbours(Map, Comparable>, S> states) { -- if (this.neighbours != null) { -+ if (this.optimisedTable.index_table() != null) { // Plazma - optimise state lookup - throw new IllegalStateException(); - } else { - Table, Comparable, S> table = HashBasedTable.create(); -@@ -143,7 +150,7 @@ public abstract class StateHolder { - } - } - -- this.neighbours = (Table, Comparable, S>)(table.isEmpty() ? table : ArrayTable.create(table)); this.optimisedTable.loadInTable((Table)this.neighbours, this.values); // Paper - optimise state lookup -+ this.optimisedTable.loadInTable((Table) (table.isEmpty() ? table : ArrayTable.create(table)), this.values); // Plazma - Optimize state lookup more - } - } -