Commit Graph
3121 Commits
Author SHA1 Message Date
bigguy345 86285ceff5 - New JaninoScriptHandler thats a concrete IScriptHandler impl and replaces JaninoScriptable
- Removed ScriptHandler based methods from JaninoScript
2026-01-18 03:26:31 +02:00
bigguy345 f829926f00 New ScriptHandler, which is an abstract IScriptHandler implementation 2026-01-18 03:19:30 +02:00
bigguy345 cda43fe67a Defaulted IScriptHandler methods to clean up duplicate code across implementations 2026-01-18 03:05:02 +02:00
bigguy345 68bc02a5d4 Removed SingleScriptHandler 2026-01-18 03:01:55 +02:00
bigguy345 f6e589ac67 temp SingleScriptHandlers tuff 2026-01-15 04:13:59 +02:00
bigguy345 23c44cc5d4 Refactor 2026-01-14 03:52:04 +02:00
bigguy345 2c2e13c2f7 Morea ScriptContainer -> IScriptUnit abstraction 2026-01-14 03:50:47 +02:00
bigguy345 d17534120b Merged GuiJaninoScript with GuiScriptInterface and moved usages 2026-01-14 03:41:24 +02:00
bigguy345 a44cc4f1bb Passed default imports to JaninoScript 2026-01-14 03:03:34 +02:00
bigguy345 54d0fe2b1b Very first implementation of JaninoNpcScript 2026-01-14 00:24:38 +02:00
bigguy345 cc0959dcfe Added run(EnumScriptType, Event) and
run(String, Event) methods to IScriptUnit interface, with JaninoScript
delegating to callByHookType(). This provides a cleaner abstraction that
supports both ScriptContainer and JaninoScript without type checking.

Affected files:
- IScriptUnit: Added run() methods to interface
- JaninoScript: Implemented run() delegation methods
- DataScript, PlayerDataScript, GlobalNPCDataScript, ForgeDataScript
- EffectScript, LinkedItemScript, RecipeScript
- ScriptCustomItem, TileScripted: Refactored to use polymorphic calls
2026-01-14 00:16:58 +02:00
bigguy345 cd60a03544 Moved all INpcScriptHandler implementations to IScriptHandler as its redundant 2026-01-13 23:45:14 +02:00
bigguy345 10b6ccf427 Converted to using IScriptUnit 2026-01-13 22:35:54 +02:00
bigguy345 73db727c47 Deleagted all ScriptContainer NBT based creation to IScriptUnit.createFromNBT 2026-01-13 22:16:51 +02:00
bigguy345 fbcda09fe2 Used IScriptUnit hook stub generation 2026-01-13 21:39:39 +02:00
bigguy345 92cd894f39 Improved JaninoScript hook generation 2026-01-13 21:39:04 +02:00
bigguy345 275cca70c2 Redundant mouseClicked in GuiScript 2026-01-13 20:59:54 +02:00
bigguy345 ba6c3e607c more bruh 2 2026-01-13 20:30:01 +02:00
bigguy345 7b811bdea1 more bruh 2026-01-13 19:16:58 +02:00
bigguy345 8c8f37e75d more merge conflict resolution 2026-01-13 19:13:31 +02:00
bigguy345 1df05406c8 Imported temp place holders from syntax-highlighter-unified 2026-01-13 19:08:29 +02:00
bigguy345 6173e98998 merge conflict resolutioon 2026-01-13 19:05:52 +02:00
bigguy345 fd0e20f364 Made ScriptContext class based instead 2026-01-13 19:03:01 +02:00
Kam 71dba15270 Add Script Context and better parsing for d.ts handling 2026-01-13 19:02:52 +02:00
bigguy345 cd92c340c7 resolved merge conflicts with dev 2026-01-13 18:25:37 +02:00
bigguy345 c3e032dcf2 Abstracted ScriptContainer & JaninoScript to IScriptUnit + global implementation 2026-01-13 18:25:28 +02:00
bigguy345 1372127266 GuiScript now extends GuiScriptInterface + Full screen support 2026-01-13 18:25:20 +02:00
bigguy345 ca8285e23f Made these 3 detached GuiScripts depend on GuiScriptInterface 2026-01-13 18:25:09 +02:00
bigguy345 88d43f8199 Merge branch 'dev' into janino-scripts
# Conflicts:
#	repositories.gradle
2026-01-13 18:18:06 +02:00
Kam 0328be57eb Add BukkitUtil, VaultUtil for Future Economy Handling 2026-01-12 12:50:08 -05:00
Kam 63c704f80a Fix Compile 2026-01-12 05:55:49 -05:00
Kam ff5ce2f556 Add Ability Hooks to NPCs 2026-01-11 20:35:53 -05:00
Kam 276465a175 Merge branch 'ability' into dev 2026-01-11 20:35:45 -05:00
Kam 11808df036 Script Hook Handler 2026-01-11 17:15:13 -05:00
Kam 828e99d427 Revise ability logic and configs 2026-01-11 16:04:49 -05:00
Kam fdb2ff98d8 Large Ability changes, cleanup, langs, fixes. 2026-01-10 23:06:13 -05:00
Claude c7d04cb9d3 Simplify ability interrupt logic and reorganize GUI
- Remove interruptThreshold field entirely - interrupts now based on damage source type
- Update canInterrupt() to only allow interrupts from direct physical hits (not magic/fire/explosions)
- Interruption only occurs during WINDUP phase, not ACTIVE
- Reorganize SubGuiAbilityConfig into 4 tabs: General, Type, Target, Effects
- Increase GUI size to 420x216 for better layout
2026-01-10 10:32:24 +00:00
Claude b40fec2270 Clean up imports to use short class names
Replace fully qualified class names with proper imports in ability files:
- Added cpw.mods.fml.relauncher.Side and SideOnly imports
- Added IAbilityConfigCallback and SubGuiAbilityConfig imports
- Added SubGuiAbility* imports for each ability type
- Replaced @cpw.mods.fml.relauncher.SideOnly(...) with @SideOnly(Side.CLIENT)
- Replaced fully qualified return types with short class names
2026-01-10 10:03:10 +00:00
Claude f28d3483e6 Refactor Ability GUI to support third-party extensibility
This refactoring allows third-party mods to provide their own custom GUI
for ability type settings by extending SubGuiAbilityConfig.

Changes:
- Refactored SubGuiAbilityConfig as base class with GuiMenuTopButton tabs
- Added virtual methods: initTypeTab(), handleTypeButton(), handleTypeTextField()
- Added createConfigGui() method to Ability base class for GUI instantiation
- Created 15 SubGuiAbility* subclasses in new ability package
- Updated GuiNPCAbilities and GuiNpcManageAbilities to use ability.createConfigGui()

Third-party mods can now:
1. Create a custom Ability subclass
2. Extend SubGuiAbilityConfig with their own GUI
3. Override createConfigGui() to return their custom GUI
2026-01-10 09:48:37 +00:00
bigguy345 fb0332e5cf Merge branch 'dev' into janino-scripts 2026-01-10 00:19:14 +02:00
bigguy345 deec2a1986 Merge remote-tracking branch 'origin/janino-scripts' into janino-scripts 2026-01-10 00:04:12 +02:00
bigguy345 b5df6b1709 Moved all janino classes to CNPC+ janino-scripts branch 2026-01-09 23:44:07 +02:00
Kam 18bab07f33 Fix Slam 2026-01-09 16:22:39 -05:00
Kam 166c8aa228 Ability Push 2026-01-09 15:29:00 -05:00
bigguy345 60af203165 Renamed to moveFromGlobalToLocal 2026-01-05 20:32:18 +02:00
bigguy345 e8ef60deb4 Important IAnimation takeTasksFrom global instance in AnimationController to local instance in entity AnimationData 2026-01-05 20:25:34 +02:00
bigguy345 db0aa94a3a IAnimation instead of Animation 2026-01-05 20:17:55 +02:00
bigguy345 eb660b38ae Added IAnimation consumers to API 2026-01-05 17:14:45 +02:00
bigguy345 68681931f8 Animation Data Store (for cross event/frame data handling) 2026-01-05 16:53:58 +02:00
bigguy345 a33acee117 Added Animation task consumers (much better than animation events) 2026-01-05 16:49:48 +02:00