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...v1.6-pre5
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 theconfig.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
- Requires the
- A new command to move an NPC to you.
/npc movehere <NPC>
- Requires the
customnpcs.commands.movehere
permission
- Requires the
- A new command to clone an NPC to your current location.
/npc clone <NPC>
- Requires the
customnpcs.commands.clone
permission
- Requires the
- 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...v1.6-pre4
A huge thank you goes out to Nutric for being a Patron over on Patreon. 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
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, 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
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
- A boat load of small fixes, improvements, and optimizations
Developer Changes
- The
Equipment
object now has a method to import from anEntityEquipment
object. Action#getArgsCopy
now returns a mutable listActionType
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...v1.6-pre3
A huge thank you goes out to Nutric for being a Patron over on Patreon. 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
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!
Cheers <3
~ Foxikle
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.
- ie.
The javadocs are here, and the developer wiki is here.
Cheers!
~ Foxikle
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.
- ie.
- API version is now 1.5.2-pre3
The javadocs are here, and the developer wiki is here.
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
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.
Cheers! ~ Foxikle
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
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.
Cheers! ~Foxikle
New Features
- Conditional Actions (more info later)
- New Action Types
- Give XP
- Take XP
- Give Effect
- Remove Effect
- A new Wiki
- A fleshed out API (Learn more here, Javadocs here)
- A friendly reminder to update the plugin.
-
NOTE: This requies the
customnpcs.alert
permission which is a child of thecustomnpcs.commands.manage
andcustomnpcs.*
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()
toAction#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.
Conditional Actions
To create a conditional action, start by editing an action.
You may notice a new item in the menu, the comparator. Clicking this will bring up an option to edit the action's conditions.
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.
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.
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
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
toCustomNPCs
As always, if you encounter any bugs or would like to request a feature, please make a visit to the issues page.
Thanks :) Foxikle
New Features
- 1.20 Support
- New Action System (more info later)
- Anonymous statistic collection with bStats The data I collect can be seen here
- Sound effects when interacting in menus
- New Injection events
- Changed the way text input is collected
- New Experimental API Docs can be found here
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) toenabled: false
. The config can be found in thebStats
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
Thanks! Foxikle