Giter Site home page Giter Site logo

gringotts's People

Contributors

angellusmortis avatar bezeek avatar bundabrg avatar dependabot[bot] avatar exec64 avatar gitter-badger avatar ionaru avatar jastice avatar kjburr avatar nikosgram avatar noidexe avatar squidicuzz avatar theflagcourier avatar vaiton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gringotts's Issues

vault destroyed

Everytime someone creates a vault the previous get destroyed

Plugins: Orebfuscator, GroupManager, NoCheatPlus, WorldEdit, Multiverse-Core, BanHammer, CombatTag, Questioner, Gringotts, WorldGuard, UberForest, BloodMoon, TreeAssist, AntiJoinBot, RemoteToolkitPlugin, dynmap, OpenInv, Lockette, Essentials, Towny, EssentialsSpawn, VanishNoPacket, Vault, xAuth, ChestShop, TownyChat, Dynmap-Towny

Spigot-377 (Implementing API version 1.4.6-R0.4-SNAPSHOT)
gringotts 1.5
vault 1.2.22-b277

14:43:59 [INFO] [Gringotts] storing account chest: [vault] 22, 65, 296, CraftWorld{name=imperium} for account: Account (PlayerAccountHolder(Nekuroi))
14:44:10 [INFO] [Gringotts] Destroying orphaned vault: [vault] 22, 65, 296, CraftWorld{name=imperium}
14:44:10 [INFO] [Gringotts] storing account chest: [vault] 23, 65, 302, CraftWorld{name=imperium} for account: Account (org.gestern.gringotts.accountholder.TownyAccountHolder@137554fc)
14:45:33 [INFO] [Gringotts] Destroying orphaned vault: [vault] 23, 65, 302, CraftWorld{name=imperium}
14:45:33 [INFO] [Gringotts] storing account chest: [vault] 37, 65, 304, CraftWorld{name=imperium} for account: Account (PlayerAccountHolder(Zhren))

Optional cost for creating vaults

Implement an optional, configurable price for creating Gringotts vaults.
There should be separate prices for player vaults and faction/town vaults.

A configuration could look something like this:

vaultprice:
  player: 0
  faction: 10
  towny:
    town: 5
    nation: 100

cleanup invalid vaults

some types of block breaking events cannot be easily detected. For instance, cascades of signs attached to each other. Other events such as server crashes without saving the data may also cause inconsistencies. Events working with vault chests should check if they are still consistent with the world and if necessary clean them up.

Color [vault] after successful creation

From chiorigreene:
"Just a quick suggestion, Could you make your plugin change the color of the title on the signs as a confirmation that it worked. Its just such a common method that would help a bit since I seem to run into such dumb players that can never understand if it worked or not."

Please allow /town deposit to work

On my server we are using a bit of a hybrid physical/virtual currency for Towny. For most if not all Towny servers i'm sure the [town vault] vault meets the needs perfectly. However on our server we would prefer to use /town deposit as usual. Currently when typing /town deposit # it deducts # from the players inventory but does not deposit the amount into either the town's bank or the town's vault. Would you be willing to support this functionality?

If so it would be greatly appreciated!

Make Factions soft dependency

Factions is currently hardwired, so that some calls may cause exceptions or other undesired behavior. make it better.

Add optional price per created vault

Add a configuration option for a price for creation of each vault.
Add a configuration option for a price function, so that each successive vault can have an increasing value depending on the number of vaults.

Vault plugin architecture

Design an architecture to add vaults as Gringotts addons. Independent plugins will be able to register their own vault types.

Documentation

Write some nice documentation to make this fit for publication

Virtual Accounts

  • Support virtual accounts, which are not bound to physical representation of money.
  • Config option to enable virtual accounts for unknown account types
  • Config options to make player, faction, town vaults etc virtual

Tax collector account

Implement an option to have all tax money go to a specific account.
This can be a special tax account, or a specific player's, faction's or town's account.

admin commands

add admin commands:
/money add [player|
/money remove [player|
/balance [player]
/gringotts save - save config

Tax to Account

I would like to request 1 of 2 things be done for tax

A: have all tax money go to a specific account

B: have an event that can be hooked for taxes/transactions

Why:

I am working on creating a server with a closed loop economy where the money in the system is all ways the same. Money taxed out of transactions will then be used to seed drops off of mobs or other things of that nature, just when something is taxed out it cant just vaporize into thin air.

Tekkit

I see that a Tekkit server is using this mod but I can't get it to work with mine, I keep getting an internal server error when I try to do anything. What can I do to resolve this?

Thanks

[Town Vault] Disconnect

I logged into my MC server the other day and i was met with a notice that my town was going to be deleted due to lack of funds, checked the vault chest and there was plenty of emeralds in it. i broke the sign and re attached it and it then said i had all of the emeralds again.

I don't know what could have happened there but I figure I would let you know.

-Largo

Check versions of CB and dependencies

On startup, check if Gringotts dependencies and the craftbukkit version are at least an expected value, and emit warnings if they aren't, for example, when Vault below 1.2.17 is installed.

Account info and action signs

Add signs that have following functions:

  • show currenct balance of an account
  • withdraw a certain amount from an account (aka ATM)
  • deposit a certain amount to an account (aka ATM)

Named denominations

Make it possible to name individual denominations, for example pounds and pennies, or gold blocks, gold bars, gold ingots.

The names would display on the /money command in the form "23 gold blocks, 8 ingots and 3 nuggets"

Further consideration: Display the items themselves with the respective names.

Multiple denominations, configurable

Support multiple currency denominations. For example, emerald and emerald blocks, with value of 1 and 9 respectively. Adding and removing from inventories should happen in a way that is most space-efficient, but does not change the existing items, if possible.

Multiple denomination woes.

the following error message appears after attempting to use multiple denominations with this config file:

A great improvement would be some catching of exceptions with nicer error messages explaining what is wrong, or alternately to contact the plugin author on this github.

currency:
  name:
    singular: Gnugget
    plural: Gnuggets
  fractional: false
  denominations:
  371: 1
  266: 5
  41: 25
  388: 100
  133: 500
transactiontax:
  flat: 0.0
  rate: 0.0
usevault:
  container: true
  enderchest: true
2013-01-11 01:31:00 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'moneyadm' in plugin Gringotts v1.4.1b
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:514)
at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:979)
at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:897)
at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:852)
at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.gestern.gringotts.Account.add(Account.java:89)
at org.gestern.gringotts.Commands$Moneyadmin.onCommand(Commands.java:196)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 15 more

Factions integration

Factions plugin by default uses the Vault plugin to interact with the economy, and keeps a faction's account as a number. Modify Factions such that the faciton bank is backed by a Gringotts bank.

Use Bukkit embedded DB instead of Derby

Apparently CraftBukkit comes bundled with an embdedded DB. Maybe that can be used instead of the Derby dependency.

An update should either preserve compatibility with old databases, or be able to port them to the new format.

Could Not Add Money to Account

/moneyadm add 3456 LargoUsagi

Is saying that it cannot add the money to my account

I have created about 20 double chests to store money into.

EDIT

I can give myself the emeralds and place them into the chests and it adds it to my account. It also doesnt matter what i have in my inventory.

Chest API

An API that allows other plugins to

  • access chests and accounts
  • create their own chests and accounts

Other plugins tend to lose money when accounts exceed capacity

Some plugins, (Factions and RealShop2 in my experience,) do not take appropriate action when an account reaches its capacity, and any excess money is lost forever.

I propose an option "account.canoverflow," to store excess money in the DB, and split the account into "available" and "unavailable" balances.

  • Given the permission "gringotts.accountoverflow," money that exceeds an account's capacity will be stored in the "overflow" column of the DB.
  • When the account holder has free vault space again, as much overflow as possible will be deducted from the DB and added to the player's vault. Free inventory space will be ignored, to avoid irritating the player.
  • Money considered overflow may not be spent or transferred until it is moved to a vault.
  • When a player has a positive unavailable balance, they will be prompted to create more vaults at appropriate times - e.g. when using /balance
  • Optionally, storage of overflow in the DB may be subject to a tax, either per transfer or per day.

I hope you find this viable! I'm not much of a Java guy ๐Ÿ˜

Memory leak on reload

The /reload command seems to cause a memory leak in Gringotts, presumably through some static references not being removed. Investigate!

Methods to withdraw and deposit from vaults to inventory

Implement methods to withdraw from vaults to inventory:

  • /money w
  • ATM sign: right clicking withdraws an amount specified on the sign

Implement methods to deposit money from inventory to vaults:

  • /money d
  • ATM sign: right clicking deposits an amount specified on the sign

Enderchests aren't working

Configuration.java: readConfig() does not read "usevault.enderchest"

Missing from the function is:
config.usevaultEnderchest = savedConfig.getBoolean("usevault.enderchest", true);

Complete failure?

Checking balance: 2012-12-29 20:09:19 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v1.4.0-RC1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510)
at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:980)
at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:898)
at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:853)
at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NullPointerException
at org.bukkit.Location.getBlock(Location.java:82)
at org.gestern.gringotts.DAO.getChests(DAO.java:354)
at org.gestern.gringotts.Account.balance(Account.java:40)
at org.gestern.gringotts.Commands.balanceMessage(Commands.java:246)
at org.gestern.gringotts.Commands.access$1(Commands.java:245)
at org.gestern.gringotts.Commands$Money.onCommand(Commands.java:61)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 15 more
And creating vault: 2012-12-29 20:10:23 [SEVERE] Could not pass event SignChangeEvent to Gringotts v1.4.0-RC1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:1399)
at net.minecraft.server.v1_4_6.Packet130UpdateSign.handle(SourceFile:46)
at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NullPointerException
at org.bukkit.Location.getBlock(Location.java:82)
at org.gestern.gringotts.DAO.getChests(DAO.java:301)
at org.gestern.gringotts.Accounting.addChest(Accounting.java:60)
at org.gestern.gringotts.AccountListener.createVault(AccountListener.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
... 14 more
2012-12-29 20:12:22 [INFO] F1lmboy issued server command: /give F1lmboy 133 1 0
2012-12-29 20:12:26 [INFO] F1lmboy issued server command: /balance
2012-12-29 20:12:26 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'balance' in plugin Gringotts v1.4.0-RC1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186)
at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510)
at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:980)
at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:898)
at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:853)
at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44)
at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.NullPointerException
at org.bukkit.Location.getBlock(Location.java:82)
at org.gestern.gringotts.DAO.getChests(DAO.java:354)
at org.gestern.gringotts.Account.balance(Account.java:40)
at org.gestern.gringotts.Commands.balanceMessage(Commands.java:246)
at org.gestern.gringotts.Commands.access$1(Commands.java:245)
at org.gestern.gringotts.Commands$Money.onCommand(Commands.java:61)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 15 more

Allow configuration of vault type preference order

Introduce configuration setting that allows definition in which order different vault types are accessed. For example:

vault.ordering: [inventory, enderchest, vault]

would cause Gringotts to access vaults in the given order. This may be useful to mitigate performance impacts on servers with high population and many transactions (eg as caused by jobs)

Vault Towny Issue

I am trying to get this working on my server with towny. I know it registers with vault because another plugin that uses the Vault API can add money to a player but Towny is consistantly saying I lack the funds to create a new town.

Love the plugin, its exactly what my server needed for an Econ plugin, love it.

Version infos:

Gringotts 1.3.0
Vault 1.2.16-b184
Towny 0.82.0.0
PermissionsEx 1.19.3

Thanks for any assistance you can provide

-Largo Usagi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.