Feature Request: Secure ATMs
TraipsingShadow opened this issue · 3 comments
Is your feature request related to a problem? Please describe.
I found that it would be a lot more immersive for players to have their currencies be exchanged to others only either through vending machines and ATMs. I've already edited the configs and prevented wallets from converting coins (well, setting it to 5 and removing the recipe for the netherite tier did the trick. Wish there was a toggle for that too!) and have naturally settled on ATMs to do the work for transferring funds and converting coins.
However, the problem arises with people being able to break ATMs, regardless of who placed it, which allows them to break and place it back wherever they want! I do not want players to have that "convenience" per se for the sake of immersion. Unfortunately there's no way to lock an ATM or secure it.
Even if the smartphone-like ATM is disabled (crafting recipe), as soon as they get to secretly steal an ATM machine, they can plop it down wherever, transfer money to their bank account, and break it to keep it again.
Just to note, I've also removed the smartphone-like ATM recipe!
Describe the solution you'd like
Introduce the same "protection" mechanism for the ATM as for the other trader blocks. It must prevent prevent players who don't own the ATMs (say, the owner of the "bank building" owns it) to break and steal it.
An addition to that would be during lcadmin
mode, you could lock ATMs from being broken entirely, like a sort-of "server-owned" block.
Describe alternatives you've considered
I've done my part with:
- Editing the configs to lock currency exchange;
- Edited the configs to disable (
false
) crafting of other blocks; - Used a separate mod to remove the recipes which couldn't be disabled;
- Attempted to use Security Craft to reinforce it but unfortunately this is also not possible;
- Creating a "shell" to prevent stealing but the ATM block can still be broken and players place water to float it towards them; and
- Using a world protector mod but it is tedious compared to Lightman's Currency built-in "permissions" system.
Sorry, but ATMs don't have block entities, nor do I plan on giving them one for such a niche case.
Combine that with the fact that exchanging coins is a core function of my mods money system, I don't believe that limiting a players ability to do so will ever be something I wish to endorse.
I understand the part on the exchanging coins and will back down on that part.
But I hope you'll at least consider the fact regarding the wallet losing its purpose once you have an ATM, both the machine and the "handheld" one, as you can use either (the former as placing it down and breaking it to carry it and the latter as an on-demand access) to access your bank account.
Apart from the convenient auto-changer and magnet, why would you want to carry a wallet when you can just access your entire bank account in the palm of your hands? It's way too convenient. And while that's all well and good for other types of gameplay, it loses the immersion entirely since you can make money appear out of thin air.
From my understanding, the handheld ATM is a lot like a mobile banking app. This is great! And getting money to and from using it is cool. Luckily this can be disabled via blocking the crafting recipe if the server admin wishes to do so.
With the ATM, at first I was really glad it exists. Like in "real life," you can withdraw and deposit CASH via the ATM as well as wire transfer money to and from players. But then later realized that people can just make it their very own portable unlimited wallet. They can even steal the entire thing!
To sum, I wish you'd consider a toggle or some type of solution that would prevent players from easily cashing out or depositing their money.
I'm not saying it has to be super realistic that you'd need to refills the ATM machines with freshly-minted coins from the bank (which would admittedly be cool, but I think that's not the vision you have for this mod) but a "somewhere in between immersive and believable" solution that allows server administrators to:
- Limit the ways players can encash/cash out money from their accounts; and
- Limit the ways players can deposit money to their accounts.
At least with this, it (hopefully) wouldn't break existing ATM setups.
I'd like to someday get the feeling from this mod wherein you'd be able to walk to your local bank to deposit the extra cash you earned or get excited by lining up the queue on your local bank's ATM for your paycheck.
Thematic-wise, I am of the firm belief that it would fit. Given your plethora of options with in-store trading as well as "online shopping," this helps bridges the gap—as well as demarcates the boundary—between your bank account (ONLINE) balance and your wallet (OFFLINE) balance.
I humbly ask you consider this suggestion.
(also, I do not know if it is intentional, but the Discord link on the readme page on GitHub is an invalid link.)
I honestly don't see how the wallet loses its purpose at all. If anything, the Netherite Wallet having bank account capabilities is supposed to make the ATM lose its purpose, not the other way around.
The main advantage of wallets is to allow my mod to be as unobtrusive as possible, meaning that players don't lose any inventory space to coins, coins dropped by mobs can be automatically collected and placed into the wallet regardless of whether their normal inventory is full, and coins found in loot chests can be quickly and instantly collected without having to shuffle coins around in their inventory.
And the most important feature of the wallet is that you don't need to move coins around to make any purchases either. Any money in your wallet can be used to pay for any purchase interaction (including commands such as /lcclaims buy claim
, etc.) without having to move coins into and out of your inventory to put them in the coins slots of a trader. No matter how good bank accounts are, you can't buy something from a trader without opening your ATM, withdrawing the required amount of coins, and then accessing the trader and moving the coins into the traders coin slots (or craft and set up a Trader Interface block for bulk purchases).
The purpose and utility of the bank accounts (and by extension the ATM) is to both give players a safe place to store their money without any risk of it being stolen or looted by another player (or lost in a fire after dying, although a Netherite Wallet does mitigate this risk somewhat as long as you can pick it back up after respawning), as well as to give some of the more technological aspects of my mod a way of collecting and/or paying money for a player that is not actually online (such as money transfers from the ATM, the aforementioned Trader Interface blocks, as well as allowing traders to pay our or collect money from trade interactions directly to a bank account for ease of access).
While I admit, it might be interesting to some to make it more immersive, I took great care to make sure that my item-based money system requires as little actual item interaction as possible. Forcing people to be unable to exchange coins in their wallets would result in it quickly filling up with copper & iron coins from mob loot, making even the largest of wallets useless. And having to constantly walk and/or teleport back to spawn just to access the public ATMs to turn all of your copper coins into more compact forms, while it would be immersive, it would also just be a royal pain in the a** to have to constantly do.
My apologies if this is not to your liking, but my mod is simply not designed in a way that this could ever be implemented without completely changing my entire system, even more so than I already did in the v2.2 update I just posted today (and trust me, that was quite the hassle)
Edit: I also fixed the invite link. It was broken because I changed discord server at one point, and never got around to updating the readme. Regardless, if you truly wanted to find a working discord link, the links on all of my mod descriptions all work properly.