WorldLock

![Dependencies](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/Dependencies.png?raw=true)
* [**BukkitOfUtils**](https://modrinth.com/plugin/bukkitofutils)

![Discord](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/JoinTheDiscord.png?raw=true)
Please join the Streamline Hub Discord in order to get updates and for me to fully assist you with bugs, questions, or suggestions.

Discord: [**click here**](https://dsc.gg/streamline)

![Summary](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/Summary.png?raw=true)
Block players from entering or teleporting to specified worlds — All configurable with commands.

![Why This?](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/WhyThis.png?raw=true)
This offers a very simple configuration and setup all while remaining very light-weight.

![How to Install](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/HowToInstall.png?raw=true)
1. Download and install BukkitOfUtils. Found here: [BukkitOfUtils](https://modrinth.com/plugin/bukkitofutils)
2. Download the correct version of this plugin for you server version.
3. Place in your `plugins` folder.
4. Stop server.
5. Start server.
6. Use to your liking.

![More Info](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/MoreInfo.png?raw=true)
## How to block a world
1. Install plugin. (Shown above.)
2. `/manageworlds add ` – where `` is replaced with the world you want to block.

## Notes
Players with operator or the `*` permission can access all worlds by default.
To disable these players from bypassing the world block, set their permission for `worldlock.bypass.*` to false.

## Functions
* Block specified worlds from:
* Teleportation.
* Moving to.
* Portal-Warping to.
* List blocked worlds.
* Bypassable with permissions.
* Permission: `worldlock.bypass.`

![Commands and Permissions](https://github.com/Streamline-Essentials/StreamlineWiki/blob/main/website/images/CommandsAndPermissions.png?raw=true)
## Commands
* `/manageworlds`
* `/manageworlds add `
* Adds a world to the blocked worlds.
* `/manageworlds remove `
* Removes a world from the blocked worlds.
* `/manageworlds list`
* Lists all worlds in the blocked worlds list.

WorldListTrashCan

## Allows players to customize their home world’s trash bin.

This cleaning plugin operates within a specific world (the player’s home) and, when cleaning items, gathers them into a trash bin that the player has personally set up in their home. It combines various features, supports Folia, boasts highly configurable settings, and is compatible with multiple languages.
(This plugin is more suitable for pairing a world with a team’s server, such as the Home server (using the PlayerWorldsPro plugin or other Home plugin servers). If you close the World Garbage can, its functions can also completely replace other cleaning plugins)

**Now, here’s a hellish joke for you:**
**Player** : Hey, my quantum solar panels got swept away by the cleaning plugin. Can you compensate me?
**OP** : No way, you can’t prove it, and my cleaning plugin doesn’t keep records.
**Player** : I just bought them!
**OP** : What if you hid them, and I compensate you, essentially doubling them?
**Player** : ***
**OP** : Even if there were public trash bins on the server, someone would snatch up those solar panels.
**OP** : What should I do?

And there you have it, this plugin was born.

When Foila supports multiple worlds, this cleaning plugin will benefit everyone

### Features:

– **Fully customizable tip**
Support multiple prompt messages
You can achieve fully customized prompts
For example, when there are three seconds left, let “bossbar”, “actionbar”, “chat”,and “title” prompt together,
Alternatively, you can have the bossbar change its style every second (solid, non solid, including its color, can be different every second)
After version 5.7.0, it supports switching between different prompt sounds per second, as well as setting different volumes and tones per second

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/24b3e1462757b7a96cb6a7344788f75b3b903a60.png)

– Thank you to QQ 1664907770 (“笑脸猫”) for providing the material package for the “itemsadder” plugin (applicable to public trash cans) [Click here to download](https://www.hostize.com/zh/v/3TE06XKXx8) (IteamsAdder/WorldTrashCan config and resource)

![public trash can itemsadder plugin resource](https://cdn.modrinth.com/data/nILG1dtG/images/1cbdd4a92d00b0637e130cd87c412970e23ec533.png)

– **Player-Created World Trash Bin:**
Players have the ability to create a trash bin in their world.
Similar to the mechanics of previous sign-locked chests, the font on the sign will undergo a
transformation after creation.
When the cleaning process is initiated, items will be automatically added to the home trash bin.
Configurable settings allow players to specify detection names and transformed names after cleaning.
“To meet the demands of a small number of people, here is a reminder”
How to create a world trash can:
Place the chest on the ground, hold the signboard and right-click on the chest. Enter [世界垃圾桶] in the configuration file (configured in Set. SighCheckName), and once the font is converted, it is created. Every time the garbage is cleaned, it will be placed in the marked chest
In the default configuration file, the names of the three worlds “world, dim-1, dim1” are disabled, creating a “world trash can” (excluding op)

![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/69ae92502becde7a7a2f033815fa420c28cb6957.gif)

– **Support for Multiple Home Trash Bins:**
Players can use commands to grant special players the ability to place additional home trash bins.
Default quantities for home trash bins are configurable.
![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/609be599004c03b52ec244c68437bd33b3de0f9d.gif)
– **Home Trash Bin Overflow to Public Trash Bin:**
Items from home trash bins overflow into the public trash bin.
Public trash bins can have a configurable maximum page count and a blacklist.
![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/11c25510bcd38cd87445f3241d44707424e8dbb9.gif)
– **Item Exclusion and Public Trash Bin Handling:**
Players can add items to the home trash bin blacklist to prevent their recycling.
Excluded items go directly to the public trash bin.
Configuration includes support for excluding items with special lore (e.g., items from the QS shop with
showLocation).
Public trash bins can either clear new items during each sweep or accumulate all trash without clearing.
![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/05e44d7c3286d7daa0d0222338b780168b423f94.gif)
– **The public trash can can enable logging:**
Record what items the player took away
![public trash can log](https://cdn.modrinth.com/data/nILG1dtG/images/eff1bc89a24efa7115cd15670a60d15c7b42d643.png)
– **Entity Cleanup:**
Optional cleanup of all animals/monsters.
Command (/WorldListTrashCan Look) to view entity types and configure entity blacklists/whitelists.
Support for cleaning special entities from mod.
![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/897ed52ff78147da390920cb895e68a65811ed18.png)
– **Dense Entity Cleanup:**
Configurable radius, target quantity, kill or remove options, and player notifications for dense entity
cleanup.
![REPLACE ME WITH YOUR ALT TEXT](https://cdn.modrinth.com/data/nILG1dtG/images/3c34031e1638855ab24b51c3aff80e05e68ca62b.gif)
– **Spam/Command Limitations:**
Configurable chat/command intervals, whitelist commands, and informative messages.
Defense against item dropping.
Players can manually enable or disable the item-drop defense mode.

– **Performance Optimization:**
All optimizations have configurable options in the settings.
1. Quick removal of uncollectible arrows (e.g., arrows from skeletons or bows with infinite
enchantments).
2. Prohibit players from trampling on farmland

### How to Install

– **Throw it into the Plugins folder**

### Commands:

– **/wtc reload**
Reloads the plugin.
– **/wtc GlobalTrash**
Opens the public trash bin.
– **/wtc help**
Displays help information.
– **/wtc ban**
Opens the local world trash blacklist GUI.
– **/wtc Look**
Right-click to get entity type (useful for adding to the configuration blacklist/whitelist).
– **/wtc GlobalBan**
Opens the global world trash blacklist GUI.
– **/wtc add [WorldName] [Quantity]**
Sets the maximum quantity for the trash bin in the specified world (defaults to the world at your feet if not specified).
– **/wtc DropMode**
Opens or closes drop mode.

### Placeholders

– **%WTC_ClearTime%**:
Time until the next cleaning.

### Permission

– **WorldListTrashCan.BanGui**:
Permission to open the GUI for adding items to the player’s home trash bin blacklist.
– **WorldListTrashCan.GlobalTrashOpen**:
Permission to open the global trash bin.
– **WorldListTrashCan.help**:
Permission to access command help.
– **WorldListTrashCan.DropMode**:
Permission to open or close drop mode.
***(The above is available by default)***
– **WorldListTrashCan.GlobalBan**:
Permission to open the global trash bin blacklist GUI.
– **WorldListTrashCan.Look**:
Permission to right-click and query the entity type.
***(The above is not available by default)***

WorldGuardRegionProtect

**If you with try first newest, use the latest dev build
Start from version 1.8.0.21 will support Bukkit/Spigot/Folia and other forks of Paper.
Versions after 1.0.3.21 above require JAVA 21+!
If you need plugin support JAVA 17+, so you need just download 1.0.2.17 special version
This is not a WorldGuard. This plugin addon for a WorldGuard!
You don’t know where you can get WG for new released versions?
So you just can check on EngineHub from original authors for dev-builds.**

**Do you want protect from superpickaxe? Or feauters protection for players? Look at premium version.
The free version of the plugin will continue to be updated!
❤️Click here to check out the plus version! ❤️**

Do you speak multiple languages? If so, we always welcome contributions to our [Crowdin project](https://crowdin.com/project/worldguardregionprotect)

If you have a idea for plugin, you can created issue on [github](https://github.com/RSTeamCore/WorldGuardRegionProtect/issues/new/choose)

## Support
When reporting a bug:
Use [the issue tracker](https://github.com/RSTeamCore/WorldGuardRegionProtect/issues)! Don’t report bugs in the reviews and discussions. Please search for duplicates before reporting a new issue!
Provide as much information as possible. Provide your WorldGuardRegionProtect version and Spigot/Paper version.
Provide any stack traces or “errors” using [pastebin](http://pastebin.com/).

## [Join us in the discord!](https://discord.gg/kvqvA3GTVF)

## Opportunities of plugin
By entering the name of the region in the plugin config.yml, you will add protection by plugin. Nobody can interact with the region that is registered in config.yml. Even the operators are not able to do this!
This plugin is for extended protection of an existing region from WorldGuard. For example, possible damage region from the administration. Who has permission access from plugin WorldGuard, or from operators.

## With plugin, you can do advanced protect your region
1. Nobody cannot break or place blocks in region.
2. It is possible to enable/disable the limitation of interaction with the transport.
3. Protecting frame, painting from any damage from arrows, trident, snowball, eggs, enderpearl and player.
4. Protect from any change in the frame (On 1.18 MC glow frame too).
5. Nobody cannot damage armor stand and taking or place armor from it.
6. Cannot use none of the buckets in region.
7. Creeper, Wither, Ghast, Primed TNT, cannot blowing up stuff in the region. Skeleton, Stray and Shulker bullet cannot destroy frame/glow frame and painting.
8. TNT, minecart with TNT, Respawn Anchor and ender crystal can’t damage any blocks/frames in region.
9. Support for banned dangerous commands. Separate commands were added and tested used by FastAsyncWorldEditWorldEdit in the protected region.
10. Nobody cannot remove region or change flags in protected region. Just example using like:
– “/rg rem spawn”,
– “/rg rem -f spawn”,
– “/rg rem -f spawn -w world”,
– “/rg addowner spawn Steve” etc.
11. You can specify a special region inside the protected region in which you can “break and place” or “only break” (specified in config.yml)

## Permissions
1. If you need give access to region for Builder team or any member from your staff, just add permissions on LuckPerms or PermissionsEx: wgrp.regionprotect
2. Who has the permissions star, I mean ‘*’ in LuckPerms or PermissionsEx may will be given access to protected region by WGRP.
3. By default, all who is operators are not allowed access into the region.

## Permissions:
– wgrp.command.wgrpbase – access to /wgrp command.
– wgrp.command.reload – access to /wgrp reload and /wgrp reloadmsg command to reload the configurations file.
– wgrp.command.spy – notifies the administrator about interacting with the protected region (BREAK or PLACE only now).
– wgrp.regionprotect – access to protected regions.
– wgrp.notify.admin – notifies the administrator when an attempt is made to use WGWE(FAWE) commands in a protected region.
– wgrp.command.addregion – access to the command with the ability to add a region to the protected region by admin.
– wgrp.command.removeregion – access to the command with the ability to remove the region from the protection by admin.

## Commands:
– /wgrp help – help on all commands.
– /wgrp about – additional information, useful!
– /wgrp reload – reload config.yml and language files.
– /wgrp addregion [region] [world] – add a region to the configuration for protection.
– /wgrp removeregion [region] [world] – delete a region from the configuration to remove protection.

View the default config you [can here](https://github.com/RSTeamCore/WorldGuardRegionProtect/blob/master/wgrp-common/src/main/resources/config.yml)!

[Bstats](https://bstats.org/signatures/bukkit/WorldGuardRegionProtect.svg)

WorldGuard ExtraFlags Plus

# WorldGuard ExtraFlags Plus

**Release 4.3.13**

An advanced WorldGuard extension that adds over 30+ extra region flags for full control of player behavior, teleportation, and region rules — featuring Folia support, item blocking (Mace, Firework, Wind Charge, Totem, vanilla Spears), throwable-only blocking (`disable-throw` for egg, snowball, pearl, XP bottle), optional PacketEvents/ProtocolLib packet hooks for full `disable-completely` coverage, and fully customizable messages.

> 🧱 **Folia Ready** | ⚙️ **Custom Messages** | 🪓 **Disable Mace, Totem, Trident, Spears & More** | 🥚 **Disable-throw (egg / snowball / pearl / XP bottle)**

> 🎚️ **XP-Based or PlaceholderAPI (integer output) based region entry limits**

## ⚠️ Warning DO NOT USE BOTH PLUGINS TOGETHER!

> If you’re upgrading from `WorldGuardExtraFlags` to `WorldGuardExtraFlagsPlus`, make sure to:
> – **Remove** the old `WorldGuardExtraFlags.jar` plugin file
> – **Only keep** `WorldGuardExtraFlagsPlus.jar` on your server
> – Both plugins cannot coexist – they will conflict with each other

## Key Features

– ✅ **Folia support** – fully compatible with async region handling
– 🛡️ **New flag:** `disable-completely` – blocks all usage of specified items *(MACE, FIREWORK_ROCKET, WIND_CHARGE, TOTEM_OF_UNDYING, TRIDENT, vanilla spear tiers 1.21.11+, plus **`SPEAR`** for all tiers at once)*
– *Note: `permit-completely` is replaced. Please use `disable-completely` instead.*
– *Spear **Lunge** (packet **STAB**, including **Lunge** enchant) requires **PacketEvents** or **ProtocolLib** on the server for reliable blocking; without either, Lunge may bypass region checks.*
– 🎯 **New flag:** `disable-throw` – blocks **launching** only these throwables: **`EGG`**, **`SNOWBALL`**, **`ENDER_PEARL`**, **`EXPERIENCE_BOTTLE`**. Tridents and wind charges stay on `disable-completely`.
– 🎚️ **New flags:** `entry-min-level` / `entry-max-level` – restrict entry by **XP level** or **PlaceholderAPI values**
– 💬 **Customizable messages** via `messages-wgefp.yml` (disable, recolor, or use placeholders)
– 🔁 **Message cooldown system** to prevent spam (default 3 seconds)
– 🏪 **New flag:** `villager-trade` – control villager trading in regions
– 🚫 **New flag:** `disable-collision` – disable player collision in regions
– *Uses Minecraft’s native scoreboard teams to control collision. TAB plugin is supported with API integration. May conflict with other plugins that use teams. See (public-documents/disable-collision flag documentation.md) for details.*
– 📝 **PlaceholderAPI Chat Integration** – chat prefix/suffix supports PlaceholderAPI placeholders
– 🧱 **New flags:** `allow-block-place` / `deny-block-place` / `allow-block-break` / `deny-block-break` – fine-grained block placement and breaking control
– 📦 **New flags:** `deny-item-drops` / `deny-item-pickup` – restrict specific items from being dropped or picked up (works when WorldGuard allows drops/pickups)
– 🔨 **New flag:** `permit-workbenches` – block workbench usage (anvil, crafting table, ender chest, etc.) and crafting table crafting in regions
– *Note: `permit-workbenches CRAFT` now only blocks crafting table (3×3) crafting, not inventory (2×2) crafting. Use `inventory-craft` flag to block inventory crafting.*
– 🎨 **New flag:** `inventory-craft` – block inventory crafting (2×2 grid) in regions
– 🛡️ **Godmode & Fly Flag Enhancement** – The `godmode` and `fly` flags now also disable EssentialsX godmode/fly when entering regions with these flags disabled (EssentialsX integration)
– 👥 **New flag:** `player-count-limit` – limit maximum number of players in a region
– 🎯 **New flag (experimental):** `chambered-enderpearl` – mitigates chambered ender pearl bypasses (pearls thrown outside denied regions are removed when the shooter enters a region where the flag denies); subject to change.

## About

WorldGuard protects land by defining regions.
**WorldGuard ExtraFlags Plus** extends it with even more customization — adding powerful flags that modify gameplay, teleportation, commands, and behavior within regions.

## Included Flags (30+)

> Here’s a quick overview — all managed with standard WorldGuard flag commands.

“`
[teleport-on-entry / teleport-on-exit] [command-on-entry / command-on-exit]
[console-command-on-entry / console-command-on-exit] [walk-speed / fly-speed]
[keep-inventory / keep-exp] [chat-prefix / chat-suffix] [godmode]
[blocked-effects] [respawn-location] [worldedit] [give-effects]
[fly] [play-sounds] [frostwalker] [nether-portals] [glide](elytra-blocker)
[chunk-unload] [item-durability] [join-location](not-on-folia)
“`

**New in Plus:**

“`
[disable-completely] [disable-throw]
[entry-min-level / entry-max-level]
[villager-trade] [disable-collision] [deny-item-drops / deny-item-pickup]
[allow-block-place / deny-block-place] [allow-block-break / deny-block-break]
[permit-workbenches] [inventory-craft] [player-count-limit]
[chambered-enderpearl](experimental)
“`

## 📖 Flag Usage Guide

For comprehensive usage examples and detailed flag documentation, see:
**[Complete Flag Usage Guide](https://github.com/tins-dev/WorldGuardExtraFlagsPlus/blob/master/.media/flag-usages.md)**

## Version Compatibility

| Minecraft | WorldGuard | ExtraFlagsPlus | Support |
| ————— | ———- | ————– | ——— |
| 1.20 – 1.21.11 | 7.0.15+ | 4.3.13+ | ✅ Active |
| 1.7 – 1.19 | Older | ❌ No support | |

The jar declares **`api-version: 1.21`** in `plugin.yml` so Paper **1.21.x** servers (and forks such as Canvas) load it; the project still compiles against the pinned Paper API artifact in the root `pom.xml`.

## Message Customization

All plugin messages live in `plugins/WorldGuard/messages-wgefp.yml`.

– Edit freely to match your style
– Use `{required}`, `{current}`, `{item}`, `{workbench}` placeholders (e.g. **`disable-throw-blocked`** uses `{item}`)
– Color codes supported (`&c`, `&7`, etc.)
– Disable messages with `””`
– Reload instantly using `/wgefp reload` or `/wg reload`

## Authors

– **ExtraFlags Plus Developer:** [tins](https://github.com/tins-dev)
– **Original ExtraFlags Author:** [isokissa3](https://joniaromaa.fi)

## Support & Community

– 📜 **Changelog:** [CHANGELOG.md](https://github.com/tins-dev/WorldGuardExtraFlagsPlus/blob/master/CHANGELOG.md) — release **4.3.13**
– 💬 **Discord:** [Join our Discord server](https://discord.gg/TCJAwsdqum)

## Image Section

⭐ If you like this project, give it a star on [Github](https://github.com/tins-dev/WorldGuardExtraFlagsPlus)

WorldGuard


WorldGuard logo

**Protect your server!**

WorldGuard lets you and players guard areas of land against griefers and undesirables as well as tweak and disable various gameplay features of Minecraft.

Installation

🛑 Make sure that you are using the Java version of Minecraft.

1. Set up a Bukkit server such as Spigot or Paper (Paper is recommended over Spigot).
2. Download WorldEdit from the WorldEdit page.
3. Download WorldGuard from this page (see the Files tab above for all versions).
4. Put the WorldEdit and WorldGuard plugin files into your plugins folder.

Check YouTube for tutorials, or read the official documentation.

Discord Server

[Join our Discord server](https://discord.gg/enginehub) if you need help with installing or using WorldGuard.

**Make sure to [check the docs](https://worldguard.enginehub.org/en/latest/) first!**

Highlights

Frequently Asked Questions

**Can anyone use it?**
Only opped users or users with permissions supplied with a permissions plugin can use WorldGuard.

**How do you use WorldGuard?**

To learn how to use WorldGuard, read the docs. Check YouTube for tutorials too!

**I need help!!**
You may visit our documentation or Discord Guild.

**I have some feature requests…**
Visit our issue tracker. However, if you just have a question, please try one of the methods above.

**Can I edit the source code?**
Visit our GitHub repository. WorldGuard is licensed under LGPLv3 and you can compile it with Gradle.


🎉 Support us on GitHub Sponsors!


Need a host? We recommend Apex Hosting
Apex Hosting

WorldEditDisplay

# WorldEditDisplay

[![Minecraft Version](https://img.shields.io/badge/Minecraft-1.21.x-brightgreen.svg)](https://www.minecraft.net/)
[![Java Version](https://img.shields.io/badge/Java-21-orange.svg)](https://www.oracle.com/java/)
[![License](https://img.shields.io/badge/License-Apache2.0-blue.svg)](LICENSE)

A server-side WorldEdit selection visualization plugin

### About

WorldEditDisplay is a server-side plugin for Minecraft that adds visual selection rendering for WorldEdit. It intercepts WorldEdit’s CUI (Client User Interface) protocol packets and renders selections using Display Entities on the server side. This means players can see their WorldEdit selections without installing any client-side mods.

### Features

**Selection Types**
– Cuboid – Box selections with edge lines and grid display
– Polygon – 2D polygon boundaries with vertical columns
– Ellipsoid – Smooth elliptical selections
– Cylinder – Circular selections with adjustable height
– Polyhedron – Complex 3D polyhedral structures

**Visual Rendering**
– Uses Minecraft’s Display Entity (TextDisplay) system
– Customizable hex colors (#RRGGBBAA) for all visual elements
– Adjustable line thickness and grid density
– Translucent face filling for Cuboid, Polygon, and Polyhedron regions
– Grid overlay for easier size calculation

**Multi-language Support**

The interface is available in multiple languages with automatic client language detection:
– Traditional Chinese (zh_tw)
– English (en_us)

**Player Settings**

Players can customize their own rendering preferences:
– Choose preferred hex colors for elements
– Enable or disable face filling
– Adjust line thickness within server limits
– Control grid spacing and density
– Changes apply immediately

**Selection Sharing**
– Share your WorldEdit selection with other players in real-time
– Invite, accept, revoke, and unwatch shares via `/wedisplay share`
– Each shared selection is displayed in a unique auto-generated color
– Share relationships persist across server restarts

**View All Mode** *(op-only by default)*
– Toggle monitoring of all online players’ selections via `/wedisplay view`
– Hide specific players from your view, toggle name labels, and list monitored players

**Configuration System**
– Server-wide defaults in `config.yml`
– Per-player overrides in `player_config/*.yml`
– Hot reload without server restart

### Requirements

– Minecraft 1.20 ~ 1.21.x (Paper / Folia / Spigot)
– Java 21 or higher
– Required plugins:
– [PacketEvents](https://github.com/retrooper/packetevents) 2.11.1+

### Installation

1. Make sure WorldEdit and PacketEvents are installed on your server
2. Download `WorldEditDisplay.jar`
3. Place it in your server’s `plugins` folder
4. Restart the server
5. Edit `plugins/WorldEditDisplay/config.yml` if needed
6. Use `/wedisplayreload` to reload the configuration

### Commands

**Admin Commands**

`/wedisplayreload` – Reload plugin configuration
– Permission: `worldeditdisplay.reload` (default: op)

**Player Commands**

`/wedisplay set ` – Configure personal rendering settings
– Example: `/wedisplay set cuboid edge_color #FFD700FF`
– Permission: `worldeditdisplay.use.settings`

`/wedisplay reset [setting]` – Reset to server defaults
– Example: `/wedisplay reset cuboid` (reset all settings)
– Example: `/wedisplay reset cuboid edge_color` (reset specific setting)

`/wedisplay show [renderer]` – Show current settings
– Example: `/wedisplay show` (show all)
– Example: `/wedisplay show cuboid` (show specific renderer)

`/wedisplay toggle` – Toggle rendering on/off
– Quick command to enable or disable selection visualization
– Works independently for each player

`/wedisplay reloadplayer` – Reload your personal configuration file

`/wedisplay lang ` – Set interface language
– Example: `/wedisplay lang en_us`
– Supported: zh_tw, en_us

`/wedisplay share invite ` – Invite a player to view your selection
– Permission: `worldeditdisplay.use.share.invite`

`/wedisplay share accept ` – Accept a pending share invitation
– Permission: `worldeditdisplay.use.share.accept`

`/wedisplay share revoke ` – Revoke a share you previously granted
– Permission: `worldeditdisplay.use.share.revoke`

`/wedisplay share unwatch ` – Stop watching another player’s selection
– Permission: `worldeditdisplay.use.share.unwatch`

`/wedisplay share list [page]` – List current share relationships
– Permission: `worldeditdisplay.use.share.list`

**View All Sub-commands** *(op-only by default)*

`/wedisplay view` – Toggle view-all mode (see all online players’ selections)
– Permission: `worldeditdisplay.use.view`

`/wedisplay view hide ` – Exclude a player from your view-all mode
– Permission: `worldeditdisplay.use.view.hide`

`/wedisplay view hideall` – Exclude all online players from view-all mode
– Permission: `worldeditdisplay.use.view.hide`

`/wedisplay view unhide ` – Remove exclusion for a player
– Permission: `worldeditdisplay.use.view.hide`

`/wedisplay view label` – Toggle name label display for watched selections
– Permission: `worldeditdisplay.use.view.label`

`/wedisplay view list [page]` – Show view-all monitoring status
– Permission: `worldeditdisplay.use.view.list`

### Configuration

The main configuration file is `config.yml`:

“`yaml
language:
default: “en-us” # Default language
auto_detect: true # Auto-detect player’s client language
allow_player_change: true # Allow players to change language manually

renderer:
cuboid:
edge_color: “#FFD700FF” # Color for edges in #RRGGBBAA
edge_thickness: 0.05 # Line thickness
grid_spacing: 8 # Grid spacing
fill_enabled: true # Enable face filling
fill_color: “#FF000040” # Face fill color
# … more settings

player_limits:
thickness:
min: 0.01 # Minimum thickness
max: 0.5 # Maximum thickness players can set
# … more limits
“`

Each renderer type has its own configuration section:
– **cuboid**
image
– **polygon**
image
– **ellipsoid**
image
– **cylinder**
image
– **polyhedron**
image

### How It Works

**Core Components**
– Packet listener intercepts WorldEdit CUI protocol messages
– Render engine creates Display Entities to visualize selections
– Configuration manager handles server-wide and per-player settings
– Language manager provides multi-language support

**Rendering Technology**

The plugin uses Minecraft’s Display Entity system:
– Display entities render the visual elements
– More efficient than particle effects
– Works with vanilla clients (no mods required)

**Performance**
– Only updates when selections change
– Server admins can limit grid density and segment counts
– Each player’s settings are independent

### Permissions

“`yaml
worldeditdisplay.use: # Use visualization features (default: true)
worldeditdisplay.use.settings: # Manage personal rendering settings (default: true)
worldeditdisplay.use.share: # General share feature toggle (default: true)
worldeditdisplay.use.share.invite: # Send share invitations (default: true)
worldeditdisplay.use.share.accept: # Accept share invitations (default: true)
worldeditdisplay.use.share.revoke: # Revoke granted shares (default: true)
worldeditdisplay.use.share.unwatch: # Stop watching a shared selection (default: true)
worldeditdisplay.use.share.list: # List share relationships (default: true)
worldeditdisplay.use.view: # Toggle view-all mode (default: op)
worldeditdisplay.use.view.defaultenable: # Auto-enable view-all on join (default: op)
worldeditdisplay.use.view.hide: # Hide players from view-all (default: op)
worldeditdisplay.use.view.list: # List view-all monitoring status (default: true)
worldeditdisplay.use.view.label: # Toggle name label display (default: true)
worldeditdisplay.use.view.label.defaultenable: # Auto-enable labels on join (default: true)
worldeditdisplay.reload: # Reload configuration (default: op)
worldeditdisplay.render.auto-enable: # Automatically enable rendering on join (default: true)
“`

**About Auto-Enable Permission**

The `worldeditdisplay.render.auto-enable` permission controls whether rendering is automatically enabled when a player joins the server:
– **With permission**: Rendering is enabled by default when logging in
– **Without permission**: Players must manually use `/wedisplay toggle` to enable rendering

This allows server admins to control which player groups have rendering enabled by default.

### Usage

**Basic Usage**
1. Use WorldEdit’s `//wand` command to get the selection tool
2. Left/right click blocks to define your selection
3. The selection is automatically visualized (no extra steps needed)
4. Use `/wedisplay` commands to customize the appearance

**Customization Examples**
“`bash
# Change cuboid edges to solid diamond blue
/wedisplay set cuboid edge_color #55FF55FF

# Make lines thicker
/wedisplay set cuboid edge_thickness 0.08

# Change grid spacing
/wedisplay set cuboid height_grid_division 2

# Enable face filling with half-transparent red
/wedisplay set cuboid fill_enabled true
/wedisplay set cuboid fill_color #FF000080

# Toggle rendering on/off
/wedisplay toggle

# Reset all settings
/wedisplay reset cuboid
“`

### Building

To build the plugin from source:

“`bash
mvn clean package
“`

The compiled jar will be in `target/WorldEditDisplay-version-platform.jar`

**Project Structure**
“`
src/main/java/dev/twme/worldeditdisplay/
├── event/ # CUI event system
├── display/ # Render engine
│ └── renderer/ # Renderer implementations
├── config/ # Configuration management
├── lang/ # Language system
├── command/ # Command handlers
├── listener/ # Packet listeners
└── player/ # Player data management
“`

### Contributing

Issues and pull requests are welcome.

### License

See [LICENSE](LICENSE) file for details.

### Credits

– **TWME-TW** – Developer

### Related Projects

– [WorldEdit](https://github.com/EngineHub/WorldEdit) – The core editing tool
– [WorldEditCUI](https://github.com/EngineHub/WorldEditCUI) – Client-side CUI mod (protocol reference)
– [PacketEvents](https://github.com/retrooper/packetevents) – Packet handling library
– [TextDisplayShapes](https://github.com/TWME-TW/TextDisplayShapes) – Shape rendering library used by the plugin

**Made with ❤️ by TWME-TW**

WorldAccessBlocker

# 🌍 WorldAccessBlocker

[![Servers](https://img.shields.io/bstats/servers/26810?color=blue&label=Servers)](https://bstats.org/plugin/bukkit/WorldAccessBlocker/26810)
[![Players](https://img.shields.io/bstats/players/26810?color=red&label=Players)](https://bstats.org/plugin/bukkit/WorldAccessBlocker/26810)

**WorldAccessBlocker** is a lightweight and highly configurable Minecraft plugin for **Bukkit**, **Spigot**, **Paper**, and **Folia** servers that lets you **restrict access to the Nether, the End, and elytra usage** until specific dates.

Perfect for managing **progression-based survival**, **seasonal events**, or **timed unlocks** — with multi-language support, date-based control, and live reloads.

## ✨ Features

– 🔥 **Restrict Nether Access**
Prevent players from entering the Nether until a specified date.

– 🚫 **Block End Portal Activation**
Disallow activation of End portals before a configured time.

– 🛑 **Disable Elytra Usage**
Cancels gliding and disables elytra flight until allowed.

– 🌍 **Multi-Language Support**
Includes `English` and `Russian` by default — customizable via `.yml`.

– 📅 **Date-Based Restrictions**
Set unlock dates using `YYYY-MM-DD HH:MM:SS` (UTC).

– ♻️ **Live Reload**
Instantly reload configs and language files with `/wabreload`.

– ⚠️ **Folia Compatibility Notices**
Alerts admins about partial feature support on Folia servers.

## 📦 Installation

1. Download `WorldAccessBlocker.jar`.
2. Place it in your server’s `/plugins` folder.
3. Start or reload the server.
4. Configure `config.yml` and language files in:
`plugins/WorldAccessBlocker/lang/`

## ⚙️ Configuration Example

“`yaml

# ===================================================================
# WorldAccessBlocker v0.7
# ===================================================================

# Message language: “ru” or “en”
language: “ru”

# Server time zone (important for recurring!)
# List: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
time-zone: “Europe/Moscow”

# ===================================================================
# Nether
# ===================================================================
nether:
disable: true
# If recurring is NO, this date is used (until when it is blocked)
restriction-date: “2025-03-10 00:00:00”
disable-portal-creation: true
disable-teleportation: true

# NEW: schedule by day and time
# If this block is present, restriction-date is IGNORED
recurring:
periods:
# Example 1: only on Sundays from 3:00 p.m. to 5:00 p.m.
– days: [SUNDAY]
start-time: “3:00 p.m.”
end-time: “5:00 p.m.”

# Example 2: all day on weekends
– days: [SATURDAY, SUNDAY]

# Example 3: every Monday from 6:00 p.m. to 11:59 p.m.
– days: [MONDAY]
start-time: “6:00 p.m.”
end-time: “11:59 p.m.”

“`

World TP Plus

**🌍 World TP Plus**
**A simple cross-dimension teleport plugin for Paper 1.21+**

**By RetroSapien**

**✨ Features**

* Extends `/tp [dimension]` with an optional 4th argument:

* `overworld` *(default)*
* `nether`
* `end`
* Fully preserves vanilla `/tp` behavior and permissions when no dimension is specified
* Tab completion for dimensions
* Friendly error message for unknown dimensions
* Works from both console and in-game

**📋 Usage Examples**

* `/tp 0 80 0`
→ Vanilla teleport in current world

* `/tp 0 80 0 nether`
→ Teleport to same coords in the Nether

* `/tp Steve 10 70 10 end`
→ Teleport player “Steve” to coords in the End

**🔐 Permissions**

* `minecraft.command.tp` *(same as vanilla)*
Requires permission level 2

**⚙️ Requirements**

* **Java 21+**
* **Paper 1.21+**
Works on forks that support the Paper API

**📦 Installation**

1. Drop the JAR into your `plugins/` folder
2. Restart or reload your server

**🔗 Links**

* Discord for support : [https://discord.gg/tHeFGB7Et4](https://discord.gg/tHeFGB7Et4)

*Crafted with ❤️ by RetroSapien*

World Levels

![](https://gitlab.com/ASTRELION/worldlevels/-/raw/main/assets/banner.png)

Work together to level up your multiplayer Minecraft server to unlock features and rewards!

## Features

– Level up your multiplayer server by gaining XP through normal gameplay
– **Reward your players** for leveling up the world with:
– Items
– Increasing the world border
– Permissions, groups, and currency (requires [Vault][vault])
– **Control what players can access** based on World Level:
– Building Nether or The End portals
– Mining blocks
– Placing blocks
– Crafting items
– **Trigger any command** upon world level up
– Highly [**customizable**][config] with a full config [schema][schema]
– Add custom XP sources globally or at a per-level basis
– Scale leveling exactly to your liking
– Specify groups of levels per-world or groups of worlds
– Exclude certain worlds from the plugin
– Support for infinite level scaling and rewards
– Optionally reward offline or new players for level gains
– **Customizable messages**, with [MiniMessage][minimessage]
formatting support
– Optionally add [Vault]() for **full
integration with your permission and economy plugin** of
choice

![Usage GIF](https://gitlab.com/ASTRELION/worldlevels/-/raw/main/assets/usage.gif)

*GIF showing leveling up, Nether access, and world border increases*

### Customizable Server XP Bar

![Server XP bar](https://gitlab.com/ASTRELION/worldlevels/-/raw/main/assets/bossbar.png)

### Level Up Alerts

Level up alerts

## Configuration

**This plugin likely requires configuration before it can be useful to you.**
The default configuration file will be created for you, but it can also be found
[here][config]. If your text editor
supports [JSON/YAML schemas](https://json-schema.org/understanding-json-schema/about),
you will also get configuration autocomplete suggestions and linting.

You can find a more detailed example
config [here](https://gitlab.com/ASTRELION/worldlevels/-/blob/main/src/main/resources/example.config.yml).

### Config Examples

*These are partial configurations for the `levels` section specifically.*

How level ranges and XP requirements work

“`yaml
levels:
‘1’:
# level 1 should always require 0 XP
xp: 0.0
‘2’:
# level 2 requires 100 XP to get to
xp: 100.0
‘3’:
xpStep:
# level 3 adds 50 to the previous requirement, making it 150 XP to get to
add: 50.0
‘4’:
xpStep:
# level 4 multiplies the previous requirement by 2, making it 300 XP to get to
mult: 2.0
‘5-10’:
xpStep:
# levels 5-10 adds 50 to the previous requirement, making the following for each:
# level 5 requires 350
# level 6 requires 400
# level 7 requires 450
# level 8 requires 500
# level 9 requires 550
# level 10 requires 600
add: 50.0
’11-‘:
# Level 11 and beyond (scales infinitely) requires 1000 XP to get to
xp: 1000.0
“`

Lock the Nether and The End at the start, and unlock them when the
server reaches level 2 and 3, respectively

“`yaml
levels:
‘1’:
xp: 0.0
# Prevent Nether and End portals from being used initially
allowEnd: false
allowNether: false
‘2’:
xp: 2000.0
# Unlock Nether portals at level 2
allowNether: true
titles:
– title: Nether unlocked!
‘3’:
xp: 4000.0
# Unlock End portals at level 3
allowEnd: true
titles:
– title: The End unlocked!
‘4-‘:
xp: 8000.0
“`

Award players with different items, and unlock crafting and mining

“`yaml
levels:
‘1’:
xp: 0.0
items:
IRON_INGOT: 1
levels:
crafting:
DIAMOND_HELMET: false
DIAMOND_CHESTPLATE: false
DIAMOND_LEGGINGS: false
DIAMOND_BOOTS: false
mining:
DIAMOND_ORE: false
placing:
DIAMOND_ORE: false
‘2’:
xp: 2000.0
items:
COPPER_INGOT: 1
# crafting: is omitted here because by default all crafting is allowed
# so, at level 2, players can craft diamond armor
# mining: and placing: are omitted for the same reason
‘3-4’:
xp: 4000.0
items:
# Since ‘3-4’ is a range, this awards a diamond for both levels 3 and 4
DIAMOND: 1
‘5-‘:
xp: 8000.0
items:
# Since ‘5-‘ scales infinitely, this awards a netherite ingot every single
# level from 5 onwards
NETHERITE_INGOT: 1
“`

How you can manipulate the world border for each level.

“`yaml
levels:
‘1’:
xp: 0.0
# Sets the initial world border to have a radius of 128, centered at 0,0
worldBorder:
radius: 128
center:
x: 0
z: 0
‘2’:
xp: 2000.0
# Sets the radius of the world border for achieving level 2 at 256
worldBorder:
radius: 256
‘3’:
xp: 4000.0
# Adds the radius of the world border for achieving level 3 to the previous
# radius, making it 512
worldBorder:
radiusStep:
add: 256
‘4-‘:
xp: 8000.0
# Multiplies the radius of the world border for achieving level 4 and onward
# to the previous radius, making it 768, 1152, 1728, and so on
worldBorder:
radiusStep:
mult: 1.5
“`

Award permissions, groups, and currency for certain levels (requires Vault)

“`yaml
levels:
‘1’:
xp: 0.0
‘2’:
xp: 2000.0
# Assigns ‘mypermission.one’ to all players
permissions:
– “mypermission.one”
# Gives all players 50.0 currency
currency:
add: 50.0
‘3’:
xp: 4000.0
# Assigns ‘mypermission.two’ to all players
permissions:
– “mypermission.two”
# Multiply all player’s current currency by 2
currency:
mult: 2.0
‘4’:
xp: 8000.0
# Adds all players to the ‘mygroup’ group
groups:
– “mygroup”
“`

Run commands on level up

“`yaml
levels:
‘1’:
xp: 0.0
‘2’:
xp: 2000.0
# Runs the ‘time set day’ command via the server console
commands:
– “time set day”
‘3’:
xp: 4000.0
# Runs the ‘say You leveled up!’ command via the server console
commands:
– “say You leveled up!”
“`

Require the server’s players to collectively mine a certain amount of
different tiers of ore to get to the next level.

“`yaml
levels:
‘1’:
xp: 0.0
xpWeights:
# This makes it so no vanilla XP sources contribute world level XP
DEFAULT: 0.0
customXPSources:
mineIgnoresSilkTouch: true # set this to prevent XP gains for mining with silk touch
playerMine:
COAL_ORE: 1 # Awards 1 XP for each coal ore mined
‘2’:
xp: 100.0 # requires 100 coal ore mined (defined in level 1) to get this level
xpWeights:
DEFAULT: 0.0
customXPSources:
mineIgnoresSilkTouch: true
playerMine:
COPPER_ORE: 1
‘3’:
xp: 200.0 # requires 200 copper ore mined (defined in level 2) to get this level
xpWeights:
DEFAULT: 0.0
customXPSources:
mineIgnoresSilkTouch: true
playerMine:
IRON_ORE: 1
‘4’:
xp: 300.0 # requires 300 iron ore mined (defined in level 3) to get this level
xpWeights:
DEFAULT: 0.0
customXPSources:
mineIgnoresSilkTouch: true
playerMine:
DIAMOND_ORE: 1
‘5’:
xp: 400.0 # requires 400 diamond ore mined (defined in level 4) to get this level
“`

Specify levels based on world and share rewards

“`yaml
groups:
WorldGroup:
name: The Overworld
# This group only applies to the world named “world”
worlds:
– world
# When this group levels up, it will share items and permission rewards to players in
# the groups listed
rewardOtherGroups:
– NetherGroup
– EndGroup
# Rewards players past rewards when they join the group for the first time
rewardNewPlayers: true
# Rewards players past rewards when they join the group after being offline
rewardOffline: true
levels:
“1-“:
xp: 0.0
xpStep:
add: 100.0
# Every level, this will reward every player in any of the groups a
# gold ingot, due to rewardOtherGroups
items:
GOLD_INGOT: 1
NetherGroup:
name: The Nether
worlds:
– world_nether
rewardOtherGroups:
– WorldGroup
– EndGroup
levels:
“1-“:
xp: 0.0
xpStep:
add: 100.0
EndGroup:
name: The End
worlds:
– world_the_end
rewardOtherGroups:
– NetherGroup
– WorldGroup
levels:
“1-“:
xp: 0.0
xpStep:
add: 100.0
“`

## Messages

The default messages file will be created for you, but it can also be found
[here][messages]. If your text editor
supports [JSON/YAML schemas](https://json-schema.org/understanding-json-schema/about),
you will also get configuration autocomplete suggestions and linting.

Messages support [MiniMessage][minimessage], and have the following custom replacements
available:

| Replacement | Description |
|————————————-|—————————————————————–|
| `` | Current world level |
| `` | Amount of current XP relative to the current level requirements |
| `` | XP requirement to reach the next level |
| `` | Absolute total current XP |
| `` | Name of the level group |
| `` | Plugin version |
| `` | Plugin Modrinth URL |
| `` | Makes inner text clickable for the Modrinth URL |

## Permissions

| Permission | Description |
|—————————–|————————————————————————————|
| `worldlevels.earn.exempt` | Prohibit the player from gaining World Levels XP (by default, all players earn XP) |
| `worldlevels.help` | Access to the `worldlevels help` command |
| `worldlevels.reload` | Access to the `worldlevels reload` command |
| `worldlevels.reset.all` | Access to the `worldlevels reset all` command |
| `worldlevels.reset.rewards` | Access to the `worldlevels reset rewards` command |
| `worldlevels.update` | Access to the `worldlevels update` command |
| `worldlevels.version` | Access to the `worldlevels version` command |
| `worldlevels.xp.add` | Access to the `worldlevels xp add` command |
| `worldlevels.xp.get` | Access to the `worldlevels xp` command |
| `worldlevels.xp.set` | Access to the `worldlevels xp set` command |

## Commands

All the following are prefixed with `worldlevels`. For example, `worldlevels help`.

*Arguments in `<>` are required, arguments in `[]` are optional.*

| Command | Description |
|————————–|——————————————————————————————————-|
| `help` | Shows a list of commands |
| `reload` | Reload the plugin configuration and save from file |
| `xp` | Gets the current XP total and level |
| `xp add ` | Add the given amount of XP to the total, supports negatives |
| `xp set ` | Sets the total XP to the given amount |
| `update` | Checks for plugin updates |
| `version` | Prints the plugin version |
| `reset all` | Resets total XP back to 0 and allows all players to regain rewards |
| `reset rewards [player]` | Resets rewards for the given player (or all players), allowing them to regain rewards for past levels |

## Metrics

Usage statistics

This plugin collects anonymized usage statistics via [bStats][bstats]. bStats is
used by many plugins and provides useful statistics for development, but it can
be disabled in the bStats `config.yml` for your server.

In addition to the default stats collected, World Levels also counts a few
stats to better gauge how the plugin is used. These are:

– The number of level groups your server uses
– The average number of worlds in each level group
– The average number of levels in each level group

[config]: https://gitlab.com/ASTRELION/worldlevels/-/blob/main/src/main/resources/config.yml

[messages]: https://gitlab.com/ASTRELION/worldlevels/-/blob/main/src/main/resources/messages.yml

[minimessage]: https://docs.papermc.io/adventure/minimessage/

[schema]: https://gitlab.com/ASTRELION/worldlevels/-/raw/main/src/main/resources/config-schema.json

[vault]: https://github.com/milkbowl/Vault

[bstats]: https://bstats.org/

World Download

# DownloadPlugin for Minecraft

DownloadPlugin is a Minecraft server plugin that allows players to download the world they are currently in as a ZIP file. This is especially useful for large building servers or personal worlds.

## Features

– Download any world with `/download ` command.
– Only allows downloads from worlds that are not blocked.
– Generates ZIP files named as `...zip`.
– Provides clickable download links in chat.
– Logs all downloads if enabled.
– Automatically deletes old downloads based on expiration time.
– Deletes all ZIPs on server start to prevent storage issues.
– Supports internal HTTP port and public port via tunnels (like Playit.gg).

## Commands
/download

– ``: A numeric code chosen by the player to make the ZIP filename unique. Example: `/download 12345`
– Blocked worlds cannot be downloaded.

## Configuration (`config.yml`)

“`yaml
blocked-worlds:
– world_nether
– world_the_end
log-downloads: true
log-file: downloads.log
http-port: 8100 # Internal port where the HTTP server runs
public-port: 27429 # Public port that players use to access downloads
download-expiration: 3600 # Expiration time in seconds for automatic deletion
public-ip: “147.185.221.23” # Server’s public IP address or domain