Sueta

CustomNPCs

1.8.2

A simple, lightweight, intuitive NPC plugin.

·Plugin
  1. 1.8.2latestBug FixesAug 29, 2026

    What's Changed

    - Fixed flipped codec mapping causing NPCs pitch and yaw to be flipped - Fixed removing items from an NPC breaking the config - Fixed issues with Mineskin initialization preventing downloading Skins from URLs - Fixed NPCs spawning at 0,0,0 if their pose was set to SITTING and their location was far away - Fixed default settings corruption causing new npcs created to be clones of other NPCs
    1384 downloads
  2. 1.8.1CustomNPCs 1.8.1Aug 9, 2026

    What's changed?

    - Fixed the wrong config key being the default for the storage section - Fixed the storage provider never being initialized on the very first launch of the plugin - Fixed the default config being 1 behind the latest, which fixed the aforementioned bug TY to Katsumii for reporting these <3 Cheers! \~ Foxikle
    1055 downloads
  3. 1.8.0CustomNPCs 1.8.0Jul 14, 2026

    What's Changed

    - New storage options: - Local Storage (Default): Stores data in a file on the server. - MySQL: Stores data in a SQL Database (Good if you already have one) - MongoDB: Stores data in a MongoDB document (Ideal) - Conditional Injection (Api only for now): Ensure certain conditions are met prior to spawning the NPC - Support for PluginUpdater - Removed support for very old NPC file versions (<1.6- no known users of the plugin this old) - new command to import data into a storage provider: `/npc movedata <conflict-resolution> - new config fixer to fix NPCs with 0 hologram lines - added support for empty hologram lines with %empty% - the update checker now runs once per hour instead of only on startup

    Fixes

    - Fixed being able to make NPCs have 0 config lines

    Api Changes

    - Removed deprecated methods NPCApi#initialize, NPC#setPostion, NPC#setLegacyActions Settings#direction, LegacyAction - Reworked action serialization, [read the wiki for details](https://docs.foxikle.dev/docs/api/Writing-Custom-Actions). - Moved some action condition classes around, most notably Condition#SelectionMode is now Selector - Settings now has a builder - Equipment now uses null for empty slots, not AIR. Setting a slot to air will now set it to null. - CustomNPCs is now in maven central! You no longer need to (and shouldn't) https://repo.foxikle.dev. It will be taken down soon.

    IMPORTANT NOTE: Any preset walking paths created before this release are sadly incompatible, and need to be re-recorded. This was because of some glaring issues with storage efficiency that I needed to address. I am sorry for the inconvenience if that effected you. According to my analytics, there are no current uses of the action, though.

    Cheers! Foxikle <3
    1346 downloads
  4. 1.7.10CustomNPCs 1.7.10Jul 8, 2026

    What's Changed

    - 26.1 and 26.2 support - Added the new FollowPresetPath Action! - This action allows an NPC to follow a pre-recorded path. It has an option to enable "looping", which will make it teleport to the beginning of the path and start again automatically. It is planned to have the action start on NPC load, as to not need a player interaction to start it. - Upgrade adventure to version 5 - Reworked the commands to use vanilla Brig - Removed support for 1.20-1.20.4 - This is due to obfuscation changes which make maintaining these versions more burdensome than they are worth. Very few users use this version, so I felt it was the correct decision for the long term longevity of the project. - Fixed a couple of misc bugs - NPCs can have now empty hologram lines with %empty% - Added a tip to inform players they can Sneak + Click NPCs to open the edit dialog - NPCs can no longer have 0 hologram lines. - Added a config fixer to recover NPCs who have 0 config lines, as that prevented the NPC from loading. (/npc fixconfig lines) - Fixed the NPC skin not being updated when changed on versions 1.21.9-26.2 Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.7.9...v1… If you have experience speaking a language other than English and are willing to donate your time to improve the plugin, please consider becoming a translator. You can reach out to @foxikle on Discord for more details. In exchange for helping me with the project, you get access to preview builds and exclusive development content. Cheers <3
    410 downloads
  5. 1.7.10-pre2CustomNPCs 1.7.10-pre2Jun 16, 2026
    Added support for 26.2
    923 downloads
  6. 1.7.10-pre1CustomNPCs 1.7.10-pre1May 17, 2026

    What's Changed

    - 26.1 support - Added the new FollowPresetPath Action! - This action allows an NPC to follow a pre-recorded path. It has an option to enable "looping", which will make it teleport to the beginning of the path and start again automatically. It is planned to have the action start on NPC load, as to not need a player interaction to start it. - Upgrade adventure to version 5 - Reworked the commands to use vanilla Brig - Removed support for 1.20-1.20.4 - This is due to obfuscation changes which make maintaining these versions more burdensome than they are worth. Very few users use this version, so I felt it was the correct decision for the long term longevity of the project. - Fixed a couple of misc bugs
    1368 downloads
  7. 1.7.9CustomNPCs 1.7.9Mar 1, 2026
    Fix NullPointerException on player Join/Leave when a world was loaded after the server's initial start by @webhead1104
    5092 downloads
  8. 1.7.8CustomNPCs 1.7.8Dec 11, 2025
    Changes: - 1.21.11 support - Fixed some typos - Updated German and Russian translations - Added the Modrinth link to the update message.
    4962 downloads
  9. 1.7.7CustomNPCs 1.7.7Oct 14, 2025
    This release adds support for Minecraft version 1.21.10
    2955 downloads
  10. 1.7.6CustomNPCs 1.7.6Oct 1, 2025
    - This update adds support for 1.21.9 - Updated a few dependencies
    837 downloads
  11. 1.7.5CustomNPCs 1.7.5Aug 4, 2025

    New Features:

    - 1.21.5 - 1.21.8 support - NPC Poses - There are 6 possible poses: Standing, Sitting, Crouching, Swimming, Dying, and Sleeping. - NPC Nudging - Nudging is way to move NPCs a little bit at a time to precisely position them. Crouching while scrolling increases the move increment from .05 blocks per slot to .25 blocks per slot scrolled over. - Native Multi-line Holograms - Your existing names are automatically converted to the new system - The Ability to flip NPCs upside down - This option is accessed in the extra settings menu (Top right comparator) - The ability to add cooldowns to actions - The configuration of them is very similar to configuring delay. There is no message for an action being on cooldown.

    Bug Fixes

    - Fixed the UUID being visible with a teamless approach, which is much more tolerant to other plugins - Fixed being able to supply textual input to multiple actions at once - Fixed the sleeping percentage not being respected if it was changed after the server started - Fixed Elytras not being able to be equiped in the chest slot - Fixed problems with clicking items in the equipment menu - Changed the default NPC name to "An unnamed NPC" - NPC nametags follow a lot smoother - NPCs no longer have a visible armor stand riding them in spectator mode - NPCs now ignore spectators and do not look at them - Fixed importing skins from URLS - Fixed some issues with the commands library - Fixed errors with menus on latest paper versions - Fixed some issues with dependency downloading at runtime (Thanks paper!)

    Developer Changes

    - The NPC#moveTo(Location) was renamed to NPC#teleport(Location) as moveTo is reserved for other movement related features coming later :) - The Settings class now has a method to import a player's skin directly from a player object - NPCs no longer have "names", but rather an array of "lines". The get/set name methods are now deprecated and just affect the top line. - Poses can be changed in the settings object - Added a "facing" system, to be more consistent with how NPC yaw and pitch are handled. - Custom actions should call the Action#activateCooldown(UUID) in ther perform method.
    3443 downloads
  12. 1.7.5-pre8CustomNPCs 1.7.5-pre8Aug 4, 2025
    Fixed the upside down button not working (whoops!)
    147 downloads
  13. 1.7.5-pre7CustomNPCs 1.7.5-pre7Aug 4, 2025
    This version adds the ability to flip NPCs upside down. This feature can be accessed in the extra settings menu. ![An image of the new extra settings menu](https://cdn.modrinth.com/data/cached_images/a344e03a21ddf…
    137 downloads
  14. 1.7.5-pre6CustomNPCs 1.7.5-pre6Jul 29, 2025
    - Fixed the plugin not enabling on 1.21.8 - Added cooldowns to actions, defaulting to 0.
    380 downloads
  15. 1.7.5-pre5CustomNPCs 1.7.5-pre5Jul 25, 2025
    Bug fixes: - Fixes errors with menus on latest paper versions - Other misc repo fixes There are no visible changes this release.
    289 downloads
  16. 1.7.5-pre4CustomNPCs 1.7.5-pre4Jul 9, 2025
    Fixed library loading issues causing the plugin to not load
    951 downloads
  17. 1.7.5-pre3CustomNPCs 1.7.5-pre3Jul 4, 2025
    New Features: - 1.21.6-7 support Bug Fixes: - Updated commands - Fixed importing skins from URLs - Fixed spectators not actually being ignored Developer changes: - Added a "facing" system, to be more consistent with how NPC yaw and pitch are handled.
    409 downloads
  18. 1.7.5-pre2CustomNPCs 1.7.5-pre2Jun 15, 2025

    New Features:

    - NPC Poses - NPCs can now be posed! There are 6 possible poses: Standing, Sitting, Crouching, Swimming, Dying, and Sleeping. - NPC Nudging - Nudging is way to move NPCs a little bit at a time to precisely position them. Crouching while scrolling increases the move increment from .05 blocks per slot to .25 blocks per slot scrolled over. - Native Multi Line Holograms - Instead of using the <newline> minimessage tag, you can now create separate lines. Your existing data will be converted automatically.

    Bug Fixes

    - Fixed a bug preventing Elytras from being equipable on the chest slot - Fixed some problems with the equipment menu - The default name of NPCs was changed from not set to An Unamed NPC - NPCs nametags should follow them a lot better now - NPCs no longer have a visible armor stand riding them in spectator mode - A bunch of minute fixes I didn't write down - NPCs now ignore spectators and won't look at them

    Developer changes

    - The NPC#moveTo(Location) was renamed to NPC#teleport(Location) as moveTo is reserved for other movement related features coming later :wink: - The Settings class now has a method to import a player's skin - NPCs no longer have "names", but rather an array of "lines". The get/set name methods are now deprecated and just affect the top line. - Poses can be changed in the settings object - This update can be used via the 1.7.5-pre2 api version This update took way longer than it should have, but now it's here :) \~ Foxikle <3
    1016 downloads
  19. 1.7.5-pre1CustomNPCs 1.7.5-pre1May 17, 2025

    New Features:

    - 1.21.5 support

    Bug Fixes

    - Fix npc UUID being visible by using a different (teamless) approach - Fixed being able to supply textual input for several actions at once - Fixed the sleeping percentage not being respected if it was changed after server start **

    Known Issues:

    - Dragging items in an inventory will throw an error. It is a result of the PaperMC developers not supporting bytecode rewriting on paper plugins. I cannot do anything about it, complain to them. - There is a rare kick that occurs when creating NPCs. I'm not sure what causes it, but I'm working on finding out.

    Roadmap:

    Before 1.8 and the new data serializing and storage, I want to get the following features implemented: - Proper multi-line NPC holograms - Poses (sitting, swimming, etc) ###### Note about sleeping percentages: The plugin modifies the sleeping percentage to be equivalent to the percentage you supplied, correcting for the number NPCs. So if your server has a sleeping percentage of 100 and your world has 1 NPC, the percentage from running the command /gamerule playersSleepingPercentage will be 50.
    1478 downloads
  20. 1.7.4CustomNPCs 1.7.4Apr 20, 2025
    This is a pretty small release, but it fixes: - Injection issues on dimension change and join - Setting the sleeping percentage incorrectly - It now respects user defined sleeping percentages via the gamerule
    2677 downloads
  21. 1.7.3CustomNPCs 1.7.3Mar 9, 2025

    This release includes mostly bug fixes from the past month

    - Fixed the display buttons in the teleport customizer menu always showing the X coordinate - Fixed the volume and pitch being reversed when playing a sound - Fixed the load order of dependencies - Created a new /npc debug command to help you help me help you. (When seeking support it provides useful information to me) - Made some minor improvements to injection logic around different dimensions - Added a config option to interpolate npc nametags on teleport
    2578 downloads
  22. 1.7.2CustomNPCs 1.7.2Jan 17, 2025
    IMPORTANT NOTE: This release REMOVES the ability to use this plugin on a spigot server. As a bonus of this, the plugin will now load the required dependencies at runtime. This makes the final jar file a lot smaller (about 10 times smaller!). The downside is it can take a "while" (about 2 minutes, in my case) to download the required dependencies. This is advantageous, as it stores the downloaded dependencies and only needs to download them once! Okay on with the patch notes:

    Bug Fixes

    - Fixes errors on 1.21.3+ servers when using like anything on the server - Fixes hologram injection issues in some cases - The SetSound action now uses keyed sounds (minecraft:ui.button.click), instead of ui_button_click. This is potentially detrimental as it will not convert from old sounds. (The actions still run, a warning is printed to the console and no sound is played). BUT, this lets you play resource pack sounds now! Just use the namespace and the sound id. namspace:id. This is mostly a bug fix type of update as I have started working on the 1.8 series of updates, starting with optimized data storage. So you can look forward to that ;) Foxikle <3
    3115 downloads
  23. 1.7.1CustomNPCs 1.7.1 -- HOTFIXDec 22, 2024
    CustomNPCs v1.7.1 - Fixed critical bug with condition parsing, preventing NPCs from loading - Fixed the config being backed up every time the server started
    1800 downloads
  24. 1.7CustomNPCs 1.7Dec 21, 2024

    CustomNPCs 1.7

    I discovered that the Bukkit configuration api has decided to eat locations when they are invalid. There is nothing I can do to recover them. I apologize for the inconvenience

    New Features

    - 1.20.5 - 1.21.4 Support. - Localization! CustomNPCs now supports the following languages: - Russian (partially) - German (partially) - Arabic (partially) - Simplified Chinese (fully) - Vietnamese (fully) - English (fully) - An action System rewrite - Custom Actions can be registered via the API - the RunCommand action can now run commands as the console please be careful - The RunCommand action will now parse placeholders in the raw command text - The DisplayTitle action can now have a subtitle - Various performance enhancements - A new command /npc fixconfig: - Requres the customnpcs.commands.fix_config permission - Here is some example usage, with an explanation: /npc fixconfig world <Valid World> <Strategy> <target> - The Valid World has to be a world that is loaded by Bukkit (Multiverse should work too) - The strategy can either be NONE, which doesn't care about validating the location of the NPC. the SAFE_LOCATION strategy will verify the NPC won't be stuck in any solid blocks. If it is, the plugin will pick the highest block with the same x and z coordinate. If no position is possible, the NPC is ignored. - The Target can either be all, to apply to all NPCs or a specific NPC's name or UUID - A new command framework - The NPC configuration is validated on the first parse, rather than on load - There is now a special permission for the wiki command; customnpcs.commands.wiki

    Bug Fixes:

    - Fixed a bunch of injection issues causing NPCs to not appear properly - Fixed NPCs affecting the sleeping percentage - Fixed NPCs disappearing after respawning - Fixed NPCs being injected in the wrong dimension - Fixed NPC nametags being visible (The numbers and letters) - Fixed a bunch of errors related to the events portion of the api - Fixed an error with /reload - Fixed an issue where you could not decrease the DisplayTitle's fade out option if the fade in option was 1 - Fixed loading the NPC's facing direction incorrectly -

    Developer Changes

    - Removed the Bukkit services api (Not like anyone used it) - Settings#direction is now deprecated. You should use the yaw of the SpawnLocation instead - You can write your own actions. Read the documentation to find out how :)
    372 downloads
  25. 1.7-pre12CustomNPCs 1.7-pre12 (Hotfix)Nov 30, 2024

    Bug fix:

    - Fixed loading the NPC's facing direction incorrectly
    1051 downloads
  26. 1.7-pre11CustomNPCs 1.7-pre11Nov 28, 2024

    CustomNPCs prerelease 11

    This release is comprised of entirely bug fixes, as the full release is very near

    Bug Fixes

    - The /npc fixconfig command now requires the permission customnpcs.commands.fix_config - Fixed the /npc help and /npc manage commands being missing - Fixed an error (that only appears in the console) upon translating an empty string in some action favicons - Fixed an issue where you could not decrease the DisplayTitle's fade out option if the fade in option was 1 - Maybe fixed an issue with the menus when setting an input That's it Foxikle <3
    281 downloads
  27. 1.7-pre10CustomNPCs 1.7-pre10Nov 22, 2024

    New Features

    - /npc fixconfig command. - Here is some example usage, with an explanation: /npc fixconfig world <Valid World> <Strategy> <target> - The Valid World has to be a world that is loaded by Bukkit (Multiverse should work too) - The strategy can either be NONE, which doesn't care about validating the location of the NPC. the SAFE_LOCATION strategy will verify the NPC won't be stuck in any solid blocks. If it is, the plugin will pick the highest block with the same x and z coordinate. If no position is possible, the NPC is ignored. - The Target can either be all, to apply to all NPCs or a specific NPC's name or UUID - A new command framework that utilizes Brigadier - The NPC configuration is validated on the first file parse, rather than on loading. - There is now a special permission for the /npc wiki command, customnpcs.commands.wiki

    Bug Fixes

    - /reload no longer throws an error - Using the skin catalog no longer throws an error

    Developer Changes

    The Bukkit services api has been removed. Its not like anyone actually used it. I have recently discovered that the Bukkit configuration api has decided to eat locations when they are invalid. There is nothing I can do to recover them. I apologize for the inconvenience Thats it <3 Foxikle
    408 downloads
  28. 1.7-pre9CustomNPCs 1.7-pre9Nov 18, 2024
    This is a hotfix for 1.7-pre8 that addresses issues with upgrading the NPC file
    285 downloads
  29. 1.7-pre8CustomNPCs 1.7-pre8Nov 17, 2024

    New Features

    - 1.21.3 support - Support for the following languages (Not all are fully complete) -> German, Russian, Chinese - The language is determined by the client's locale, defaulting to English.

    Bug Fixes

    - Fixed a bunch of errors around the API Events - Fixed a bunch of Nametag related issues - Fixed the teams problem (Hopefully for the final time) - Fixed NPCs being injected in the wrong world (Only on new versions, it as fixed on older ones) - A pile of performance enhancements

    API Changes

    - Setting the location now overwrites the direction settings object - BREAKING: In order to register an object, you must call CustomNPCs.ACTION_REGISTRY.register("ID", Action.class, Action::creationButton) or whatever you name your creation button method. An example method is below. - The method Action#getFavicon have been refactored to Action#getFavicon(Player) (For better localization support) - The corresponding API version for this release is 1.7-pre8 And probably a bunch of other small tweaks and stuff.

    I am looking for Translators!

    If you speak a language other than English and are interested in helping me translate please reach out. You can make a ticket or just DM me on Discord. In exchange for translating, you get a swanky @Translator role, and access to the perks of being a supporter! (This means builds of preview features much much sooner than everyone else.) More info at https://crowdin.com/project/customnpcs Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.7-pre3..…
    140 downloads
  30. 1.7-pre3CustomNPCs 1.7-pre3Sep 22, 2024
    CustomNPCS 1.7-pre3

    New Features:

    - Localization/translation system - I am looking for translators! If you would like to help translate the plugin, you may do so at https://crowdin.com/project/customnpcs. In exchange for your translation efforts, you will gain access to my preview builds if you join my discord. - The RunCommand Action can now run commands as the console. Only players with the customnpcs.run_command.enable_console can set a command to run as the console. PLEASE BE CAREFUL WITH THIS - 1.21.1 support - A complete action system rewrite - Custom actions can be registered via the API - The DisplayTitle action can now have a subtitle!

    Bug Fixes

    - Fixed NPCs not being injected after respawn - Fixed NPCs being injected in the wrong dimensions - Fixed NPC nametags from being visible (The numbers and letters)

    Breaking API Changes

    The Conditional, NumericConditional, and LogicalConditional have all been renamed to Condition, NumericCondition, and LogicalCondition respectively. Additionally, the NPC#setActions(List<Action>) has been changed to the new action class. If you would like to use legacy actions (Don't :pray:) use NPC#setLegacyActions(List<LegacyAction>)
    2339 downloads
  31. 1.7-pre2CustomNPCs 1.7-pre2Jun 2, 2024
    This release features 2 changes: - Fixed NPCs effecting player sleep percentage - Fixed NPCs' holograms not injecting properly Thanks everyone who has come asking for support it makes my day knowing you chose my plugin <3 Cheers! \~ Foxikle
    4277 downloads
  32. 1.7-pre1CustomNPCs 1.7-pre1May 1, 2024
    Hey everyone this prerelease only adds support for 1.20.5 and 1.20.6 Please note that this jar uses SPIGOT mappings, but new paper servers will remap them for you! This jar has __NOT__ been tested rigourously!! \~ Cheers! Foxikle
    1112 downloads
  33. 1.6.1CustomNPCs 1.6.1Apr 26, 2024
    Please note that this version does NOT support 1.20.5 -- Paper has yet to release dev builds

    New Features

    - Added PlaceholderAPI support for NPC Name tags, and Customizable Interactable Holograms - Removed the /npc clear_holograms as it is now obsolete - New NPC Injection System for a smoother experience - The ability to customize the intervals of things in the config.yml (All values are in ticks) - InjectionInterval Determines how often should the plugin should attempt to inject NPCs into players (Defaults to 10, or .5 seconds) - HologramUpdateInterval Determines how often the plugin should attempt to update NPC holograms, (Defaults to 200, or 10 seconds) - LookInterval Determines how often the plugins should update NPCs looking at players (Defaults to 5, or .25 seconds) - Added the ability to control the injection distance. This is InectionDistance in the config.yml. (Defaults to 48.)

    Bug Fixes

    - Fixed the NPCs not always being injected properly on versions 1.20 - 1.20.1 - Fixed the name tag reference creating crazy results when using MiniMessage <gradient> and <rainbow> tags. - Fixed issue with a NoSuchMethod error when using 1.20-1.20.1 - Fixed facing direction parsing (Again 😭) - Fixed NPC holograms duplicating on 1.20-1.20.1 - Performance enhancements, Small fixes - Fixed an issue with not being able to remove actions from NPCs on versions 1.20-1.20.2 - Fixed a CRITICAL issue with NPC holograms tanking servers - Made hologram handling completely asynchronous - Removed about a billion typos

    Acknowledgements

    Thank you to @lavriklive and @skyonthemoon on discord for their tremendous help in stress-testing and finding bugs! Cheers! \~ Foxikle <3 Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.6.1-pre2…
    213 downloads
  34. 1.6.1-pre2CustomNPCs 1.6.1-pre2Apr 1, 2024

    New Features

    - New NPC Injection System for a smoother experience - The ability to customize the intervals of things in the config.yml (All values are in ticks) - InjectionInterval Determines how often should the plugin should attempt to inject NPCs into players (Defaults to 10, or .5 seconds) - HologramUpdateInterval Determines how often the plugin should attempt to update NPC holograms, (Defaults to 200, or 10 seconds) - LookInterval Determines how often the plugins should update NPCs looking at players (Defaults to 5, or .25 seconds) - Added the ability to control the injection distance. This is InectionDistance in the config.yml. (Defaults to 48.)

    Bug Fixes

    - Fixed issue with a NoSuchMethod error when using 1.20-1.20.1 - Fixed facing direction parsing (Again 😭) - Fixed NPC holograms duplicating on 1.20-1.20.1 - Performance enhancements, Small fixes - Fixed an issue with not being able to remove actions from NPCs on versions 1.20-1.20.2 - Fixed a CRITICAL issue with NPC holograms tanking servers - Made hologram handling completely asynchronous

    Acknowledgements

    Thank you to @lavriklive and @skyonthemoon on discord for their tremendous help in stress-testing and finding bugs! Cheers! \~ Foxikle <3
    725 downloads
  35. 1.6CustomNPCs - 1.6.0Mar 2, 2024

    New Features

    - NPCs can now override the default Interactable Hologram. - Indevidual NPCs can toggle having the Interactable Hologram, even if it is interactable. - The NPC's escaped name is shown to the player whilst changing it. (Toggleable via the NameReferenceMessages field in the config.yml!) - A new menu page to house the aforementioned items. - A button to delete the NPC from within the menu - A confirmation menu upon attempting to delete an NPC (Yes, even with the command. I may add a bypass flag in the future.) - A button to set the NPC's pitch and yaw, so called its Facing Direction - The /npc command now takes the RAW (unstylized) NPC name as an identifier. (ie. /npc edit foxikle's helper). This does support NPCs with spaces in their name. - Just a note about that, NPC UUIDs still work, they just are not supplied to the tab completion - A new command to teleport to an NPC. /npc goto <NPC> - Requires the customnpcs.commands.goto permission - A new command to move an NPC to you. /npc movehere <NPC> - Requires the customnpcs.commands.movehere permission - A new command to clone an NPC to your current location. /npc clone <NPC> - Requires the customnpcs.commands.clone permission - The Skin menu, the Action Customizer Menu, and the Condition Customizer Menu now all have click sounds - The config version is now 5 - The NPC File version is now 1.6 - Backing up config.yml if it is irreparably damaged - Importing your current armor to an NPC - New skin menu - Import skins from a player's name - Import skins from a URL - Use the Skin Catalogue (Nothing changed here, but its in the skin menu) - Added a tunnelvision option to npcs (Already an API feature) - A tunnelvisioned NPC does not look at nearby players - An improved wiki Its still a work in progress, so it's URL is https://docs.foxikle.dev, while the old wiki remains at https://foxikle.dev/plugins/wiki/customnpcs. The Javadocs have been moved to https://jd.foxikle.dev!* - A shiny new Menu System, written with [WoodyMenus](https://github.com/FlameyosSnowy/WoodyMenus), Courtesy of @FlameyosSnowy - A shiny new rework of the event listeners, vastly improving performance! Courtesy of @FlameyosSnowy - The Teleport action now teleports players asynchronously, for more performance - Multi-version support! (For now, 1.20-1.20.4) - The plugin will now complain if an NPC's configuration is malformed/invalid, instead of refusing to enable. - NPCs now default to being resilient

    Bug Fixes

    - Fixed an error whilst making an NPC interactable if it previously wasnt. - Fixed numerous issues with the ToggleFollowing action, WHICH IS NOW BROKEN, STAY TUNED FOR 1.7 - Fixed setting armor displaying a message indicating the wrong slot was set. (It wasn't!) - Fixed the plugin not enabling on 1.20 & 1.20.1, courtesy of @tomasalias - A boat load of small fixes, improvements, and optimizations - Fixed inconsistencies with the lore in the Equipment Menu - Fixed importing player armor mutating the player's armor. (Changing the display name and lore) - Fixed a serious issue whilst serializing actions under certain circumstances. - Fixed a bunch of issues relating to manually changing NPC Equipment - Removed several debug messages - Fixed NPC holograms sometimes not being removed properly

    Developer changes

    - Removed the old NPCApi.NPC class - CustomNPCs now uses Lombok getters and setters - Deprecated the old constructor for Settings to accommodate the new settings options - Both the Settings and Equipment classes now have clone methods. - The Equipment object now has a method to import from an EntityEquipment object. - Action#getArgsCopy now returns a mutable list - ActionType now has a field determining if the action can have a delay - THE JAVADOCS HAVE BEEN MOVED TO https://jd.foxikle.dev/!!!

    New Contributors

    * @tomasalias made their first contribution in https://github.com/Foxikle/CustomNPCs/pull/40 * @FlameyosSnowy made their first contribution in https://github.com/Foxikle/CustomNPCs/pull/46 Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.5.2...v1.6

    Acknowlegdments

    A huge thank you goes out to [Nutric](https://m.twitch.tv/nutrictv/home)! He has been instrumental to this update through his patronage on [Patreon](https://patreon.com/foxikle)! That's it! Here is a little peek at the future of CustomNPCS! <details> <summary>CustomNPCs Roadmap</summary>
    1.7
    - Action system revamp (API Support!) - NPCs loading chunks - QOL features suggested by none other than [Nutric](https://m.twitch.tv/nutrictv/home)!
    1.8
    - NPC AI - Re-introduction of the 'toggle following' action - Different ai goals & pathfinders to apply - Potentially a PVP bot? (unlikley...) </details> Cheers! <br> \~Foxikle <3
    1291 downloads
  36. 1.6-pre5CustomNPCs 1.6-pre5Feb 29, 2024

    Bug Fixes

    - Fixed a severe issue with de-serializing actions from before the 1.6 prereleases - Added sounds to the skin catalog - Fixed the pitch of NPC heads being slightly higher than it should be - Fixed a type in 'saftey' - Fix the bodies of NPCs facing the wrong direction for tunnelvisioned NPCs

    Other changes

    - NPCs now default to resilient Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.6-pre4..…
    248 downloads
  37. 1.6-pre4CustomNPCs 1.6-pre4Feb 28, 2024

    CustomNPCs 1.6-pre4

    New Features

    - NPCs can now override the default Interactable Hologram. - Indevidual NPCs can toggle having the Interactable Hologram, even if it is interactable. - The NPC's escaped name is shown to the player whilst changing it. (Toggleable via the NameReferenceMessages field in the config.yml!) - A new menu page to house the aforementioned items. - A button to delete the NPC from within the menu - A confirmation menu upon attempting to delete an NPC (Yes, even with the command. I may add a bypass flag in the future.) - A button to set the NPC's pitch and yaw, so called its Facing Direction - The /npc command now takes the RAW (unstylized) NPC name as an identifier. (ie. /npc edit foxikle's helper). This does support NPCs with spaces in their name. - Just a note about that, NPC UUIDs still work, they just are not supplied to the tab completion - A new command to teleport to an NPC. /npc goto <NPC> - Requires the customnpcs.commands.goto permission - A new command to move an NPC to you. /npc movehere <NPC> - Requires the customnpcs.commands.movehere permission - A new command to clone an NPC to your current location. /npc clone <NPC> - Requires the customnpcs.commands.clone permission - The Skin menu, the Action Customizer Menu, and the Condition Customizer Menu now all have click sounds - The config version is now 5 - The NPC File version is now 1.6

    Bug Fixes

    - Fixed not being able to go back from the New Action Condition menu. - Fixed inconsistencies with the lore in the Equipment Menu - Fixed importing player armor mutating the player's armor. (Changing the display name and lore) - Fixed a serious issue whilst serializing actions under certain circumstances. - Fixed a bunch of issues relating to manually changing NPC Equipment - Removed several debug messages - Typos and other small fixes

    Developer changes

    - Both the Settings and Equipment classes now have clone methods. - Deprecated the old constructor for Settings to accommodate the new settings options - CustomNPCs now uses Lombok getters and setters Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.6-pre3..… A huge thank you goes out to [Nutric](https://www.twitch.tv/nutricmc) for being a Patron over on [Patreon](https://www.patreon.com/Foxikle). Nutric has also helped me with the q/a of this update, so be sure to show your appreciation if you ever see him around. Thats it! This will likely be the last prerelease before the full release of 1.6! Cheers <3 ~ Foxikle
    177 downloads
  38. 1.6-pre3CustomNPCs 1.6-pre3Feb 24, 2024

    CustomNPCs 1.6-pre3

    This one took a while to get out, but its here!

    New Features

    * Backing up config.yml if it is irreparably damaged * Importing your current armor to an NPC * New skin menu * Import skins from a player's name * Import skins from a URL * Use the Skin Catalogue (Nothing changed here, but its in the skin menu) * Added a tunnelvision option to npcs (Already an API feature) * A tunnelvisioned NPC does not look at nearby players An improved wiki Its still a work in progress, so it's URL is https://docs.foxikle.dev, while the old wiki remains at https://foxikle.dev/plugins/wiki/customnpcs. The Javadocs have been moved to https://jd.foxikle.dev! * A shiny new Menu System, written with [WoodyMenus](https://github.com/FlameyosSnowy/WoodyMenus), Courtesy of [FlameyosSnowy]([https://github.com/FlameyosSnowy](https://github.com/Flam… A shiny new rework of the event listeners, vastly* improving performance! Courtesy of [FlameyosSnowy]([https://github.com/FlameyosSnowy](https://github.com/Flam… * The Teleport action now teleports players asynchronously, for more performance

    Bug Fixes

    - Fixed an error whilst making an NPC interactable if it previously wasnt. - Fixed numerous issues with the ToggleFollowing action - Fixed setting armor displaying a message indicating the wrong slot was set. (It wasn't!) - Fixed the plugin not enabling on 1.20 & 1.20.1, courtesy of [tomasalias]([https://github.com/tomasalias](https://github.com/tomasal… - A boat load of small fixes, improvements, and optimizations

    Developer Changes

    - The Equipment object now has a method to import from an EntityEquipment object. - Action#getArgsCopy now returns a mutable list - ActionType now has a field determining if the action can have a delay THE JAVADOCS HAVE BEEN MOVED TO https://jd.foxikle.dev!!! Full Changelog: https://github.com/Foxikle/CustomNPCs/compare/v1.6-pre2..… A huge thank you goes out to [Nutric](https://www.twitch.tv/nutricmc) for being a Patron over on [Patreon](https://www.patreon.com/Foxikle). Nutric has also helped me with the q/a of this update, so be sure to show your appreciation if you ever see him around. This update was a tremendous amount of work, I appreciate every one of you! ~Foxikle <3
    249 downloads
  39. 1.6-pre2CustomNPCs 1.6-pre2Dec 14, 2023

    New Feature:

    - Multi Version support!! (1.20-1.20.4) This update was a massive undertaking and I could not have done it without [Wildered](https://github.com/coderFlameyosFlow)! Cheers <3 ~ Foxikle
    968 downloads
  40. 1.6-pre1CustomNPCs 1.6-pre1Dec 10, 2023

    Changes:

    - Update to 1.20.3 and 1.20.4 - Removed old api class
    158 downloads
  41. 1.5.2CustomNPCs 1.5.2Dec 5, 2023

    This release is for 1.20.2

    I am working on a prerelease to support 1.20.3 presently

    Bug Fixes

    - potentially fixed an issue with the Unix file system - Fixed spigot spamming the server console about reflection - Fixed NPCs not having the same UUID as their GameProfile when creating a new NPC

    New Features

    - Clickable Text now supports MiniMessage (And the 16 character limit is now no longer) - Config version is now 3

    Developer Notes / API Changes

    - NPCs Minecraft names are now derived from their UUID, (The first 15 characters) - API Version is now 1.5.2 - There is a new Class that should be used for interactions with the API. You still need to initialize the API with NPCApi.initialize(). - The Old NPC class is now deprecated and marked for removal in Version 1.6 - NPCs can now have "tunnel vision" or the ability to ignore players around them. NPCs will not look at players within 5 blocks. - The Javadocs are now on version 1.5.2-pre3. (I tried to make each version have their own directory and utterly failed) - ie. https://docs.foxikle.dev/customnpcs/1.5.2 would have CustomNPCs version 1.5.2 javadocs, and so on. The javadocs are [here](https://docs.foxikle.dev), and the developer wiki is [here](https://github.com/Foxikle/CustomNPCs/wiki). Cheers! ~ Foxikle
    421 downloads
  42. 1.5.2-pre3CustomNPCs 1.5.2-pre3Nov 24, 2023
    Hi! This update is entirely focused on the new API changes.

    Api Changes

    - There is a new Class that should be used for interactions with the API. You still need to initialize the API with NPCApi.initialize(). - The Old NPC class is now deprecated and marked for removal in Version 1.6 - NPCs can now have "tunnel vision" or the ability to ignore players around them. NPCs will not look at players within 5 blocks. - The Javadocs are now on version 1.5.2-pre3. (I tried to make each version have their own directory and utterly failed) - ie. https://docs.foxikle.dev/customnpcs/1.5.2 would have CustomNPCs version 1.5.2 javadocs, and so on. - API version is now 1.5.2-pre3 The javadocs are [here](https://docs.foxikle.dev), and the developer wiki is [here](https://github.com/Foxikle/CustomNPCs/wiki).
    Edit:
    Thank you all so much for 500 downloads! It means the world to me that you chose my plugin to use. <3 Cheers! ~ Foxikle
    118 downloads
  43. 1.5.2-pre2CustomNPCs 1.5.2-pre2Nov 17, 2023

    Bug fixes

    - remove debug messages I left in ;)

    Developer changes

    - API Version is now 1.5.2-pre2 ~ Foxikle
    136 downloads
  44. 1.5.2-pre1CustomNPCs 1.5.2-pre1Nov 16, 2023

    CustomNPCs v1.5.2-pre1

    Bug Fixes

    - potentially fixed an issue with the Unix file system (Mac and Minehut users rejoice!) - Fixed spigot spamming the server console about reflection - Fixed NPCs not having the same UUID as their GameProfile when creating a new NPC

    New Features

    - Clickable Text now supports MiniMessage (And the 16 character limit is now no longer) - Config version is now 3

    Developer Notes

    - NPCs Minecraft names are now derived from their UUID, (The first 15 characters) - API Version is now 1.5.2-pre1

    Issues

    If you encounter any issues or would like to request a feature, please make an issue on [GitHub](<https://github.com/Foxikle/CustomNPCs/issues/new/choose>). Cheers! ~ Foxikle
    97 downloads
  45. 1.5.1CustomNPCs 1.5.1 - Bug FixNov 3, 2023
    The only change in this release is fixing the updater constantly claiming there is an update available :) Cheers! ~ Foxikle
    184 downloads
  46. 1.5Nov 1, 2023

    Changes

    - 1.20.2 support (Dropping support for 1.20.1) - Fixed an error with skin icons - All messages now use Adventure internally! You can format your messages, titles, NPC names, and action bars using MiniMessage! - Send To Server works with velocity, (It always has, but I officially recognize it now.)

    Fixes

    - Fixed NPCs being referred to as "clickable" when they are interactable instead. - Fixed constantly updating the config - Fixed the alignment of some menu titles

    API Changes

    - Getting an NPCs equipment returns an empty ItemStack instead of null - API Version is now 1.5 Sorry this one took a while to come out, ~Foxikle
    138 downloads
  47. 1.4.2CustomNPCs 1.4.2Oct 4, 2023
    Fixes a severe issue with having NPCs and several worlds. (or dimensions) Yes. 1.20.2 support is coming, if you want to download a development build, look [here](https://github.com/Foxikle/CustomNPCs/releases/tag/v1.5-p… Cheers! ~Foxikle
    990 downloads
  48. 1.4.1CustomNPCs 1.4.1Sep 24, 2023
    Bug Fixes
    NOT 1.20.2!!!
    This update fixes some issues relating to the config updating
    146 downloads
  49. 1.4Conditional Actions! (1.4)Sep 15, 2023

    New Features

    - Conditional Actions (more info later) - New Action Types - Give XP - Take XP - Give Effect - Remove Effect - A new [Wiki](<https://foxikle.dev/plugins/wiki/customnpcs>) - A fleshed out API (Learn more [here](<https://github.com/foxikle/customnpcs/wiki>), Javadocs [here](<https://docs.foxikle.dev>)) - A friendly reminder to update the plugin. - ###### NOTE: This requies the customnpcs.alert permission which is a child of the customnpcs.commands.manage and customnpcs.* permissions

    Bug Fixes

    - Fixed typo in euipment - Fixed an error when reloading the plugin - Fixed the link in /pl pointing you to an old website - Fixed providing an empty skin in the existing API throwing an error

    Changes

    - Actions are now stored in json! The plugin will automatically convert your npcs.yml file for you. - Refactored Action#serialize() to Action#toJson - Fixed action display cards not showing all data relating to the action - Cleaned up action cards to be more readable - Increased action limit (14 -> 28) - Changed default server name in the SEND_TO_SERVER action ("server to be sent to" -> "server name") - Bump config version to 2

    Bugs and issues

    Please report bugs on [GitHub](<https://github.com/Foxikle/CustomNPCs/issues/new/choose>). ***

    Conditional Actions

    To create a conditional action, start by editing an action. ![Edit the NPC Action](https://github.com/Foxikle/CustomNPCs/assets/89223211/d93… You may notice a new item in the menu, the comparator. Clicking this will bring up an option to edit the action's conditions. ![Edit action condition menu](https://github.com/Foxikle/CustomNPCs/assets/89223211/f77… You will notice the candle in the bottom right of the menu. This is how you toggle between matching ALL conditions vs matching ONE condition. From there, you can add a new condition by clicking on the lily pad. ![Create a new condition](https://github.com/Foxikle/CustomNPCs/assets/89223211/e41… There are two types of conditions. Numeric conditions compare things with numeric values. Logical conditions compare other things. Then, finally, you can edit the conditions properties. ![image](https://github.com/Foxikle/CustomNPCs/assets/89223211/cfa… This update was probably the most fun to work on, and I appreciate each and every one of you who chooses my plugin to use. It makes my day knowing that you think that my plugin is worth using. Thank you for allowing me to do this, it means the world. ~ Foxikle
    184 downloads
  50. 1.3.2CustomNPCs 1.3.2Aug 24, 2023

    New Features

    - PlaceholderAPI support for certain actions. (The plugin still works without it) - SEND_MESSAGE - DISPLAY_TITLE - ACTION_BAR - Customizable clickable hologram. - The ability to disable the clickable hologram. - The ability to have empty name tags (%empty%) - Config versioning (This allows me to update the config with new data for you, without needing to delete it and have a new one generated) - Added a prompt on server start up to update the plugin. (Console only)

    Bug Fixes

    - Fixed plugin not reloading properly on /npc reload - Fixed RUN_COMMAND action not de-serializing the command correctly

    Other Changes

    - Changed log prefix from CNPC to CustomNPCs *** As always, if you encounter any bugs or would like to request a feature, please make a visit to the [issues page](<https://github.com/Foxikle/CustomNPCs/issues/new/choose>). Thanks :) Foxikle
    190 downloads
  51. 1.3.1CustomNPCs 1.3.1Jul 23, 2023

    CustomNPCs v1.3.1

    The only change in this release is adding support for namespaced commands (customnpcs:npc) Thanks to Larres for submitting this issue! Please continue to report any issues you encounter! Thats it! -Foxike
    264 downloads
  52. 1.3Jun 30, 2023

    New Features

    - 1.20 Support - New Action System (more info later) - Anonymous statistic collection with bStats The data I collect can be seen [here](https://bstats.org/plugin/bukkit/CustomNPCs/18898) - Sound effects when interacting in menus - New Injection events - Changed the way text input is collected - New Experimental API Docs can be found [here](https://foxikle.dev/plugins/CustomNPCs/docs/index.html) ---

    Bug Fixes

    - Fixed /npc reload not working as intended - Fixed NPC names displaying 'nothing' instead of 'CLICK' when first creating/editing an NPC - Fixed numerous errors due to internal issues - Fixed being able to remove 'display' items out of menus - Fixed actions duplicating when editing them from the actions menu. ---

    Important Notices:

    - This release requires you to use Paper as your server jar. Most of you are already, but this is here as a warning. - A note about bStats: I use the data collected to improve the plugin as much as I can. That being said, if you would like to opt out of anonymous telemetry data collection, please do so by changing enabled: true (default) to enabled: false. The config can be found in the bStats folder located in your plugins directory. ---

    Actions

    The main new feature of this update is the new Action System. The action system is an expansion of the old command system. Your old npcs.yml file will be converted to the new system. That being said, I highly suggest you make a backup of your file before updating. The action "types" are as follows: - Run Command - Nothing new, this acts the same as the old system. Legacy commands are converted to these. - Send Message - Sends the player a message. Self explanatory - Display Title - Displays a title for the player. - Action Bar - Sends the player an Action bar - Toggle Following (Experiemental) - Toggles the NPC following the player. Not perfect, but that's why its marked as experimental! - Play Sound - Plays a sound for the player at the player's location - Teleport - Teleports the player to the specified location - Send to Bungeecord Server - Sends the player to a BungeeCord server. Nothing happens if the server isn't connected to a BungeeCord network.

    Developers

    Check the wiki within the next few days as I will be putting a detailed tutorial there. As always, if you encounter any bug or issues, please report them [here](https://github.com/Foxikle/CustomNPCs/issues) Thanks! Foxikle
    899 downloads

Similar projects

Plugin →