Commit Graph
18 Commits
Author SHA1 Message Date
KamandClaude Opus 4.5 0ff501bb16 Declarative ability GUI: replace 18 SubGui classes with FieldDef system
All ability GUI tabs (General, Target, Effects, Type, Visual) are now
fully declarative via FieldDef definitions. Deleted 18 SubGuiAbility*
classes (~3100 lines) and rewrote SubGuiAbilityConfig to use
GuiScrollWindow for every tab with a unified field renderer.

- Add FieldDef, FieldType, TabTarget, ColumnHint, TabDef gui framework
- Add getFieldDefinitions() to all 18 ability subclasses
- Add getBaseFieldDefinitions() to Ability.java for shared tabs
- Merge COLOR/EFFECTS into SUB_GUI with convenience factories
- Net reduction: ~3100 lines removed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:17:37 -05:00
somehussar 43c0a8e296 Shitty test command do not fucking use xd 2026-01-31 06:00:37 +01:00
Kam 55658a7956 Ability Preview GUI 2026-01-28 20:43:32 -05:00
Kam e73054a529 Built In Animation System + Fixes to Defaults for Energy Projectile Abilities 2026-01-28 16:31:26 -05:00
Kam 7d2bba7b95 Better Lock Movement handling 2026-01-28 15:16:28 -05:00
Kam 747aae8337 Recovery -> Dazed. Better cooldown logic handling 2026-01-27 04:07:02 -05:00
Vidal 93486d306b Made animation fetching methods return Animation instead of IDs 2026-01-27 04:36:12 -03:00
Kam 563b6f7a26 Ability Effects 2026-01-26 22:02:51 -05:00
Kam 651f2d0d84 More Abilities 2026-01-26 04:42:23 -05:00
Kam de043f4a25 Ability Changes 2026-01-25 20:39:01 -05:00
Kam bd7cafa482 Telegraph Scripting System 2026-01-24 02:35:26 -05:00
Kam a9b602713c Large Cleanup to Code Imports and Formatting 2026-01-22 23:07:38 -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
Kam 166c8aa228 Ability Push 2026-01-09 15:29:00 -05:00