YAML Resources

Addon for [Simple Resources](https://github.com/Yorick-06/SimpleResources) based on
[jackson-dataformats-text](https://github.com/FasterXML/jackson-dataformats-text) which adds support for “`.yml“`/“`.yaml“` files
for both minecraft and custom-registered resources.

Simply place this mod in your mods folder (SimpleResources version 2.1.0 or higher required) and all resources can now
be specified in the YAML format.

YAML API


Discord

# YAML API

YAML API is a specialized library that simplifies working with YAML configuration files in Bukkit/Spigot/Paper plugins. It provides a robust and consistent interface for loading, saving, updating, and managing YAML-based configurations, along with advanced mapping capabilities for configuration sections and configurable units.

## Overview

The **YAML API** package offers a set of tools designed to handle YAML configuration files efficiently. It abstracts the complexity of file I/O and reflection-based configuration parsing, allowing you to focus on using configuration data in your plugin.

Key components include:

– **YAMLFile**: A class to load, save, and update YAML configuration files.
– **ResourceUtils**: Utility methods for handling resources and file operations.
– **Configurable & ConfigurableFile**: Interfaces and classes that provide easy access to the underlying `FileConfiguration`.
– **ConfigurableUnit**: An interface representing a configuration unit, useful for handling permissions or groups in the configuration.
– **Mappable, SectionMappable, UnitMappable & HashMappable**: A set of interfaces and classes for mapping configuration sections and units into Java collections.
– **YAMLUpdater**: A class that updates YAML files by merging default values and preserving comments.

## Key Features

– **Unified Configuration Management**:
Provides a consistent API for reading, writing, and updating YAML configuration files.

– **Dynamic Mapping and Conversion**:
Supports mapping configuration sections to custom units and collections, making it easier to work with complex configuration structures.

– **Resource and File Utilities**:
Includes helper classes to simplify file loading, resource saving, and directory management.

– **Comment Preservation and Updates**:
YAMLUpdater handles merging of default configuration values while preserving existing comments.

– **Reflection-Based Parsing**:
Uses reflection to dynamically access configuration sections and values, ensuring compatibility across server versions.

## Usage Example

Below is an example demonstrating how to use the YAML API to load, update, and work with configuration files.

### Example: Using ConfigurableFile and YAMLFile

“`java
package com.example.myplugin;

import me.croabeast.file.ConfigurableFile;
import me.croabeast.file.YAMLFile;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.IOException;

public class MyPlugin extends JavaPlugin {

private ConfigurableFile config;

@Override
public void onEnable() {
try {
// Create a new configuration file located in the “config” folder
config = new ConfigurableFile(this, “config”, “settings”)
// Optionally, override methods to control updatability or other behaviors
{
@Override
public boolean isUpdatable() {
// Retrieve the “update” key from the configuration to decide if updates are allowed
return get(“update”, false);
}
};
// Save the default configuration if not present
config.saveDefaults();
// Update the configuration file (merges defaults and preserves comments)
config.update();
} catch (IOException e) {
e.printStackTrace();
}

// Access configuration values
String prefix = config.get(“lang-prefix”, “&e MyPlugin »&7”);
getLogger().info(“Language prefix: ” + prefix);
}
}
“`

### Example: Working with Mappable and SectionMappable

“`java
package com.example.myplugin;

import me.croabeast.file.SectionMappable;
import me.croabeast.file.ConfigurableFile;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.plugin.java.JavaPlugin;

public class MyPlugin extends JavaPlugin {

private ConfigurableFile config;

@Override
public void onEnable() {
try {
config = new ConfigurableFile(this, “config”, “settings”);
config.saveDefaults();
config.update();
} catch (Exception e) {
e.printStackTrace();
}

// Assume we have a configuration section “advancements”
ConfigurationSection section = config.getConfiguration().getConfigurationSection(“advancements”);
if (section != null) {
// Create a SectionMappable from the configuration section
SectionMappable.Set sectionMap = SectionMappable.asSet(section.getValues(false));
// Process the mapped configuration as needed
getLogger().info(“Loaded advancements: ” + sectionMap);
}
}
}
“`

## Maven / Gradle Installation

To include YAML API to the project, add the following repository and dependency to your build configuration. Replace `${version}` with the desired version tag.

### Maven

Add the repository and dependency to your `pom.xml`:

“`xml


croabeast-repo
https://croabeast.github.io/repo/



me.croabeast
YAML-API
${version}
compile


“`

### Gradle

Add the repository and dependency to your `build.gradle`:

“`groovy
repositories {
maven {
url “https://croabeast.github.io/repo/”
}
}

dependencies {
implementation “me.croabeast:YAML-API:${version}”
}
“`

Replace `${version}` with the appropriate module version.

## Conclusion

**YAML API** is a powerful library for managing YAML configurations in your Bukkit/Spigot/Paper plugins. It streamlines file operations, mapping, and updates while preserving comments and ensuring compatibility across server versions. Whether you are building simple configuration systems or working with complex, nested settings, YAML API provides the tools you need to efficiently manage your plugin’s configuration.

Happy coding!

— *CroaBeast*

Yamete Ghast

This texture pack makes the ghast make a funny face when it throws a fireball.
This pack does not require Optifine or EMF, ETF, or ETF to work.
It works on versions lower than 1.21.5.

Yamakashi skateboards

## For correct work you need Optifine or [CITResewn](https://modrinth.com/mod/cit-resewn)

Rename your sword “Огрызок”, “Алмаз”, “Кроссовок”, “Пивас” to make it a skateboard.
If you hold the object in your other hand, it will be behind your back.

![This is an image](https://cdn.modrinth.com/data/qEL3uWG5/images/e91d9d83a1f8fa7eb4901abcfd55b6e5869b2892.png)

yadoomi’s Purple Haze Font

# What does this resource pack add?
This resource pack takes the font from a PvP resource pack called “Purple Haze” and puts it in a seperate resource pack.

Here is a showcase video of the resource pack “Purple Haze” by OmnicronGaming

## Other details.
– This resource pack just takes the font from an already existing resource pack, if you are using this somewhere and want to credit someone, credit TerribleChoices, the creator of “Purple Haze”.
– You can use this resource pack in a modpack without my permission, thats alright.
– This resource pack works on ANY version below 1.8.9, even snapshots.

Hide In Grass

# Hide In Grass
You can become invisible as long as you stand in tall grass, even tall flowers can be used!
Suitable for some small games. 🙂
![Emm…](https://cdn.modrinth.com/data/Bp5kYs6C/images/d4a3ed4ee78983c06e4cf013187ed0a4fa847494.png)
(This is my practice project while learning DataPack, so it’s a bit rough)

xWorldBlocker

![Banner](https://cdn.modrinth.com/data/cached_images/efa8f97856730d4545b0104943d46767208b4169.jpeg)

# 🛡️ xWorldBlocker | Total Control Over Your World Access!

> **The ultimate lightweight solution to secure your server’s exclusive areas.**

Have you ever needed to restrict access to a specific world? Whether it’s for a **VIP zone**, a **temporary event**, or a **staff-only area**, **xWorldBlocker** is your solution.

This powerful plugin allows you to block entry to any world on your server, granting access only to players with the specific permissions you define. No complicated setups—just total control.

> ## 🚀 Key Features

* **🛡️ Secure World Blocking:** Easily define a list of worlds that remain locked to the public.
* **🔑 Granular Permission System:** * Access a specific world: `xworldblocker.bypass.`
* Access ALL worlds: `xworldblocker.bypass.*`
* **🎨 Full RGB Support:** Custom messages with **HEX colors** (`&#RRGGBB`) and standard Minecraft codes (`&a`, `&l`).
* **⚡ Ultra Lightweight:** Designed for performance. Zero impact on your server’s TPS.
* **⚙️ Instant Reload:** Apply changes instantly with `/xwb reload`—no restart required.

> ## 🎮 Commands & Permissions

| Command | Description | Permission Node |
| :— | :— | :— |
| **/xwb help** | Displays the help menu. | None (Public) |
| **/xwb reload** | Reloads the configuration file. | `xworldblocker.admin` |

### Access Permissions
| Permission | Description |
| :— | :— |
| `xworldblocker.bypass.` | Allows entry to a specific locked world. |
| `xworldblocker.bypass.*` | Grants access to **all** blocked worlds. |

> ## 🔧 Configuration (`config.yml`)

“`yaml
# __ __ _ _ ___ _ _
# __ __/ / / ___ _ __| | __| | / __ | ___ ___| | _____ _ __
# / / / / / _ | ‘__| |/ _` |/__// |/ _ / __| |/ / _ ‘__|
# > < / / (_) | | | | (_| / / | (_) | (__| < __/ | # /_/_ / / ___/|_| |_|__,______/_|___/ ___|_|____|_| # xPlugins - WillfryDev - 777 Studios # List of worlds to block. # Permission required: xworldblocker.bypass.
blocked-worlds:
– “events”
– “staff_zone”
– “world_vip”

# Messages support HEX (&#RRGGBB) and & codes.
messages:
reload: “&#A2E4B8 ✔ Done! &#C1FFD7The xWorldBlocker configuration has been reloaded.”
no-permission-entry: “&#FFB6C1 ✘ Error! &#FFDDC1You do not have permission to enter this world.”
no-permission-command: “&#FFB6C1 ✘ Error! &#FFDDC1You do not have permission to use this command.”
help:
– “”
– “&#A2E4B8/xwb reload &#87CEEB- Reload the plugin settings.”
– “&#A2E4B8/xwb help &#87CEEB- Display this help message.”
– “”
“`

> ### 📥 Installation

1. Download the “.jar“ file.
2. Drop it into your “/plugins/“ folder.
3. Restart your server.

Configure your worlds in “config.yml“ and run “/xwb reload.“

Developed with ❤️ by xPlugins

If you like this plugin, consider leaving a 5-star review!

xTranslate

# xTranslate
—————————————————————————————————-
### What is xTranslate ?
_xTranslate is a Minecraft Translation Plugin that translates In-game Chat messages in real time_

### How do i change my language ?
_You can change your language simply by typing /lauguage _

### How many languages are supported ?
_I dont even know the exact count but over 100+ languages are supported_
###

Spoiler

private static final Map SUPPORTED_LANGUAGES = Map.ofEntries(
Map.entry(“af”, “Afrikaans”), Map.entry(“sq”, “Albanian”), Map.entry(“am”, “Amharic”),
Map.entry(“ar”, “Arabic”), Map.entry(“hy”, “Armenian”), Map.entry(“az”, “Azerbaijani”),
Map.entry(“eu”, “Basque”), Map.entry(“be”, “Belarusian”), Map.entry(“bn”, “Bengali”),
Map.entry(“bs”, “Bosnian”), Map.entry(“bg”, “Bulgarian”), Map.entry(“ca”, “Catalan”),
Map.entry(“ceb”, “Cebuano”), Map.entry(“zh”, “Chinese”), Map.entry(“co”, “Corsican”),
Map.entry(“hr”, “Croatian”), Map.entry(“cs”, “Czech”), Map.entry(“da”, “Danish”),
Map.entry(“nl”, “Dutch”), Map.entry(“en”, “English”), Map.entry(“eo”, “Esperanto”),
Map.entry(“et”, “Estonian”), Map.entry(“fi”, “Finnish”), Map.entry(“fr”, “French”),
Map.entry(“fy”, “Frisian”), Map.entry(“gl”, “Galician”), Map.entry(“ka”, “Georgian”),
Map.entry(“de”, “German”), Map.entry(“el”, “Greek”), Map.entry(“gu”, “Gujarati”),
Map.entry(“ht”, “Haitian Creole”), Map.entry(“ha”, “Hausa”), Map.entry(“haw”, “Hawaiian”),
Map.entry(“he”, “Hebrew”), Map.entry(“hi”, “Hindi”), Map.entry(“hmn”, “Hmong”),
Map.entry(“hu”, “Hungarian”), Map.entry(“is”, “Icelandic”), Map.entry(“ig”, “Igbo”),
Map.entry(“id”, “Indonesian”), Map.entry(“ga”, “Irish”), Map.entry(“it”, “Italian”),
Map.entry(“ja”, “Japanese”), Map.entry(“jv”, “Javanese”), Map.entry(“kn”, “Kannada”),
Map.entry(“kk”, “Kazakh”), Map.entry(“km”, “Khmer”), Map.entry(“rw”, “Kinyarwanda”),
Map.entry(“ko”, “Korean”), Map.entry(“ku”, “Kurdish”), Map.entry(“ky”, “Kyrgyz”),
Map.entry(“lo”, “Lao”), Map.entry(“la”, “Latin”), Map.entry(“lv”, “Latvian”),
Map.entry(“lt”, “Lithuanian”), Map.entry(“lb”, “Luxembourgish”), Map.entry(“mk”, “Macedonian”),
Map.entry(“mg”, “Malagasy”), Map.entry(“ms”, “Malay”), Map.entry(“ml”, “Malayalam”),
Map.entry(“mt”, “Maltese”), Map.entry(“mi”, “Maori”), Map.entry(“mr”, “Marathi”),
Map.entry(“mn”, “Mongolian”), Map.entry(“my”, “Myanmar”), Map.entry(“ne”, “Nepali”),
Map.entry(“no”, “Norwegian”), Map.entry(“ny”, “Nyanja”), Map.entry(“or”, “Odia”),
Map.entry(“ps”, “Pashto”), Map.entry(“fa”, “Persian”), Map.entry(“pl”, “Polish”),
Map.entry(“pt”, “Portuguese”), Map.entry(“pa”, “Punjabi”), Map.entry(“ro”, “Romanian”),
Map.entry(“ru”, “Russian”), Map.entry(“sm”, “Samoan”), Map.entry(“gd”, “Scots Gaelic”),
Map.entry(“sr”, “Serbian”), Map.entry(“st”, “Sesotho”), Map.entry(“sn”, “Shona”),
Map.entry(“sd”, “Sindhi”), Map.entry(“si”, “Sinhala”), Map.entry(“sk”, “Slovak”),
Map.entry(“sl”, “Slovenian”), Map.entry(“so”, “Somali”), Map.entry(“es”, “Spanish”),
Map.entry(“su”, “Sundanese”), Map.entry(“sw”, “Swahili”), Map.entry(“sv”, “Swedish”),
Map.entry(“tl”, “Tagalog”), Map.entry(“tg”, “Tajik”), Map.entry(“ta”, “Tamil”),
Map.entry(“tt”, “Tatar”), Map.entry(“te”, “Telugu”), Map.entry(“th”, “Thai”),
Map.entry(“tr”, “Turkish”), Map.entry(“tk”, “Turkmen”), Map.entry(“uk”, “Ukrainian”),
Map.entry(“ur”, “Urdu”), Map.entry(“ug”, “Uyghur”), Map.entry(“uz”, “Uzbek”),
Map.entry(“vi”, “Vietnamese”), Map.entry(“cy”, “Welsh”), Map.entry(“xh”, “Xhosa”),
Map.entry(“yi”, “Yiddish”), Map.entry(“yo”, “Yoruba”), Map.entry(“zu”, “Zulu”)
);

### How does it work and is it free ?
_xTranslate is 100% and uses the offical `GOOGLE TRANSLATOR API`_

XTransfer

![XTransfer Logo](https://cdn.modrinth.com/data/cached_images/3aebdab1e6de013da8fd66ca7c06f6072d26bcdb.png)

# 0 What the heck is this?

A new plugin designed to **transfer players’ data between names or UUIDs**. I didn’t find any other plugin can handle this problem before, so I made my own one and uploaded it to here to help anyone who needs this feature for his/her server.

# 1 Features

## 1.1 Smart UUID Detection

Automatically detects UUIDs from:
– Online players
– usercache.json (for premium players)
– Offline-mode UUID generation

## 1.2 Complete Data Transfer

Transfers all vanilla player data:
– Player inventory and Ender Chest (`playerdata/`)
– Statistics (`stats/`)
– Advancements (`advancements/`) for 1.13+

## 1.3 Safe & Reliable

– Creates automatic backups before overwriting
– Kicks online players to prevent data overwrite (configurable)
– Asynchronous file operations – no server lag!

# 2 Commands and Permission Nodes

## 2.1 Commands

“`markdown
– /xtransfer – Show version info
– /xtransfer transfer – Transfer by player names
– /xtransfer transferuuid – Transfer by UUIDs
– /xtransfer list – List all player data files
– /xtransfer list – Show files for specific player
– /xtransfer reload – Reload configuration
– /xtransfer help – Show the help message

/xtf = /transfer = /xtransfer
“`

## 2.2 Permission Nodes

“`markdown
– xtransfer.manage – Allows using all XTransfer commands (default: op)
“`

# 3 Config

“`yaml
# Show logo when plugin enabled
show_logo: true

# World settings
world:
# Manual world name (only used if auto-detect is false)
name: “world”
# Automatically detect world name from server
auto-detect: true

# Transfer settings
transfer:
# Transfer statistics files
stats: true
# Transfer advancements files (1.13+)
advancements: true

# Backup settings
backup:
# Create backup of existing files before overwriting
create: true
# Suffix for backup files
suffix: “.old”

# Online player handling
# If true, kick online players before transfer
# If false, show warning but continue
kick-online-player: true

# Language settings
language: “en”

# Debug mode (enable only for troubleshooting)
debug: false

# Messages – You can customize all messages here
messages:
# English messages
en:
no-permission: “&cYou don’t have permission!”
usage-header: “&9&lX&f&lTransfer &f&lHelp”
usage-transfer: “&7/xtransfer transfer &f
usage-transferuuid: “&7/xtransfer transferuuid &f
usage-list: “&7/xtransfer list &f[player]”
usage-reload: “&7/xtransfer reload”
usage-help: “&7/xtransfer help”
reload-success: “&a✓ Configuration reloaded!”
transfer-start: “&eStarting async transfer…”

looking-up: “&eLooking up UUIDs for &f{old} &eand &f{new}&e…”
uuid-not-found: “&cCould not find UUID for: &f{name}”
try-uuid: “&7Try using /xtransfer transferuuid with direct UUIDs”
invalid-uuid: “&cInvalid UUID format! Use: /xtransfer transferuuid
uuid-example: “&7Example: 12345678-1234-1234-1234-123456789012”

source-data-missing: “&cSource player {name} ({uuid}) has no data file!”

transfer-from: “&7From: &f{name} &7({uuid})”
transfer-to: “&7To: &f{name} &7({uuid})”
transfer-file: “&7File: &f{file}”
backup-created: “&7Backed up existing file to: &f{file}”
transfer-success: “&a✓ Successfully transferred player data!”
transfer-stats: “&7✓ Transferred stats file”
transfer-advancements: “&7✓ Transferred advancements file”
transfer-error: “&cError during transfer: {error}”

folder-not-found: “&cPlayer data folder not found: {path}”
source-not-found: “&cSource file not found: {file}”
source-location: “&7Looked in: {path}”

player-online-warning: “&e⚠ Warning: Player {player} is online! Data may be overwritten when they log out.”
player-kicked: “&e✓ Player {player} has been kicked for data transfer.”
kick-message: “&cYour data is being transferred. Please rejoin in a few seconds.”

no-files: “&eNo player data files found”
list-header: “&6=== Player Data Files ({count}) ===”
list-more: “&7… and {count} more”
list-entry: “&7{name} &8- {uuid}”
list-unknown: “&8{uuid} &7(unknown)”

files-header: “&6=== Files for {player} ===”
file-playerdata: “&7Player Data: {status}{size}”
file-stats: “&7Stats: {status}”
file-advancements: “&7Advancements: {status}”

# Other language…
“`

X-Socials

[![Spigot](https://img.shields.io/badge/Available%20on-Spigot-orange?style=for-the-badge&logo=spigotmc&logoColor=white)](https://www.spigotmc.org/resources/132280/)
[![Wiki](https://img.shields.io/badge/Wiki-Documentation-blue?style=for-the-badge&logo=readme&logoColor=white)](https://wiki-x-proyects.vercel.app/)
[![Discord](https://img.shields.io/badge/Discord-Community-7289da?style=for-the-badge&logo=discord&logoColor=white)](https://discord.com/invite/Yb6GsfGWmd)

# X-Socials
### *The ultimate premium bridge between your server and your community*

**Minecraft: 1.8 – 26.1 | Folia Ready | PlaceholderAPI Support**

### 🌟 Comprehensive Social Management

X-Socials is a professional and highly optimized solution for managing your server’s social networks. From 1.8 to 1.26.1, provide your players with a **Premium GUI Editor**, **Interactive Links**, **Automatic Rewards**, **Custom Cooldowns**, **Statistics**, and **Rich Text Formatting**. Runs natively on **Folia**, **Paper**, **Purpur**, and **Spigot**.

### 🚀 Premium Features

– **🪄 Auto-Config Updater** — Configs stay up-to-date automatically with every new version.
– **🖥️ Professional GUI Editor** — Create, edit and delete social networks from an intuitive in-game interface.
– **💬 Interactive Links** — Clickable URLs with hover tooltips via Bungee Chat API.
– **🎁 Reward System** — Console commands executed on first visit (UUID-based, one-time).
– **⏱️ Custom Cooldowns** — Per-social network cooldown configuration.
– **🔊 Custom Sounds** — Play different sounds for each social network.
– **📺 Custom Titles** — Show titles when players use social commands.
– **📊 Statistics System** — Track total and per-social network usage with placeholders.
– **🎨 Rich Text** — RGB colors, gradients, MiniMessage support.
– **🌍 Universal Compatibility** — Native support for Folia, Paper, Purpur, Spigot, and Bukkit.
– **🌐 Multi-Language** — Bundled support for ES, EN, PT, JA, RU.
– **📡 Broadcast System** — Automatic multi-line announcements.
– **🧩 PlaceholderAPI** — Native expansion with multiple placeholders.

### 💻 Commands

| Command | Description | Permission |
| :— | :— | :— |
| `/xs -gui` | Open the premium GUI editor | `xsocials.gui` |
| `/xs reload` | Reload configurations | `xsocials.admin` |
| `/xs list` | List all social networks | `xsocials.use` |
| `/xs update` | Check for updates | `xsocials.admin` |
| `/xs version` | Show plugin version | `xsocials.use` |

**Dynamic Social Commands** — `/discord`, `/youtube`, `/[your-network]`…

### 🔐 Permissions

| Permission | Description | Default |
|———–|————-|———|
| `xsocials.*` | Full wildcard access | ❌ |
| `xsocials.admin` | Editor, reload, gui, update | ❌ (OP) |
| `xsocials.gui` | GUI editor access | ❌ (OP) |
| `xsocials.use` | Basic player access | ✅ All players |

### 🧩 Placeholders

| Placeholder | Description |
| :— | :— |
| `%xsocials_total_uses%` | Total uses |
| `%xsocials__uses%` | Uses for specific network |
| `%xsocials__enabled%` | Enabled status |
| `%xsocials__link%` | Network link |
| `%xsocials__command%` | Network command |

**[Join our Discord for Support & Updates](https://discord.com/invite/Yb6GsfGWmd)**