From dcdbb85936ebc7b28d6d4ef5c893043c18f5bf96 Mon Sep 17 00:00:00 2001 From: Geoff Bourne Date: Mon, 17 Feb 2025 11:11:53 -0600 Subject: [PATCH] Added USES_PLUGINS to allows /plugins use with hybrid mods (#3320) --- docs/mods-and-plugins/index.md | 2 +- examples/fabric-cardboard/compose.yml | 20 +++++++++++++++++ scripts/start-utils | 32 ++++++++++++++++++--------- 3 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 examples/fabric-cardboard/compose.yml diff --git a/docs/mods-and-plugins/index.md b/docs/mods-and-plugins/index.md index 00bcef06..e7483691 100644 --- a/docs/mods-and-plugins/index.md +++ b/docs/mods-and-plugins/index.md @@ -23,7 +23,7 @@ The terms "mods" and "plugins" can be quite confusing. Generally, the rule of th There are optional volume paths that can be attached to supply content to be copied into the data area: `/plugins` -: content in this directory is synchronized into `/data/plugins` for server types that use plugins, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_PLUGINS_SRC` and destination by setting `COPY_PLUGINS_DEST`. +: content in this directory is synchronized into `/data/plugins` for server types that use plugins, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_PLUGINS_SRC` and destination by setting `COPY_PLUGINS_DEST`. If using a mod-based loader, such as Forge or Fabric, but a hybrid mod like [Cardboard](https://modrinth.com/mod/cardboard), then set `USES_PLUGINS` to have the automation utilize `/plugins` mount. `/mods` : content in this directory is synchronized into `/data/mods` for server types that use mods, [as described above](#mods-vs-plugins). For special cases, the source can be changed by setting `COPY_MODS_SRC` and destination by setting `COPY_MODS_DEST`. diff --git a/examples/fabric-cardboard/compose.yml b/examples/fabric-cardboard/compose.yml new file mode 100644 index 00000000..07b26805 --- /dev/null +++ b/examples/fabric-cardboard/compose.yml @@ -0,0 +1,20 @@ +services: + mc: + image: itzg/minecraft-server:latest + tty: true + stdin_open: true + ports: + - "25565:25565" + environment: + EULA: "TRUE" + TYPE: "FABRIC" + MEMORY: 4G + MODRINTH_PROJECTS: | + fabric-api + cardboard:beta + USES_PLUGINS: true + volumes: + - mc-data:/data + - ./plugins:/plugins:ro +volumes: + mc-data: \ No newline at end of file diff --git a/scripts/start-utils b/scripts/start-utils index a8f27016..a3bc0bbc 100755 --- a/scripts/start-utils +++ b/scripts/start-utils @@ -464,21 +464,33 @@ function checkSum() { } function usesMods() { - case "$FAMILY" in - FORGE | FABRIC | HYBRID | SPONGE) + if isTrue "${USES_MODS:-}"; then return 0 - ;; - esac - return 1 + + else + case "$FAMILY" in + FORGE | FABRIC | HYBRID | SPONGE) + return 0 + ;; + esac + return 1 + + fi } function usesPlugins() { - case "$FAMILY" in - SPIGOT | HYBRID) + if isTrue "${USES_PLUGINS:-}"; then return 0 - ;; - esac - return 1 + + else + case "$FAMILY" in + SPIGOT | HYBRID) + return 0 + ;; + esac + return 1 + + fi } function resolveVersion() {