Jbank

JBANK— Bank System enconomy for Hytale

File Details

Jbank-1.2.0.jar

  • R
  • Mar 30, 2026
  • 2.75 MB
  • 19
  • Early Access

File Name

Jbank-1.2.0.jar

Supported Versions

  • Early Access

[1.2.0] — 2026-03-30

Added

  • Loan System (Empréstimos) — full in-game lending system accessible via the bank sidebar

    • Compound interest calculated with the Tabela Price / PMT formula (PMT = P × r / (1 − (1+r)^−n)). Weekly period rate is compounded from the daily rate: r_weekly = (1 + r_daily)^7 − 1, so longer or weekly installment plans correctly cost more
    • Configurable installment count (1–12) selectable directly in the GUI with / + buttons; daily or weekly period selectable with dedicated term buttons
    • Configurable max loan amount (loanMaxAmount, default: 1,000,000) — players can borrow far beyond their current balance, paying it back over time
    • Market rate varies automatically over time based on total loan volume on the server (higher demand → higher rate); bounded by loanMinInterestPercent and loanMaxInterestPercent
    • Credit score per player (0–200, neutral = 100) adjusts the effective rate up or down by up to loanMaxCreditAdjustPercent. Score improves on timely payments and worsens on missed payments or default
    • 2-step confirmation on loan request: first click shows total cost and installment amount for review; second click executes
    • Auto-collection every 5 minutes: due installments are deducted automatically from the player's bank balance
    • Early repayment option with a configurable discount (loanEarlyPaymentDiscountPercent) applied to remaining interest
    • Default handling: after 2 consecutive missed installment periods the loan is marked DEFAULTED, remaining balance is zeroed against the bank, and credit score is reduced by 50
    • Full chat notifications: loan granted (amount + installment breakdown), each payment, full repayment
  • Bank Rank — top-10 leaderboard accessible from the bank sidebar, ranking players by total patrimony (bank balance + current stock portfolio value)

  • Bank Transfers — player-to-player bank transfers with 2-step confirmation (first click shows recipient and amount for review; second click transfers). Both sender and receiver receive chat notifications

  • Offline Interest — players who are offline at payout time now receive a fraction of the standard rate (configurable via offlineInterestPercent, default: 50%). Set to 0 to restore the previous online-only behaviour

  • Interest cap — optional ceiling on the amount credited per payout (maxInterestEnabled + maxInterestValue). Useful on servers where a few players hold very large balances

  • Anti-monopoly — each stock now supports a maxSharesPercentPerPlayer field. When set, a single player cannot hold more than that percentage of the stock's total shares; buy attempts that would exceed the limit are rejected

  • Stock ID in transaction history — STOCK_BUY, STOCK_SELL and DIVIDEND history entries now include the stock ticker in the label (e.g. "Compra Ação PETRO", "Dividendo TECH"), making it easy to see which stock each transaction relates to

Fixed

  • Stock buy now correctly debits from bank only — previously buy() called the general withdraw() method, which applied the bank's withdrawal fee and returned the net amount to the player's wallet. Purchases now use a direct bank-balance debit with no economy side-effects
  • Stock sell now recorded as STOCK_SELL — previously sell() called creditToAccount() without a type, which defaulted to INTEREST and appeared as "Rendimento" in the history

Changed

  • Transaction history now includes two new stock types: STOCK_BUY (orange) and STOCK_SELL (teal), in addition to the existing DIVIDEND (gold), LOAN_RECEIVED (purple) and LOAN_PAYMENT (pink)
  • config.json now includes: offlineInterestPercent, maxInterestEnabled, maxInterestValue, loanEnabled, loanMaxAmount, loanMinInstallments, loanMaxInstallments, loanMinInterestPercent, loanMaxInterestPercent, loanVolatility, loanPressureFactor, loanEarlyPaymentDiscountPercent, loanMaxCreditAdjustPercent