ericgrandt / totaleconomy Goto Github PK
View Code? Open in Web Editor NEWAll in one economy plugin for Minecraft.
Home Page: https://ericgrandt.github.io/TotalEconomy/
All in one economy plugin for Minecraft.
Home Page: https://ericgrandt.github.io/TotalEconomy/
Option to set whether or not a jobs pays out a salary.
http://prntscr.com/899t1p
http://prntscr.com/899t5z
Screenshots says it all (Pre-Release Bugs)
Currently if something like wheat has a reward for it, the player can keep placing it down and destroying it for a reward without having to wait for it to be fully grown. A way of preventing this and checking if it is fully grown is needed.
Currently jobs use the name of a block/item/mob in order to determine how much exp/money a player gets from it. This prevents jobs from working with mods in most cases. So a switch to IDs would make jobs compatible with most, if not all, mods.
[18:34:55] [Server thread/ERROR] [Sponge]: Could not pass ChangeBlockEvent$Place$Impl to Plugin{id=TotalEconomy, name=Total Economy, version=1.3.2}
java.lang.ArrayIndexOutOfBoundsException: 1
at com.erigitic.jobs.TEJobs.onPlayerPlaceBlock(TEJobs.java:411) ~[TEJobs.class:?]
at org.spongepowered.common.event.listener.PlaceListener_TEJobs_onPlayerPlaceBlock23.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:86) ~[RegisteredListener.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:238) [SpongeModEventManager.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.mod.event.SpongeModEventManager.postBulk(SpongeModEventManager.java:225) [SpongeModEventManager.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:264) [SpongeModEventManager.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:250) [SpongeModEventManager.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:127) [SpongeImpl.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.common.event.CauseTracker.handleBlockCaptures(CauseTracker.java:688) [CauseTracker.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.common.event.CauseTracker.handlePostTickCaptures(CauseTracker.java:445) [CauseTracker.class:1.8.9-1763-3.1.0-BETA-1177]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:108) [PacketUtil.class:1.8.9-1763-3.1.0-BETA-1177]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:51) [fh$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fh$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_74]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_74]
at net.minecraft.util.Util.func_181617_a(SourceFile:44) [g.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344) [ko.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
Permissions for jobs
A command such as "/job info" that will display the list of every item and/or block that rewards money and experience for the player's current job. Add some fancy pagination as well.
Example:
Miner Job Info
Coal
5 exp | $0.25
Iron
10 exp | $1.00
Gold
25 exp | $5.00
http://pastebin.com/dHJdtF76
Any idea?
Chest shops will utilize a custom inventory instead of the actual chest's inventory as this will prevent others from "pumping" items out of the shop. The only thing we have to worry about is making sure that when the inventory is destroyed, the items are returned to the player's inventory, or dropped on the floor if not enough slots are available.
As well as that, item lore is being used to store the buy/sell price and the quantity of items for sale. Though, it may be better to just use the stack size of the item instead of the lore for the quantity.
Lastly, items will be able to be purchased by left clicking the item in the shop and sold by right clicking the item. A shop owner will be able to decide if they want to only sell, only buy, or both sell and buy an item.
[01:09:30] [Server thread/ERROR] [Sponge]: [Plugin Class: com.erigitic.main.TotalEconomy][Handler: init]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at org.spongepowered.mod.plugin.SpongeModPluginContainer.handleModStateEvent(SpongeModPluginContainer.java:126) [SpongeModPluginContainer.class:1.8-1371-2.1DEV-467+unknown-b467.git-unknown]
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) [LoadController.class:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:187) [LoadController.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [minecraft_server.1.8.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:275) [minecraft_server.1.8.jar:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:692) [Loader.class:?]
at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97) [FMLServerHandler.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:360) [FMLCommonHandler.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210) [po.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:438) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
Caused by: java.lang.NullPointerException: listener
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229) ~[minecraft_server.1.8.jar:?]
at org.spongepowered.common.event.SpongeEventManager.register(SpongeEventManager.java:136) ~[SpongeEventManager.class:1.8-1371-2.1DEV-467+unknown-b467.git-unknown]
at org.spongepowered.common.event.SpongeEventManager.register(SpongeEventManager.java:184) ~[SpongeEventManager.class:1.8-1371-2.1DEV-467+unknown-b467.git-unknown]
at com.erigitic.main.TotalEconomy.init(TotalEconomy.java:106) ~[TotalEconomy.class:?]
... 31 more
Could not pass ChangeBlockEvent$Break$Impl to Plugin{id=TotalEconomy, name=Total Economy, version=1.3.0}
I am using TotalEconomy's API to add currency to a player's balance. It successfully adds the currency(It updates in the accounts file), but when I run /balance the currency hasn't changed at all. When I restart the server, it changes the balance in the accounts file back to what it was when using /balance. The only way that I can get the balance to update is by restarting the server.
Document all the code
A command to reload the general and jobs configuration ingame.
Not sure if this is something that should be added. Needs input.
On a side note here is a suggestion that would be cool. A Salary option in the config where you can set it up so the default Salary people get forsay every 10 minutes is $50 but you can create your own custom salarys. Like I could give say Admins $500 every 10minutes so on so forth?
Permission: totaleconomy.command.balancetop
Working on a new server: Sponge 1.8-1499-2.1DEV-553
Plugins:
SpongeEssentialCmds-2.0
permissionsex-sponge-2.0SNAPSHOT
TotalEconomy (trying out versions to find what one works for this sponge build)
I get errors upon launch for all versions 1.0.4 and up, but the errors for 1.0.5, 1.0.6, 1.0.7, and 1.0.8 all say that the totaleconomy verison is 1.0.5?
1.0.5 crashlog pastebin: http://pastebin.com/UFYkVkSc
1.0.6 crashlog pastebin: http://pastebin.com/UdV8X41f
1.0.7 crashlog pastebin: http://pastebin.com/SeNSJy05
I was wondering if the download links are wrong or if not, and which is the right version for my build. Thank you!
I was looking into using your developer API for a plugin, and realized that it simply is not powerful enough to do what I wish to do. I have a few suggestions:
Things that need to be tested before launching:
Currently job names are case sensitive so the only way to become a Miner you would have to type in "/job set Miner". By typing in "/job set miner" you are told "That is not a job.".
Add a command that will allow admins to give money to users.
Pickpocketing is normal irl. Why not in MC too? Hold an special item or not and sneak right-click and you get 1$. You can only do it 5 times pr player every 10 min. so youll steal 5$ pr player every 5 minutes. This must be a great idea.
When a salary is set to a decimal number such as 2.13 and it is payed out, the notification displays a poorly formatted number such as 2.1300000000124652.
I would love to see if youd be willing to allow players for getting paid to kill monsters or other players with a configurable amount. Possibly even configurable to the point of how much diff mobs earn you i.e. zombies drop 50 bucks, but wither bosses drop 1,000 bucks. Thanks in advance!
Can you please add gradle (or pom) file for making builds ?
Currently users can give a player a negative amount of money and in return gain that amount of money. Needs to be fixed.
I've Installed TotalEconomy onto my Sponge server, but in doing so, the server is prevented from starting, as Forge is unable to Construct the plugin. As it stands, there is only one other plugin, PEX.
From looking at the crash report, the problem exists with TE, and only TE.
I've attached links to the location of the server logs.
https://www.dropbox.com/s/4632p9m92hrx6dw/crash-2015-05-18_11.24.44-server.txt?dl=1
https://www.dropbox.com/s/5zrcz0cv4vrvhr7/latest.log?dl=1
In the Crash Report, and the latest log file, the error is something to do with using unsupported class versions.
NOTE: using Debian Linux, so updating to use Java 8 is a difficult task.
Once a certain level in a job is reached, a player can decide to start up a business that relates to that job. When a player starts a business they will no longer be rewarded with experience and money. Instead, the items gained from the job can be sold(Automatically sold, not sold to players) in order to gain an increased amount of money as well as experience that is put towards your business. As usual, everything relating to businesses, including rewards and business enhancements, can be changed/removed to your liking.
Player Job
Job Level
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.