Skip to content

Commit dc4a92e

Browse files
committed
Update version to 1.1.0, enhance README with new features, and add profile management commands. upgraded dependency versions and added Folia compatibility tests.
1 parent e431bad commit dc4a92e

72 files changed

Lines changed: 5269 additions & 1541 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 30 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -4,104 +4,27 @@
44

55
# Mint
66

7-
🍃 **A Lovingly Crafted Quality of Life Extension** — Quark-style tweaks for Paper and Folia (Experimental). 🍃
7+
🍃 **A Lovingly Crafted Quality of Life Extension** — Quark-style tweaks for Paper and Folia. 🍃
88

99
![Minecraft](https://img.shields.io/badge/Minecraft-Paper%20%7C%20Folia-orange)
1010
![License](https://img.shields.io/github/license/BuddySirJava/Mint?label=License&color=blue)
1111

1212
</div>
1313

14-
Mint provides 20+ lightweight, vanilla-friendly gameplay tweaks. It features per-player toggles, WorldGuard/GriefPrevention integration, multiple storage backends, and requires zero client-side mods.
14+
Mint ships **29** lightweight, vanilla-friendly gameplay modules. Each one can be toggled per-player, integrates with common protection plugins, supports multiple storage backends, and requires no client mods.
1515

1616
## Features
1717

18-
**Building & Placement**
18+
Mint ships 29 lightweight modules grouped by category:
1919

20-
- **Vertical & Mixed Slabs:** Place slabs vertically, or combine two different slab types in one block space.
20+
- [Building](docs/building.md)
21+
- [Farming](docs/farming.md)
22+
- [Inventory](docs/inventory.md)
23+
- [Interaction](docs/interaction.md)
24+
- [Mobility](docs/mobility.md)
25+
- [Transport](docs/transport.md)
26+
- [Entity](docs/entity.md)
2127

22-
<details>
23-
<summary>View Demo</summary>
24-
25-
![Vertical Slab Demo](media/modules/vertical-slab.gif)
26-
27-
![Mixed Slab Demo](media/modules/mixed-slab.gif)
28-
29-
</details>
30-
31-
- **Block Decoration:** Apply decorative skins to various blocks (fences, stairs, trapdoors, pots, etc.).
32-
33-
<details>
34-
<summary>View Demo</summary>
35-
36-
![Block Decoration Demo](media/modules/block-decoration.gif)
37-
38-
</details>
39-
40-
- **Carpet Geometry:** Craft geometric carpet patterns via the stonecutter.
41-
42-
<details>
43-
<summary>View Demo</summary>
44-
45-
![Carpet Geometry Demo](media/modules/carpet-geometry.gif)
46-
47-
</details>
48-
49-
- **Ladder Place:** Quickly place ladders above/below your current position.
50-
51-
<details>
52-
<summary>View Demo</summary>
53-
54-
![Fast Ladder Demo](media/modules/fast-ladder.gif)
55-
56-
</details>
57-
58-
**Movement & Transportation**
59-
60-
- **Bedrock Bridging:** Placement preview and godbridge mode.
61-
62-
<details>
63-
<summary>View Demo</summary>
64-
65-
![Bedrock Bridging Demo](media/modules/bedrock-bridging.gif)
66-
67-
</details>
68-
69-
- **Fast Ladders & Sprint Retention:** Climb smoother and keep momentum after stopping.
70-
- **Vehicles:** Smoother boat handling, faster minecarts, and chain-linkable carts.
71-
- **Chicken Glide:** Carry chickens for a slow-falling glide effect.
72-
73-
<details>
74-
<summary>View Demo</summary>
75-
76-
![Chicken Glide Demo](media/modules/chicken-pickup.gif)
77-
78-
</details>
79-
80-
**Interaction & Convenience**
81-
82-
- **Inventory & Tools:** Shift-right-click to sort containers, Auto-Tool selection, and Auto-Refill for hotbars.
83-
84-
<details>
85-
<summary>View Demo</summary>
86-
87-
![AutoTool Demo](media/modules/autotool.gif)
88-
89-
</details>
90-
91-
- **Doors:** Double doors open together, left-click to knock.
92-
- **Slab Breaker:** Break exactly one half of a double slab.
93-
94-
<details>
95-
<summary>View Demo</summary>
96-
97-
![Slab Breaker Demo](media/modules/slab-breaker.gif)
98-
99-
</details>
100-
101-
**Aesthetics**
102-
103-
- **Frames & Paintings:** Toggle item frame visibility with shears; scroll through painting variants.
104-
- **Leash Decoration:** Link fences with leads and swing from them.
10528

10629
## Installation
10730

@@ -111,26 +34,36 @@ Mint provides 20+ lightweight, vanilla-friendly gameplay tweaks. It features per
11134

11235
**Requirements:** Paper 1.21.4+ Java 21+. (Folia support is currently **Experimental**)
11336

37+
**Optional integrations:** PlaceholderAPI, WorldGuard, GriefPrevention, Towny, and BentoBox (soft-dependencies).
38+
11439
## Commands & Permissions
11540

116-
| Command | Description | Permission |
41+
| Command | Description | Permission |
11742
| ----------------------------------- | ------------------------ | --------------------------- |
118-
| `/mint` | Open personal module GUI | `mint.gui` (Default: true) |
119-
| `/mint help` / `about` | Standard info commands | - |
120-
| `/mint admin reload` | Reload configuration | `mint.admin`, `mint.reload` |
121-
| `/mint admin modules` | List all module states | `mint.admin` |
122-
| `/mint admin toggle <mod> [player]` | Toggle a module | `mint.admin`, `mint.toggle` |
123-
| `/mint admin global <mod> <on/off>` | Globally toggle a module | `mint.admin.global` |
124-
| `/mint admin save` | Save config to disk | `mint.reload` |
43+
| `/mint` | Open personal module GUI | `mint.gui` (Default: true) |
44+
| `/mint help` / `about` | Standard info commands ||
45+
| `/mint admin reload` | Reload configuration | `mint.admin`, `mint.reload` |
46+
| `/mint admin modules` | List all module states | `mint.admin` |
47+
| `/mint admin toggle <mod> [player]` | Toggle a module | `mint.toggle`; `mint.toggle.others` when `[player]` is set |
48+
| `/mint admin global <mod> <on/off>` | Globally toggle a module in config | `mint.admin.global` |
49+
| `/mint admin profile list` | List saved module presets | `mint.admin.profile` |
50+
| `/mint admin profile save <name> [player]` | Snapshot a player's enabled modules | `mint.admin.profile` |
51+
| `/mint admin profile load <name> [player]` | Apply a preset to a player | `mint.admin.profile` |
52+
| `/mint admin profile delete <name>` | Remove a preset from config | `mint.admin.profile` |
53+
| `/mint admin save` | Save config to disk | `mint.reload` |
12554

12655
*Bypass region protections using `mint.bypass.protection`.*
12756

12857
## Technical Details
12958

13059
- **Storage:** Supports YAML (default), H2, MySQL, MariaDB, and MongoDB.
131-
- **Performance:** Fully Folia-compatible and multi-threaded.
132-
- **Protection:** Automatically respects WorldGuard and GriefPrevention build permissions.
60+
- **Performance:** Folia-aware scheduling; async access is guarded for region-thread safety.
61+
- **Protection:** Respects WorldGuard, GriefPrevention, Towny, and BentoBox build rules when those plugins are present.
13362
- **Customization:** Full GUI and message customization via `gui.yml` and `lang.yml` (MiniMessage supported).
63+
- **PlaceholderAPI:** `%mint_modules_total%` (personal modules count), `%mint_modules_server_total%`, `%mint_modules_enabled_count%` (personal enabled for the player). `%mint_module_<key>%` uses per-player state for personal modules and config-only for server-wide modules (`%mint_global_<key>%` always reflects config).
64+
- **Tests:** `mvn test` runs unit tests (including Folia compatibility guards).
65+
66+
**Config note:** Reacharound Placement still honors the legacy `modules.bedrock-bridging.enabled` flag if `modules.reacharound-placement.enabled` is absent, so older configs keep working.
13467

13568
## Building from Source
13669
```bash

docs/building.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Building Modules
2+
3+
These modules focus on placement, decoration, and building convenience.
4+
5+
## Reacharound Placement
6+
- **Config key:** `modules.reacharound-placement`
7+
- **Description:** Allows Quark-style reacharound placement when normal targeting misses.
8+
- **Permission node:** `mint.module.reacharound-placement` (default; override with `modules.reacharound-placement.permission`)
9+
10+
## Block Decoration
11+
- **Config key:** `modules.blockdecoration`
12+
- **Description:** Decorates supported blocks with display skins.
13+
- **Permission node:** `mint.module.blockdecoration` (default; override with `modules.blockdecoration.permission`)
14+
- **Preview:** `../media/modules/block-decoration.gif`
15+
16+
![Block Decoration Preview](../media/modules/block-decoration.gif)
17+
18+
## Carpet Geometry
19+
- **Config key:** `modules.carpetgeometry`
20+
- **Description:** Uses a stonecutter to craft geometric patterns into carpets.
21+
- **Permission node:** `mint.module.carpetgeometry` (default; override with `modules.carpetgeometry.permission`)
22+
- **Preview:** `../media/modules/carpet-geometry.gif`
23+
24+
![Carpet Geometry Preview](../media/modules/carpet-geometry.gif)
25+
26+
## Ladder Place
27+
- **Config key:** `modules.ladder-place`
28+
- **Description:** Places ladders quickly above or below your current position.
29+
- **Permission node:** `mint.module.ladder-place` (default; override with `modules.ladder-place.permission`)
30+
- **Preview:** `../media/modules/fast-ladder.gif`
31+
32+
![Ladder Place Preview](../media/modules/fast-ladder.gif)
33+
34+
## Sign Items
35+
- **Config key:** `modules.sign-items`
36+
- **Description:** Places items on hanging signs using display entities.
37+
- **Permission node:** `mint.module.sign-items` (default; override with `modules.sign-items.permission`)
38+
- **Preview:** `../media/modules/signitems.png`
39+
40+
![Sign Items Preview](../media/modules/signitems.png)
41+
42+
## Slab Breaker
43+
- **Config key:** `modules.slab-breaker`
44+
- **Description:** Breaks only one half of double slabs.
45+
- **Permission node:** `mint.module.slab-breaker` (default; override with `modules.slab-breaker.permission`)
46+
- **Preview:** `../media/modules/slab-breaker.gif`
47+
48+
![Slab Breaker Preview](../media/modules/slab-breaker.gif)
49+
50+
## Mixed Slab
51+
- **Config key:** `modules.mixedslab`
52+
- **Description:** Places two different slab types in one block space.
53+
- **Permission node:** `mint.module.mixedslab` (default; override with `modules.mixedslab.permission`)
54+
- **Preview:** `../media/modules/mixed-slab.gif`
55+
56+
![Mixed Slab Preview](../media/modules/mixed-slab.gif)
57+
58+
## Vertical Slab
59+
- **Config key:** `modules.verticalslab`
60+
- **Description:** Enables vertical slab placement visuals.
61+
- **Permission node:** `mint.module.verticalslab` (default; override with `modules.verticalslab.permission`)
62+
- **Preview:** `../media/modules/vertical-slab.gif`
63+
64+
![Vertical Slab Preview](../media/modules/vertical-slab.gif)
65+
66+
## Dyeable Item Frames
67+
- **Config key:** `modules.dyeable-item-frames`
68+
- **Description:** Dyes item frames using mixed dye combinations with a wool-style texture overlay.
69+
- **Permission node:** `mint.module.dyeable-item-frames` (default; override with `modules.dyeable-item-frames.permission`)
70+
- **Preview:** `../media/modules/itemframes.png`
71+
72+
![Dyeable Item Frames Preview](../media/modules/itemframes.png)

docs/entity.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Entity Modules
2+
3+
These modules modify mob and creature-specific behavior.
4+
5+
## Chicken Glide
6+
- **Config key:** `modules.chicken-glide`
7+
- **Description:** Lets players carry chickens and glide with slow falling.
8+
- **Permission node:** `mint.module.chicken-glide` (default; override with `modules.chicken-glide.permission`)
9+
- **Preview:** `../media/modules/chicken-pickup.gif`
10+
11+
![Chicken Glide Preview](../media/modules/chicken-pickup.gif)
12+
13+
## Feather Pluck
14+
- **Config key:** `modules.feather-pluck`
15+
- **Description:** Plucks feathers from chickens with shears using cooldown and feedback cues.
16+
- **Permission node:** `mint.module.feather-pluck` (default; override with `modules.feather-pluck.permission`)
17+
18+
## Vexes Die With Their Masters
19+
- **Config key:** `modules.vexes-die-with-their-masters`
20+
- **Description:** Removes vexes when their summoner dies.
21+
- **Permission node:** `N/A` (server-scoped module; no per-player permission gate)

docs/farming.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Farming Modules
2+
3+
These modules improve crop handling, growth, and world interaction utilities.
4+
5+
## Crop Interact
6+
- **Config key:** `modules.crop-interact`
7+
- **Description:** Right-clicks mature crops to harvest and automatically replant.
8+
- **Permission node:** `mint.module.crop-interact` (default; override with `modules.crop-interact.permission`)
9+
10+
## Bone Meal Anything
11+
- **Config key:** `modules.bone-meal-anything`
12+
- **Description:** Allows bone meal to grow nether wart, sugar cane, and cactus with vanilla-like limits.
13+
- **Permission node:** `mint.module.bone-meal-anything` (default; override with `modules.bone-meal-anything.permission`)
14+
15+
## Chopdown
16+
- **Config key:** `modules.chopdown`
17+
- **Description:** Drops trees with opposite-side fall and vanilla-like leaf loot handling.
18+
- **Permission node:** `mint.module.chopdown` (default; override with `modules.chopdown.permission`)
19+
20+
## Torch Lighting
21+
- **Config key:** `modules.torch-lighting`
22+
- **Description:** Sneak right-click with a torch to ignite lightable blocks.
23+
- **Permission node:** `mint.module.torch-lighting` (default; override with `modules.torch-lighting.permission`)

docs/interaction.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Interaction Modules
2+
3+
These modules add social, decorative, and utility interactions.
4+
5+
## Double Door
6+
- **Config key:** `modules.doubledoor`
7+
- **Description:** Opens paired double doors together.
8+
- **Permission node:** `mint.module.doubledoor` (default; override with `modules.doubledoor.permission`)
9+
10+
## Door Knock
11+
- **Config key:** `modules.door-knock`
12+
- **Description:** Left-clicks doors to play a knock sound.
13+
- **Permission node:** `mint.module.door-knock` (default; override with `modules.door-knock.permission`)
14+
15+
## Invisible Frame
16+
- **Config key:** `modules.invisible-frame`
17+
- **Description:** Toggles item frame visibility with shears.
18+
- **Permission node:** `mint.module.invisible-frame` (default; override with `modules.invisible-frame.permission`)
19+
20+
## Painting Scroll
21+
- **Config key:** `modules.painting-scroll`
22+
- **Description:** Scrolls paintings to cycle fitting variants.
23+
- **Permission node:** `mint.module.painting-scroll` (default; override with `modules.painting-scroll.permission`)
24+
25+
## Leash Decoration
26+
- **Config key:** `modules.leash-decoration`
27+
- **Description:** Links fences with leads and lets players swing from them.
28+
- **Permission node:** `mint.module.leash-decoration` (default; override with `modules.leash-decoration.permission`)

docs/inventory.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Inventory Modules
2+
3+
These modules streamline inventory management and tool usage.
4+
5+
## Shift Right Click Sort
6+
- **Config key:** `modules.shift-right-click-sort`
7+
- **Description:** Shift-right-click inventories to sort instantly.
8+
- **Permission node:** `mint.module.shift-right-click-sort` (default; override with `modules.shift-right-click-sort.permission`)
9+
10+
## Auto Tool
11+
- **Config key:** `modules.auto-tool`
12+
- **Description:** Automatically switches to the proper tool when breaking blocks.
13+
- **Permission node:** `mint.module.auto-tool` (default; override with `modules.auto-tool.permission`)
14+
- **Preview:** `../media/modules/autotool.gif`
15+
16+
![Auto Tool Preview](../media/modules/autotool.gif)
17+
18+
## Auto Refill
19+
- **Config key:** `modules.auto-refill`
20+
- **Description:** Automatically refills depleted hotbar block stacks from your inventory.
21+
- **Permission node:** `mint.module.auto-refill` (default; override with `modules.auto-refill.permission`)
22+
23+
## Expanded Item Interactions
24+
- **Config key:** `modules.expanded-item-interactions`
25+
- **Description:** Adds shulker insert, armor swap, and lava-item destroy interactions in inventories.
26+
- **Permission node:** `mint.module.expanded-item-interactions` (default; override with `modules.expanded-item-interactions.permission`)

docs/mobility.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Mobility Modules
2+
3+
These modules improve player movement and traversal feel.
4+
5+
## Fast Ladders
6+
- **Config key:** `modules.fast-ladders`
7+
- **Description:** Climbs ladders faster and more smoothly using movement keys.
8+
- **Permission node:** `mint.module.fast-ladders` (default; override with `modules.fast-ladders.permission`)
9+
10+
## Sprint Retention
11+
- **Config key:** `modules.sprintretention`
12+
- **Description:** Applies brief Speed after releasing sprint so momentum lingers.
13+
- **Permission node:** `mint.module.sprintretention` (default; override with `modules.sprintretention.permission`)

docs/transport.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Transport Modules
2+
3+
These modules improve vehicle handling and travel.
4+
5+
## Boat Improvements
6+
- **Config key:** `modules.boat-improvements`
7+
- **Description:** Improves boats with cruise assist on water, ice glide, easier beach slides, and less mob bumping.
8+
- **Permission node:** `mint.module.boat-improvements` (default; override with `modules.boat-improvements.permission`)
9+
10+
## Minecart Improvements
11+
- **Config key:** `modules.minecart-improvements`
12+
- **Description:** Boosts minecart speed and allows linking carts with chains.
13+
- **Permission node:** `mint.module.minecart-improvements` (default; override with `modules.minecart-improvements.permission`)

media/modules/block-decoration.png

1.43 MB
Loading

media/modules/itemframes.png

906 KB
Loading

0 commit comments

Comments
 (0)