Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
NekoX - Cute Neko Plugin
What is this?
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!
Quick Start (3 Easy Steps)
Step 1: Download the Plugin
- Download the
NekoX-5.2-ProMax+++.jarfile - Place this file in your server's
pluginsfolder
Step 2: Start the Server
- Start your Minecraft server normally
- The plugin will automatically create configuration files
Step 3: Start Playing
- In-game, type
/nekoset playername trueto turn a player into a neko - Neko players can now use all the fun features!
What Can Nekos Do? (Awesome Features)
๐ฑ Basic Abilities
- Night Vision: Nekos can see clearly in the dark
- Jump Boost: Can jump higher
- Sneak Speed: Move faster and quieter while sneaking
๐ฌ Cute Chat
- Neko chat has special prefixes and suffixes
- Automatically converts normal words into cute neko language
- For example, "hello" might become "meow~ hello"
๐ Special Diet
- Nekos can only eat meat! No vegetables or fruits
- Supports various meat-based foods
๐พ Claw Attacks
- Nekos have special claw attacks
- Extra damage to mobs
- Has cooldown time, cannot be used continuously
๐ก๏ธ Leather Armor Bonus
- 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!
๐ Owner System
- 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
๐ Night Abilities
- Neko abilities become stronger at night
- Peak power at midnight
- Automatically activates, no manual control needed
๐ช Stress Response
- When neko health is very low
- Automatically gains super strength
- Lasts 1 minute, helps escape danger
โ๏ธ Passive Attack Boost
- 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!
๐ฟ Catnip Effects
- 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
๐ก๏ธ Damage Adjustment
- 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!
๐พ Mob Repulsion
- 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!
๐๏ธ Mob Targeting Behavior
- 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
๐ Player Proximity Notification
- 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!
๐งโโ๏ธ Climbing Feature
- 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 Pull Feature
- 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!
๐ Health Restore Skill
- 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!
๐ Skills List
- 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!
๐ Placeholder System
- 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!
๐ง Command System Enhancements
- 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!
๐ Language System Improvements
- 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 Detailed Usage Guide
What is Catnip?
Catnip is a special feature in the NekoX plugin that allows neko players to use specific items to gain temporary buff effects.
๐ฏ Usage Method
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
โก Effect Details
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
โ๏ธ Configuration Options
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
๐ก Usage Tips
- 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
๐ซ Limitations
- 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)
๐ Synergy with Other Features
- 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.
Common Commands (In-Game Usage)
Interaction Commands (Everyone can use)
/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
Ability Commands (Nekos only)
/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 System Commands
/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
Admin Commands
/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 Features in Emergency-fix Version
๐ Placeholder System Improvements
- 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!
๐ง Command System Enhancements
- 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!
๐ Language System Improvements
- 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!
Configuration (Optional Settings)
The plugin creates a config.yml file on first run, which you can open and modify with a text editor:
Basic Settings
neko-chat: Enable/disable neko chat effectsmeat-only: Whether nekos can only eat meatowner-system: Enable/disable owner system
Ability Adjustments
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
Special Effects
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
Developer API
NekoX provides a comprehensive API for other plugins to integrate neko functionality.
API Access
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;
}
}
}
Development Environment Setup
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
API Methods
Neko Status Check
boolean isNeko(Player player)- Check if player is a nekoboolean isNeko(String playerName)- Check if player (by name) is a neko
Player Retrieval
Set<String> getAllNekoNames()- Get all neko player names (including offline)
Owner Relationship Management
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
Events
NekoX provides custom events for other plugins to listen to:
NekoStatusChangeEvent
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
}
OwnerRelationshipEvent
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;
}
}
๐ง Developer Documentation
๐ก Friendly Reminder: If you're just a regular user without programming knowledge, you can skip this section!
Maven Configuration
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>
How to Compile the Plugin (For Developers Who Want to Build the Plugin)
If you want to compile the plugin file yourself, you can follow these steps:
For Minecraft 1.20.4 (Default Version)
Open command line and enter:
mvn clean install
For Minecraft 1.21.4
Important Note: You need to install Java 21 on your computer first Open command line and enter:
mvn clean install -Ppaper-1.21.4
Current Limitations
- 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
PlaceholderAPI Support
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.
Technical Implementation of Damage Adjustment Feature
Core Classes
- <mcfile name="NekoDamageListener.java" path="src\main\java\org\cneko\nekox\events\NekoDamageListener.java"></mcfile>: Damage handling listener
Implementation Logic
- 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
Testing Methods
- 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
Technical Implementation of Mob Repulsion Feature
Core Classes
- <mcfile name="NekoMobBehaviorListener.java" path="src\main\java\org\cneko\nekox\events\NekoMobBehaviorListener.java"></mcfile>: Mob behavior listener
Implementation Logic
- 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
Testing Methods
- 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
Frequently Asked Questions
Q: Which Minecraft versions are supported?
A: Supports 1.20.4 and 1.21.4 versions
Q: How to turn a player into a neko?
A: Admin types /nekoset playername true
Q: What can nekos do that regular players can't?
A: Night vision, jump boost, sneak speed, special chat, claw attacks, etc.
Q: What's the purpose of the owner system?
A: Nekos can have owners, owners and nekos can heal each other and have special interactions
Q: How to modify plugin settings?
A: Edit the plugins/NekoX/config.yml file
Q: Is Chinese supported?
A: Yes! Type /nekox language chinese to switch to Chinese
Technical Support
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
Tips
- 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 Developer Wiki
Table of Contents
Introduction
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.
Build Configuration
Maven Configuration
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>
Gradle Configuration
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'
}
Manual Configuration
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
Build and Deployment
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
Multi-Version Support
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.4
API Access
1. Adding Dependencies
To 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!");
}
}
2. plugin.yml Configuration
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]
API Methods
Neko Check Methods
boolean isNeko(Player player)
Check if specified player is a neko
Parameters:
player: Player to check
Return Value:
true: Player is a nekofalse: Player is not a neko
boolean isNeko(String playerName)
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
Player Retrieval Methods
Set<String> getAllNekoNames()
Get all neko player names (including offline)
Return Value:
- Set containing all neko player names
Relationship Query Methods
Set<String> getOwnerNames(String nekoName)
Get all owner names of specified neko
Parameters:
nekoName: Neko player name
Return Value:
- Set containing all owner player names
boolean isOwnerOf(String ownerName, String nekoName)
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
boolean hasOwner(String playerName)
Check if specified player has an owner
Parameters:
playerName: Player name
Return Value:
true: Has ownerfalse: Has no owner
Usage Examples
Example 1: Check if Player is Neko
Player player = ...; // Get player instance
if (nekoXAPI.isNeko(player)) {
player.sendMessage("You are a cute neko!");
} else {
player.sendMessage("You are not a neko~");
}
Example 2: Get All Neko Player Names
Set<String> nekoNames = nekoXAPI.getAllNekoNames();
for (String nekoName : nekoNames) {
// Process each neko player name
getLogger().info("Neko: " + nekoName);
}
Example 3: Check Owner Relationship
String ownerName = ...; // Owner player name
String nekoName = ...; // Neko player name
if (nekoXAPI.isOwnerOf(ownerName, nekoName)) {
getLogger().info(ownerName + " is the owner of " + nekoName + "!");
}
Example 4: Get All Owners of a Neko
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());
}
Event System
NekoX provides some custom events that other plugins can listen to in order to respond to neko-related behaviors.
Available Events
NekoStatusChangeEvent
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!");
}
}
OwnerRelationshipEvent
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;
}
}
Data Storage
NekoX uses SQLite database to store player data, including:
- Whether player is a neko
- Neko-owner relationships
- Player personalization settings
Database Structure
player_configs Table
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
neko_owners Table
Store neko-owner relationships
neko_name: Neko nameowner_name: Owner name
owner_requests Table
Store owner request relationships
requester_name: Requester nameneko_name: Requested neko name
Notes
- 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
Best Practices
Performance Optimization
- 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
Error Handling
- Always check if API instance is null
- Handle possible exception cases, such as player not being online
- Provide friendly error messages
Compatibility
- 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
Support and Feedback
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 - ๅฏ็ฑ็็ซๅจๆไปถ
่ฟๆฏไปไน๏ผ
NekoXๆฏไธไธช่ฎฉMinecraftๅๅพๆดๆ่ถฃ็ๆไปถ๏ผๅฎๅฏไปฅ่ฎฉ็ฉๅฎถๅๆๅฏ็ฑ็็ซๅจ๏ผๆฅๆ็นๆฎ่ฝๅๅไบๅจๆนๅผใ
็ฎๅๆฅ่ฏด๏ผ ่ฟไธชๆไปถ่ฎฉไฝ ็ๆๅกๅจ้ๅบ็ฐๅฏ็ฑ็็ซๅจ่ง่ฒ๏ผ
ๅฟซ้ๅผๅง๏ผ3ๆญฅๆๅฎ๏ผ
็ฌฌ1ๆญฅ๏ผไธ่ฝฝๆไปถ
- ไธ่ฝฝ
NekoX-5.2-ProMax+++.jarๆไปถ - ๆ่ฟไธชๆไปถๆพๅฐไฝ ๆๅกๅจ็
pluginsๆไปถๅคน้
็ฌฌ2ๆญฅ๏ผๅฏๅจๆๅกๅจ
- ๆญฃๅธธๅฏๅจไฝ ็Minecraftๆๅกๅจ
- ๆไปถไผ่ชๅจๅๅปบ้ ็ฝฎๆไปถ
็ฌฌ3ๆญฅ๏ผๅผๅงไฝฟ็จ
- ๅจๆธธๆ้่พๅ
ฅ
/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: ๆฏๅฆไฟ็็ซๅจ็ป้ช็ญ็บง
ๅผๅ่ API
NekoXไธบๅ ถไปๆไปถๆไพไบๅ จ้ข็API๏ผไปฅไพฟ้ๆ็ซๅจๅ่ฝใ
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ๆไปถๆทปๅ ๅฐ้กน็ฎ็ๆๅปบ่ทฏๅพ
- ๅจๆจ็้กน็ฎ็ฎๅฝไธญๅๅปบไธไธช
APIๆนๆณ
็ซๅจ็ถๆๆฃๆฅ
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ๆไพไบ่ชๅฎไนไบไปถไพๅ ถไปๆไปถ็ๅฌ๏ผ
NekoStatusChangeEvent
ๅฝ็ฉๅฎถ็็ซๅจ็ถๆๆนๅๆถ่งฆๅ๏ผ
@EventHandler
public void onNekoStatusChange(NekoStatusChangeEvent event) {
Player player = event.getPlayer();
boolean isNeko = event.isNeko();
boolean isOnline = event.isOnline();
// ๅค็็ถๆๅๆด
}
OwnerRelationshipEvent
ๅฝไธปไบบๅ ณ็ณปๆทปๅ ใ็งป้คๆ็ณ่ฏทๆถ่งฆๅ๏ผ
@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;
}
}
๐ง ๅผๅ่ ็ธๅ ณๆๆกฃ
๐ก ๆธฉ้ฆจๆ็คบ๏ผๅฆๆๆจๅชๆฏๆฎ้็จๆท๏ผๆฒกๆ็ผ็จๅบ็ก๏ผๅฏไปฅ่ทณ่ฟ่ฟ้จๅๅ ๅฎน๏ผ
Maven้ ็ฝฎ
ๅฆๆๆจๆณๅผๅไธ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>
ๅฆไฝ็ผ่ฏๆไปถ๏ผ้ๅๆณ่ชๅทฑๆๅปบๆไปถ็ๅผๅ่ ๏ผ
ๅฆๆๆจๆณ่ฆ่ชๅทฑ็ผ่ฏๆไปถๆไปถ๏ผๅฏไปฅๆ็ งไปฅไธๆญฅ้ชคๆไฝ๏ผ
ๅฏนไบ Minecraft 1.20.4๏ผ้ป่ฎค็ๆฌ๏ผ
ๆๅผๅฝไปค่ก๏ผ่พๅ ฅ๏ผ
mvn clean install
ๅฏนไบ Minecraft 1.21.4
้่ฆๆ็คบ๏ผๆจ้่ฆๅ ๅจ็ต่ไธๅฎ่ฃ Java 21 ๆๅผๅฝไปค่ก๏ผ่พๅ ฅ๏ผ
mvn clean install -Ppaper-1.21.4
ๅฝๅ้ๅถ
- ๅฆๆๆจ็็ต่ไฝฟ็จ็ๆฏ Java 17๏ผๆจๅช่ฝ็ผ่ฏ 1.20.4 ็ๆฌ
- ่ฆ็ผ่ฏ 1.21.4 ็ๆฌ๏ผๆจ้่ฆๅ ๅฎ่ฃ Java 21


