Commit Graph
38 Commits
Author SHA1 Message Date
bigguy345 203a794950 ActionManager.getAction(name) 2025-06-28 19:07:37 +03:00
Kam 15efdc06c5 Fix some concurrent mod issues 2025-05-19 22:07:57 -04:00
bigguy345 35c8ce29f9 Changed every instance of the word "predicate" to "condition" 2025-04-29 09:08:43 +03:00
bigguy345 efa272706f Added an extra IConditionalAction scheduling method 2025-04-29 09:01:37 +03:00
bigguy345 e2225453c8 Re-ordered ConditionalAction's Supplier<Boolean> terminateWhen arg 2025-04-29 08:53:17 +03:00
bigguy345 186c56c79e Re-ordered ConditionAction constructor params 2025-04-28 10:47:16 +03:00
Kam ae4b4c8702 Heavy Action Refactoring 2025-04-28 03:25:01 -04:00
bigguy345 d3cae9e9cb Merge remote-tracking branch 'upstream/dev' into dev
# Conflicts:
#	src/api
2025-04-28 10:11:02 +03:00
bigguy345 05bcb6f29a More constructors and setters 2025-04-28 10:09:50 +03:00
Kam 5ea3b17976 Merge branch 'dev' of https://github.com/KAMKEEL/CustomNPC-Plus into dev 2025-04-28 03:06:19 -04:00
Kam 75a1c7c851 Parallel Action Chains 2025-04-28 03:05:56 -04:00
bigguy345 b757e5ed8d Added termination task to ConditionalActions
(code that runs when task termination predicate is satisfied)
2025-04-28 09:57:25 +03:00
bigguy345 656a5bc58a cleared conditionals on clear() 2025-04-28 08:38:30 +03:00
bigguy345 6762af5505 Fixed cancelAction method 2025-04-28 08:36:26 +03:00
bigguy345 4d9e15c7af Refactored scheduleConditionalAction into scheduleAction 2025-04-28 08:33:06 +03:00
bigguy345 fbcb990e3a duration++ 2025-04-28 08:26:00 +03:00
bigguy345 2b068cbb91 typo 2025-04-28 08:19:08 +03:00
bigguy345 71bb351919 More conditional create and chain methods 2025-04-28 08:17:57 +03:00
bigguy345 aea788c77a Removed redundant args from creation methods/constructors 2025-04-28 08:08:39 +03:00
bigguy345 01a6518e97 More conditional constructors 2025-04-28 08:01:15 +03:00
bigguy345 c405f409f3 oops 2025-04-28 07:53:21 +03:00
bigguy345 e3e99f056a Set infinite duration to -1 instead of Integer.MAX_VALUE 2025-04-28 07:48:19 +03:00
bigguy345 52e3b49f04 Rewrote conditional action ticking logic 2025-04-28 07:41:29 +03:00
bigguy345 18f520ed80 protected constructor access 2025-04-28 07:29:42 +03:00
bigguy345 b0fabc888c Added more create methods 2025-04-28 07:26:39 +03:00
bigguy345 b8fc118369 Added before and after chains to IAction 2025-04-28 07:19:59 +03:00
bigguy345 48283b9f95 Removed static modifier from ActionChain class 2025-04-28 06:52:44 +03:00
bigguy345 9b846c314d refactored IAction.scheduleAfter and scheduleBefore to just after and before 2025-04-28 06:50:02 +03:00
bigguy345 65fef1778e made schedule methods return IAction 2025-04-28 06:47:34 +03:00
Kam be46caf9af Quick Fix 2025-04-27 23:23:21 -04:00
Kam a6665b1de8 Add a chain builder to action manager 2025-04-27 23:10:55 -04:00
bigguy345 1e249f317d null check 2025-04-27 08:01:29 +03:00
bigguy345 3e63a9ec94 Added terminateWhen predicate for ConditionalAction 2025-04-27 07:33:50 +03:00
bigguy345 0fac6cf51e Removed action.markDone() 2025-04-27 07:13:26 +03:00
Kam 666504e0a3 Create better Action Handling
- Conditional Actions
- Action Manager on Player Data
2025-04-26 20:52:08 -04:00
Kam ce75880aba Fix up to Dev 2025-03-13 16:52:08 -04:00
Kam c2fa74c541 Scheduled Actions 2025-03-03 20:05:19 -05:00
bigguy345 0033413235 Added Scheduled Tasks system for NPC scripting.
Allows for scripting the scheduling of runnable methods in sequence within the NPC's AI

An example sequence of tasks:
1. Dashes towards player (might take 3-5 seconds, doesn't matter, task durations are dynamic so it can take as long as it needs).
2. Punches player away
3. Waits 10 ticks - Fires a ki blast
4. Teleports behind player
5. Knocks player out
2025-03-03 23:59:49 +02:00