Releases: KAMKEEL/CustomNPC-Plus
1.9.3
What's Changed
- Implemented the ability to get the screen size from server by @Goodbird-git in #111
- A lot of fixes of minor bugs by @Goodbird-git in #110
- Backported scripted blocks from 1.12.2 by @Goodbird-git in #112
- Removed the ability to use an NPC wand on a scripted block by @Goodbird-git in #113
- Implemented scripted commands by @Goodbird-git in #114
- Implemented hurt tint and npc tint settings by @Goodbird-git in #117
- Implemented the ability to change hitbox size by @Goodbird-git in #116
- Fixed dialog image positioning by @Goodbird-git in #120
- Scrollable gui by @somehussar in #126
- Fix player-specific invisibility on scripts. by @somehussar in #131
- QoL GUI Fixes by @bigguy345 in #130
- optimize reflection for render events by @mtbarr in #132
New Contributors
- @Goodbird-git made their first contribution in #111
- @somehussar made their first contribution in #126
- @bigguy345 made their first contribution in #130
- @mtbarr made their first contribution in #132
Full Changelog: 1.8.6...1.9.3
CustomNPC-Plus-1.8.6
CustomNPC+ 1.8.6
1.8: Changes
1.8.1: Changes
1.8.2: Changes
1.8.3: Changes
1.8.4: Changes
1.8.5: Changes
Just a quick bug fix and command overhaul with some new quest and dialog commands that will be extremely useful! Client Cache is now fully tested and in place!
THE QUEST ROLLBACK BUG IS NOW FULLY FIXED with the new PLAYER DATA CACHE!
Changes
- Added
/kam
as a command alias for/kamkeel
- Added
/kamkeel questCat
Command - Added
prereq
,info
, andid
to quest command - Added
/kamkeel dialogCat
Command - Added
availability
,info
, andid
to dialog command - NPC Texture Caching (Less URL Requests)
- Particle Texture Caching (Fixes Particle Flickering)
- Added Cache Time to client config
Fixes
- Fix PlayerData not being removed from Cache
- Tracked Quest not clearing between worlds/servers
- DBC Render Error
- Added noppes command warning (Unsupported)
- CustomOverlayLabel and Line weird layering bug
- CNPC+ Logs only PRINT to CustomNPCs Logs (Not Console)
- Quest/PlayerData Rollback Bug
CustomNPC-Plus-1.8.5
CustomNPC+ 1.8.5
1.8: Changes
1.8.1: Changes
1.8.2: Changes
1.8.3: Changes
1.8.4: Changes
Changes
- PlayerData
DAT
format (Huge Performance Boost for PlayerData loading/saving) - Client Image Cache - Added a Client Image cache for Particles, NPC Url Textures, URL Items, etc. There is now a config associated with this in
CustomNpcPlus/client.cfg
- Moved PlayerDataMap.dat location to inside
customnpcs
folder rather thanplayerdata
folder - PlayerData Converter Commands
/kamkeel config playerdata
Fixes
- Set Engine - Memory Leak/Timing Out
- Bad PlayerData JSON loading issue with CPU hogging
- Player Animations DBC render issue
- Script Saving Issue
- Fix NullPointer Natural Spawns Crash
PLAYERDATA DAT
FORMAT
We are introducing a new playerdata format that can extremely benefit larger servers with an active player base. There is no danger in using this format. You can see playerdata loading/saving improvements of upwards of 100x.
HOW TO CONVERT PLAYERDATA
I suggest you whitelist your server and only have one player online when converting playerdata. You must have file access. Converting will NOT delete your existing data
- Utilize
/kamkeel config playerdata dat/json convert
- Wait forcomplete
message
dat
will clone all JSON playerdata and convert them into dat and put them into a new folder.json
will clone all DAT playerdata and convert them into json and put them into a new folder.
- Stop your server/close your world
- Go into
customnpcs
folder for your world and remove/rename yourplayerdata
folder. You may keep it somewhere else if you'd like. - Rename
playerdata_new
folder toplayerdata
- Go into SERVER config -
CustomNpcPlus/main.cfg
and enableB:"Dat Format for PlayerData"=true
. FALSE if you want to go back to using JSON
CustomNPC-Plus-1.8.4
CustomNPC+ 1.8.4
1.8: Changes
1.8.1: Changes
1.8.2: Changes
1.8.3: Changes
Changes
- Added functionality to Search in Cloner by typing in the TAG_NAME - Included in Search
- Improved Dialog Loading Performance
- Added Search to BankData Menu
- Made NPC Quick Tags
CLOSE
on save. - ItemToss Event is Cancellable
- Improved Script Performance
Fixes
- Fixed Quest Progress not saving on completion (ATTEMPTED)
- Fixed Player Animations not moving body parts
- Removed Duplicate Quest Complete message on Auto Completed Quests
- QuestData NullPointerCrash on QuestKill
- Removed Crate FIX to remove Crash
- ItemSlot CustomGUI Crash
- ItemSlots not using correct Slot ID
- Better accuracy for
getLookingAtBlock()
- Fixed an issue where scripts would still run the old version of themselves after being edited.
CustomNPC-Plus-1.8.3
-- Removes the majority of multithreaded packet sending due to synchronization issues.
CustomNPC-Plus-1.8.2
CustomNPC+ 1.8.2
Changes
- Add support for BUKKIT Permission Handling in Bukkit Plugins for KAMKEEL Commands
- Fully Multithreaded Packet Sending for better server performance and efficiency
- Added Regenerate PlayerMap Button
Fixes
- Fixed UUIDs not saving on NPCs when spawning a new one via SoulStone/Clone
- Fixed Recipe Search crash when recipe output is blank
- Fixed Quest Cooldowns reading incorrect time.
- Fixed Quests not displaying Completion
- Null Check to potentially fix fatal error on Crate
- Fixed Player Animations rendering corruption while holding a 3D Item
- Fixed Quest Tracking disabling or not updating properly
- Multithreaded Quest Data MAY fix Quest's not saving on bigger servers
1.9 - Sync Experimental
THIS IS AN EXPERIMENTAL VERSION
That introduces MULTITHREADED packets and better CLIENT-SERVER synchronization.
This will not be the intended 1.9
release of CNPC+
Use with caution and expect some bugs! I would love it if people could test this version!
(Similar to 1.8.2 in changes)
CustomNPC-Plus-1.8.1
CustomNPC+ 1.8.1
1.8: Changes
Changes
- Renovated /kamkeel commands with better messages/feedback
- Improved Tab Completion on /kamkeel commands
- Added PlayerData Map file for quicker PlayerData GUI Loading/Synchronization
- Added Mixin Config
Fixes
- Fixed Natural Spawning not working
- Fixed Quests Data not saving correctly into PlayerData
- Fixed Mixin Crash (Server-Side)
- Fixed Client Config not correctly saving [Ported Mixin to Mixin Config]
CustomNPC-Plus-1.8
CustomNPC+ 1.8
CNPC+ Changes
Animations
Animations can now be utilized through scripts! They can either be made using scripts or made in the fancy new Animation Maker GUI! You can access this via the Global Menu! See API or JavaDoc for how to script Animations! Animations will also be saved as JSONs so you can EXPORT them and SHARE!
Tags
There are new tags available to be added to NPCs. They can be used to help organize, filter, and sort through NPCs in your Cloner. Tags can be directly applied via the Cloner
or they can be applied within the Advanced
Tags page within an NPC. Tags can be created via the Global
Menu and the colors/hidden properties can be customized there!
Rotation Menu
In order to make the new Animation System function as intended. The PUPPET JOB has been completely removed and converted into a ROTATION Menu. You can use this menu to rotate ALL NPCs regardless of their job. Upon updating, your Puppet Jobs should AUTOMATICALLY convert to the new Rotation Menu. Do note, PUPPET scripts will be the only thing to break :(
Event Scripts
Similarly to the 1.12 System you can now add multiple event-oriented scripts directly to an NPC. This will not clear any of your current scripts. It is completely optional to use.
Quality of Life
- New /kamkeel command (With Better HELP MENU) [/noppes still available]
- Recipe Menu Search Bar
- Faster/Efficient Global PlayerData viewer
- Overhauled Config (Saved in CustomNPC+ Folder)
- Natural Spawning Dimension CONTROL (Should help with issues within LOTR)
- Client-Side disable QUEST POP UPS
API
- Scripted Item URLs
- Limbwear API Functions
- IModelData additions
- IProjectile API
- IDBCPlayer Improvements
- ISound changes
Fixes
- Changes to Dialog Quest Logic
- Fixes to Quest Saving Logic
CustomNPC-Plus-1.7
CustomNPC+ 1.7
The next version of CNPC+ is finally out! It features a bunch of fixes, improvements and quality-of-life changes!
CNPC+ Changes
Flying Improvements
Finally! I am happy to announce that FLYING has BEEN EXTREMELY improved! The AI is not only intelligent but resource efficient! So do not be afraid to SPAM flying NPCs! As always, if you find bugs please report them!
Saving PlayerData
(please backup, just in case)
Improvements have been MADE to Saving (and will not result in the crazy compression fiasco we had). It has reduced the amount of PlayerData calls and pushed them to a separate Thread to reduce SERVER LAG and improve PERFORMANCE for Large PlayerData files! Thanks to @EverNife
CNPC+ Logging
I have decided to implement a clean logging system for servers to use! There are 2 Formats for Logging! (must be enabled in config)
ALL LOGS are printed to the CustomNPCs Log files. And if on a SERVER, WILL ONLY print to SERVER CUSTOMNPCs LOG FILEs
Examples ----
- Player Logging
[21:51:50][CNPC][SCRIPTER] Kam OPEN NPC Asher (-46, 39, -1103) [World]
[21:51:50][CNPC][SCRIPTER] Kam SAVED NPC Asher (-46, 39, -1103) [World]
[21:59:20][CNPC][WAND] Kam OPEN NPC Asher (-46.5, 39.0, -1103.5) [World]
[21:59:21][CNPC][WAND] Kam CLOSE NPC Asher (-46, 39, -1103) [World]
- Script Logging
[TICK] NPC Bob (World) (-8301, 90, -7848)
[INTERACT] NPC Joe (World) (-8301, 90, -5423) | Objects: [EntityPlayer, Kam]
[DAMAGED] NPC Bill (DIM-1) (-1304, 90, 3021) | Objects: [EntityPlayer, Kam]
⚙️ Fixes
Fixed ForgeGradle not downloading in
build.gradle
Fixed Height off the Ground for Flying
Fixed Unused Wing Textures not in selector
FixScriptingEnabled
not actually disabling scripts
Fixed Null Tile Entities Crash
Various Crashes
API
There is NOW an official CNPC+ API This API can be hooked onto by other mods and plugins that you all wish to develop! We will continue to update this API and add even more diverse functionality to it than the original!
⚙️ API Fixes
All functions that take double values for positions now have functions that take IPos objects as well.
IBlock, IPos, IEntity, and IWorld now have readalbe toString functions.
NpcAPI: Added getAllInBox(IPos,IPos) function, returns all IPos objects inside the box created by the two positions.
Added getPlayer() function
Added getChunkLoadingNPCs function
Added getCurrentPlayerCount, getMaxPlayers, kickAllPlayers, isHardcore, getFile(path), and getServerOwner functions added
IPos: Added crossProduct(IPos), divide(scalar), and to/FromLong functions.
IBlock: Added setPosition functions
Spawner, Transport, Healer, Guard, Bard jobs and transporter role received more functions.
IAnimal, IEntityLiving, and IEntityLivingBase received more functions from their MC counterparts.