DynaMark - a simple dynamic market / shop
Overview
DynaMark is lets players buy and sell commodities at automatically determined prices which are based on demand.
Latest Download
Public Release
Standard
Direct v0.1.1.0
Alternate Command
Direct v0.1.1.0a
- per command permission support (permission nodes)
- switch to database use
- you can still use a flat file to add large groups of commodities at once
- in game (console or play) commands "/market add" and "/market remove" are now used to manage which commodities are on the market
- MYSQL support (info)
- unspecified bug fixes
Development Bulid
Standard
BitTorrent Direct v0.2.0.0
Alternate Command
BitTorrent Direct v0.2.0.0a
- remove old broken method for config
- allow multiple names per commodity
- add commodity suggestion on misspellings
- add new config method
- allow per commodity enabling and disabling of trade-ability
- allow per commodity configuration of names
There are significant changes in the way commodity information is stored and the way in which the config file is used and its format. I have not yet written any sort of 0.1.x.x to 0.2.x.x conversion tools. As of right now, if you want to keep the commodity data (for example the current prices) which you have, you will need to look at a new database file, look at yours, and then manually convert it. I think this pretty much involves just changing the 'name' of each commodity to the appropriate 0.2.x.x format.
ChangeLog
The change log can be found here.
Database Manipulation
For now, the easiest way to add or remove items is to use a sqlite editor. http://sourceforge.net/projects/sqlitedbrowser/ has been recomended by missingscrews. Sqliteman is my preferred alternative.
Player Commands
- /buy
- Buys an amount of the specified item
- Usage: /buy cobblestone 128
- /sell
- Sells an amount of the specified item
- /sell all
- Sells all sellabe items in your inventory
- Usage: /sell pork 7
- /price [item] [amount (optional)]
- Checks the price of a specified item
- Usage /price diamond
- /market [top | bottom | list]
- Has three uses, 'top' and 'bottom'. 'top' returns the top 10 most expensive items on the market. 'bottom' does the same for the least expensive items.
- Or 'list' to show all available items on the market
- Usage: /market top
Config
Has it's own page now.Click Here
Longer Description
When first run, DynaMark will create a database of items which are available to sell. All items start out with a value of $10 and this will go up by $0.01 for every one of the item bought. The reverse occurs for every one of the item sold. You can modify this database as you see fit.
Source
- github
- Anyone is welcome to help out on the project, just do some work and make a pull request.
Donations
Donations accepted at:
- 1M8i6TWmnTfWCuTQJMQUkX8xJbCEctaXkF
- Or http:btc.to/1qq for short
- I welcome donations that are even less than $0.01
I'm a bit confused on what "spread" does?
I'd just like to announce that one of the things which will be in the next update will be an improvement to the way you can add commodities to the database. I will make it much easier to add/update things.
@yaitsbilly
I made this into a ticket so we can stop spamming the front page http://dev.bukkit.org/server-mods/dynamicmarket/tickets/28-config-yml-conversion-error/
Ok I figured it out, I've set up my config.yml with all the prices I want but now when it start to import the config.yml I get this error.
@yaitsbilly
The way it works right now, you choose whatever name you want, however, there can be no spaces.
if you are using config.yml to get your items into the database, you need to format that file exactly to yml specifications, otherwise you could get all kinds of strange errors. The code that extracts data out of config.yml is intended to convert old installations to database use, as such, it only adds commodities, it does not update or remove commodities.
Also, this should work with group manager. Can you pleas describe what problems you are having?
@missingscrews
I cant get this to work for group manager either.
For the item name, does it have to be exactly what minecraft sees? And does the item name supported spaces? Example: Chicken Egg
@missingscrews
Thanks, I didn't know that bout PEX. I'll modify the permission nodes page
Permission nodes are case sensitive in PEX:
dynamark.* works DynaMark.* does not work
@yaitsbilly
the newest update will extract the data out of any existing config.yml file into a database. So, yes, the one in the jar file should work
;)
With the newest updated, I dont have a config.yml in my dynamark folder. I copied the one out of the jar file. Would that work?
Alright all, I'm gonna try to knuckle down and get a release out here soon. Thanks for sticking with me!
I'll get to as many comments, questions, tickets, etc, as soon as I can
:D
and im adding, its not only the error it doesnt work since i started getting this error before that it worked and by the way its a great plugin im telling about it to all my friends
no. the same thing happens. it says mappings not avaiable so for some reason it doesnt let me change the config file maybe? my main lang isnt english im turkish so im not sure. please help
@Marslar I'm not sure, but maybe chestshop and dynamark are conflicting?
hi im new at minecraft and i started a bukkit server its this version:craftbukkit-1.1-R1-SNAPSHOT plugins: cashflow,chestshop.commandbin,dynamark,iconomy,izone,lockette,mywolf,register,sheepfeed,spoutplugin-dev-SNAPSHOT,starterkit,towny and vault wwhen i started i used to see dozens of SEVERE , i solved them all but one . i changed the values of items in dynamark config, and this appeared. 17:17:34 [SEVERE] Error occurred while enabling DynaMark v0.1.0.0 (Is it up to d ate?): null; mapping values are not allowed here mapping values are not allowed here in "<reader>", line 4, column 31: minValue: 1.0 maxValue: 3.0 ^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:73 3) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja va:305) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:17 9) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par serImpl.java:563) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java :237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12 3) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons tructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:423) at org.bukkit.util.config.Configuration.load(Configuration.java:90) at org.bukkit.plugin.java.JavaPlugin.getConfiguration(JavaPlugin.java:11 9) at me.smickles.DynamicMarket.DynamicMarket.onEnable(DynamicMarket.java:8 1) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:230) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader .java:989) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage r.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:190) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:173 ) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:356) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:343) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:175) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:407) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
please help :S
@UltiByte
Check your Config Files! It seems your yaml syntax is broken somewhere...
"Implement amounts for sale and WTB (willing to buy). See this post. This will, of course, be 'opt-in'."
I am currently looking for a mod that does this! I'll keep an eye out to see when this plugin picks up the feature.
Plugin breaks servers when users buy/sell really large amounts of items. Ie /buy dirt 10000000 is guarenteed to crash the server.
@missingscrews
I already had vault installed, and now I've even updated both DynaMark and Vault to the latest versions, and tested them with all my other plugins removed, excluding iConomy as it is required, and I get Exactly the same error.
[SEVERE] Error occurred while enabling DynaMark v0.1.0.0 (Is it up to date?): java.lang.Integer cannot be cast to java.lang.String java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at me.smickles.DynamicMarket.DynamicMarket.onEnable(DynamicMarket.java:164) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:968) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:186) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:169) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:348) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:335) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:165) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399) at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
I really can't see anything wrong that could be causing that.
Any suggestions? Please?