HomeJavaModsSimpleStuff
SimpleStuff
ModsJava

SimpleStuff

SimpleStuff is a lightweight Paper plugin that adds SimpleStuff, which every server should have:

⬇ Download on Hangar
# SimpleStuff SimpleStuff is a lightweight, performance-focused plugin that adds a wide range of utility features: 1. **/rtp** — Random teleportation with per-dimension permissions and configurable safe-location search 2. **/home** — Persistent player homes stored in an embedded H2 database 3. **/tpa** — Player-to-player teleport requests with accept/decline 4. **/back** — Teleport back to your last location (death or teleport) 5. **/spawn** — Teleport to the world spawn 6. **/fly** — Toggle flight 7. **/feed** — Fill your hunger bar 8. **/heal** — Heal to full health 9. **/repair** — Repair items (single or all) 10. **/god** — Toggle invincibility 11. **/invsee** — View a player's inventory live 12. **Workstation commands** — Open virtual anvils, crafting tables, ender chests, and more 13. **Combat log** — Blocks teleports during PvP and punishes combat loggers 14. **Home import** — Import homes from an old plugin's .yml file 15. **Custom join/leave messages** — Configurable join and quit messages All persistent data (homes) is stored in an embedded **H2 database** (`plugins/SimpleStuff/simplestuff.mv.db`). This design keeps the plugin fast, with no external database dependencies and a minimal memory footprint. --- ## Installation 1. Place `SimpleStuff-1.1.0.jar` into your server's `plugins/` folder. 2. Restart the server (or use a plugin manager like PlugMan). 3. The plugin will generate `plugins/SimpleStuff/config.yml` on first run. 4. Edit `config.yml` as desired and run `/simplestuff reload` to apply changes without restarting. --- ## Commands ### Teleport Commands | Command | Description | Permission | |---------|-------------|------------| | `/rtp [dimension]` | Randomly teleport to a safe location. Dimension: `overworld`, `nether`, or `the_end`. Defaults to current dimension. | `simplestuff.rtp` + `simplestuff.rtp.` | | `/sethome ` | Set a home at your current location. | `simplestuff.home` | | `/home ` | Teleport to a home. With no name, lists your homes. | `simplestuff.home` | | `/delhome ` | Delete a home. | `simplestuff.home` | | `/homes` | List all your homes with current limit. | `simplestuff.home` | | `/tpa ` | Request to teleport to a player. | `simplestuff.tpa` | | `/tpahere ` | Request a player to teleport to you. | `simplestuff.tpa` | | `/tpaccept [player]` | Accept a pending teleport request. | `simplestuff.tpa` | | `/tpadecline [player]` | Decline a pending teleport request. | `simplestuff.tpa` | | `/back` | Teleport to your last location (death or teleport). | `simplestuff.back` | | `/spawn` | Teleport to the world spawn. | `simplestuff.spawn` | ### Utility Commands | Command | Description | Permission | |---------|-------------|------------| | `/fly` | Toggle flight. | `simplestuff.fly` | | `/feed` | Fill your hunger bar to full. | `simplestuff.feed` | | `/heal` | Heal yourself to full health. | `simplestuff.heal` | | `/repair single` | Repair the item in your hand. | `simplestuff.repair` | | `/repair all` | Repair all repairable items in your inventory. | `simplestuff.repair` | | `/god` | Toggle god mode (invincibility, no damage). | `simplestuff.god` | | `/invsee ` | View a player's inventory live. | `simplestuff.invsee` | ### Workstation Commands | Command | Description | Permission | |---------|-------------|------------| | `/anvil` | Open a virtual anvil. | `simplestuff.anvil` | | `/craftingtable` | Open a virtual crafting table. | `simplestuff.craftingtable` | | `/enderchest` | Open your ender chest. | `simplestuff.enderchest` | | `/grindstone` | Open a virtual grindstone. | `simplestuff.grindstone` | | `/stonecutter` | Open a virtual stonecutter. | `simplestuff.stonecutter` | | `/cartography` | Open a virtual cartography table. | `simplestuff.cartography` | | `/loom` | Open a virtual loom. | `simplestuff.loom` | | `/smithingtable` | Open a virtual smithing table. | `simplestuff.smithingtable` | | `/enchantingtable` | Open a virtual enchanting table. | `simplestuff.enchantingtable` | | `/brewingstand` | Open a virtual brewing stand. | `simplestuff.brewingstand` | | `/furnace` | Open a virtual furnace. | `simplestuff.furnace` | | `/smoker` | Open a virtual smoker. | `simplestuff.smoker` | | `/blastfurnace` | Open a virtual blast furnace. | `simplestuff.blastfurnace` | ### Admin Commands | Command | Description | Permission | |---------|-------------|------------| | `/simplestuff reload` | Reload config and apply changes without restart. | `simplestuff.reload` | | `/simplestuff version` | Show plugin version. | None | --- ## Permissions > **Note:** All permissions default to **OP only**. Server owners must assign permissions via a permissions plugin like LuckPerms. | Permission | Default | Description | |------------|---------|-------------| | `simplestuff.rtp` | `op` | Allows use of `/rtp` | | `simplestuff.rtp.overworld` | `op` | Allows `/rtp` in the overworld | | `simplestuff.rtp.nether` | `op` | Allows `/rtp` in the nether | | `simplestuff.rtp.the_end` | `op` | Allows `/rtp` in the end | | `simplestuff.home` | `op` | Allows all home commands | | `simplestuff.homes.limit.unlimited` | `op` | Grants unlimited homes | | `simplestuff.homes.limit.` | `op` | Grants that specific number of homes (e.g. `simplestuff.homes.limit.10`) | | `simplestuff.tpa` | `op` | Allows all teleport request commands | | `simplestuff.back` | `op` | Allows use of `/back` | | `simplestuff.spawn` | `op` | Allows use of `/spawn` | | `simplestuff.fly` | `op` | Allows use of `/fly` | | `simplestuff.feed` | `op` | Allows use of `/feed` | | `simplestuff.heal` | `op` | Allows use of `/heal` | | `simplestuff.repair` | `op` | Allows use of `/repair` | | `simplestuff.anvil` | `op` | Allows use of `/anvil` | | `simplestuff.craftingtable` | `op` | Allows use of `/craftingtable` | | `simplestuff.enderchest` | `op` | Allows use of `/enderchest` | | `simplestuff.grindstone` | `op` | Allows use of `/grindstone` | | `simplestuff.stonecutter` | `op` | Allows use of `/stonecutter` | | `simplestuff.cartography` | `op` | Allows use of `/cartography` | | `simplestuff.loom` | `op` | Allows use of `/loom` | | `simplestuff.smithingtable` | `op` | Allows use of `/smithingtable` | | `simplestuff.enchantingtable` | `op` | Allows use of `/enchantingtable` | | `simplestuff.brewingstand` | `op` | Allows use of `/brewingstand` | | `simplestuff.furnace` | `op` | Allows use of `/furnace` | | `simplestuff.smoker` | `op` | Allows use of `/smoker` | | `simplestuff.blastfurnace` | `op` | Allows use of `/blastfurnace` | | `simplestuff.combatlog.bypass` | `op` | Bypasses the combat log (teleport while in combat, no death on logout) | | `simplestuff.god` | `op` | Allows use of `/god` | | `simplestuff.invsee` | `op` | Allows use of `/invsee` | | `simplestuff.reload` | `op` | Allows `/simplestuff reload` | --- ## Combat Log SimpleStuff includes a combat log system to prevent players from escaping PvP: - **Tagging:** When a player is hit by **another player** (PvP only — not mobs or natural damage), both players are tagged as "in combat" for the configured duration. - **Chat notifications:** When combat starts, players see: *"You are now in combat! 15 second(s) remaining."* When combat ends, they see: *"You are no longer in combat!"* - **Teleport blocking:** While in combat, the following commands are blocked: `/tpa`, `/tpahere`, `/tpaccept`, `/home`, `/spawn`, `/rtp`. The blocked message shows the remaining time. - **Combat logging:** If a player logs out while in combat, they are **killed** and a message is broadcast to the server. - **Combat logger log:** When `combat-log-loggers: true` (default), combat loggers are saved to `plugins/SimpleStuff/combat-loggers.json` with their timestamp, player name, and UUID. - **Bypass:** Players with the `simplestuff.combatlog.bypass` permission are exempt from all combat log effects. - **Config:** The combat duration is set in one place in `config.yml` (`combat-log-time`, default 15 seconds). Set to `0` to disable. --- ## Home Import (from an old plugin) SimpleStuff can import homes from an old plugin that saved homes in a `.yml` file: 1. Set `home-import-enabled: true` in `config.yml`. 2. Restart the server. A folder `plugins/SimpleStuff/import/` is created. 3. Place your old plugin's homes `.yml` file(s) into that folder. 4. Restart the server again. The plugin reads the file(s), imports all homes (name, location, and player) into SimpleStuff's H2 database, and moves processed files to an `import/processed/` subfolder. 5. Players whose homes were imported are notified in chat when they join: *"Your homes have been transferred to SimpleStuff!"* 6. To disable the feature, set `home-import-enabled: false` and delete the `import` folder. ### Supported .yml Formats The importer supports multiple common home-save formats: **Format 1 — EssentialsX-style:** ```yaml homes: : : world: world x: 100.0 y: 64.0 z: 100.0 yaw: 0.0 pitch: 0.0 ``` **Format 2 — Serialized Location (top-level UUIDs):** ```yaml : : ==: org.bukkit.Location world_key: minecraft:overworld x: 100.0 y: 64.0 z: 100.0 pitch: 0.0 yaw: 0.0 ``` **Format 3 — Nested under "homes" with serialized Locations:** ```yaml homes: : : ==: org.bukkit.Location world_key: minecraft:overworld x: 100.0 y: 64.0 z: 100.0 pitch: 0.0 yaw: 0.0 ``` --- ## Configuration (`config.yml`) ```yaml # SimpleStuff Configuration # Author: Johndinglesin # Version: 1.1.0 # Config version - used to auto-update config when new options are added config-version: 3 # Join / leave messages # Use as a placeholder for the player's name # Set to empty string "" to disable join-message: "+ Joined" leave-message: "- Left" # Default number of homes per player default-homes: 3 # /rtp settings per dimension # mode: "random" = random safe block within radius, "worldborder" = random safe block within world border # radius: only used when mode is "random" (in blocks) rtp: overworld: enabled: true mode: "worldborder" radius: 5000 nether: enabled: true mode: "random" radius: 1000 the_end: enabled: true mode: "random" radius: 1000 # Teleport request timeout in seconds tpa-timeout: 60 # Cooldown between /rtp uses in seconds (0 to disable) rtp-cooldown: 0 # Cooldown between /back uses in seconds (0 to disable) back-cooldown: 0 # Cooldown between /spawn uses in seconds (0 to disable) spawn-cooldown: 0 # Combat log settings # Time in seconds a player is considered "in combat" after being hit by another player. # While in combat, teleport commands (/tpa, /home, /spawn) are blocked. # If a player logs out while in combat, they are killed. # Set to 0 to disable the combat log entirely. # Players with the permission "simplestuff.combatlog.bypass" are exempt. combat-log-time: 15 # When true, players who combat log (log out while in combat) are saved to a JSON log file: # plugins/SimpleStuff/combat-loggers.json # Each entry includes: timestamp, player name, and player UUID. combat-log-loggers: true # Home import settings # When enabled, a folder "import" is created in the plugin folder on the next restart. # Place your old plugin's homes .yml file(s) in that folder. # On the next restart, the homes are imported into SimpleStuff's database. # Players whose homes were imported are notified in chat when they join. # To disable, set this to false and delete the "import" folder. home-import-enabled: false ``` --- ## Data Storage ### H2 Database All home data is stored in an embedded H2 database at: ``` plugins/SimpleStuff/simplestuff.mv.db ``` The database contains a single `homes` table: | Column | Type | Description | |--------|------|-------------| | `id` | INT AUTO_INCREMENT | Primary key | | `player_uuid` | VARCHAR(36) | Player's UUID | | `home_name` | VARCHAR(64) | Home name (lowercase) | | `world` | VARCHAR(64) | World name | | `x`, `y`, `z` | DOUBLE | Coordinates | | `yaw`, `pitch` | FLOAT | Player rotation | A unique constraint on `(player_uuid, home_name)` prevents duplicate home names per player. ### Why H2? - **Zero external dependencies** — embedded, runs in-process. - **Fast** — no network I/O, ideal for small datasets. - **Persistent** — survives restarts. - **Lightweight** — minimal memory footprint. --- ## Support If you want anything added or find a bug. Please go to the [form](https://docs.google.com/forms/d/e/1FAIpQLSfCtsyk3LiUA2YZ8_Dz_q-rG_2Jt9TURdi0mE0QrLEUz6fQCg/viewform?usp=header)

SimpleStuff is a free Minecraft Java mod. Compatible with Minecraft 1.21, 26.1, 26.1.1, 26.1.2 and newer. Downloaded 3 times (via Hangar). Download it and open it directly in the game.

Explore more