Skip to content

Releases: KAMKEEL/CustomNPC-Plus

1.9.3

30 Sep 22:38
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.8.6...1.9.3

CustomNPC-Plus-1.8.6

23 Jun 20:13
Compare
Choose a tag to compare

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, and id to quest command
  • Added /kamkeel dialogCat Command
  • Added availability, info, and id 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

03 Jun 22:17
Compare
Choose a tag to compare

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 than playerdata 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

  1. Utilize /kamkeel config playerdata dat/json convert - Wait for complete 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.
  1. Stop your server/close your world
  2. Go into customnpcs folder for your world and remove/rename your playerdata folder. You may keep it somewhere else if you'd like.
  3. Rename playerdata_new folder to playerdata
  4. Go into SERVER config - CustomNpcPlus/main.cfg and enable B:"Dat Format for PlayerData"=true. FALSE if you want to go back to using JSON

CustomNPC-Plus-1.8.4

01 Jun 20:50
Compare
Choose a tag to compare

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

16 May 21:50
Compare
Choose a tag to compare

-- Removes the majority of multithreaded packet sending due to synchronization issues.

CustomNPC-Plus-1.8.2

16 May 15:41
Compare
Choose a tag to compare

CustomNPC+ 1.8.2

1.8: Changes
1.8.1: Changes

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

16 May 22:08
Compare
Choose a tag to compare
Pre-release

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

10 May 23:10
Compare
Choose a tag to compare

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

09 May 18:54
Compare
Choose a tag to compare

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!

2023-05-09_14 29 44

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!

image

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

image

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.

image

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

27 Nov 19:49
Compare
Choose a tag to compare

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
Fix ScriptingEnabled 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!

https://github.com/KAMKEEL/CustomNPC-Plus-API

⚙️ 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.