bigguy345
26a9c99000
All Imports used in JaninoScript implementations (param types/return types) are now passed implicitly to ScriptDocument to store for when hook stubs are generated/hooks are manually added
2026-01-14 03:02:15 +02:00
bigguy345
165e3e2d14
Passed default imports to JaninoScript
2026-01-14 02:49:20 +02:00
bigguy345
21e05575ad
merge conflicts
2026-01-14 00:30:25 +02:00
bigguy345
0a33f7dd12
Merge branch 'janino-scripts' into syntax-highlighter-unified
...
# Conflicts:
# src/main/java/noppes/npcs/blocks/tiles/TileScripted.java
# src/main/java/noppes/npcs/client/gui/GuiScript.java
# src/main/java/noppes/npcs/client/gui/script/GuiJaninoScript.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptEffect.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptLinkedItem.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptRecipe.java
# src/main/java/noppes/npcs/controllers/data/DataScript.java
# src/main/java/noppes/npcs/controllers/data/EffectScript.java
# src/main/java/noppes/npcs/controllers/data/ForgeDataScript.java
# src/main/java/noppes/npcs/controllers/data/GlobalNPCDataScript.java
# src/main/java/noppes/npcs/controllers/data/IScriptHandler.java
# src/main/java/noppes/npcs/controllers/data/IScriptUnit.java
# src/main/java/noppes/npcs/controllers/data/LinkedItemScript.java
# src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java
# src/main/java/noppes/npcs/controllers/data/RecipeScript.java
# src/main/java/noppes/npcs/janino/JaninoScript.java
# src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java
2026-01-14 00:28:11 +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
bigguy345
95e7b3255e
resolved merge conflicts with dev
2026-01-13 18:14:38 +02:00
bigguy345
83e11a05da
Merge branch 'refs/heads/dev' into syntax-highlighter-unified
...
# Conflicts:
# repositories.gradle
# src/main/java/noppes/npcs/client/gui/script/GuiScriptBlock.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptEffect.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptItem.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptLinkedItem.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java
# src/main/java/noppes/npcs/client/gui/script/GuiScriptRecipe.java
2026-01-13 18:12:23 +02:00
bigguy345
818acfb00b
Abstracted ScriptContainer & JaninoScript to IScriptUnit + global implementation
2026-01-13 17:34:14 +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
bigguy345
ecf1b38763
GuiScript now extends GuiScriptInterface + Full screen support
2026-01-12 03:56:22 +02: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
bigguy345
4311931f25
Made these 3 detached GuiScripts depend on GuiScriptInterface
2026-01-12 03:28:18 +02:00
Kam
11808df036
Script Hook Handler
2026-01-11 17:15:13 -05:00
Kam
cc94773845
Merge pull request #250 from KAMKEEL/review-ability-system-variables-in-custom-npc+
...
Refactor ability logic: remove vertical KB, add teleport modes, cutter/guard updates, collision & sounds
2026-01-11 16:05:00 -05:00
Kam
828e99d427
Revise ability logic and configs
2026-01-11 16:04:49 -05:00
bigguy345
3ef16fb2ab
submodules
2026-01-11 17:03:00 +02:00
Kam
3dc56aba06
Update api
2026-01-10 23:06:39 -05:00
Kam
a0184206bf
Update api
2026-01-10 23:06:30 -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
479a2c5384
Update api
2026-01-10 02:17:00 -05:00
Kam
bd9e0fdf43
Update api
2026-01-10 02:16:49 -05:00
bigguy345
c82f7517de
Revert "Annotations for API events"
...
This reverts commit 06aa0ce22e .
2026-01-10 07:13:00 +02:00
bigguy345
06aa0ce22e
Annotations for API events
2026-01-10 07:12:46 +02:00
bigguy345
5b36cdac1b
Made ScriptContext class based instead
2026-01-10 06:53:48 +02:00
bigguy345
576401ebde
Added object instantiation for Jave.type: i.e.
...
var FileClass = Java.type("java.io.File")
var file = new FileClass("name")
2026-01-10 06:31:27 +02:00
bigguy345
0d11db729b
Merge remote-tracking branch 'origin/syntax-highlighter-unified' into syntax-highlighter-unified
2026-01-10 06:04:07 +02:00