Add ARCHITECTURE to README.md

This commit is contained in:
Bjorn Beishline 2026-02-01 14:31:24 -07:00
parent 6494c908d2
commit ce80b01d09
2 changed files with 15 additions and 10 deletions

View File

@ -73,22 +73,22 @@ In `rust/src/java` we contain the majority of the code needed to interact direct
Specific areas of interest are
1. `rust/src/java/native_callbacks`
- This directory contains all of the native FFM callbacks that are used to interact with the JVM.
- This directory contains all of the native FFM callbacks that are used to interact with the JVM.
2. `rust/src/java/worker.rs`
- This file contains the `JvmWorker` struct and its methods.
- This file contains the `JvmWorker` struct and its methods.
3. `rust/src/plugin`
- This folder contains all of the code needed to interact with plugins from Rust.
- This folder contains all of the code needed to interact with plugins from Rust.
On the `java/patchbukkit/src/main/java/org/patchbukkit` side, we have some of the following classes:
1. `org.patchbukkit.bridge.NativePatchBukkit`
- This class contains the native FFM callbacks that are used to interact with the JVM.
- This class contains the native FFM callbacks that are used to interact with the JVM.
2. `org.patchbukkit.PatchBukkitServer`
- This class creates and manages the PatchBukkit servers.
- This class creates and manages the PatchBukkit servers.
3. `org.patchbukkit.PatchBukkitPluginLoader`
- This class is the way we create plugins on the Java side.
- This class is the way we create plugins on the Java side.
4. `org.patchbukkit.PatchBukkitPluginManager`
- This class is the way we help manage the PatchBukkit plugins.
- This class is the way we help manage the PatchBukkit plugins.
## build.rs

View File

@ -15,13 +15,18 @@ A plugin for [PumpkinMC](https://pumpkinmc.org/) that adds support for [PaperMC]
- patchbukkit-linux-aarch64.so (Linux ARM64/ Raspberry Pi)
- patchbukkit-mac.dylib (macOS)
3. **Deploy**: Place the downloaded file into your PumpkinMC plugins/ directory. (Run PumpkinMC once to generate this folder if it doesn't exist).
4. **Initialize**: Restart PumpkinMC. This creates a new /patchbukkit directory in your server root.
5. **Add Plugins**: Drop your .jar plugin files (Paper/Spigot/Bukkit) into the newly created patchbukkit/ folder and restart.
3. **Deploy**: Place the downloaded file into your PumpkinMC `plugins/` directory. (Run PumpkinMC once to generate this folder if it doesn't exist).
4. **Initialize**: Restart PumpkinMC. This creates a new `patchbukkit/` directory in your server root.
5. **Add Plugins**: Drop your .jar plugin files (Paper/Spigot/Bukkit) into the newly created `patchbukkit/patchbukkit-plugins/` folder and restart.
## Development
If you wish to contribute to PatchBukkit, follow the following steps:
> [!NOTE]
> Your PumpkinMC server must be built with the same nightly toolchain as PatchBukkit.
1. Run `./build.sh`
2. Copy the `target/debug/patchbukkit` binary to the `plugins` directory in your PumpkinMC server.
There is also an [architecture guide](https://github.com/Pumpkin-MC/PatchBukkit/blob/master/ARCHITECTURE.md) available.