Commit Graph
737 Commits
Author SHA1 Message Date
Luis C.M be654e19e1 ModelWings:
-Fixed wings spazzing out on flying NPCs
2022-11-14 20:47:13 -06:00
Luis C.M a9ade876ef ItemSoulstoneFilled:
-Fixed soulstoned flying NPCs dipping into the ground
2022-11-14 20:28:19 -06:00
Luis C.M 69afa29e9c EntityNPCFlying:
-Fixed fly height limit
2022-11-14 20:22:50 -06:00
Luis C.M 51b412a0bf Pathing improvements.
EntityAIReturn:
-Fixed NPC still creating a new path when close to the NPC's home.

EntityNPCInterface:
-Fixed flying NPCs having their home Y position dip into the ground.
-NPCs update their move helpers and navigators when they can't breathe.

FlyingMoveHelper:
-Reduced calls to Math.atan2 (very expensive operation to be unnecessarily calling every tick)

FlyPathFinder:
-Water opens an OPEN path point iff the NPC can swim, not iff the NPC's drowning type != 1.

NPCPath:
-Made PathPoint occurrences use NPCPathPoint

PathNavigateFlying:
-A slightly larger area of blocks with respect to width is checked om rayTraceBlocks(), and the function now also correctly checks for liquids.
2022-11-13 23:49:49 -06:00
Luis C.M e1c9b69335 Removed LRU hashmap, increases performance. 2022-11-12 17:43:36 -06:00
Luis C.M 52563f1cfe Reverted PathNavigateFlying. 2022-11-12 17:25:01 -06:00
Luis C.M d86f571df6 PathNavigateFlying:
-Fixed pathfinder running into lava & water when it shouldn't.
FlyPathFinder:
-Simplified nodeTypeToOffset switch statement, removed unused function, and made air always return an open path node type.
EntityNPCInterface:
-Fixed "In Air" drowning type. Breathes underwater now.
EntityNPCFlying:
-Fixed NPCs still using flight movement when not being able to breathe.
ICustomNpc:
-Added canBreathe() function
2022-11-12 15:53:20 -06:00
Luis C.M aa4b1dd9fb PathNavigateFlying:
-Significantly improved flight performance using an LRUHashMap.
2022-11-12 12:09:22 -06:00
Luis C.M 7425e935f1 EntityNPCInterface:
-Fixed flying NPCs not returning to mid-air start y positions.
2022-11-11 16:57:06 -06:00
Luis C.M c3a0298902 Improved performance of isDirectPathBetweenPoints. 2022-11-11 03:16:56 -06:00
Luis C.M 3f58ef029c Improved isDirectPathBetweenPoints detection in flight pathing, still need to optimize. 2022-11-11 02:17:54 -06:00
Luis C.M a69468322e Added new isDirectPathBetweenPoints function with severely increased performance. 2022-11-10 20:19:36 -06:00
Luis C.M 2c1a5d330a Improved pathfinding, and made NPCs able to traverse through lava/fire sources and water if immune to fire or able to breathe in water respectively. 2022-11-10 17:38:37 -06:00
Luis C.M 081c47b0aa Path optimizations 2022-11-10 03:26:32 -06:00
Luis C.M 83db114a0d Decreased max safe point tries for flight pathing, and added limit to pathfinding while loop. 2022-11-10 01:18:25 -06:00
Luis C.M 554bcac4d3 Fixed flying pathfinding not being able to go above/below walls in the air 2022-11-10 00:47:40 -06:00
Luis C.M 8e023eacfd Fixed flight pathing, merged with some 1.7.10 code. 2022-11-10 00:31:14 -06:00
Luis C.M 4b1fb37366 Fixed dialog image size issue. Dialog images can also use URLs now. 2022-11-09 21:33:04 -06:00
KAMKEEL cc39e62bd4 Fix Reset Flying NPC to Spawn POINT 2022-11-07 21:23:46 -05:00
KAMKEEL 45c43a399b Clean and Refactor Fly Code 2022-11-07 21:23:33 -05:00
KAMKEEL 88b7c43af0 small adjustment 2022-11-07 17:07:35 -05:00
KAMKEEL 054f4d85ee Merge branch 'dev' of https://github.com/KAMKEEL/CustomNPC-Plus into dev 2022-11-07 15:40:11 -05:00
KAMKEEL 5ac230ee52 Fix this.NoPath Null Check 2022-11-07 15:40:07 -05:00
Luis C.M 4674f59ae1 Fly pathing size compatibility fix 2022-11-07 14:28:41 -06:00
KAMKEEL eb9efce68c Update PathNavigateFlying.java 2022-11-07 15:08:39 -05:00
KAMKEEL 73938d20ab Merge branch 'dev' of https://github.com/KAMKEEL/CustomNPC-Plus into dev 2022-11-07 14:48:54 -05:00
KAMKEEL cd91636993 Update AIMoveSpeed for CheckStuck 2022-11-07 14:48:47 -05:00
Luis C.M 219d0f1802 Fixed strange flight behavior in flying NPCs with sizes below 5. 2022-11-07 13:32:31 -06:00
Luis C.M a1eb8ff91b Fixed odd NPC bobbing and NPCs with fly height limits not being able to path 2022-11-07 13:01:57 -06:00
Luis C.M 267bc8b239 Flying NPCs no longer hover slightly above the ground 2022-11-07 12:24:33 -06:00
Luis C.M cc42f1f141 PathNavigateFlying:
-Flying fix. :)
2022-11-07 06:46:38 -06:00
KAMKEEL cdebcc352c Correct PathNodeType 2022-11-07 03:16:05 -05:00
KAMKEEL 06b0d8ab28 ChuckLoader 2022-11-07 01:52:28 -05:00
KAMKEEL 5ff3a3a1ba Player Logging 2022-11-07 01:49:54 -05:00
KAMKEEL fe4cc719d4 Revert "ScriptLogIgnoreType & PlayerLogging"
This reverts commit ac39e0a6d0.
2022-11-07 01:43:27 -05:00
KAMKEEL 361d210d1a Add TickIgnoreType 2022-11-07 01:43:11 -05:00
KAMKEEL ead63d8e30 Player Logs 2022-11-07 01:42:33 -05:00
KAMKEEL bfb446b0de Move Helper Public 2022-11-07 01:40:24 -05:00
KAMKEEL 0b6784075c Create NPCLogLevel.java 2022-11-07 01:40:14 -05:00
KAMKEEL 6c20ff2d14 Fix Fly Remote Reset 2022-11-07 01:40:11 -05:00
KAMKEEL 33d7b73cb1 Fix Fly Remote Reset 2022-11-07 01:39:47 -05:00
KAMKEEL 291065024a Revert "Revert "CostMalus != 0 :D""
This reverts commit 8aef214c88.
2022-11-07 01:08:53 -05:00
KAMKEEL 8aef214c88 Revert "CostMalus != 0 :D"
This reverts commit f564a388ad.
2022-11-07 00:57:14 -05:00
KAMKEEL b223381c29 Remove Cooldown 2022-11-07 00:56:12 -05:00
KAMKEEL 78b1145638 Upgrade PathFinding Chunk Search 2022-11-07 00:08:41 -05:00
KAMKEEL f564a388ad CostMalus != 0 :D 2022-11-07 00:08:27 -05:00
Luis C.M e8cea5368f FlyPathFinder:
-Fixed a bit of pathfinding logic to open diagonal path points
2022-11-06 22:37:31 -06:00
KAMKEEL d9af49fa4a Improve Flying Overhaul
-- Renamed Files to for more universal names
- Refactored Function Inputs

PathNavigateFlying
---- REMOVED pathCooldown/maxCooldown
+ Added updatePath() to calculate IF the current PATH is making progress and IF not should update. If distance to target is SHORTENING, no additional calculation needed
+ Improved getPathToXYZ -- if Current Path was REMOVED during updatePath then find a new path
+ Improved getPathToEntityLiving-- if Current Path was REMOVED during updatePath then find a new path
+ Added tryUpdatePath as a manual/timed update if Navigation is OLD
+ Added CHECKforSTUCK function to correct if NPC gets stuck WHILE pathing (Fixes more issues) -- There is a new Timeout Variable that if the NPC gets stuck for TOO long that PATHING should be removed and reattemped. If reattempted multiple times the NPC will TIMEOUT timer will continue to increase in threshold to severely reduce lag
+ Upgraded isDirectPathBetweenPoints from 1.12 better calculation method

FlyPathFinder
+ Added getPathPriority() to getStart() for lag reduction
+ Added PATH break; if infinite loop is created during addToPath
+ Added distanceManhattan and costMalus to distanceToNext calculation to calculate better SHORTEST path to TARGET
+ Added CostMalus calculation into findPathOptions (Less Calculations Needed)
+ Added NPCPathPoint Cost Usage

NPCPath
+ getCurrentPos() -- Returns current VEC3 of Index and Path
-- Renamed from FlyPathEntity

NPCPathPoint
+ DistanceFromOrigin to keep track of distance calculated from origin
+ Added Cost to keep track of CostMalus + Manhattan Calculation
-- Renamed from FlyPathPoint

PathHeap
-- Renamed from FlyPath
2022-11-06 22:01:48 -05:00
KAMKEEL f7d90d07ff Limiting Angle Upgrade 2022-11-06 21:44:17 -05:00
Luis C.M c8a8e866cb IPos:
-Added crossProduct(IPos), divide(scalar), and to/FromLong functions.

NpcAPI:
-Added getAllInBox(from,to)

IBlock:
-Added setPosition functions

IBlock, IPos, IEntity, IWorld: -Added a readable toString() function
2022-11-06 15:08:58 -06:00