NekoX is a fun Minecraft plugin that makes Minecraft more interesting! It allows players to become cute neko girls with special abilities and interactive features.
Simply put: This plugin adds cute neko characters to your server!
- Download the
NekoX-5.2-ProMax+++.jarfile - Place this file in your server's
pluginsfolder
- Start your Minecraft server normally
- The plugin will automatically create configuration files
- In-game, type
/nekoset playername trueto turn a player into a neko - Neko players can now use all the fun features!
- Night Vision: Nekos can see clearly in the dark
- Jump Boost: Can jump higher
- Sneak Speed: Move faster and quieter while sneaking
- Neko chat has special prefixes and suffixes
- Automatically converts normal words into cute neko language
- For example, "hello" might become "meow~ hello"
- Nekos can only eat meat! No vegetables or fruits
- Supports various meat-based foods
- Nekos have special claw attacks
- Extra damage to mobs
- Has cooldown time, cannot be used continuously
- Wearing leather armor provides speed bonuses
- Each piece of leather armor increases speed
- Multiple armor pieces stack effects
- Maximum bonus level is configurable
Simply put: Leather armor makes nekos run faster!
- Nekos can have owners
- Special interactions between owners and nekos
- Can heal and help each other
- Owner Death Effect: When an owner dies, their nekos also die (configurable)
- Option to keep neko inventory and experience level
- Neko abilities become stronger at night
- Peak power at midnight
- Automatically activates, no manual control needed
- When neko health is very low
- Automatically gains super strength
- Lasts 1 minute, helps escape danger
- Nekos deal slightly higher damage when attacking
- Stronger knockback effect against enemies
- Applies to all weapon types
- Damage and knockback multiplier configurable
Simply put: Neko attacks are more powerful and can knock enemies further!
- Nekos use catnip items (default uses wheat seeds)
- Gain temporary speed and jump boost
- Effects last for a period of time
- Can modify the items used in configuration file
- Fall Damage Immunity: Nekos don't take damage from falling from heights
- Other Damage Boost: Nekos take 0.8x more damage from other sources
- Can adjust damage multiplier in configuration file
Simply put: Nekos are immune to falling but more vulnerable to attacks!
- Creeper Repulsion: Creepers won't explode when encountering nekos, but are repelled
- Phantom Repulsion: Phantoms won't attack nekos, but are repelled
- Automatically activates, no manual operation needed
Simply put: Creepers and phantoms are afraid of nekos and will automatically avoid them!
- Hostile mobs have increased detection distance for nekos
- Friendly mobs are more attracted to nekos
- Different effects on different types of mobs
- Detection parameters configurable
- When other players enter a 25-block radius around a neko, the neko receives a title notification
- Shows the names and distances of nearby players
- Can enable/disable the feature with the
/playernoticecommand - Configuration information stored in SQLite database
- Helps nekos be aware of their surroundings
Simply put: Nekos receive notifications about nearby players!
- Wall Climbing: Nekos can climb up walls and vertical surfaces
- Usage: Use
/climbcommand to toggle climbing feature - Limitations: Can only climb near walls, has a limited range of use
- Auto-disable: Stops climbing automatically when leaving the wall
Simply put: Nekos can climb walls like spiders!
- Tail Interaction: Players can pull nekos' tails
- Usage: Use
/pullthetailcommand to toggle tail pull feature - Interactive Effects: Pulling tails creates fun interaction effects (damage and heal with cat sounds)
- Control: Nekos can choose whether to allow their tails to be pulled
Simply put: Players can interact with nekos by pulling their tails!
- Active Skill: Nekos can use
/healthcommand to restore health for themselves and their owners - Cost: Consumes hunger points to use
- Cooldown: Has a cooldown period between uses
- Scaling Effect: The lower the health, the stronger the restoration effect
Simply put: Nekos can heal themselves and their owners with this skill!
- Command:
/myskills- Shows all available skills for nekos - Active Skills: Displays cooldown status and usage information
- Passive Skills: Shows status and description
- Clear Format: Easy to understand skill information
Simply put: Nekos can view all their skills and cooldowns with this command!
- New Command:
/nekox placeholders- Lists all available NekoX placeholders - Enhanced Compatibility: Works correctly even without PlaceholderAPI installed
- Better Error Handling: Clear error messages when PlaceholderAPI is unavailable
- Status Display: Shows registration status for each placeholder
Simply put: More reliable placeholder system with improved user experience!
- Message Localization: Ensures proper message display in Chinese
- Improved Stability: Optimized command execution flow for better code reliability
- Crash Prevention: Enhanced error handling mechanisms
- Language Support: Better default message fallback system
Simply put: More stable commands with correct message display!
- Safe Message Access: Using SafeMessageUtils for secure message retrieval
- Fallback System: Better default messages when translations are missing
- Consistent Display: Ensured all command messages show correctly in different language environments
Simply put: Enhanced language support with more reliable message handling!
Catnip is a special feature in the NekoX plugin that allows neko players to use specific items to gain temporary buff effects.
Basic Operation:
- Must be a Neko Player - Only players set as nekos can use catnip
- Hold Catnip Item - Default uses wheat seeds (WHEAT_SEEDS)
- Right-Click to Use - Hold the catnip item and right-click to activate the effect
Specific Steps:
- Ensure you are a neko (admin uses
/nekoset yourname trueto set) - Obtain wheat seeds (or other configured catnip items)
- Hold wheat seeds and right-click
- Immediately gain speed and jump boost effects
Catnip provides the following buff effects:
- Speed Boost (Speed II) - Significantly increased movement speed
- Jump Boost (Jump Boost II) - Greatly enhanced jump height
- Duration - Default 60 seconds (can be modified in configuration)
Effect Characteristics:
- Effects activate immediately
- Consumes one catnip item
- Has cooldown time, cannot be used continuously
- Only effective for neko players
Customize catnip settings in config.yml:
cat-nip:
enabled: true # Enable/disable catnip feature
item: "WHEAT_SEEDS" # Catnip item ID (can be changed to other items)
duration: 60 # Effect duration (seconds)Modifiable Item Options:
- Default:
WHEAT_SEEDS(wheat seeds) - Can be changed to:
GRASS(grass),FERN(fern),VINE(vine), etc. - Supports any Minecraft item ID
- Combat Assistance - Use during PVP or mob fighting to gain speed and jump advantage
- Escape Tool - Use catnip to quickly escape danger when being chased
- Exploration Boost - Use during long-distance travel to improve movement efficiency
- Building Aid - Jump boost helps with building at heights
- Armor Selection - Wear leather armor to get maximum speed bonus
- Only neko players can use
- Requires consumption of catnip items
- Has usage cooldown
- Cannot be used with off-hand items (must be held in main hand)
- Night Effects - Catnip effects work better at night
- Stress Response - Better effect when combining with catnip when health is low
- Armor Bonus - Speed bonus stacks with leather armor effects
Important Note: Right-clicking with catnip in main hand consumes 1 catnip item, off-hand items won't trigger the effect.
/pat player- Gently pat someone/lovebite player- Give a cute love bite/earscratch player- Scratch someone's ears/purr- Make purring sounds/hiss player- Hiss at someone/scratch player- Scratch someone with claws/attention player- Attract other players' attention/pullthetail- Toggle tail pull feature
/nightvision- Enable night vision/jumpboost- Jump boost/swiftsneak- Sneak speed/health- Heal yourself and owner/myskills- View all skills and cooldowns/playernotice [on|off]- Enable/disable player proximity notification/climb- Toggle climbing feature
/owner add player- Request to become someone's owner/owner accept player- Accept owner request/owner deny player- Deny owner request/owner remove player- Remove owner relationship/owner list- View your owners/owner mylist- View your nekos
/nekox reload- Reload plugin settings/nekoset player true/false- Set player as neko/nekox language language- Switch plugin language/nekox placeholders- Display all available NekoX placeholders
- New Command:
/nekox placeholders- Lists all available NekoX placeholders - Enhanced Compatibility: Works correctly even when PlaceholderAPI is not installed
- Better Error Handling: Clear error messages when PlaceholderAPI is unavailable
- Status Display: Shows registration status for each placeholder
Simple Description: More reliable placeholder system with improved user experience!
- Message Localization: Fixed issues to ensure proper message display in Chinese
- Improved Stability: Optimized command execution flow for better code reliability
- Crash Prevention: Enhanced error handling mechanisms
- Language Support: Better default message fallback system
Simple Description: More stable commands with correct message display!
- Safe Message Access: Using SafeMessageUtils for secure message retrieval
- Fallback System: Better default messages when translations are missing
- Consistent Display: Ensured all command messages show correctly in different language environments
Simple Description: Enhanced language support with more reliable message handling!
The plugin creates a config.yml file on first run, which you can open and modify with a text editor:
neko-chat: Enable/disable neko chat effectsmeat-only: Whether nekos can only eat meatowner-system: Enable/disable owner system
claws: Claw attack damage and cooldown timearmor-bonus: Speed bonus from leather armornight-effects: Night ability start and end timeshealth-skill: Healing skill cooldown and cost
cat-nip: Catnip effects and durationstress-effect: Stress response trigger conditionspassive-attack-boost: Attack damage bonusarmor-bonus: Leather armor bonus settingsenabled: Enable/disable armor bonusleather-bonus: Leather armor type listspeed-bonus-per-piece: Speed bonus per armor piece
neko-damage-modification: Neko damage adjustment settingsenabled: Enable/disable damage adjustment featurefall-damage-immunity: Fall damage immunityother-damage-multiplier: Other damage increase multiplierdebug: Debug mode
neko-mob-behavior: Neko mob behavior settingsenabled: Enable/disable mob behavior featurecreeper-repulsion: Creeper repulsion featurephantom-repulsion: Phantom repulsion featuredebug: Debug mode
mob-targeting: Mob targeting behavior settingsenabled: Enable/disable targeting behavior adjustmentdistance-increase: Detection distance increase multiplierfriendly-attraction: Enable/disable friendly mob attraction
owner-death: Owner death effect settingsfeature.enabled: Enable/disable owner death effectkeep-inventory: Keep neko inventorykeep-level: Keep neko experience level
NekoX provides a comprehensive API for other plugins to integrate neko functionality.
Using NekoX API in your plugin:
- Add dependency in
plugin.yml:
depend: [NekoX]- Get API instance in your plugin:
import org.cneko.nekox.api.NekoXAPI;
public class YourPlugin extends JavaPlugin {
private NekoXAPI nekoXAPI;
@Override
public void onEnable() {
nekoXAPI = NekoXAPI.getInstance(this);
if (nekoXAPI == null) {
getLogger().warning("NekoX plugin not found!");
getServer().getPluginManager().disablePlugin(this);
return;
}
}
}Since NekoX is not published to JitPack or other public repositories, you need to manually add it to your project:
-
Maven Project Setup:
- Create a
libsfolder in your project directory - Copy the
NekoX-5.2-ProMax+++.jarfile from this plugin's target folder to yourlibsfolder - Add the following dependency to your
pom.xml:
<dependency> <groupId>org.cneko</groupId> <artifactId>NekoX</artifactId> <version>5.2-ProMax+++</version> <scope>system</scope> <systemPath>${project.basedir}/libs/NekoX-5.2-ProMax+++.jar</systemPath> </dependency>
- Create a
-
Gradle Project Setup:
- Create a
libsfolder in your project directory - Copy the
NekoX-5.2-ProMax+++.jarfile to yourlibsfolder - Add the following dependency to your
build.gradle:
implementation files('libs/NekoX-5.2-ProMax+++.jar') - Create a
-
Manual Setup (IDE):
- Create a
libsfolder in your project directory - Copy the
NekoX-5.2-ProMax+++.jarfile to yourlibsfolder - Add the jar file to your project's build path in your IDE
- Create a
boolean isNeko(Player player)- Check if player is a nekoboolean isNeko(String playerName)- Check if player (by name) is a neko
Set<String> getAllNekoNames()- Get all neko player names (including offline)
Set<String> getOwnerNames(String nekoName)- Get all owners of a nekoboolean isOwnerOf(String ownerName, String nekoName)- Check if player is owner of a nekoboolean hasOwner(String playerName)- Check if player has an owner
NekoX provides custom events for other plugins to listen to:
Triggered when a player's neko status changes:
@EventHandler
public void onNekoStatusChange(NekoStatusChangeEvent event) {
Player player = event.getPlayer();
boolean isNeko = event.isNeko();
boolean isOnline = event.isOnline();
// Handle status change
}Triggered when owner relationships are added, removed, or requested:
@EventHandler
public void onOwnerRelationshipChange(OwnerRelationshipEvent event) {
String nekoName = event.getNekoName();
String ownerName = event.getOwnerName();
OwnerRelationshipEvent.RelationshipAction action = event.getAction();
switch (action) {
case ADD:
// Handle relationship addition
break;
case REMOVE:
// Handle relationship removal
break;
case REQUEST:
// Handle relationship request
break;
}
}💡 Friendly Reminder: If you're just a regular user without programming knowledge, you can skip this section!
If you want to develop plugins that integrate with NekoX, here's the Maven configuration you need:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>your.group.id</groupId>
<artifactId>YourPlugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>YourPlugin</name>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<!-- PaperMC Repository -->
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!-- Paper API -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- NekoX API -->
<!-- Place the NekoX plugin jar file in your project's libs folder -->
<dependency>
<groupId>org.cneko</groupId>
<artifactId>NekoX</artifactId>
<version>5.2-ProMax+++</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/NekoX-5.2-ProMax+++.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>If you want to compile the plugin file yourself, you can follow these steps:
Open command line and enter:
mvn clean installImportant Note: You need to install Java 21 on your computer first Open command line and enter:
mvn clean install -Ppaper-1.21.4- If your computer uses Java 17, you can only compile the 1.20.4 version
- To compile the 1.21.4 version, you need to install Java 21 first
NekoX integrates with PlaceholderAPI and provides the following placeholders (requires PlaceholderAPI plugin to be installed):
| Placeholder | Description |
|---|---|
%nekox_is_neko% |
Check if player is a neko |
%nekox_humans% |
Get list of non-neko players |
%nekox_nekos% |
Get list of neko players |
Use the /nekox placeholders command to view all available placeholders and their status.
- : Damage handling listener
- Listen for
EntityDamageEventevents - Check if the damaged entity is a neko
- If it's fall damage (
FALLenum), cancel the damage event - If it's other damage, increase the damage by the configured multiplier
- Fall Test: Nekos don't take damage when falling from heights, regular players take normal damage
- Damage Test: Nekos take 0.8x more damage when attacked
- Configuration Test: Modify configuration file to verify effects
- : Mob behavior listener
- Creeper Repulsion: Listen for
ExplosionPrimeEvent, cancel explosion and apply reverse thrust - Phantom Repulsion: Listen for
EntityTargetLivingEntityEvent, cancel attack and apply reverse thrust - Distance judgment: Effective within 4 blocks
- Configuration-driven, features can be toggled on/off individually
- Creeper Test: Creepers won't explode near nekos, regular players experience normal explosions
- Phantom Test: Nekos aren't attacked by phantoms at night, regular players are attacked normally
- Configuration Test: Modify configuration file to verify repulsion effects
A: Supports 1.20.4 and 1.21.4 versions
A: Admin types /nekoset playername true
A: Night vision, jump boost, sneak speed, special chat, claw attacks, etc.
A: Nekos can have owners, owners and nekos can heal each other and have special interactions
A: Edit the plugins/NekoX/config.yml file
A: Yes! Type /nekox language chinese to switch to Chinese
If you encounter problems:
- Check if Minecraft version matches
- Confirm plugin file is in correct location
- Check error messages in server logs
- Contact plugin developer for help
- Nekos are stronger at night, try to be active during nighttime
- Leather armor provides speed bonus to nekos
- Catnip gives temporary speed and jump boost to nekos
- Low health automatically triggers stress response for extra power
NekoX is a feature-rich Minecraft neko plugin that adds neko characters and related functionality to servers. This developer Wiki aims to help other plugin developers understand how to integrate with the NekoX plugin.
If you use Maven to build your plugin, add the following configuration to your pom.xml file:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>your.group.id</groupId>
<artifactId>YourPlugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>YourPlugin</name>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<!-- PaperMC Repository -->
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!-- Paper API -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- NekoX API -->
<!-- Place the NekoX plugin jar file in your project's libs folder -->
<dependency>
<groupId>org.cneko</groupId>
<artifactId>NekoX</artifactId>
<version>5.2-ProMax+++</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/NekoX-5.2-ProMax+++.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>If you use Gradle to build your plugin, add the following configuration to your build.gradle file:
plugins {
id 'java'
}
group = 'your.group.id'
version = '1.0-SNAPSHOT'
repositories {
// PaperMC Repository
maven {
name = 'papermc'
url = 'https://repo.papermc.io/repository/maven-public/'
}
mavenCentral()
}
dependencies {
// Paper API
compileOnly 'io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT'
// NekoX API
// Place the NekoX plugin jar file in your project's libs folder
implementation files('libs/NekoX-5.2-ProMax+++.jar')
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}If you don't use build tools, you can directly add the NekoX plugin jar file to your project dependencies:
- Copy the NekoX-5.2-ProMax+++.jar file from the NekoX project's target folder
- Create a libs folder in your project
- Put the NekoX-5.2-ProMax+++.jar file in the libs folder
- Add the jar file to your project's build path in your IDE
- Make sure to add NekoX as a dependency in plugin.yml
After building your plugin, ensure:
- Place the generated jar file in the server's plugins folder
- Ensure the NekoX plugin is also installed
- Restart the server to load all plugins
NekoX supports multiple Minecraft versions:
- For Minecraft 1.20.4, use Java 17
- For Minecraft 1.21.4, use Java 21
If you need to build a specific version, you can use Maven profiles:
# Build 1.20.4 version (default)
mvn clean install
# Build 1.21.4 version
mvn clean install -Ppaper-1.21.4To use the NekoX API in your plugin, first you need to get the API instance:
import org.cneko.nekox.api.NekoXAPI;
// In your plugin main class
public class YourPlugin extends JavaPlugin {
private NekoXAPI nekoXAPI;
@Override
public void onEnable() {
// Get NekoX API instance
nekoXAPI = NekoXAPI.getInstance(this);
if (nekoXAPI == null) {
getLogger().warning("NekoX plugin not found, please ensure NekoX is installed and enabled!");
getServer().getPluginManager().disablePlugin(this);
return;
}
getLogger().info("Successfully connected to NekoX API!");
}
}Add NekoX as a dependency in your plugin.yml file:
name: YourPlugin
version: 1.0
main: your.package.YourPlugin
api-version: 1.13
depend: [NekoX]Check if specified player is a neko
Parameters:
player: Player to check
Return Value:
true: Player is a nekofalse: Player is not a neko
Check if specified player name is a neko (supports offline players)
Parameters:
playerName: Player name
Return Value:
true: Player is a nekofalse: Player is not a neko
Get all neko player names (including offline)
Return Value:
- Set containing all neko player names
Get all owner names of specified neko
Parameters:
nekoName: Neko player name
Return Value:
- Set containing all owner player names
Check if specified player is owner of a neko
Parameters:
ownerName: Owner player namenekoName: Neko player name
Return Value:
true: Is ownerfalse: Is not owner
Check if specified player has an owner
Parameters:
playerName: Player name
Return Value:
true: Has ownerfalse: Has no owner
Player player = ...; // Get player instance
if (nekoXAPI.isNeko(player)) {
player.sendMessage("You are a cute neko!");
} else {
player.sendMessage("You are not a neko~");
}Set<String> nekoNames = nekoXAPI.getAllNekoNames();
for (String nekoName : nekoNames) {
// Process each neko player name
getLogger().info("Neko: " + nekoName);
}String ownerName = ...; // Owner player name
String nekoName = ...; // Neko player name
if (nekoXAPI.isOwnerOf(ownerName, nekoName)) {
getLogger().info(ownerName + " is the owner of " + nekoName + "!");
}String nekoName = ...; // Neko player name
Set<String> owners = nekoXAPI.getOwnerNames(nekoName);
if (owners.isEmpty()) {
getLogger().info(nekoName + " doesn't have an owner yet~");
} else {
StringBuilder message = new StringBuilder(nekoName + "'s owners: ");
for (String owner : owners) {
message.append(owner).append(", ");
}
getLogger().info(message.toString());
}NekoX provides some custom events that other plugins can listen to in order to respond to neko-related behaviors.
Triggered when a player's neko status changes
Event Class: org.cneko.nekox.api.events.NekoStatusChangeEvent
Trigger Timing: When a player is set as neko or neko status is cancelled
Usage Example:
@EventHandler
public void onNekoStatusChange(NekoStatusChangeEvent event) {
Player player = event.getPlayer();
boolean isNeko = event.isNeko();
boolean isOnline = event.isOnline();
if (isNeko) {
getLogger().info(player.getName() + " became a neko!");
} else {
getLogger().info(player.getName() + " is no longer a neko!");
}
}Triggered when owner relationship changes
Event Class: org.cneko.nekox.api.events.OwnerRelationshipEvent
Trigger Timing: When adding, removing, or requesting owner relationship
Usage Example:
@EventHandler
public void onOwnerRelationshipChange(OwnerRelationshipEvent event) {
String nekoName = event.getNekoName();
String ownerName = event.getOwnerName();
OwnerRelationshipEvent.RelationshipAction action = event.getAction();
switch (action) {
case ADD:
getLogger().info(ownerName + " became the owner of " + nekoName + "!");
break;
case REMOVE:
getLogger().info(ownerName + " is no longer the owner of " + nekoName + "!");
break;
case REQUEST:
getLogger().info(ownerName + " requested to become the owner of " + nekoName + "!");
break;
}
}NekoX uses SQLite database to store player data, including:
- Whether player is a neko
- Neko-owner relationships
- Player personalization settings
Store player basic configuration
player_name: Player name (primary key)notice_enabled: Whether player proximity notification is enabledis_neko: Whether is a nekotail_pull_enabled: Whether tail pull feature is enabled
Store neko-owner relationships
neko_name: Neko nameowner_name: Owner name
Store owner request relationships
requester_name: Requester nameneko_name: Requested neko name
- All database operations are executed asynchronously and won't block the main thread
- It's recommended to access data through API methods rather than directly operating the database
- Player data uses player name as identifier and supports offline player queries
- Cache API instances to avoid repeated retrieval
- Use asynchronous operations appropriately to avoid executing time-consuming tasks on the main thread
- Release resources in a timely manner, especially when the plugin is disabled
- Always check if API instance is null
- Handle possible exception cases, such as player not being online
- Provide friendly error messages
- Check if NekoX plugin exists and is enabled
- Adapt to different versions of NekoX API
- Provide fallback solutions and alternative logic when NekoX is unavailable
If you encounter problems or have improvement suggestions while using the NekoX API, please contact us through the following methods:
- GitHub Issues: https://github.com/Shabby-666/NekoX/issues
- QQ: 959612591
Thank you for using NekoX!
NekoX是一个让Minecraft变得更有趣的插件!它可以让玩家变成可爱的猫娘,拥有特殊能力和互动方式。
简单来说: 这个插件让你的服务器里出现可爱的猫娘角色!
- 下载
NekoX-5.2-ProMax+++.jar文件 - 把这个文件放到你服务器的
plugins文件夹里
- 正常启动你的Minecraft服务器
- 插件会自动创建配置文件
- 在游戏里输入
/nekoset 玩家名字 true把玩家变成猫娘 - 猫娘玩家就可以使用各种有趣的功能啦!
- 夜视能力:猫娘在黑暗中也能看清楚
- 跳跃增强:可以跳得更高
- 潜行加速:潜行时移动更快更安静
- 猫娘聊天会有特殊的前缀和后缀
- 自动把普通词语变成可爱的猫娘用语
- 比如"你好"可能变成"喵~你好"
- 猫娘只能吃肉!不能吃蔬菜水果
- 支持各种肉类食物
- 猫娘有特殊的爪子攻击
- 对生物造成额外伤害
- 有冷却时间,不能连续使用
- 穿着皮革护甲可以获得速度加成
- 每件皮革护甲都能增加速度
- 多件护甲效果叠加
- 最大加成等级可配置
简单来说: 皮革护甲让猫娘跑得更快!
- 猫娘可以认主人
- 主人和猫娘有特殊互动
- 可以互相治疗和帮助
- 主人死亡效应:当主人死亡时,其猫娘也会死亡(可配置)
- 可选择是否保留猫娘的物品栏和经验等级
- 晚上猫娘能力会变强
- 午夜时能力达到最强
- 自动生效,不用手动开启
- 当猫娘生命值很低时
- 会自动获得超强力量
- 持续1分钟,帮助脱离危险
- 猫娘攻击时造成略微更高的伤害
- 对敌人有更强的击退效果
- 适用于所有武器类型
- 伤害和击退倍数可配置
简单来说: 猫娘的攻击更有力,能把敌人打得更远!
- 猫娘使用猫薄荷物品(默认使用小麦种子)
- 获得临时速度和跳跃提升
- 效果持续一段时间
- 可以在配置文件中修改使用的物品
- 免疫跌落伤害:猫娘从高处跌落不会受到伤害
- 其他伤害增强:猫娘受到的其他伤害增加0.8倍
- 可以在配置文件中调整伤害倍数
简单来说: 猫娘不怕摔,但更容易受伤!
- 苦力怕驱赶:苦力怕遇到猫娘不会爆炸,而是被驱赶
- 幻翼驱赶:幻翼不会攻击猫娘,而是被驱赶
- 自动生效,无需手动操作
简单来说: 苦力怕和幻翼都怕猫娘,会自动躲开!
- 敌对生物对猫娘的检测距离增加
- 友好生物更容易被猫娘吸引
- 对不同类型的生物有不同影响
- 检测参数可配置
- 当其他玩家进入猫娘25格范围内时,猫娘会收到动作栏通知
- 实时显示附近玩家的名称和距离
- 更新频率提高到0.5秒一次,反应更灵敏
- 可通过
/playernotice命令开启/关闭功能 - 配置信息存储在SQLite数据库中
- 帮助猫娘了解周围环境
简单来说: 猫娘会在动作栏中实时收到附近玩家的通知!
- 爬墙能力:猫娘可以爬上墙壁和垂直表面
- 使用方法:使用
/climb命令开启/关闭爬墙功能 - 限制条件:只能在墙壁附近攀爬,有一定的使用范围
- 自动关闭:离开墙壁后自动停止攀爬
简单来说: 猫娘可以像蜘蛛一样在墙壁上爬行!
- 尾巴拉扯:玩家可以拉扯猫娘的尾巴
- 使用方法:使用
/pullthetail命令开启/关闭尾巴拉扯功能 - 互动效果:拉扯尾巴会产生有趣的互动效果(造成伤害并立即恢复,播放猫叫声)
- 开关控制:猫娘可以自主选择是否允许被拉扯尾巴
简单来说: 玩家可以和猫娘进行尾巴拉扯的互动!
- 主动技能:猫娘可以使用
/health命令恢复自己和主人的生命值 - 消耗:使用技能会消耗饱食度
- 冷却:技能有使用冷却时间
- 效果缩放:生命值越低,恢复效果越强
简单来说: 猫娘可以用这个技能治疗自己和主人!
- 命令:
/myskills- 显示猫娘可用的所有技能 - 主动技能:显示冷却状态和使用信息
- 被动技能:显示状态和描述
- 清晰格式:易于理解的技能信息
简单来说: 猫娘可以通过这个命令查看所有技能和冷却时间!
- 新命令:
/nekox placeholders- 列出所有可用的NekoX占位符 - 增强兼容性:即使未安装PlaceholderAPI也能正常工作
- 更好的错误处理:PlaceholderAPI不可用时显示清晰的错误信息
- 状态显示:显示每个占位符的注册状态
简单来说: 更可靠的占位符系统,提升用户体验!
- 消息本地化:确保中文消息正确显示
- 提高稳定性:优化命令执行流程,提高代码可靠性
- 防止崩溃:增强错误处理机制
- 语言支持:更好的默认消息回退系统
简单来说: 更稳定的命令,消息显示正确!
- 安全消息访问:使用SafeMessageUtils安全获取消息
- 回退系统:翻译缺失时提供更好的默认消息
- 一致显示:确保所有命令消息在不同语言环境下正确显示
简单来说: 增强的语言支持,消息处理更可靠!
猫薄荷是NekoX插件中的一个特殊功能,让猫娘玩家使用特定物品获得临时增益效果。
基本操作:
- 必须是猫娘玩家 - 只有被设置为猫娘的玩家才能使用猫薄荷
- 手持猫薄荷物品 - 默认使用小麦种子(WHEAT_SEEDS)
- 右键使用 - 手持猫薄荷物品右键点击即可激活效果
具体步骤:
- 确保你是猫娘(管理员使用
/nekoset 你的名字 true设置) - 获取小麦种子(或其他配置的猫薄荷物品)
- 手持小麦种子右键点击
- 立即获得速度和跳跃提升效果
猫薄荷提供以下增益效果:
- 速度提升 (Speed II) - 移动速度大幅增加
- 跳跃提升 (Jump Boost II) - 跳跃高度显著提升
- 持续时间 - 默认60秒(可在配置中修改)
效果特点:
- 效果立即生效
- 消耗一个猫薄荷物品
- 有冷却时间,不能连续使用
- 只对猫娘玩家有效
在 config.yml 中可以自定义猫薄荷设置:
cat-nip:
enabled: true # 是否启用猫薄荷功能
item: "WHEAT_SEEDS" # 猫薄荷物品ID(可修改为其他物品)
duration: 60 # 效果持续时间(秒)可修改的物品选项:
- 默认:
WHEAT_SEEDS(小麦种子) - 可改为:
GRASS(草)、FERN(蕨类)、VINE(藤蔓)等 - 支持任何Minecraft物品ID
- 战斗辅助 - 在PVP或打怪时使用,获得速度和跳跃优势
- 逃跑利器 - 被追击时使用猫薄荷快速脱离危险
- 探索加速 - 长途旅行时使用,提高移动效率
- 建筑辅助 - 跳跃提升有助于搭建高处建筑
- 护甲选择 - 穿皮革护甲可获得最大速度加成
- 只有猫娘玩家可以使用
- 需要消耗猫薄荷物品
- 有使用冷却时间
- 副手持物时无法使用(必须主手持物)
- 夜间效果 - 晚上使用猫薄荷效果更佳
- 应激反应 - 生命值低时配合猫薄荷效果更好
- 护甲加成 - 速度加成与皮革护甲效果叠加
重要提示: 主手持物右键会消耗1个猫薄荷物品,副手持物不会触发效果。
/pat 玩家- 轻轻拍拍别人/lovebite 玩家- 给个可爱的咬咬/earscratch 玩家- 挠挠耳朵/purr- 发出呼噜声/hiss 玩家- 对别人发出嘶嘶声/scratch 玩家- 用爪子抓一下/attention 玩家- 吸引其他玩家的注意/pullthetail- 开关尾巴拉扯功能
/nightvision- 开启夜视/jumpboost- 跳跃增强/swiftsneak- 潜行加速/health- 治疗自己和主人/myskills- 查看所有技能和冷却时间/playernotice [on|off]- 开启/关闭玩家接近提醒/climb- 开关爬墙功能
/owner add 玩家- 请求成为某人的主人/owner accept 玩家- 接受主人的请求/owner deny 玩家- 拒绝主人的请求/owner remove 玩家- 解除主人关系/owner list- 查看自己的主人/owner mylist- 查看自己的猫娘
/nekox reload- 重新加载插件设置/nekoset 玩家 true/false- 设置玩家为猫娘/nekox language 语言- 切换插件语言/nekox placeholders- 显示所有可用的NekoX占位符
插件第一次运行时会创建 config.yml 文件,你可以用记事本打开修改:
neko-chat: 开启/关闭猫娘聊天特效meat-only: 猫娘是否只能吃肉owner-system: 是否开启主人系统
claws: 爪子攻击的伤害和冷却时间armor-bonus: 皮革护甲提供的速度加成night-effects: 夜间能力的开始和结束时间health-skill: 治疗技能的冷却和消耗
cat-nip: 猫薄荷的效果和持续时间stress-effect: 应激反应的触发条件passive-attack-boost: 攻击伤害加成armor-bonus: 皮革护甲加成设置enabled: 是否启用护甲加成leather-bonus: 皮革护甲类型列表speed-bonus-per-piece: 每件护甲的速度加成
neko-damage-modification: 猫娘伤害调整设置enabled: 是否启用伤害调整功能fall-damage-immunity: 免疫跌落伤害other-damage-multiplier: 其他伤害增加倍数debug: 调试模式
neko-mob-behavior: 猫娘生物行为设置enabled: 是否启用生物行为功能creeper-repulsion: 苦力怕驱赶功能phantom-repulsion: 幻翼驱赶功能debug: 调试模式
mob-targeting: 生物目标行为设置enabled: 是否启用目标行为调整distance-increase: 检测距离增加倍数friendly-attraction: 是否启用友好生物吸引
owner-death: 主人死亡效应设置feature.enabled: 是否启用主人死亡效应keep-inventory: 是否保留猫娘物品栏keep-level: 是否保留猫娘经验等级
NekoX为其他插件提供了全面的API,以便集成猫娘功能。
在您的插件中使用NekoX API:
- 在
plugin.yml中添加依赖:
depend: [NekoX]- 在插件中获取API实例:
import org.cneko.nekox.api.NekoXAPI;
public class YourPlugin extends JavaPlugin {
private NekoXAPI nekoXAPI;
@Override
public void onEnable() {
nekoXAPI = NekoXAPI.getInstance(this);
if (nekoXAPI == null) {
getLogger().warning("未找到NekoX插件!");
getServer().getPluginManager().disablePlugin(this);
return;
}
}
}由于NekoX没有发布到JitPack或其他公共仓库,您需要手动将其添加到您的项目中:
-
Maven项目设置:
- 在您的项目目录中创建一个
libs文件夹 - 将本插件target文件夹中的
NekoX-5.2-ProMax+++.jar文件复制到您的libs文件夹 - 在您的
pom.xml中添加以下依赖:
<dependency> <groupId>org.cneko</groupId> <artifactId>NekoX</artifactId> <version>5.2-ProMax+++</version> <scope>system</scope> <systemPath>${project.basedir}/libs/NekoX-5.2-ProMax+++.jar</systemPath> </dependency>
- 在您的项目目录中创建一个
-
Gradle项目设置:
- 在您的项目目录中创建一个
libs文件夹 - 将
NekoX-5.2-ProMax+++.jar文件复制到您的libs文件夹 - 在您的
build.gradle中添加以下依赖:
implementation files('libs/NekoX-5.2-ProMax+++.jar') - 在您的项目目录中创建一个
-
手动设置(IDE):
- 在您的项目目录中创建一个
libs文件夹 - 将
NekoX-5.2-ProMax+++.jar文件复制到您的libs文件夹 - 在您的IDE中将jar文件添加到项目的构建路径
- 在您的项目目录中创建一个
boolean isNeko(Player player)- 检查玩家是否为猫娘boolean isNeko(String playerName)- 检查玩家(按名称)是否为猫娘
Set<String> getAllNekoNames()- 获取所有猫娘玩家名称(包括离线)
Set<String> getOwnerNames(String nekoName)- 获取猫娘的所有主人名称boolean isOwnerOf(String ownerName, String nekoName)- 检查玩家是否为猫娘的主人boolean hasOwner(String playerName)- 检查玩家是否有主人
NekoX提供了自定义事件供其他插件监听:
当玩家的猫娘状态改变时触发:
@EventHandler
public void onNekoStatusChange(NekoStatusChangeEvent event) {
Player player = event.getPlayer();
boolean isNeko = event.isNeko();
boolean isOnline = event.isOnline();
// 处理状态变更
}当主人关系添加、移除或申请时触发:
@EventHandler
public void onOwnerRelationshipChange(OwnerRelationshipEvent event) {
String nekoName = event.getNekoName();
String ownerName = event.getOwnerName();
OwnerRelationshipEvent.RelationshipAction action = event.getAction();
switch (action) {
case ADD:
// 处理关系添加
break;
case REMOVE:
// 处理关系移除
break;
case REQUEST:
// 处理关系申请
break;
}
}💡 温馨提示:如果您只是普通用户,没有编程基础,可以跳过这部分内容!
如果您想开发与NekoX集成的插件,以下是您需要的Maven配置:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>your.group.id</groupId>
<artifactId>YourPlugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>YourPlugin</name>
<properties>
<java.version>17</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<!-- PaperMC仓库 -->
<repository>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!-- Paper API -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.20.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- NekoX API -->
<!-- 将NekoX插件jar文件放在项目的libs文件夹中 -->
<dependency>
<groupId>org.cneko</groupId>
<artifactId>NekoX</artifactId>
<version>5.2-ProMax+++</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/NekoX-5.2-ProMax+++.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>如果您想要自己编译插件文件,可以按照以下步骤操作:
打开命令行,输入:
mvn clean install重要提示:您需要先在电脑上安装 Java 21 打开命令行,输入:
mvn clean install -Ppaper-1.21.4- 如果您的电脑使用的是 Java 17,您只能编译 1.20.4 版本
- 要编译 1.21.4 版本,您需要先安装 Java 21