Commit Graph
1525 Commits
Author SHA1 Message Date
Kam aa923fae54 Remove Analystics 2026-01-23 00:51:01 -05:00
Kam a9b602713c Large Cleanup to Code Imports and Formatting 2026-01-22 23:07:38 -05:00
Kam 31aac0d6b3 GUI fixes and small bug fixes to Script GUIs, Overlay GUI, etc 2026-01-22 22:52:04 -05:00
bigguy345 50e9f1b3e5 HUGE IScriptHandlerPacket merge.
All ScriptHandlers that send packets now directly define their data through the ScriptHandler class itself, NOT through their own GuiScript extended class.
2026-01-22 20:05:07 +02:00
bigguy345 3f8373d76f Merge branch 'dev' into janino-scripts 2026-01-22 19:53:18 +02:00
Kam d0dc8a4578 Trader System + Stocks Implemented
- Removed Auction System Temporarily for Full Rebase
2026-01-22 12:38:56 -05:00
Kam 692b985237 Cleanup for Langs + Abilities 2026-01-20 23:50:42 -05:00
Kam 04e2a57cb4 Auction Merge 2026-01-20 21:07:18 -05:00
bigguy345 4cb1eee017 Only showed language button in script tab when script supports multiple languages 2026-01-19 04:46:26 +02:00
bigguy345 f8c9faac0b - Implemented getLanguageOptions() with server-to-client fallback logic to ensure "Java/Janino" is correctly listed and synchronized in the script GUI.
- Renamed `getScriptIndex` to `getLanguageIndex` in `GuiScriptInterface` and its subclasses to resolve naming ambiguity between tabs and engine selection.
2026-01-19 04:06:11 +02:00
bigguy345 f5dbe19de2 New IScriptHandlerPacket:
- Defines the packet-backed script GUI contract used by GuiScriptInterface for “streamed” script loading/saving.

- Updated EffectScript, LinkedItemScript and RecipeScript to implement IScriptHandlerPacket

- Removed GuiScriptEffect, GuiScriptLinkedItem and GuiScriptRecipe as their functionality got replaced with new interface handled by GuiScriptInterface
2026-01-18 17:57:10 +02:00
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 db14662e90 Fix auction GUI tab actions 2026-01-04 20:10:58 -05:00
Kam bc7e768d5f Show auction inventory only on create tab 2026-01-04 15:59:01 -05:00
Claude e7f6177be8 Add Auctioneer role to NPC GUI and connect auction system
- Add Auctioneer to role dropdown in GuiNpcAdvanced
- Create GuiNpcAuctioneer setup GUI for configuring:
  - Tab visibility (browse, my listings, my bids, claims)
  - Player actions (create, bid, buyout)
  - Custom welcome/disabled messages
- Add PlayerAuction container handler in CommonProxy
- Add PlayerAuction GUI handler in ClientProxy
- Add all role.auctioneer lang keys to en_US.lang
2026-01-04 20:37:00 +00:00
Kam d657bab73c Harden auction display and trader stock init 2026-01-04 15:21:11 -05:00
Claude 740c2852e5 Refactor auction system: consolidate controllers, add lang keys, remove categories
- Consolidate AuctionLogger and AuctionNotificationController into AuctionController
- Add inline logging and notification methods to AuctionController
- Add comprehensive LANG keys for all auction GUI strings
- Update EnumAuctionSort and EnumAuctionDuration to use lang keys
- Remove category filtering system (EnumAuctionCategory deleted)
- Update AuctionFilter to remove category references
- Update GuiAuction and all sub-GUIs to use StatCollector.translateToLocal()
- Update AuctionListing to remove category field and NBT serialization
2026-01-04 10:26:56 +00:00
Claude a1de79053b Implement Phase 6: GUI components, notifications, and logging system
Add auction GUI components:
- GuiAuction: Main auction browse interface with search, categories,
  sorting, pagination, and live countdown timers
- SubGuiAuctionBid: Bid placement dialog with quick bid buttons
- SubGuiAuctionCreate: Listing creation form with duration options
- SubGuiAuctionDetails: Item details view with 2x scaled rendering
- ContainerAuction: Container class for auction GUI inventory

Add notification system:
- AuctionNotificationController: Handles real-time notifications
- Supports outbid, won, sold, expired, cancelled events
- Queues notifications for offline players
- Sends pending notifications on player login

Add auction logging:
- AuctionLogger: Comprehensive logging to CNPC+ log system
- Logs all auction events (create, bid, buyout, expire, claim)
- Includes system startup and processing tick logs
- Admin action tracking

Integrate with existing systems:
- Initialize AuctionNotificationController on server start
- Hook player login for notification delivery
- Add logging calls to all AuctionController methods
2026-01-04 10:09:40 +00:00