[ECON] NPCTrader v1.1.4 - The Full featured localized shop system [RB740 - 766]

Discussion in 'Inactive/Unsupported Plugins' started by MatCat, Feb 13, 2011.

  1. Offline


    NPC Trader - The Full featured localized shop system

    Version 1.1.4 (Testing Version!)

    The first localized full featured shop system for Bukkit/iConomy, in NPC Form!

    What's better for a localized shop system then your very own NPC Clerk / Teller / Worker / Slave / Whatever word you want to call your NPC!

    • Localized system
    • Fully player controlled (No admin intervention needed)
    • Full Item and Metadata support (Colored wools, etc)
    • Item name or ID recognition
    • Partial name recognition (If online)
    • Complete internal permissions system for managers of the NPC
    • iConomy Based
    • MySQL data storage
    • Item stocking system
    • In-Game help for everything
    • Supports Permissions and GroupManager (Using FakePermissions) Plugins!
    Installation / Setup

    1. Put NPCTrader.jar in your plugins folder
    2. Put mysql-connector-java-bin.jar in your main minecraft folder
    3. Restart your server (Auto-generates config.yml in plugins/NPCTrader/)
    4. Edit the config.yml for MySQL and other config settings.
    5. Restart once more
    6. Enjoy!
    If for some reason the folder / config does not auto-generate, then you can open the .jar file with 7zip or winzip or other archiving utility that supports jars and extract the config.yml from the jar.

    NOTE: If you do not have or do not know if you have MySQL setup then you either have to setup MySQL or not use this plugin for now. Please do not post questions asking how to install MySQL as that is outside of the scope of this post. You can follow this tutorial (Thanks @Germata!) for detailed windows installation and setup, but I cannot provide support for installing and setting up MySQL, only support for my plugin specifically.


    Permissions will only be used if it is installed. The following is the permissions list:

    npc.admin      - Give to admins for full access to all NPCs
    npc.admin.list - Access to /npc list npcs
    npc.user.*     - General user commands, you can specify by replacing * with command name, I.E. buy
    npc.manager.*  - NPC Manager commands
    npc.owner.*    - NPC Owner commands
    npc.create     - Ability to create an NPC 
    If permissions is used you may also specify limits on how many NPCs a specific player or group may have ownership flag on, please see config file for more information.


    Once the plugin is installed and running, you can see the in-game help by typing /npc in your chat window. To interact with an NPC just right click on it first.

    Here is a simple tutorial for setting up an NPC named Bob that sell's bread, cooked fish, and cooked pork, and buys wheat, raw fish, and raw pork.

    1. Stand exactly where you want your NPC, including head position and body rotation.
    2. Type: /npc create Bob 6 10 This will create the NPC with 6 Item Slots, each holding 10 units.
    3. Right click on the newly created NPC
    4. Type: /npc setup 1 bread 1 2 0 true false This will setup Slot 1 with Bread, selling lots of 1 at 2 Coins, buying them from players at 0, True for NPC Selling it, False for buying from players.
    5. Repeat step 4 for Cooked fish and Pork
    6. Type: /npc setup 4 wheat 64 0 10 false true This will setup Slot 4 with Wheat, buying lots of 64 at 10 Coins. This one is set False to selling it to players, but true to buy from players.
    7. Type: /npc stock 1 20 This will stock the NPC with 20 breads on slot 1 (Assuming you have enough bread).
    8. Repeat step 7 for raw fish and pork.
    You know have a fully setup and functioning NPC.

    Known Issues / Bugs

    • Config folder does not get generated on Linux - Works on Windows
    • Cookies and beds, and pretty much any other 1.4/1.5 items.
    • Spams console when you stand close to an NPC
    • Gives error when an NPC is spawned (Can be ignored)
    • Head / Rotation is not being properly set on spawn / move. (Fixed in 1.14)
    • Does not work with actual permissions (works with GroupManager)
    • Rename command is broken
    Things Todo

    • Re-write item handling
    • Support for both GroupManager and Permissions
    • iConomy 5 Support
    • Add armor capacity
    • Tie into WorldGuard for checking for build rights (Will be optional)

    If you installed MySQL for Windows just to run this plugin then check out this link to see how to create the initial minecraft database you will need.

    *** NOTE: SQLite IS NEVER GONNA HAPPEN! If you want to see an alternative, fork the src, make it work as an option, and I will include it in.***

    • Version 1.1.4
      • Changed out item name / id handling system
      • Now supports all current official items
      • Fixed Move Bug
      • Fixed NPC Creation Errors
      • Fixed a few other errors
      • Fixed Config creation on linux (hopefully!)
    • Version 1.1.3
      • Completely rewrote most of the code that directly interfaces with the NPC Library.
      • Now uses chunk loading/unloading to make sure only NPC's in loaded chunks are loaded (Way more efficient)
      • Changed banker command to only allow setting yourself as banker (to stop an exploit situation).
    • Version 1.1.2
      • Fixed upgrading stack counts for free bug
      • Fixed rename command not working on linux
      • Made it so an NPC must have 1 item slot to be created
      • Added permissions support for owned npc limits (By group or player)
    • Version 1.1.1
      • Fixed issues with quantities of '0'
      • Added rename command
      • Fixed iConomy hooking on startup
    • Version 1.1.0
      • Fixed Admin Override Permissions not working
      • Added Half and Double Slabs
      • Updated to work with B612+
    • Version 1.0.9
      • Updated to work on B531+
      • Updated to work with iConomy 4.*
      • Much needed overhaul of error handling and disabling procedures.
      • Converted integer based money to decimal based.
    • Version 1.0.8
      • Updated for newer builds
    • Version 1.0.7
      • Fixed more issues with ItemData, hopefully they are fixed for good.
      • Added log names
      • Added Coal/Charcoal distinction
      • Order of slots listed will always be in ascending order
    • Version 1.0.6
      • More meta-data issues, resolved.
    • Version 1.0.5
      • My restructuring of the code to try to support SQlite completely foobared the connect and close code, causing timeouts and errors. Fixed it.
    • Version 1.0.3
      • Fixed buy/sell/stock/unstock to use absolute values so that negatives cannot happen.
    • Version 1.0.2
      • Fixed bug where db connection was closed on /npc create
    • Version 1.0.1
      • Fixed bug with null Item Datas
    • Version 1.0.0
      • Fixed many many bugs
      • Added /npc list npcs as an admin command to let you see a full list of NPCs
      • Added recording transactions.
      • Added full permissions support
      • Better error handling and message delivery.
    • Version 0.94
      • Fixed not checking stock when doing /npc setup
      • Made the setup's error messages way more intuitive
    • Version 0.93
      • Fixed disappearing NPC bug.
    • Version 0.92
      • Fixed bug where selling was not checking player inventory.
    • Version 0.91
      • Fixed bug where giving improper arguments for upgrading and creating reported iConomy and NPC Trader out of sync.
    • Version 0.9
      • Initial Release
    You can download the jar here.

    You can download the mysql connector jar here.
  2. Offline


    The rude users are generally the most vocal. Those of use who aren't yelling at him to update are waiting patiently. I'm using the recommended build (493). It's generally understood that plugin authors aren't obligated to update anything, but tagging the post so that we know it won't work with the newest standard is appreciated. the + at the end of his tag implies full forward compatibility. If that isn't the case he should update the tag.
  3. Offline


    It's not that, it's just the fact that MatCat acctualy visited this topic when people was asking (he ignored the posts for a week) and then announced he will make an update. That's fine by me, but it seems like he could share a bit more, and if doesn't manage to fix it why not share the source so others can try?
  4. Offline

    Tim Yong

    Considering that Minecraft server plugin developers work for free, they do not owe us any updates, forum replies, or even their source code. We give them absolutely nothing and only happily take their countless hours of tedious coding.

    So cheer up, mates! Enjoy the interesting, free server plugins while they last and look forward to possibilities that lie ahead.
  5. Offline


    Even though the plugin Devs do not "OWE" us anything they could at least show a morsel of common courtesy and give us an update as to approximately when the plugin will be updated. Or alternatively if the Dev is haveing problems announcing something along the lines of

    "Hey guys sorry its been taking so long but this new bukkit code is really interfereing with blah blah blah...(you get the point)"

    I mean yes i know tracking down bugs is difficult i code software too. just not in java, But 5 minutes to let us know if and or when to expect an update is just common courtesy.
  6. Offline


    im a good server admin, i keep the plugins updated, i keep the servr updated and i let the players know/have a say in whats added and removed
    like other good admins i stick to the recommanded build for as long as the plugins work on it and only change id core or important plugins need it.
    world edit is working great on 493 as is every single plugin we use except this one

    as for other people saying were moaning etc, yes we are but most of us are not saying GIVE US AN UPDATE!!!!! or WE DEMAND AN UPDATE NOW!!! were saying let us know whats going on, are you still planning to update? can you release the source code? its his lack of communication thats cause for concern, even when im busy i can still fire off a comment no problem takes seconds.

    on wednesday he stated he would look at updating that day, we havent heard from him since thats what has most of us annoyed specialy when you click his name and see
    Last activity:
    Yesterday at 3:59 PM
    so its not even like he is unable to get online or to the site, its he doesnt want to reply
  7. Offline


    Yeah MrGreaper that Irk'ed me something terrible as well. If MatCats last activity was yesterday. where was it and why couldnt there have been a 30 second message to this thread to let us know at all if there ever will be another website.
  8. Offline


    Well... matcat may be busy right now, or simply not have the time or inclination to update. Maybe he is still working on it, and it is about to be released. Just wait, and see.
  9. Offline


    Fullwall. How long did it take you to type out that message. Now see your a plugin Dev and you probably have some porject on the go yet you are able to post that reply. Yet matcat cannot be bothered to tell us if hes even still alive. If it werent for last online times i would consider him dead and gone. like this plugin now seems to be.
  10. Offline


  11. Offline


    Couldn't say it better myself, it won't help spamming him to release it, that will only stress the poor fellow. So just wait.
  12. Offline


    This is a great plugin. I've seen it in use on another server and I like it. I wanted to give my players some NPC's but I am getting this error.
    Show Spoiler
    [SEVERE] Could not load plugins/NPCTrader.jar in plugins: null
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:80)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodException: com.MatCat.NPCTrader.NPCTrader.<init>()
            at java.lang.Class.getConstructor0(Class.java:2723)
            at java.lang.Class.getConstructor(Class.java:1674)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:75)
            ... 8 more

    I did make an NPCTrader folder with the config file inside.
    Craftbukkit version git-Bukkit-0.0.0-493-g8b5496e-b493jnks (MC: 1.3)

    Also, most plug-ins utilize a file in the lib folder that was automatically downloaded "mysql.jar" which is slightly smaller in size than the "mysql-connector-java-bin.jar". Does this one provide more functionality? Are they interchangeable? Could I make a symlink to this jar named "mysql.jar" without other plugins losing their ability to make sql queries?
  13. Offline


    The plugin is not updated for the latest builds of craftbukkit.
  14. Offline


    Ahh, my bad. I should have read more of this thread. I just saw the "+" in the title and assumed it would be compatible with the latest recommended build.
    *sits and waits quietly now*
  15. Offline


    @MatCat All I ask of you is to release the source so that we can at least make a working version of this for 493 since you are busy with something else.

    Everyone else, stop bugging MatCat about the plugin, just ask him to release the source so we can get someone with more free time to update it.
  16. Offline


    Where is the source available?
  17. Offline


  18. Offline


    Needs to be updated. I will send cookies! :D
  19. Offline


    Just adding myself to the list of people patiently waiting for an update to this great plugin
  20. Offline

    King John

    Awaiting Patiently
  21. Offline


    Waiting... would love this on my server...
  22. Offline


    Waiting patiently as well...
    (I wont be switching to the new NPC plugin thats floating around... that'd by the 3rd NPC plugin to be used and Im not switching around anymore.)
    ...still waiting... :)
  23. Offline


    help me... problem..

    what's the problem???
  24. Offline


    Not up to date, that's the problem.
  25. Offline


    Since this plugin dev has not updated in awhile, I would suggest using Citizens, at least thats updated every few days with no MySQL requirement
  26. Offline


    Yes, but Citizens don't have TRADING system ...
  27. Offline


    It will be implementing NPC Traders at some point, most likely b4 this plugin gets fixed
  28. Offline


    I swear, If I ever write a plugin I'm not releasing it to anyone.
  29. so no source? ok then!
  30. Offline


    cmon, i asked you a week or more ago:when you will finish it? you said today, back then. Now there have been around 10(if not more) todays, so when you will finish it? please do not lie this time.. this is a great plugin though.
  31. Offline


    I just want to know if the plugins (NPCTrader v1.0.8) is compatible with 1.3-0.1Beta

Share This Page