Skip to content

Releases: Foxikle/CustomNPCs

v1.6.1

26 Apr 12:47
Compare
Choose a tag to compare

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 (@SkyVirtual) on discord for their tremendous help in stress-testing and finding bugs!

Cheers!
~ Foxikle <3

Full Changelog: v1.6.1-pre2...v1.6.1

v1.6.1-pre2

01 Apr 01:19
4f8e2a7
Compare
Choose a tag to compare
v1.6.1-pre2 Pre-release
Pre-release

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 (@SkyVirtual) on discord for their tremendous help in stress-testing and finding bugs!

Cheers!
~ Foxikle <3

CustomNPCs v1.6.1-pre1

30 Mar 15:17
ccd35ff
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Added PlaceholderAPI support for NPC Name tags, and Customizable Interactable Holograms
  • Removed the /npc clear_holograms as it is now obsolete
NOTE: The holograms update once every second

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.

Cheers!
~ Foxikle

CustomNPCs v1.6

02 Mar 16:32
143b4cc
Compare
Choose a tag to compare

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, 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

Full Changelog: v1.5.2...v1.6

Acknowlegdments

A huge thank you goes out to Nutric! He has been instrumental to this update through his patronage on Patreon!

That's it! Here is a little peek at the future of CustomNPCS!

1.7

  • Action system revamp (API Support!)
  • NPCs loading chunks
  • QOL features suggested by none other than Nutric!

1.8

  • NPC AI
  • Re-introduction of the 'toggle following' action
  • Different ai goals & pathfinders to apply
  • Potentially a PVP bot? (unlikley...)

Cheers!
-Foxikle <3

CustomNPCs v1.6-pre5

29 Feb 19:05
Compare
Choose a tag to compare
CustomNPCs v1.6-pre5 Pre-release
Pre-release

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: v1.6-pre4...v1.6-pre5

CustomNPCs v1.6-pre4

28 Feb 21:28
Compare
Choose a tag to compare
CustomNPCs v1.6-pre4 Pre-release
Pre-release

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: 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

v1.6-pre3

24 Feb 02:13
3e4de3c
Compare
Choose a tag to compare
v1.6-pre3 Pre-release
Pre-release

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 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: 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 <#

EDIT:

This is on the wrong branch, 😭
This should be targeted at 1.6 :)

CustomNPCs 1.6-pre2

14 Dec 01:54
Compare
Choose a tag to compare
CustomNPCs 1.6-pre2 Pre-release
Pre-release

New Feature:

  • Multi-version support! (For now, 1.20-1.20.4)

This update was a massive undertaking, to understand the inner workings of gradle, modules, and all of that jazz. I owe a huge one to @coderFlameyosFlow for explaining gradle to me!

Cheers!
~ Foxikle

1.6-pre1

10 Dec 11:30
Compare
Choose a tag to compare
1.6-pre1 Pre-release
Pre-release

Changes

  • Update to 1.20.3 (4)
  • Removed old API Class

1.5.2

05 Dec 20:43
10ec546
Compare
Choose a tag to compare

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, and the developer wiki is here.

Cheers!
~ Foxikle