Filter versions...
Filter channels...

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.

Fixed the upside down button not working (whoops!)

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

  • Fixed the plugin not enabling on 1.21.8
  • Added cooldowns to actions, defaulting to 0.

Bug fixes:

  • Fixes errors with menus on latest paper versions

  • Other misc repo fixes

    There are no visible changes this release.

Fixed library loading issues causing the plugin to not load

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.

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

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.

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

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

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

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

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

Bug fix:

  • Fixed loading the NPC's facing direction incorrectly

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

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

This is a hotfix for 1.7-pre8 that addresses issues with upgrading the NPC file

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...v1.7-pre8

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


Project members

Foxikle

Lead Developer

fqmy1

Performance Analyst

Details

Licensed MIT
Published 2 years ago
Updated a month ago