diff --git a/README.md b/README.md
index 833f032..ba19a26 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,15 @@
-
+[](https://github.com/PlazmaMC/Plazma)
### A Server Platform for Minecraft: Java Edition based on [Paper](https://github.com/PaperMC/Paper)
[](https://discord.gg/MmfC52K8A8)
[](https://github.com/PlazmaMC/Plazma/actions/workflows/build.yml?query=branch:ver/1.20.1)
-[](https://github.com/PlazmaMC/AlwaysUpToDate/actions/workflows/plazma.yml)
-[](https://github.com/PlazmaMC/Plazma/releases/latest-1.20.1)
+[](https://github.com/PlazmaMC/Plazma/releases/build/1.20.1/latest)
[](LICENSE)
-[](https://github.com/PlazmaMC/Plazma/releases/tag/latest-1.20.1)
+[](https://github.com/PlazmaMC/Plazma/releases)
[](https://github.com/PlazmaMC/Plazma/stargazers)
[](https://github.com/PPlazmaMC/Plazma/network/members)
[](https://github.com/PlazmaMC/Plazma/watchers)
@@ -21,13 +20,19 @@
> [!IMPORTANT]
This is the branch for Plazma 1.20.1. If you want to know more about Plazma, please check the **[main branch][main]**.
-이곳은 플라즈마의 1.20.1용 브랜치 입니다. 플라즈마에 대해 자세히 알고 싶다면 **[main 브랜치][main]** 를 확인해주세요.
+이곳은 플라즈마의 1.20.1용 분기입니다. 플라즈마에 대해 자세히 알고 싶다면 **[main 브랜치][main]** 를 확인해주세요.
## ⬇️ Downloads
> [!NOTE]
If you don't know about Mojmap or Bundler, download **Reobf Paperclip**
Mojmap 또는 Bundler에 대해 잘 알지 못한다면, **Reobf Paperclip**을 사용하세요
-| **Reobf Paperclip (Default)** | Mojmap Paperclip | Reobf Bundler | Mojmap Bundler |
-| :---: | :---: | :---: | :---: |
-| [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.20.1/plazma-paperclip-1.20.1-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.20.1/plazma-paperclip-1.20.1-R0.1-SNAPSHOT-mojmap.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.20.1/plazma-bundler-1.20.1-R0.1-SNAPSHOT-reobf.jar) | [Download](https://github.com/PlazmaMC/Plazma/releases/download/latest-1.20.1/plazma-bundler-1.20.1-R0.1-SNAPSHOT-mojmap.jar) |
+
+[paperReobf]: https://github.com/PlazmaMC/Plazma/releases/download/build/1.20.1/latest/plazma-paperclip-1.20.1-R0.1-SNAPSHOT-reobf.jar
+[paperMojmap]: https://github.com/PlazmaMC/Plazma/releases/download/build/1.20.1/latest/plazma-paperclip-1.20.1-R0.1-SNAPSHOT-mojmap.jar
+[bundlerReobf]: https://github.com/PlazmaMC/Plazma/releases/download/build/1.20.1/latest/plazma-bundler-1.20.1-R0.1-SNAPSHOT-reobf.jar
+[bundlerMojmap]: https://github.com/PlazmaMC/Plazma/releases/download/build/1.20.1/latest/plazma-bundler-1.20.1-R0.1-SNAPSHOT-mojmap.jar
+
+| **Reobf Paperclip (Default)** | Mojmap Paperclip | Reobf Bundler | Mojmap Bundler |
+|:-----------------------------:|:-----------------------:|:------------------------:|:-------------------------:|
+| [Download][paperReobf] | [Download][paperMojmap] | [Download][bundlerReobf] | [Download][bundlerMojmap] |
diff --git a/patches/server/0040-Optimize-spigot-event-bus.patch b/patches/server/0040-Optimize-spigot-event-bus.patch
index 31d040e..d2121fd 100644
--- a/patches/server/0040-Optimize-spigot-event-bus.patch
+++ b/patches/server/0040-Optimize-spigot-event-bus.patch
@@ -5,10 +5,22 @@ Subject: [PATCH] Optimize-spigot-event-bus
diff --git a/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java b/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java
-index 32305a34bcebd53aa523102a6da59bc2eb765055..6feb88b90831ec7106c9d777bdfa68fa185f1b89 100644
+index 32305a34bcebd53aa523102a6da59bc2eb765055..1a80bb6d776d3064b2919f2af734e65b54314585 100644
--- a/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java
+++ b/src/main/java/io/papermc/paper/plugin/manager/PaperEventManager.java
-@@ -41,12 +41,17 @@ class PaperEventManager {
+@@ -26,9 +26,10 @@ import java.util.Map;
+ import java.util.Set;
+ import java.util.logging.Level;
+
+-class PaperEventManager {
++public class PaperEventManager { // Plazma - package -> public
+
+ private final Server server;
++ public static boolean optimizeEventBus = false; // Plazma
+
+ public PaperEventManager(Server server) {
+ this.server = server;
+@@ -41,12 +42,17 @@ class PaperEventManager {
RegisteredListener[] listeners = handlers.getRegisteredListeners();
if (listeners.length == 0) return;
// Plazma end
@@ -17,7 +29,7 @@ index 32305a34bcebd53aa523102a6da59bc2eb765055..6feb88b90831ec7106c9d777bdfa68fa
- } else if (!event.isAsynchronous() && !this.server.isPrimaryThread() && !this.server.isStopping()) {
- throw new IllegalStateException(event.getEventName() + " may only be triggered synchronously.");
+ // Plazma start - Optimize spigot event bus
-+ if (event.asynchronous() != net.kyori.adventure.util.TriState.NOT_SET) {
++ if (!optimizeEventBus || event.asynchronous() != net.kyori.adventure.util.TriState.NOT_SET) {
+ final boolean isAsync = event.isAsynchronous();
+ final boolean onPrimaryThread = this.server.isPrimaryThread();
+ if (isAsync && onPrimaryThread) {
@@ -31,3 +43,20 @@ index 32305a34bcebd53aa523102a6da59bc2eb765055..6feb88b90831ec7106c9d777bdfa68fa
for (RegisteredListener registration : listeners) {
if (!registration.getPlugin().isEnabled()) {
continue;
+diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
+index 525fe30b6abba295709fca3d10f9b24679112571..97080c277c51fc8a5eb7bdd981d2225e5efe44dc 100644
+--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
++++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
+@@ -44,10 +44,12 @@ public class GlobalConfiguration extends ConfigurationPart {
+ public boolean doNotTriggerLootTableRefreshForNonPlayerInteraction = DO_OPTIMIZE;
+ public boolean doNotSendUselessEntityPackets = DO_OPTIMIZE;
+ public boolean optimizeVarInts = DO_OPTIMIZE;
++ public boolean optimizeEventBus = DO_OPTIMIZE;
+
+ @Override
+ public void postProcess() {
+ net.minecraft.network.FriendlyByteBuf.optimizeVarInts = optimizeVarInts;
++ io.papermc.paper.plugin.manager.PaperEventManager.optimizeEventBus = optimizeEventBus;
+ }
+
+ }
diff --git a/patches/server/0042-CarpetFixes-Configuration.patch b/patches/server/0042-CarpetFixes-Configuration.patch
index bec61e8..c674cb5 100644
--- a/patches/server/0042-CarpetFixes-Configuration.patch
+++ b/patches/server/0042-CarpetFixes-Configuration.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] CarpetFixes-Configuration
diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-index 525fe30b6abba295709fca3d10f9b24679112571..49d5292697fdc6f23874557dd2db9d1fcda750f3 100644
+index 97080c277c51fc8a5eb7bdd981d2225e5efe44dc..3ac79fdfb40692987a99ad3be16e47a176fa48e8 100644
--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-@@ -76,4 +76,12 @@ public class GlobalConfiguration extends ConfigurationPart {
+@@ -78,4 +78,12 @@ public class GlobalConfiguration extends ConfigurationPart {
public int timerTimeOut = 0;
}
diff --git a/patches/server/0043-CarpetFixes-Optimizations-BiomeManager.patch b/patches/server/0043-CarpetFixes-Optimizations-BiomeManager.patch
index 2847f75..cc61b3b 100644
--- a/patches/server/0043-CarpetFixes-Optimizations-BiomeManager.patch
+++ b/patches/server/0043-CarpetFixes-Optimizations-BiomeManager.patch
@@ -162,10 +162,10 @@ index 5695c5116c8a338b2e41aafcb2dc9f2146856970..b2291854b9803fe01d40e8a1d76d6ff3
public Holder getNoiseBiomeAtPosition(double x, double y, double z) {
diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-index 49d5292697fdc6f23874557dd2db9d1fcda750f3..d329f77ab19ac781506c26909591fa4ae9dabb1e 100644
+index 3ac79fdfb40692987a99ad3be16e47a176fa48e8..f8433c71d02056238f449012ff33aa8ba1fc06c1 100644
--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-@@ -82,6 +82,11 @@ public class GlobalConfiguration extends ConfigurationPart {
+@@ -84,6 +84,11 @@ public class GlobalConfiguration extends ConfigurationPart {
public class CarpetFixes extends ConfigurationPart {
public boolean enabled = DO_OPTIMIZE;
diff --git a/patches/server/0045-Async-PathProcessing.patch b/patches/server/0045-Async-PathProcessing.patch
index d73e55a..77d2c78 100644
--- a/patches/server/0045-Async-PathProcessing.patch
+++ b/patches/server/0045-Async-PathProcessing.patch
@@ -840,10 +840,10 @@ index 0e2b14e7dfedf209d63279c81723fd7955122d78..6e2c0790c3b932d3aad1b1eaf11d2798
public SwimNodeEvaluator(boolean canJumpOutOfWater) {
diff --git a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-index d329f77ab19ac781506c26909591fa4ae9dabb1e..dc1553d555b0fa7015bdf55cb3fa0db786d6d253 100644
+index f8433c71d02056238f449012ff33aa8ba1fc06c1..a32df4bae271234f5034bfa7d71fd670087a7961 100644
--- a/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
+++ b/src/main/java/org/plazmamc/plazma/configurations/GlobalConfiguration.java
-@@ -89,4 +89,33 @@ public class GlobalConfiguration extends ConfigurationPart {
+@@ -91,4 +91,33 @@ public class GlobalConfiguration extends ConfigurationPart {
}
}