Commit Graph
1507 Commits
Author SHA1 Message Date
bigguy345 eecb5b0b3b ScriptHandler refactor:
- ScriptHandler now holds a list of containers

- Delegated single container handling to SingleScriptHandler

IScriptHandler refactor:

- Moved ScriptContext/Hook logic to it

- More default methods + hooked them to GuIScriptInterface
2026-01-18 17:50:04 +02:00
bigguy345 44f71ddb81 Handled script language correctly for external script selector list + added forgotten singleContainer logic 2026-01-18 04:04:17 +02:00
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 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 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 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
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 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 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 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
Kam a0de82b8e4 Merge branch 'claude/fix-npc-spawn-biomes-hPE8Q' into dev 2026-01-03 15:55:31 -05:00
Claude f6114dfa5e Fix NPC biome spawn settings not persisting after editing
When users modified biomes, dimensions, or spawning options through the
sub-GUI dialogs, changes were only stored in client memory and never sent
to the server. This caused spawn configurations to appear correct in the
UI but fail to work after server restarts.

The closeSubGui() method now calls save() when SubGuiNpcBiomes,
SubGuiNpcDimensions, or SubGuiSpawningOptions dialogs close, ensuring
changes are immediately sent to the server via NaturalSpawnSavePacket.

Added @Override annotation for consistency with other GUI classes.
2026-01-02 09:50:28 +00:00
Kam 6cc78a62aa Merge branch 'claude/fix-bard-music-dialog-bug-Rm8DP' into dev 2026-01-02 00:09:38 -05:00
Claude f5deb8a823 Fix Bard music restarting/duplicating when opening dialogs
Two issues were causing the bug:
1. GuiDialogInteract.close() called stopAllSounds() unconditionally,
   which stopped Bard music even when the dialog had no sound or
   when a different Bard was playing nearby.

2. MusicController.stopMusic() didn't set playDelay, allowing Bards
   to immediately restart their music after dialog close.

Changes:
- MusicController.stopMusic() now sets playDelay=20 and clears entity
  reference to prevent immediate music restart
- Added MusicController.stopSound(key) to stop specific sounds
- Dialog GUIs now track their dialog sound and only stop that on close,
  preserving Bard music and other sounds
2026-01-02 03:54:19 +00:00
Kam 07a10b8414 Remove this 2026-01-01 22:35:32 -05:00
Claude 370abd2f94 Fix Player Data search functionality bugs
- Fix category search logic for Quest/Dialog/Transport tabs that was
  incorrectly checking selectedCategory.isEmpty() before filtering,
  which cleared the category list instead of filtering it
- Add resetScroll() calls to all search methods so scroll position
  resets when search results change
2025-12-30 23:04:32 +00:00
Kam 2065d5dde5 Merge branch 'mount-movement-fix' into dev 2025-12-30 17:49:27 -05:00
bigguy345 358fd7e643 Unresolved object class types are now UNDEFINED 2025-12-22 21:19:26 +02:00
bigguy345 f785b034ff Implemented PackageFinder.find in ClassPathFinder 2025-12-22 21:05:23 +02:00
bigguy345 a77b550b21 Properly package index on FMLLoadCompleteEenet 2025-12-22 21:04:59 +02:00
bigguy345 242d9fa1cb crazy PackageFinder 2025-12-22 20:40:12 +02:00
bigguy345 c13faca8ae Huge import detection logic rewrite plus optimisations 2025-12-22 20:33:45 +02:00
bigguy345 e0d3226945 Fully functional syntax highlight of classes resolved from import wildcards i.e. import java.util.*
List<String> list
2025-12-22 18:45:54 +02:00
bigguy345 0d03871444 Fixed last dot in import "impot java." breaking syntax highlight 2025-12-22 17:56:37 +02:00
bigguy345 83f45fe6b8 Fixed imports not resolving
if wrapped to new line
2025-12-22 17:39:56 +02:00
bigguy345 01e2c354d5 Adjusted OverlayKeyPreset to fullscreen mode 2025-12-22 16:31:12 +02:00
bigguy345 26ed55ceb5 Corrected minimise icon 2025-12-22 16:06:20 +02:00