Commit Graph
655 Commits
Author SHA1 Message Date
Kam e4fe8c5112 Max Hits for Piece and Multi 2026-02-23 14:21:55 -05:00
Kam 37b38daa00 Improved Natural Despawn Handling PR 4 - Natural Spawns 2026-02-23 05:44:45 -05:00
Kam adf9cd7012 Add Barrier Reflection! 2026-02-23 00:17:34 -05:00
Kam b6749e306b Add Hit Type to Projectiles 2026-02-21 20:39:16 -05:00
Vidal e194bd71cd Fixed setRace 2026-02-21 17:13:42 -03:00
Kam ecfedff9d2 - Barrier Health Scaling with DBC Addon
- Healing Health Scaling with DBC Addon
- Ki Attacks collided with Barriers
- Remove Ability Slot (Deprecated)
- Refactored Naming Scheme for Barrier Abilities
- Fixed Player Settings for Ignore Dex, DBC Stats, etc.
2026-02-21 14:40:14 -05:00
Kam a18503dfe9 Fix Domes 2026-02-21 01:09:39 -05:00
Kam 0e6ece56c6 Fix DBC Toggle Abilities and Wheel System 2026-02-18 22:19:18 -05:00
Kam 1de1c4e710 Reformat Code 2026-02-18 05:13:51 -05:00
Kam 4510b3bbd1 Large Auction Cleanup + Auction Events
- Auction Enums
- Better Notification Handling
- Auction Cancelation Events
- Lang Key Cleanup
2026-02-18 04:55:03 -05:00
Kam 0512588a7a Add Chained Abilities 2026-02-18 04:02:51 -05:00
KamandClaude Opus 4.6 0311dc5806 Merge upstream dev: name-based storage, UUID/DisplayName, toggle system
Resolved conflicts in AbstractDataAbilities, DataAbilities, PlayerAbilityData
to integrate both toggle system (upstream) and chain delay tracking (local).
ChainedAbility now has UUID and DisplayName fields matching Ability pattern.
ChainedAbilityController rewritten: saves in abilities/chained/, dual-index
by name and UUID, legacy migration from chained_abilities/ directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:27:49 -05:00
KamandClaude Opus 4.6 2f814c1903 IAbilityAction interface, AbilityAction unified slot, and bug fixes
- Added IAbilityAction interface (internal + API) for unified Ability/ChainedAbility handling
- Created AbilityAction (replaces AbilitySlot) with 3 modes: INLINE_ABILITY, ABILITY_REFERENCE, CHAIN_REFERENCE
- Unified DataAbilities storage from dual lists to single List<AbilityAction>
- Added ChainedAbility, ChainedAbilityEntry, ChainedAbilityController
- Updated PlayerAbilityData with resolveActionKey() for chain: prefix resolution
- Added resolveAction/canResolveAction to AbilityController
- Fixed unsafe cast in DataAbilities.onDamage()
- Fixed NPE in GuiNPCAbilities for chain reference slots
- Fixed NPC chain interrupt double cooldown
- Fixed removeAbility() incorrectly removing chain references

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:22:03 -05:00
Kam 6514b217b9 Abilities are now Stored by Name not UUID. Refactor Built In and Toggleable Abilities 2026-02-17 23:08:12 -05:00
Kam c7956a24a6 Abilities are now Stored by Name not UUID 2026-02-17 20:44:27 -05:00
Kam c07e9e7006 Create Barrier Abilities + Heavy Refactoring 2026-02-17 14:32:13 -05:00
Kam 071d89cc15 Add energy projectile types and events: implement IEnergyOrb, IEnergyBeam, IEnergyDisc, and IEnergyLaser interfaces, along with their respective script handlers and event hooks 2026-02-16 01:03:05 -05:00
Kam 121563ba24 Enhance knockback mechanics: add methods for applying and forcefully applying knockback, respecting or ignoring knockback resistance 2026-02-15 23:07:57 -05:00
Kam 095709b9d2 Add ability wheel and toggle abilities for enhanced gameplay 2026-02-05 22:49:40 -05:00
Vidal 75de803700 Added interfaces to energy data, refactored names 2026-02-03 15:45:45 -03:00
Vidal b9e82e4c5b Fixed mysterious override stopping the game from running
Kam let's please stop using claude for everything this BuiltInAbility is not even used
2026-01-31 16:37:28 -03:00
Vidal 4a5b0f4995 Updated overrides and imports 2026-01-30 20:21:45 -03:00
Kam 1b8ad4dd90 Player Abilities 2026-01-30 05:01:54 -05:00
Kam 83ccd25b33 Merge Conflicts + Scripting for Abilities 2026-01-28 14:44:19 -05:00
Vidal 92e69bb270 Changed Player Dialog Events to work like NPC Dialog Events 2026-01-25 21:13:42 -03:00
Kam 3577701edf Auction Fixes + Auction API Hookup 2026-01-24 15:11:50 -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 19b01e2099 Compress Script Hooks and Context System 2026-01-22 14:27:48 -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 04e2a57cb4 Auction Merge 2026-01-20 21:07:18 -05: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 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
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 166c8aa228 Ability Push 2026-01-09 15:29:00 -05:00
Claude 57f9b706bf Implement Phase 5: Network packets, permissions, and scripting API
- Add auction permission nodes (use, list, bid, buyout, admin)
- Create AuctionActionPacket for client-server communication
  - Supports: CreateListing, PlaceBid, Buyout, CancelListing, ClaimItem, ClaimProceeds
  - Includes permission checks and validation
- Register packet in PacketHandler
- Add auction scripting API methods to ScriptPlayer:
  - getAuctionListingCount()
  - getMaxAuctionListings()
  - hasAuctionClaims()
  - getAuctionClaimCount()
  - getActiveAuctionBidCount()
2026-01-04 08:57:13 +00:00
Claude dc9d15f3e3 Implement Phase 3: Item Attributes & Restrictions
- Add ItemTradeAttribute.java for trade restriction utilities
  - TAG_UNTRADEABLE for items that cannot be traded
  - Check existing TAG_PROFILE_SLOT and TAG_SOULBIND tags
  - canTrade() checks all three restriction types
  - getTradeBlockReason() returns localization key for UI
  - Utility methods for setting/getting each restriction type
  - clearAllRestrictions() and getRestrictionSummary() helpers

- Add AuctionBlacklist.java controller
  - Blacklist items by registry name (e.g., "minecraft:diamond_sword")
  - Blacklist entire mods by mod ID (e.g., "minecraft")
  - Blacklist items with specific NBT tags (supports dot notation)
  - isBlacklisted() and getBlacklistReason() for checking
  - Persistence via auction_blacklist.dat
  - Add/remove methods for each blacklist type

- Initialize AuctionBlacklist in CustomNpcs.java

- Add scripting API methods to ScriptItemStack.java
  - canTrade() - check if item can be traded
  - getTradeBlockReason() - get block reason
  - isUntradeable() / setUntradeable() - manage untradeable flag
  - isProfileSlotBound() / getProfileSlot() / setProfileSlotBound()
  - isSoulbound() / getSoulbindOwner() / removeSoulbind()
  - clearTradeRestrictions() - remove all restrictions
  - getRestrictionSummary() - human-readable summary
2026-01-04 08:34:45 +00:00
Claude 7e6b17c106 Implement Phase 1: Currency System foundation
- Add ConfigMarket.java with separate market.cfg config file
  - Currency settings (name, starting balance, max balance, Vault integration)
  - Auction settings (durations, fees, snipe protection, claim expiration)
  - Trader settings (stock system defaults)

- Add PlayerCurrencyData.java for balance storage
  - NOT profile slot bound - shared across all slots
  - Tracks balance, lifetime earned, and lifetime spent
  - Deposit/withdraw with overflow protection

- Add VaultHelper.java for Bukkit hybrid server integration
  - Reflection-based VaultAPI integration
  - Falls back to internal currency when Vault unavailable
  - Supports getBalance, deposit, withdraw, transfer operations

- Add CurrencyController.java for currency operations
  - Claims system for auction refunds and NPC payments
  - Claim expiration with configurable days
  - Persistence via currency_claims.dat

- Update PlayerData.java to integrate currency
  - Separate loadCurrency/saveCurrency methods
  - Currency file stored separately from slot data

- Add scripting API methods to ScriptPlayer.java
  - getCurrencyBalance(), addCurrency(), removeCurrency()
  - canAffordCurrency(), getCurrencyName(), formatCurrency()
  - hasPendingClaims(), getPendingClaimsTotal(), claimAllCurrency()
2026-01-04 08:14:29 +00:00
Kam 592a910cbc Add some more Attack Speed Handling 2025-12-30 19:29:44 -05:00
lonewolf8351 c3651fd6f7 Merge remote-tracking branch 'origin/dev' into dev 2025-12-03 13:43:33 -05:00
lonewolf8351 bdf3791e38 Added setHurtTime function to IEntityLivingBase 2025-12-03 13:43:11 -05:00
Kam d00c1cf156 Refine mount role rider positioning and home behavior 2025-11-06 01:42:55 -05:00
Kam 9df3db48ce Update DEV Api Reference 2025-10-28 00:10:58 -04:00
lonewolf8351 85a117fa6a Merge remote-tracking branch 'origin/dev' into dev 2025-10-28 00:07:02 -04:00
lonewolf8351 6e43c34e91 Added getPartyMembers() method to Iplayer 2025-10-28 00:06:41 -04:00