easymoneyaddonmod-0.2.0.jar
Curse Maven Snippet
What's new
NPC Bank
Each NPC can be a separate bank. A player has a separate savings account at every bank NPC, and their account is shared normally with their FTB Teams team only where FTB Quests controls quest progress; bank money itself belongs to the individual player.
Fastest setup: open the bank on interaction
This is the recommended setup. It uses the existing Easy NPC editor and requires no commands, UUIDs, or dialog configuration.
- Edit the NPC with the Easy NPC configuration GUI.
- Open Action Events, then select On Interaction.
- Add an action and select Custom as its action type.
- Enter
easymoneyaddonmod:bank_menuas the custom action ID. Leave arguments empty. - Do not select Command. Commands are intentionally guarded by Easy NPC's command allowlist and cannot invoke the bank action.
- Remove any
Open Default DialogorOpen Trading Screenaction from this event, or movebank_menubelow them so it executes last. - Save the NPC.
Right-clicking the NPC now opens the bank menu. The bank menu contains deposit and withdrawal controls for 1, 10, 100, 1,000, and all available money, plus wallet and savings balances.
Easy NPC 7.11.0 does not offer an API that lets add-ons insert a new configuration tab or checkbox in its editor. Action Events -> On Interaction -> Custom Action -> bank_menu is the supported in-GUI equivalent of enabling the bank option for an NPC. It stores the setup with the NPC, survives restarts, and works with every Easy NPC type.
Dialog-button setup
Use this when the player should read NPC dialogue and explicitly select a bank option.
- Edit the NPC, then create or select a dialog in the Easy NPC dialog editor.
- Add a dialog button, such as
Open Bank. - Configure that button's action type as Custom (not Command).
- Enter
easymoneyaddonmod:bank_menuwith no arguments. - Save the dialog and NPC.
The player opens the dialogue normally and selects the button to open the same bank menu. You can freely customize the dialog text, button text, NPC appearance, and other dialog buttons.
Bank action IDs
The bank menu is the simplest setup. The fixed-value actions remain available for custom dialog flows.
| Action ID | Arguments | Result |
|---|---|---|
easymoneyaddonmod:bank_menu |
None | Opens the interactive bank menu. |
easymoneyaddonmod:bank_deposit |
<amount> |
Deposits exactly that amount. |
easymoneyaddonmod:bank_withdraw |
<amount> |
Withdraws exactly that amount. |
easymoneyaddonmod:bank_balance |
None | Shows current savings balance in chat. |
Amounts must be finite positive decimal numbers. For example, use 10, 10.5, or 250.00. Amounts are stored and processed to two decimal places.
Bank safety and configuration
These server-wide settings apply to every NPC bank:
| Config key | Default | Meaning |
|---|---|---|
transactionCooldownSeconds |
1 |
Minimum time between successful transactions at an NPC. 0 disables it. |
dailyDepositLimit |
0.0 |
Per-player, per-NPC UTC-day deposit cap. 0 means unlimited. |
dailyWithdrawLimit |
0.0 |
Per-player, per-NPC UTC-day withdrawal cap. 0 means unlimited. |
transactionFeePercent |
0.0 |
Percentage removed from deposits and withdrawals. |
dailyInterestPercent |
2.0 |
Compounded interest added after each completed 24-hour period. |
maximumSavingsBalance |
0.0 |
Maximum savings at one NPC bank. 0 means unlimited. |
requiredPermissionLevel |
0 |
Vanilla permission level required to use a bank. 0 allows all players. |
For a deposit fee, the player pays the entered amount and the account receives the amount after the fee. For a withdrawal fee, the account loses the entered amount and the player receives the amount after the fee. If a fee would leave no money to credit or pay, the transaction is rejected.
Bank menus remain valid only while the player is within 8 blocks of the source NPC. They close if the player walks away or the NPC is no longer available. Shift-clicking cannot move bank-menu items. Successful and rejected transactions are written to the server log as BANK_AUDIT.
Savings data is stored with the overworld in easymoneyaddonmod_npc_banks. It persists through restarts. Interest is calculated from real time, including time while the server is offline.
Money actions
Add an Easy NPC Custom Action and set one of the following IDs:
| Action ID | Arguments | Result |
|---|---|---|
easymoneyaddonmod:spend |
<amount> |
Removes money from the interacting player. |
easymoneyaddonmod:pay |
<amount> |
Charges the player's DiceMCMM wallet as payment to this NPC. |
easymoneyaddonmod:complete_task |
<ftb-task-id> |
Completes an available FTB Quests task. |
easymoneyaddonmod:pay_for_task |
<amount> <ftb-task-id> |
Charges money and completes the task atomically. |
pay_for_task checks the task before taking money. If the task ID is invalid, unavailable, locked by quest progression, or already complete, it does not charge the player. Task IDs are decimal FTB task IDs, not quest IDs.
Selling an NPC item or service
Add easymoneyaddonmod:pay as a Custom action on the dialog button or interaction with the price as its only argument. It debits the player's DiceMCMM wallet only when it has the full price. Use pay_for_task for a service that should also complete an FTB Quests task. Configure paid item or service rewards through the corresponding FTB Quests reward, since Easy NPC action sequences do not conditionally stop later actions when a custom action rejects payment.
FTB Quests integration
Easy NPC Interaction task
The addon adds the Easy NPC Interaction task type to FTB Quests.
- Create and save the Easy NPC.
- In FTB Quests edit mode, add an Easy NPC Interaction task to a quest.
- Set the task's
npc_uuidfield to the NPC entity UUID. - Save and exit edit mode.
Right-clicking that NPC completes every available matching task for the interacting player's FTB team. This works with Basic Dialogue, configured dialog, direct-open banks, and dialog-button banks. The task writes actual completed FTB progress and triggers normal FTB Quests completion events, rewards, and notifications.
To find the UUID, right-click the NPC and locate this Easy NPC server-log format:
Opening menu <menu-uuid> for npc <npc-entity-uuid> and player <player>
Use the value after for npc, not the menu UUID, NPC display name, dialog ID, or FTB task ID. An empty npc_uuid intentionally never matches an NPC.
Easy NPC Custom Action task
The Easy NPC Custom Action task completes when a configured EasyMoney Addon action successfully runs at a configured NPC.
- Add Easy NPC Custom Action to the FTB Quest.
- Set
npc_uuidto the NPC entity UUID. - Set
action_idto an action ID, such aseasymoneyaddonmod:bank_deposit.
For bank_menu, the task completes when the bank menu opens. For deposit or withdrawal tasks, it completes only when the transaction succeeds.
Easy NPC Payment task
The Easy NPC Payment task completes when a player successfully spends, pays, or uses pay_for_task at the configured NPC for at least minimum_amount. Set npc_uuid to the NPC entity UUID and set the minimum payment required. This is useful for paid NPC items, services, and access fees.
Easy NPC Bank Transaction task
The Easy NPC Bank Transaction task completes after a successful bank deposit or withdrawal at the configured NPC. Set operation to deposit, withdraw, or either, and set minimum_amount to require a minimum transaction size. The task never completes from a rejected transaction.
Troubleshooting
| Problem | Check |
|---|---|
bank_menu does nothing |
Confirm the action type is Custom, not Command; the action ID must be exactly easymoneyaddonmod:bank_menu with no arguments. A Blocked execute-as-player command log warning confirms that Command was selected. |
| Bank opens but buttons reject transactions | Check money balance, cooldown, daily limits, fee, and required permission level in the common config. |
| Menu closes immediately | Stand within 8 blocks of the configured NPC and confirm it is loaded. |
| FTB task does not complete | Use Easy NPC Interaction, set the entity UUID, leave FTB edit mode, and confirm the quest is unlocked. |
| Wrong NPC completes a task | Recheck npc_uuid; it must be the entity UUID after for npc in the Easy NPC log message. |
| Changes to config do not apply | Restart the server after editing the common config. |
When an NPC interaction completes a matching FTB task, the server log includes:
Completed <count> Easy NPC interaction task(s) for player <player> at This mod has no additional files

