• 你好,Guest,欢迎回来!Nukkit-MOT BBS社区是专为Minecraft玩家和开发者提供的Nukkit-MOT平台技术论坛。Nukkit-MOT是一个多版本、内置实体AI、广泛插件兼容的我的世界服务器软件,采用Java编写,专为性能和可扩展性设计,支持插件开发和自定义功能。在Nukkit-MOT BBS,您可以轻松找到开服教程、插件开发资源和插件分享,帮助您快速搭建和管理Nukkit-MOT服务器,提升开发技能,推广您的插件。

    You can join [Discord] to get the latest notifications.
    为了避免一些意外情况,你可以【加入QQ群】来获取最新通知
  • 论坛小规模更新 | Forum Minor Update

    更新内容 | Update Content 主界面重制(Home Page Reconstruction) 英语翻译更新(English Translation Update)...
  • Plan | Player Analytics - 计划 | 玩家分析

    已安装在超过3000台服务器上! Player...
  • NukkitX

    Nukkit是一款为 Minecraft 基岩版 提供的核动力服务器软件…
  • Nukkit-MOT

    前言 Nukkit-MOT 是 Nukkit Minecraft Bedrock Edition 服务器软件的特殊版本。 它是基于 NukkitPetteriM1Edition...

MineClear -- Have fun clearing mines in the game

S
Sobadfish 提交新资源:

MineClear -- Have fun clearing mines in the game - This is a minesweeper game based on the core of Nukkit Mot.

MineClear - Mine Sweeper Game Plugin​

A mine sweeper game plugin developed for Nukkit servers, supporting custom game areas, timing functions, and game record saving.

Features​

  • ✅ Custom mine sweeper game areas
  • ✅ Game timing function
  • ✅ Game record saving
  • ✅ Automatic game reset when player leaves the area
  • ✅ Automatic game reset when player switches maps
  • ✅ Custom mine count setting
  • ✅ Beautiful game interface
...

阅读关于此资源更多信息...

  • Locked
MineClear -- Have fun clearing mines in the game

S
Sobadfish 提交新资源:

MineClear -- Have fun clearing mines in the game - This is a minesweeper game based on the core of Nukkit Mot.

MineClear - Mine Sweeper Game Plugin​

A mine sweeper game plugin developed for Nukkit servers, supporting custom game areas, timing functions, and game record saving.

Features​

  • ✅ Custom mine sweeper game areas
  • ✅ Game timing function
  • ✅ Game record saving
  • ✅ Automatic game reset when player leaves the area
  • ✅ Automatic game reset when player switches maps
  • ✅ Custom mine count setting
  • ✅ Beautiful game interface
...

阅读关于此资源更多信息...

Open Source Free Slow Development MineClear -- Have fun clearing mines in the game

S

MineClear - Mine Sweeper Game Plugin​

A mine sweeper game plugin developed for Nukkit servers, supporting custom game areas, timing functions, and game record saving.

Features​

  • ✅ Custom mine sweeper game areas
  • ✅ Game timing function
  • ✅ Game record saving
  • ✅ Automatic game reset when player leaves the area
  • ✅ Automatic game reset when player switches maps
  • ✅ Custom mine count setting
  • ✅ Beautiful game interface

Installation​

  1. Download the plugin's JAR file
  2. Put the JAR file into the server's plugins folder
  3. Restart the server
  4. The plugin will automatically generate configuration files

Command Instructions​

Create Game Area​

Use the following command to open the form for creating a game area:

/mt

In the form, you can set:

  • Room name
  • Game area width (5-20 blocks)
  • Game area height (5-20 blocks)
  • Mine count (1-50)

Delete Game Area​

Use the following command to delete the specified game area:

/mt remove <room name>

Gameplay​

  1. After creating a game area, click on the blocks in the area to start the game
  2. When clicking blocks, it will be processed according to mine sweeper rules:
    • Hit a mine: Game over, display time used
    • Hit a number: Display the number of mines around
    • Hit a blank: Automatically chain mine around blocks
  3. When all non-mine blocks are mined, the game is won, display time used and save the record

Configuration Files​

room.yml​

Stores game area configuration information, format as follows:

room:
- startX: 100
endX: 108
y: 64
startZ: 100
endZ: 108
mine: 10
levelName: world
roomName: Test Room

player.yml​

Stores player game records, format as follows:


PlayerName:
RoomName:
timeUsed: 10
lastPlayed: 1620000000000

Resource Pack​

The plugin includes a resource pack that provides textures and models needed for the mine sweeper game:

  • Mine textures and models
  • Number textures and models
  • Flag textures and models
  • Block textures and models

Permission Instructions​

  • Only OP players can use the /mt command to create and delete game areas
  • All players can participate in the mine sweeper game

Notes​

  • Game area size is recommended to be between 5x5 and 20x20
  • Mine count is recommended not to exceed 30% of the total blocks
  • The game will automatically reset when the player leaves the game area for more than 5 meters
  • The game will automatically reset when the player switches maps

Game​


View attachment 207 | View attachment 208

  • Locked
MineClear -- Have fun clearing mines in the game

S
Sobadfish 提交新资源:

MineClear -- Have fun clearing mines in the game - This is a minesweeper game based on the core of Nukkit Mot.

MineClear - Mine Sweeper Game Plugin​

A mine sweeper game plugin developed for Nukkit servers, supporting custom game areas, timing functions, and game record saving.

Features​

  • ✅ Custom mine sweeper game areas
  • ✅ Game timing function
  • ✅ Game record saving
  • ✅ Automatic game reset when player leaves the area
  • ✅ Automatic game reset when player switches maps
  • ✅ Custom mine count setting
  • ✅ Beautiful game interface
...

阅读关于此资源更多信息...

  • Locked
MineClear -- Have fun clearing mines in the game

S
Sobadfish 提交新资源:

MineClear -- Have fun clearing mines in the game - This is a minesweeper game based on the core of Nukkit Mot.

MineClear - Mine Sweeper Game Plugin​

A mine sweeper game plugin developed for Nukkit servers, supporting custom game areas, timing functions, and game record saving.

Features​

  • ✅ Custom mine sweeper game areas
  • ✅ Game timing function
  • ✅ Game record saving
  • ✅ Automatic game reset when player leaves the area
  • ✅ Automatic game reset when player switches maps
  • ✅ Custom mine count setting
  • ✅ Beautiful game interface
...

阅读关于此资源更多信息...

FakeInventories

lt_name 提交新资源:

FakeInventories - Easily create fake inventories that players can interact with.

Fake Inventories

Easily create fake inventories that players can interact with.

Download

Usage

1. Add Dependency in plugin.yml

depend:
  - FakeInventories

2. Get Service

public void onEnable() {
    RegisteredServiceProvider<FakeInventories> provider =
        getServer().getServiceManager().getProvider(FakeInventories.class);

    if (provider == null || provider.getProvider() == null) {...

阅读关于此资源更多信息...

Open Source FakeInventories

lt_name

Fake Inventories

Easily create fake inventories that players can interact with.

Download

Usage

1. Add Dependency in plugin.yml

depend:
  - FakeInventories

2. Get Service

public void onEnable() {
    RegisteredServiceProvider<FakeInventories> provider =
        getServer().getServiceManager().getProvider(FakeInventories.class);

    if (provider == null || provider.getProvider() == null) {
        getLogger().error("FakeInventories not found!");
        getServer().getPluginManager().disablePlugin(this);
        return;
    }

    FakeInventories fakeInventories = provider.getProvider();
}

3. Create Fake Inventory

Single Chest (27 slots):

ChestFakeInventory inventory = new ChestFakeInventory();
// or with custom title
ChestFakeInventory inventory = new ChestFakeInventory(null, "Custom Title");

Double Chest (54 slots):

DoubleChestFakeInventory inventory = new DoubleChestFakeInventory();
// or with custom title
DoubleChestFakeInventory inventory = new DoubleChestFakeInventory(null, "Custom Title");

Hopper (5 slots):

HopperFakeInventory inventory = new HopperFakeInventory();
// or with custom title
HopperFakeInventory inventory = new HopperFakeInventory(null, "Custom Title");

4. Set Items

inventory.setItem(0, Item.get(Item.DIAMOND));
inventory.setItem(1, Item.get(Item.GOLD_INGOT, 0, 64));

5. Add Event Listener

inventory.addListener(event -> {
    Player player = event.getPlayer();
    SlotChangeAction action = event.getAction();

    int slot = action.getSlot();
    Item sourceItem = action.getSourceItem();  // item before change
    Item targetItem = action.getTargetItem();  // item after change

    // Cancel the action (prevent item modification)
    event.setCancelled();

    // Handle click logic
    player.sendMessage("You clicked slot " + slot);
});

6. Show to Player

player.addWindow(inventory);

Complete Example

public class MyPlugin extends PluginBase {

    public void openMenu(Player player) {
        ChestFakeInventory menu = new ChestFakeInventory(null, "My Menu");

        // Set menu items
        menu.setItem(0, Item.get(Item.DIAMOND).setCustomName("Option 1"));
        menu.setItem(1, Item.get(Item.EMERALD).setCustomName("Option 2"));
        menu.setItem(2, Item.get(Item.GOLD_INGOT).setCustomName("Option 3"));

        // Handle clicks
        menu.addListener(event -> {
            event.setCancelled(); // Prevent taking items

            Player p = event.getPlayer();
            int slot = event.getAction().getSlot();

            switch (slot) {
                case 0:
                    p.sendMessage("Selected Option 1");
                    break;
                case 1:
                    p.sendMessage("Selected Option 2");
                    break;
                case 2:
                    p.sendMessage("Selected Option 3");
                    break;
            }

            p.removeWindow(event.getInventory()); // Close menu
        });

        player.addWindow(menu);
    }
}

Maven Dependency

    <repositories>
        <repository>
            <id>repo-lanink-cn</id>
            <url>https://repo.lanink.cn/repository/maven-public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>com.nukkitx</groupId>
            <artifactId>fakeinventories</artifactId>
            <version>1.0.3-MOT-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

NewTipsVariables

stevei5mc
stevei5mc 升级了 NewTipsVariables 的新版本:

1.1.0

1.1.0


注意事项

  1. 从版本 1.0.1 配置文件的自动更新不会受到配置文件的控制,配置文件如果有新的内容将会自动执行更新
  2. 从版本 1.0.1 起会对配置文件的版本号有异常的配置文件进行重置,在重置时会对旧配置文件进行备份
  3. 不要随意修改配置文件的版本号,否则配置文件的更新机制所带来的后果需要自负
  4. 建议备份好已经配置好的配置文件,以便在配置文件自动更新时出现问题可以及时恢复

更新内容

  1. 删除代码中无用的参数 < ea296d7c >
  2. 调整并精简部分代码 <...

阅读此次升级的详细信息...

  • Locked
FireworkShow

lt_name
lt_name 提交新资源:

FireworkShow - A Nukkit plugin that creates spectacular automated firework displays in your Minecraft Bedrock Editi

FireworkShow Plugin

Language / 语言: English | 中文

A Nukkit plugin that creates spectacular automated firework displays in your Minecraft Bedrock Edition server.

Features

  • Automated Firework Shows: Create stunning firework displays that run automatically in specified worlds
  • Multi-World Support: Configure different firework shows for different worlds
  • Customizable Positions: Set multiple spawn positions for fireworks in each world
    -...

阅读关于此资源更多信息...

FireworkShow

lt_name
lt_name 提交新资源:

FireworkShow - A Nukkit plugin that creates spectacular automated firework displays in your Minecraft Bedrock Editi

FireworkShow Plugin

Language / 语言: English | 中文

A Nukkit plugin that creates spectacular automated firework displays in your Minecraft Bedrock Edition server.

Features

  • Automated Firework Shows: Create stunning firework displays that run automatically in specified worlds
  • Multi-World Support: Configure different firework shows for different worlds
  • Customizable Positions: Set multiple spawn positions for fireworks in each world
    -...

阅读关于此资源更多信息...

Open Source FireworkShow

lt_name

FireworkShow Plugin

Language / 语言: English | 中文

A Nukkit plugin that creates spectacular automated firework displays in your Minecraft Bedrock Edition server.

Features

  • Automated Firework Shows: Create stunning firework displays that run automatically in specified worlds
  • Multi-World Support: Configure different firework shows for different worlds
  • Customizable Positions: Set multiple spawn positions for fireworks in each world
  • Performance Optimized: Uses direct packet sending instead of entity spawning to prevent server lag
  • Flexible Configuration: Global and per-world settings with override capabilities
  • Sound Control: Option to mute spawn and explosion sounds
  • Group Splitting: Alternate between position groups for varied display patterns
  • Multi-Language Support: English and Chinese language support
  • Easy Management: Simple commands for configuration and control

Requirements

  • Nukkit-MOT server
  • Java 17 or higher
  • Permission: fireworkshow.admin (default: op)

Installation

  1. Download the latest FireworkShow-3.0.0-SNAPSHOT.jar from releases
  2. Place the jar file in your server's plugins folder
  3. Restart your server
  4. Configure the plugin using the generated config.yml file

Configuration

The plugin creates a config.yml file with the following structure:

configVersion: 4

# Global default settings (shared by all worlds)
global:
  spawnTick: 40              # Ticks between spawns (20 = 1 second)
  fireworkFlightDuration: 1   # Flight duration (1-3 recommended)
  muteSpawnSound: false      # Mute spawn sound
  muteExplodeSound: false    # Mute explosion sound
  splitGroups: false         # Alternate between position groups

# Per-world configurations
worlds:
  lobby:
    enabled: true
    positions:
      - {x: -12, y: 87, z: 29}
      - {x: -29, y: 87, z: -12}
      # ... more positions

Configuration Options

Global Settings

  • spawnTick: Time between firework spawns (in ticks, 20 ticks = 1 second)
  • fireworkFlightDuration: How long fireworks fly before exploding (1-3 recommended)
  • muteSpawnSound: Whether to mute the firework launch sound
  • muteExplodeSound: Whether to mute the firework explosion sound
  • splitGroups: Split positions into alternating groups for varied patterns

World Settings

Each world can override global settings and has:

  • enabled: Whether fireworks are active in this world
  • positions: List of coordinates where fireworks spawn
  • Any global setting can be overridden per-world

Commands

All commands use the base command /fireworkshow or /fws:

General Commands

  • /fws help - Show command help
  • /fws reload - Reload configuration
  • /fws list - List all configured worlds

World Management

  • /fws enable <world> - Enable fireworks in a world
  • /fws disable <world> - Disable fireworks in a world

Position Management

  • /fws pos add <world> [x y z] - Add a firework spawn position
  • /fws pos remove <world> <index> - Remove a position by index
  • /fws pos list <world> - List all positions in a world
  • /fws pos clear <world> - Clear all positions in a world

Configuration

  • /fws set <world> <setting> <value> - Set world-specific setting
  • /fws global <setting> <value> - Set global setting

Available Settings

  • spawnTick - Time between spawns (integer)
  • flightDuration - Flight duration (integer, 1-3)
  • muteSpawn - Mute spawn sound (true/false)
  • muteExplode - Mute explosion sound (true/false)
  • splitGroups - Use alternating groups (true/false)

Usage Examples

Basic Setup

  1. Add positions where fireworks should spawn:
   /fws pos add lobby 0 80 0
   /fws pos add lobby 10 80 10
  1. Enable the world:
   /fws enable lobby

Advanced Configuration

  1. Set faster firework spawning:
   /fws set lobby spawnTick 20
  1. Make fireworks fly longer:
   /fws set lobby flightDuration 2
  1. Mute sounds for a quieter display:
   /fws set lobby muteSpawn true
   /fws set lobby muteExplode true

Performance Notes

  • The plugin uses optimized packet sending instead of spawning entities
  • Large numbers of positions are supported without significant performance impact
  • The splitGroups option can help distribute load across multiple ticks
  • Fireworks only spawn when players are present in the world

Permissions

  • fireworkshow.admin - Access to all plugin commands (default: op)

Language Support

The plugin supports multiple languages:

  • English (en_US)
  • Chinese Simplified (zh_CN)

Language is automatically detected based on your server's language setting.

Closed Source Free Suspension of development LockerShop-皮肤+披风+粒子商店三合一

NemoCat纱猫
1722015266371.png

官方群聊 - Github - 团队官网


相关指令

·/locker reload
-重载
·/locker menu
-打开主界面
·/locker giveskin
-玩家名 皮肤配置名 时长(毫秒,百度自行转换,下面同理)
·/locker givecape
-玩家名 皮肤配置名 时长
·/locker giveparticle
-玩家名 皮肤配置名 时长
·/locker help
-查看帮助(这些指令都可以查到)
·/locker statistics
-查看服务器所有皮肤、披风和粒子的获取情况




配置讲解
·skins文件夹
-用来放置皮肤

·players文件夹
-用来储存玩家数据




图片长廊

{DBYF_UU{R[[@XH7{W8BIC8.jpg




其他

·售后

-如需要反馈BUG,遭遇使用瓶颈等问题可以入群询问

·定制

工作承接以下类型的基岩版服务器相关定制,欢迎入群询问
-服务端定制
-NK PM服务端插件
-服务器材质包(UI 图标 自定义实体等)
-服务器宣传
-服务器模型定制
-服务器网站定制
-服务器地图主城建设等


*戳我入群


Copyright © 2020 - 2024 DGBirds Team.
1722014331252.png

CustomCraft

lt_name
lt_name 提交新资源:

CustomCraft - A custom crafting and furnace recipe plugin

CustomCraft

A custom crafting and furnace recipe plugin for Nukkit-MOT

Features

  • Supports shapeless crafting (similar to dye crafting)
  • Supports shaped crafting (similar to tool crafting, requires a specific pattern)
  • Supports craft count limits
  • Supports extra output items
  • Supports NBT items as crafting inputs or outputs
  • Provides convenient in-game commands to add item configurations

Installation

  1. Download the CustomCraft plugin .jar...

阅读关于此资源更多信息...

Open Source CustomCraft

lt_name

CustomCraft

A custom crafting and furnace recipe plugin for Nukkit-MOT

Features

  • Supports shapeless crafting (similar to dye crafting)
  • Supports shaped crafting (similar to tool crafting, requires a specific pattern)
  • Supports craft count limits
  • Supports extra output items
  • Supports NBT items as crafting inputs or outputs
  • Provides convenient in-game commands to add item configurations

Installation

  1. Download the CustomCraft plugin .jar file
  2. Place the jar file into the plugins folder of your Nukkit-MOT server
  3. Restart the server
  4. The plugin will automatically generate configuration files in plugins/CustomCraft

Configuration Guide

craft.json - Crafting Recipe Configuration

Config file location: plugins/CustomCraft/craft.json

Configuration Fields

Field Type Description
type Integer Recipe type: 0 = shapeless, 1 = shaped
maxCraftCount Integer Maximum craft count: -1 = unlimited, other values = specific limit (feature not fully implemented yet)
input Array/Object Input materials (see formats below)
output String Output item (format: ItemID:Damage:Amount)
shape Array Required for shaped recipes, defines crafting grid pattern
extraOutput Array Optional, list of additional output items

Item Format Description

The plugin supports three item formats:

1. Normal Item Format

  • Format: ItemID:Damage:Amount
  • Example: 58:0:1 → 1 crafting table (ID: 58, damage: 0)
  • Example: 3:0 → dirt (ID: 3, damage: 0), amount defaults to 1
  • Example: 35:14:5 → 5 red wool (ID: 35, damage: 14)

2. NBT Item Format (Items with Special Attributes)

Used for items with enchantments, custom names, lore, or other NBT data.

  • Reference format: ItemName@nbt
  • Usage steps:
    1. Hold the item in-game and run /craft add <name> to save it
    2. Reference it in recipes using Name@nbt

Examples:

  • Input reference: "input": ["GodSword@nbt"]
  • Output reference: "output": "GodSword@nbt"

Notes:

  • Actual NBT data is stored in nbtItems.json in the format
    ItemID:Damage:Amount:NBTData (auto-generated, no manual editing required)
  • If the item changes (enchantments, name, lore, etc.), you must re-run /craft add <name>
  • If you don’t know the numeric ID or damage value, you can still use /craft add <name> and treat it as an NBT item

3. Namespaced Item Format (Custom Items)

Used for modern namespaced IDs:

  • Format: namespace:item:amount
  • Examples:
    • minecraft:diamond_sword:1
    • minecraft:netherite_ingot:1

Mixed Item Format Example

{
  "type": 1,
  "maxCraftCount": -1,
  "input": {
    "A": "GodSword@nbt",
    "B": "minecraft:diamond:0:1",
    "C": "minecraft:netherite_ingot:1"
  },
  "shape": [
    "ABA",
    "BCB",
    "ABA"
  ],
  "output": "SuperGodSword@nbt"
}

Recipe Examples

Shapeless Recipe Example

(Converting dirt into a crafting table)

{
  "recipes": [
    {
      "type": 0,
      "maxCraftCount": -1,
      "input": [
        "3:0"
      ],
      "output": "58:0:1"
    }
  ]
}

Shaped Recipe Example

(9 dirt arranged in a 3×3 grid to craft a table, plus 1 extra dirt)

{
  "recipes": [
    {
      "type": 1,
      "maxCraftCount": -1,
      "input": {
        "A": "3:0"
      },
      "shape": [
        "AAA",
        "AAA",
        "AAA"
      ],
      "output": "58:0:1",
      "extraOutput": [
        "3:0:1"
      ]
    }
  ]
}

Shaped Recipe Pattern Explanation

The shape array defines the layout of items in the crafting grid:

  • "AAA" → all three slots filled with material A
  • "A A" → left and right slots filled, middle empty
  • " A " → only the center slot filled

Multiple materials can be defined:

{
  "type": 1,
  "input": {
    "A": "5:0",
    "B": "280:0"
  },
  "shape": [
    "AAA",
    " B ",
    " B "
  ],
  "output": "269:0:1"
}

This example crafts a wooden pickaxe using planks and sticks.


nbtItems.json - NBT Item Configuration

If you want to use items with special attributes (enchantments, custom names, etc.) as inputs or outputs, use in-game commands to add them.

File location: plugins/CustomCraft/nbtItems.json

NBT Item Format

This file is maintained automatically and usually should not be edited manually:

{
  "ItemName": "ItemID:Damage:Amount:NBTData"
}

Field Description:

  • ItemName: Custom identifier used in recipes
  • ItemID: Numeric ID or namespaced ID
  • Damage: Item damage / metadata
  • Amount: Item amount
  • NBTData: Base64-encoded NBT data, or not if none

Example

{
  "GodSword": "276:0:1:CgAACQQAZW5jaAoBAAAAAgIAaWQJAAIDAGx2bAMAAA==",
  "NormalDiamond": "264:0:1:not",
  "CustomItem": "minecraft:diamond_sword:1:nbt"
}

Usage

  1. Add via command (recommended):
/craft add GodSword
  1. Reference in recipes:
{
  "type": 0,
  "input": ["GodSword@nbt", "diamond:0:8"],
  "output": "SuperGodSword@nbt"
}

Notes:

  • NBT items must match exactly (enchantments, names, lore, etc.)
  • Using commands avoids manual configuration errors

Usage Guide

1. Add Simple Recipes

Edit craft.json, add recipes following the format above, then reload the plugin with /reload.

2. Create Advanced Recipes Using NBT Items

NBT items preserve all special attributes, including:

  • Enchantments
  • Custom names and lore
  • Hidden flags
  • Other NBT data

Steps

  1. Prepare your special item
    • Example: a Sharpness V diamond sword named "GodSword"
  2. Save the item
    • Hold the item
    • Run /craft add GodSword
  3. Use it in recipes
    • Format: ItemName@nbt
    • As input: "input": ["GodSword@nbt"]
    • As output: "output": "GodSword@nbt"

Full Example - Craft a Special Item

{
  "type": 1,
  "maxCraftCount": 1,
  "input": {
    "A": "diamond:0",
    "B": "emerald:0"
  },
  "shape": [
    "AAA",
    "ABA",
    "AAA"
  ],
  "output": "GodSword@nbt"
}

Full Example - Upgrade a Special Item

{
  "type": 0,
  "maxCraftCount": -1,
  "input": ["GodSword@nbt", "nether_star:0:1"],
  "output": "SuperGodSword@nbt"
}

Important Notes:

  • Player items must match saved NBT data exactly
  • Use clear, recognizable names for NBT items
  • View all saved items in nbtItems.json

Testing Recipes

  1. Save configuration files
  2. Reload the plugin using /reload
  3. Open a crafting table and test the recipe

Commands

Command Description Permission
/craft add <name> Save the held item to nbtItems configuration customcraft.craft

Permission Notes:

  • customcraft.craft is granted to OPs by default

FAQ

Q: Changes don’t take effect?
A: Restart the server after editing configuration files.

Q: How do I use enchanted items as ingredients?
A: Save them with /craft add <name> and reference them using name@nbt.

Q: Is the @nbt suffix required?
A: Yes, it is mandatory when referencing items from nbtItems.json.

Q: What’s the difference between normal and namespaced item formats?
A:

  • Normal: ID:Damage:Amount (e.g. 276:0:1)
  • Namespaced: minecraft:item_name (e.g. minecraft:diamond_sword)

Q: What is extraOutput used for?
A: It allows additional items to be given alongside the main output.

Q: Does maxCraftCount = 1 mean only one player can craft it?
A: No, it limits crafting per player, not globally.

Q: How do I view saved NBT items?
A: Open plugins/CustomCraft/nbtItems.json.


Feedback & Support

If you encounter issues or have suggestions, feel free to submit an issue:

  • Like
Reactions: NemoCat纱猫

ElySecurity

NemoCat纱猫
NemoCat纱猫 提交新资源:

ElySecurity - Powerful and intelligent security plugin

ElySecurity Server Security Plugin

A powerful Minecraft Nukkit server security plugin providing comprehensive player management and content security features.

🚀 Features

🔒 Core Security Functions

  • OP Permission Management - Dual storage mode: Database/File
  • Permission Status Synchronization - Real-time detection and synchronization of player permissions
  • Content Security Detection - Supports dual detection via local and Baidu API

🛡️ Anti-Violation...


阅读关于此资源更多信息...

ElySecurity

NemoCat纱猫

ElySecurity Server Security Plugin

A powerful Minecraft Nukkit server security plugin providing comprehensive player management and content security features.

🚀 Features

🔒 Core Security Functions

  • OP Permission Management - Dual storage mode: Database/File
  • Permission Status Synchronization - Real-time detection and synchronization of player permissions
  • Content Security Detection - Supports dual detection via local and Baidu API

🛡️ Anti-Violation Mechanisms

  • Smart Spam Detection - Multi-dimensional detection based on message interval, similarity, and information entropy
  • Prohibited Word Filtering - Local word library + Baidu AI Content Moderation
  • Multiple Punishment Methods - Configurable punishments: warning, kick, mute, etc.

⚙️ Technical Features

  • Dual Storage Mode - Choice between MySQL database or YAML file storage
  • Redis Cache Support - High-performance caching for acceleration
  • Multi-language Support - Chinese/English interface
  • Asynchronous Detection - Does not block the server's main thread

📦 Installation Requirements

Environment Requirements

  • Nukkit API: 1.0.10+
  • Java: 8+
  • Optional: MySQL 5.7+ / Redis 5+

Dependencies

  • Required: Nukkit Server
  • Optional: MySQL Driver, Redis Client

⚡ Quick Start

1. Install the Plugin

Place ElySecurity.jar into the plugins/ directory and restart the server.

2. Basic Configuration

Edit plugins/ElySecurity/config.yml:

# Basic Settings
language: "zh_CN" # Language: zh_CN / en_US

# Storage Mode Selection
mysql:
  enabled: false # Disable MySQL, use file storage

3. Add an Administrator

Execute in the console:

op add YourGameID

🛠️ Configuration Guide

Storage Mode Configuration

Option A: Use File Storage (Simple)

mysql:
  enabled: false

OP list will be saved at: plugins/ElySecurity/admin.yml

Option B: Use Database Storage (Recommended)

mysql:
  enabled: true
  host: "localhost"
  port: 3306
  database: "elysecurity"
  username: "root"
  password: "your_password"

Security Feature Configuration

Anti-Spam Settings

anti-spam:
  enabled: true
  message-interval: 1000 # Message interval(ms)
  similarity-threshold: 0.8 # Similarity threshold
  punishment: "kick" # Punishment method: warning/kick

Prohibited Words Settings

prohibited-words:
  enabled: true
  mode: "local" # local/baidu/both
  punishment: "mute" # Punishment method: warning/kick/mute
  mute-duration: 300 # Mute duration(seconds)

📋 Command List

Command Permission Description Example
/op add <player> elysecurity.op Add OP permission /op add Steve
/op remove <player> elysecurity.op Remove OP permission /op remove Alex

⚠️ Note: OP commands can only be executed from the server console.

📁 File Structure

plugins/ElySecurity/
├── config.yml # Main configuration file
├── admin.yml # OP list (File mode)
├── prohibited-words.yml # Prohibited word library
├── lang/
│ ├── zh_CN.yml # Chinese language file
│ └── en_US.yml # English language file
└── logs/ # Log directory

🔧 Advanced Features

Redis Cache Acceleration

redis:
  enabled: true
  host: "localhost"
  port: 6379
  password: ""

Baidu AI Content Moderation

baidu-api:
  enabled: true
  api-key: "your_api_key"
  secret-key: "your_secret_key"

Custom Prohibited Words

Edit prohibited-words.yml:

local-words:
  - "Banned Word 1"
  - "Banned Word 2"
  - "Banned Word 3"

❓ FAQ

Q1: Plugin fails to load?

  • Check if Nukkit version ≥ 1.0.10
  • Check if Java version ≥ 8
  • Check server logs for detailed error messages

Q2: OP permissions not syncing?

  • Ensure storage mode configuration is correct
  • Check database connection (if using MySQL)
  • Try re-executing the OP command

Q3: How to backup OP list?

  • File mode: Backup admin.yml
  • Database mode: Backup the ops table in MySQL

Q4: How to update the plugin?

  1. Backup configuration files
  2. Replace the plugin JAR file
  3. Restart the server
  4. Check configuration compatibility

📊 Performance Optimization Suggestions

  1. Small-scale servers: Use file storage mode
  2. Medium/Large servers: Use MySQL+Redis combination
  3. Adjust detection thresholds: Tune sensitivity based on server load
  4. Regular cache cleanup: Restart to free memory after long uptime

🤝 Contribution & Support

Issue Reporting

When reporting issues, please provide:

  1. Nukkit version
  2. Plugin version
  3. Error log screenshot
  4. Steps to reproduce

Feature Suggestions

Feature suggestions are welcome via GitHub Issues.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

🔌 API Calls

Baidu Content Moderation API

Other plugins can call this plugin's Baidu content moderation function via:

// Get the ElySecurity plugin instance
PluginBase elySecurity = getServer().getPluginManager().getPlugin("ElySecurity");

// Check if content violates rules
if (elySecurity instanceof cn.ElysianArena.ElySecurity.Main) {
    cn.ElysianArena.ElySecurity.Main main = (cn.ElysianArena.ElySecurity.Main) elySecurity;
    cn.ElysianArena.ElySecurity.security.ViolationResult result = main.getProhibitedWords().checkContent(playerName, content);

    if (result.isViolated()) {
        // Handle violating content
        String source = result.getSource(); // Violation source (local/baidu)
        List<String> details = result.getViolationDetails(); // Violation details
        double confidence = result.getConfidence(); // Confidence level
    }
}

The returned ViolationResult object contains the following fields:

  • violated: Whether it violates rules
  • violationType: Violation type ID
  • subType: Subtype
  • violationDetails: Violation details (e.g., matched keywords)
  • source: Detection source (local/baidu)
  • confidence: Confidence level
  • message: Additional message

✨ Changelog

v1.0.0

  • ✅ OP Permission Management
  • ✅ Anti-Spam System
  • ✅ Prohibited Word Filtering
  • ✅ Dual Storage Mode Support
  • ✅ Multi-language Interface

bStats

Filter

Latest threads Latest resources Last post in last

Members online

No members online now.

Forum statistics

Threads
75
Messages
139
Members
101
Latest member
AHCK