UltraTrader
Remember the donate button works, I could use some fresh Mt. Dew (I also except BitCoin (address below)
Information
Links | Description |
---|---|
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk. | |
Jenkins | Development Downloads on CI provided by CloudBees |
GitHub | Source Code is hosted by GitHub.com by DemgelOpenSource group |
Website | WebSite is hosted by Github using maven-site |
Donate BitCoin | 17U5koSrxqYphGTSN4nZsd1sDr7Ti96XW4 |
Donating FUN | Some fun options for donating if you don't have money but want to help |
Citizens Wiki | My Wiki entry on Citizens 2 website |
Most Documentation will be on the Website
at http://ultratrader.thedemgel.com
Installation |
Commands | Permissions | Create A Trader | Localization | Configuration | Setting Shop Limits
UltraTrader and Citizens
UltraTrader doesn't require Citizens to run. But it does come ready to integrate out of the box, and most extensions do currently require the use of citizens. UltraTrader will work with Citizens to create NPC traders, but if you don't want to use Citizens, you can easily make blocks/signs into shops.
Buying and Selling
Some notes on buying and selling:
- Owners will always receive items from their shop for free (FREE)
- Owners can never sell items to their own shop. Items placed into a Traders buy screen will just be returned.
External Plugins
As a way to extend Ultratraders without bloating the already sizable amount of code required any farther, I have started to create external plugins that extend UltraTrader. Some of these can be found on the Jenkins Site, but we aware that these are not bukkit tested yet, and may be full of bugs.
Working Extensions (not flawlessly yet)
- UltraRental - Create Rental NPCs
- UltraDenizen - Allows UltraTrader to work with Denizens
- UltraWorldGuard
- Adds some requirements that can be setup by:
- using required traits in limits.yml
- adding required trait permissions "trader.limit.required.default.worldguardowner"
- currently only adds "worldguardowner" (trader must be standing a region the player owns) and "worldguardmember" (trader must be standing in a region a player is a member of)
- Currently should still work, but updates are suspended till I the new repo.
- Adds some requirements that can be setup by:
- UltraFrames
- Currently will show randomly changing items that your shop sells
- add ultraframe trait to NPC
- right click with stick to select
- place item frames and watch the magic.
- Currently will show randomly changing items that your shop sells
Compatibility Extensions
These extensions are there to extend the compatibility of UltraTraders to more specific modes beyond the normal use of UltraTraders. Some planned extensions will likely be a bridge Extension for handling Bukkit->Forge communications, as well as NBT related code that I don't want to place directly into UltraTrader.
Metrics
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
If you wish to disable this feature (/me cries), you can do so by opt-ing out, which you can do in the config file under /plugins/PluginMetrics/
Some Videos
If anyone wants to create a video demonstrating the use of UltraTrader, please PM me, thanks. I will be creating more as time goes on, but removed the out dated material for now
TODO
- command to allow Ops to not always get items for free from all stores
- Currently I have removed OPs completely from the free sell list (OPs no longer get free items, or shouldn't)
- Players can use the "/traderplayer toggleop" command to toggle paying at their own shop (for test purposes)
- Item to allow click to see shop information
- The command is there (/trader info) but it does nothing yet due to forced update
- adding aliases: "/trader" -> "/ut" - "/traderplayer" -> "/utp" - "/traderadmin" -> "/uta"
- removing logging from ultratrader and using a extension plugin, to hopefully invite some members to add pull requests to add logging features.
Thanks
- dayron1313 - Github issues
- Chriszh - for being persistant ;)
I cleaned up the stores yml files by hand, removing the buyprices sections, setting inventory sections on type: admin and removing the new category and priceslist sections. After some fiddeling now the stores loaded and ultratrader works. Also the new sections category and priceslist have been regenerated. Only all buyPrice fields are now set to: buyPrice: !!float '0'. The buy/sell system looks much better now. Will continue testing later, thanks
@MrTomTomHD
this will be irrelevant once Bukkit approves the new file that I uploaded yesturday. The whole buy/sell system has been replaced with a much better system. You can see it if you want to download the copy from jenkins (link above)
Add option to set default page to buy or sell.
Instead of opening it on the sell page then clicking buy, because on some servers you cannot sell stuff (especially on mine)
@Rwin1234
stores should have been updated automaticlly, how many stores do you have?
could you also check your /plugins/UltraTrader/stores directory and make sure the files exist, and see if they look correct. You can also look into the Citizens saves.yml and see if the stores are assigned (and the write id) the id = the store.yml file (0.yml, 12.yml) etc.
I only say this because the original store files I had converted completely and correctly, and all my NPCs load their stores correctly, I have no reference point to see an error.
Tried the latest beta .91, but now get error message ingame "Store wasn't loaded properly (please report)". Does this mean the old config file does not work anymore? Do we need to define all stores and traders again? Or should the config be downward compatible?
I am resetting (again) the upload to Bukkit for beta .91, these are the fixes that will be found
I seem to have misplaced a debug message... I will be searching for this spam, and promiss to remove it... also I will be working on a way to limit categories.
so, Jenkins should have this update already, and bukkit will be approving in good time.
@tomori_peti
Removing items from an admin shop is rather pointless, and I guess and some strange way, this is expected behavior. Admin shops have unlimited items and should never be used by players that aren't admins, so I either leave it as is, or disable it completely... not really sure I have a better answer right now, any suggestions?
Heres the Video: http://youtu.be/2qLZbRhjPVo
What im doing is, im creating another category, i drag 1 stack, rightclick to only place 1 item, and the rest will automaticly drop on the floor, i pick the blocks up, and names the category, and it will dupe the stack in my inventory
i discovered some more bugs, ill try make another video, its easier for you to see then
Nice job fixing the Duplication bug.
The only thing i discovered so far is, im not able to remove categories.
im using the jenkins build 0.9-1
Tenowg, good to see this project is really active. There are so many dead projects on bukkit nowadays..
We are building a server around the shop + ultratrader concept, I have confidence it will work. Thanks for you response to my question, eagerly waiting for next build :D
@tomori_peti
I will fix these tonight, I have confirmed
Other things I have just noticed
1. Remove stock doesn't function if inventory mode set to Admin ( I just get a stack from the item but the stock still exists). 2, Categories can't be removed. I tested on the latest Jenkins build.
A new upload has been submitted that contains all the changes on the Jenkins site... details are listed once it is approved.
This upload addresses the stocking issue (thanks to Chriszh for posting the video, it helped) and contains all stocking interface changes
@Chriszh
I know about these attributes, I add about 20 to my modded version of minecraft, currently I don't see an API in Bukkit that can directly retreive these attributes without going outside the API.
I might consider putting in a hook and adding an external saving structure to handle the NBT structure for attributes, its not that hard, I just don't want the normal operation of Ultratrader to be hindered by versioning control. In other words, I want someone on 1.5.2 to be able to use the latest version, as well as version 2.5.4 (when it exists, lol).
@Chriszh
I have placed a workaround for this error, the Action type either wasn't the same, or was changed and is not registering any longer, most likely a Bukkit bug/API change (just like slot 0 not registering any longer)... I have placed a build on Jenkins that "fixes" this issue by just dropping the item to the ground and not placing it into inventory.
@ninjaangel
I will put a catch in the YML reading most likely monday, I had one orginally, most have derpped and removed it when I changed data structures.
Ok I sem to have fixed my problem, it seems the store0.yml file was unreadable so the entire plugin broke? idk i deleted them which fixed everything. just have to replace 1 store not quite sure what happened.
@ninjaangel
did u do exactly what i did in the video ? , ill try it with diamonds, and try craft armor with it tomorrow
@Chriszh
I tested that bug and when placing the block it vanished. I think that's what he meant
Heres the Duplication bug, on 1.7.4
http://youtu.be/_TO8E4Ev2YA