Code Monkey home page Code Monkey logo

totaleconomy's Issues

Documentation

  • Update "Creating Jobs" wiki page with the new job actions (kill, catch)
  • Update "Default Config" on the "Jobs Config" wiki page
  • Information on each job
  • Job Sign Information

Testing

  • File I/O
  • Commands
  • Job Signs
  • Job Actions

Job Block Meta

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.

Use IDs for job rewardables instead of names

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.

Server Crash

[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]

Chest Shops

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.

Exception on Launch

[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

BC Quarry Exception

Could not pass ChangeBlockEvent$Break$Impl to Plugin{id=TotalEconomy, name=Total Economy, version=1.3.0}

Balance not updating

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.

Testing

  • Config Creation
  • Config Options
  • Commands
  • Jobs
  • Permissions

Tidy up code for Jobs

  • Create an interface for jobs
  • Put each individual job in a separate class to tidy up TEJobs file

Suggestion: Salary

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?

Balance Top Command

Permission: totaleconomy.command.balancetop

  • Basic Mechanics
  • Fancify output

1.0.6 - 1.0.8 Errors

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!

Developer API Improvements

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:

  • Instead of passing a Player object to the API, use a UUID. It is easier for developers to use and is more powerful
  • Have a few more methods available to use, such as setting a player's balance and registering a new player

SQL Support

Things that need to be tested before launching:

  • Job notification toggle
  • Account creation
  • Has account check returns properly
  • Job exp updates properly
  • Job levels update properly
  • Job exp is retrieved properly
  • Job levels are retrieved properly

Suggestion - PickPocketing?

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.

Salary with decimal number issue

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.

Job that pays for killing mobs

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!

Document

  • Job Permissions
  • Commands
  • Job Creation
  • Main Config Changes

Crash on start

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.

Businesses

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.

Update Error Messages

  • Change "That is not a job." message to "[TEJobs] This job does not exist"
  • Change "Insufficent Funds" to "[Total Economy] You do not have the funds to do this"

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.