Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

CustomNPC-Plus-1.6.2

Changelog

V 1.6.2

Fixes

  • Fake Player Error #60
  • Add Mixins for Overlay Support [Optifine...., etc]
  • Quest Errors - Tracking, Crashing
  • Microblocks Duplication Glitch
  • Flying Code Processing Improvements (Less Lag)
  • Dialog Cut Off Fix
  • 3D Item Rendering Fix
  • SkinOverlay Transparent (Default)
  • Entity Soulstone Positioning
  • Cloak Damage White Flickering
  • Waypoint Error

V 1.6.1

  • Fix GlowTexture from OLD NPCs not loading

V 1.6

CNPC

☑️ 64x64 SELECTED Textures Compatible on ALL Models (Steve, Alex, Steve64)

There are no more /64-Textures/ for CNPC Entity Textures. All 64x32 have been removed and replaced with 64x64 versions. All NPCs that have "/64-Textures" selected should automatically change. From now on 64x64 Textures WILL work on all Human Model types. 64x32 will work on Steve32 Only. (This only affects the texture selector, not the URL or Username selection)

☑️ Solid NPC Overlay

Button added to NPC Display section. Options: Glow or Solid. Glow is enabled by default for overlays, but the new Solid option will remove the glow and transparency for overlays. (Examples: Scars, Bruises, Blood, etc)

☑️ Quest Tracking

To track or untrack a quest, open the quest tracker and click "Track". Tracked quest objectives will update as objectives are completed on an overlay GUI to the right of the screen.

☑️ Additional Visual Dialog Options

All options are visible from the "visual options" button in the dialog creation menu. These include custom images with a configurable limit, offset and scaling options, gradual & instant rendering options, and much more. Dialog pauses have been added! Adding a number in between brackets ( {10} for example) will delay dialog rendering by that many ticks.

☑️ Natural Spawning Options

Up to 5 NPCs can be added, and different spawning behaviors and heights can be configured now.

☑️ NPC Breathing Types

NPCs can drown in water [Default], in air but not water (like squids), or not drown at all.

☑️ Cloak Invisibility

Cloaks become invisible if the NPC is invisible.

☑️ Potion Amplification

DirectionalButtons to Melee Potion Effects -- (Amplification up to 10) [Will be added to ranged in release of 1.6)

☑️ Entity Model Overlays

Entity Models can now use overlays with any texture selected

⚙️ More Fixes

Flight pathing has been improved. Speed calculations have also been improved, most importantly vertical speed now functioning like it should: increasing the rate at which an NPC climbs/descends heights while flying, and not resulting in wacky speeds now. Try it! Removed MorePlayerModel dependency for parts (again, sorry.) Added config for only operators to view/edit scripts, and for only a list of players with given UUIDs to view or edit scripts. Added a config to allow for scripts to be expanded past the 65k character limit. Every additional increase of the config adds another 65k characters to scripts. Fixed quest tracking not being able to be removed. Fixed concurrent modification crash with PlayerQuestData Knockback Enchantment / Critical not taken into account for Knockback Resistance Fixed NPC Follower Role

API

☑️ Scripted Items

Found in the creative menu, you can now script your very own custom items! Shift-Right-Click in creative mode with the item in your hand to access its scripts (event hook list on the left side of the GUI). Scripted Items can be held by any entity, have custom textures with URL support, rotate in every axis, be scaled to be smaller/larger, be offset in the entity's hand, have a custom max stack size, have a custom color, have a custom item use action (nothing, block, bow, eat, drink), can have their enchantibility changed, among some other functions. Try it all out, go nuts!

☑️ NPC & Player Skin Overlays

Players can now also use overlay textures, and both NPCs and players support several overlays, denoted by their ID! These overlays are compatible with JinRyuu's Dragon Block C and other custom player renderers. Each individual overlay can have custom textures with URL support, glow, blend with textures below it or not, have custom alpha values, have custom sizes, be offset from the player or NPC, scale its texture up/down, and apply a texutre "speed", making the texture move accross the entity.

☑️ Massive Scripted Particle Update

You can now control several attributes of scripted particles, such as alpha values, size, directory with URL support, texture scale, position, color interpolation, rotation in every axis, whether the particle faces the player, particle animation, and more. Additionally, particles can now be set to spawn in a position in the world, not just on an entity (Now called IParticle instead of ScriptEntityParticle for this reason). Packets to the client are optimized to send only the necessary data to create the desired particle.

☑️ Global Data Handlers

Instead of using an IWorld object for modifying global faction/dialog data, you can now access and modify that data through handler objects gotten through the NpcAPI class:

var factionHandler = API.getFactions(); //Returns global faction data as an IFactionHandler object.
var recipeHandler = API.getRecipes(); //Returns global recipe data as an IRecipeHandler object.
var questHandler = API.getQuests(); //Returns global quest data as an IQuestHandler object.
var dialogHandler = API.getDialogs(); //Returns global dialog data as an IDialogHandler object.
var cloneHandler = API.getClones(); //Returns global clone data as an ICloneHandler object.
var spawnsHandler = API.getNaturalSpawns(); //Returns global natural spawn data as an INaturalSpawnsHandler object.
var transportHandler = API.getLocations(); //Returns global transport data as an ITransportHandler object.

You can then modify and create data objects for these handlers through their functions (be careful when updating large amounts of data), which are all visible on...

☑️ Differing IItemStack Types

Item stacks are now converted into IItemStacks exclusively through the NpcAPI, which means they can be easily categorized into different types! For now, the only types are:

- scripted
- book
- block
- armor
- other (regular IItemStack like in previous versions if it's not any of the other types)

The first four types have their own set of functions available to only that type of IItemStack, and can all use the regular IItemStack functions.

⚙️ Additional API Additions

  • ISound: New interface for manipulating sounds, all sounds can be tied to an ID to stop/pause/continue them. Various sound attributes like pitch, volume, and position can be modified.
  • NpcAPI: Added new functions for use with the ISound interface: createSound(), playSound(), pauseSound(), continueSound(), stopSound(), pauseSounds(), continueSounds(), stopSounds(). These functions play to players in all worlds.
  • NpcAPI: Added stopServer() function with a configurable shutdown message.
  • IWorld: Added above ISound functions to manipulate sounds for a world in particular.
  • IPlayer: Added new ISound functions that only affect a player in particular.
  • IWorld & ICloneHandler: Added new spawnClone() function that checks for entity spawn protection.
  • IWorld: Added getEntitiesNear() function with position and range parameters.
  • IWorld: Added rayCastPos() function for when rayCastBlock() returns null.
  • IWorld: Added rayCastEntities() function
  • IEntityLivingBase: Added getLookPos() and getLookingAtEntities()
  • IPlayer: Added isScriptDev() function to determine whether a player is allowed to view and edit scripts.
  • IPlayer: Added functions that use IDialog & IQuest parameters to change quest & dialog data instead of IDs.
  • IPlayer: Added kick() function with a configurable message/kick reason.
  • Added PlayerEvent.AttackEvent & PlayerEvent.AttackedEvent to completely cancel attack events, preventing knockbacks/hits from occuring to or by the player.
  • PlayerEvent.MouseEvent: Added isCtrlPressed, isAltPressed, isMetaPressed, isShiftPressed, and keysDown fields.
  • IParticle: Added general spawn() function, replaced spawnOnEntity and spawnInWorld. Former functions deprecated.

⚙️ And TONS of more functions added to pre-existing API classes: View all of them on the Javadoc!

⚙️ API Fixes

  • Fixed some timer functions causing crashes instead of exceptions.
  • Fixed scripting text area modification being VERY slow on large scripts (>200k characters)
  • Fixed mouse wheel changes not triggering a mouse event.
  • Fixed image u,v values for custom GUI and overlay textured rectangles.
  • Fixed hover text for custom GUI buttons
  • Fixed images with uneven widths/heights not rendering correctly for scripted particles.

CustomNPC+ Dark Mode

Release V 1.0

CustomNPC+ Java Doc

CNPC+ API Docs

Files

CustomNPC-Plus-1.6.2.jar(12.09 MiB) Primary Download

Project members

KAMKEEL

Owner

PopsicleNate

Artist

c0508383

Developer

Goodbird

Developer


Technical information

License
Client side
required
Server side
required
Project ID