Inactive [ECON] DynaMark v0.2.0.0 - A Simple Dynamic Market / Shop [1.2.5-R1.3]

Discussion in 'Inactive/Unsupported Plugins' started by smickles, Sep 26, 2011.

  1. Offline

    smickles

    (We've made the move to BukkitDev, come here)
    Some info is outdated on this thread, please go to the BukkitDev page for the most up to date info.

    DynaMark - A Simple Dynamic Market / shop


    Donations
    • [​IMG] 1M8i6TWmnTfWCuTQJMQUkX8xJbCEctaXkF
    [​IMG] Or http://btc.to/1qq for short​
     
    diannetea and aMannus like this.
  2. Offline

    smickles

    I will add per-command permissions to the ToDo list ;)

    Hear ye, hear ye.

    http://dev.bukkit.org/server-mods/dynamicmarket/files/11-0-0-2-7/

    This gets us inline with CB 1240 and should fix the BOSEconomy error some people have.

    (I'm gonna update this thread's title and first post now)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  3. Offline

    jazzman170

    now i get even more errors in console then before :p i got your new version, as well as latest register, and placed the register.jar into the plugins folder, and now:



    Show Spoiler

    23:17:58 [INFO] [Citizens] Economy plugin found (BOSEconomy v0.7.0)
    23:17:58 [INFO] DynaMark version 0.0.2.6 enabled
    23:17:58 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:58 [INFO] LWC: Loaded 137 locale strings (0 overrides)
    23:17:58 [INFO] LWC: Permissions API: BukkitPermissions
    23:17:58 [INFO] LWC: Currency API: BOSECurrency
    23:17:58 [INFO] LWC: Loading SQLite
    23:17:58 [INFO] LWC: Using: Native
    23:17:58 [INFO] LWC: Precached 143 protections.
    23:17:58 [INFO] LWC: At version: 3.43 (b174)
    23:17:58 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [INFO] MagicSpells v1.0.3 loaded!
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [INFO] properTime reading from config at C:\Users\N\Desktop\Minecraft\C
    raftbukkit\plugins\properTime\properTime.conf
    23:17:59 [INFO] properTime 1.9.0 initialized
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to Register
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at com.nijikokun.register.listeners.server.onPluginEnable(server.java:37
    )
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [INFO] [SpoutBackpack] Version 1.9.5 is now enabled.
    23:17:59 [INFO] [SpoutBackpack] Inventories loaded.
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to Register
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at com.nijikokun.register.listeners.server.onPluginEnable(server.java:37
    )
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [INFO] [SpoutBackpack] Payment method found (BOSEconomy v0.7.0).
    23:17:59 [INFO] WorldBorder version 1.4.1 loading
    23:17:59 [INFO] [WorldBorder] [CONFIG] Using square border, knockback of 3.0 blo
    cks, and timer delay of 5.
    23:17:59 [INFO] [WorldBorder] [CONFIG] Border-checking timed task started.
    23:17:59 [INFO] [WorldBorder] [CONFIG] World "world" has border radius 2500 at X
    : -51.8 Z: -1386.5
    23:17:59 [INFO] [WorldBorder] [CONFIG] Permissions plugin not found. Only Ops wi
    ll have access to this plugin's commands.
    23:17:59 [INFO] For reference, the main world's spawn location is at X: -64 Y: 6
    4 Z: -1386
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to Register
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at com.nijikokun.register.listeners.server.onPluginEnable(server.java:37
    )
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [SEVERE] Could not pass event PLUGIN_ENABLE to DynaMark
    java.lang.IncompatibleClassChangeError: Expected static method com.nijikokun.reg
    ister.payment.Methods.hasMethod()Z
    at me.smickles.DynamicMarket.DMRegister.onPluginEnable(DMRegister.java:3
    1)
    at org.bukkit.plugin.java.JavaPluginLoader$46.execute(JavaPluginLoader.j
    ava:562)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:338)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:927)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:278)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:173)
    at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:156
    )
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    23:17:59 [INFO] Server permissions file permissions.yml is empty, ignoring it
    23:17:59 [INFO] Done (0.714s)! For help, type "help" or "?"
    23:17:59 [INFO] [Citizens] Loaded 0 NPCs.
    23:17:59 [INFO] [Citizens] Loaded 0 quests.
    >


    i appologise for the long post, i have no clue how to make this a spoiler to reduce the post length. i dont see it at all in the posting options. if anybody would be so kind to explain where to find the spoiler i will gladly edit this post to add it.

    edit: errors probably because i have the 1185 build of bukkit and this is made for newest build? The newest build breaks alot of my plugins so im stuck on 1185 for a while :/

    edit2: i upgraded anyways and just updated my plugins that wouldnt work before. I can see after having the latest bukkit build im still getting these exact same errors that i posted above.
     
  4. Offline

    useridivan

    Hi,
    I have a problem with your plugin v 0.0.2.7. I have CB #1240, iConomy 6.0.7 and Register 1.5 and this is what I get from the server.log
    Code:
    2011-10-06 12:38:29 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'buy' in plugin DynaMark v0.0.2.6
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:358)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:500)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.NullPointerException
        at me.smickles.DynamicMarket.DynamicMarket.buy(DynamicMarket.java:158)
        at me.smickles.DynamicMarket.DynamicMarket.readCommand(DynamicMarket.java:275)
        at me.smickles.DynamicMarket.DynamicMarket.onCommand(DynamicMarket.java:260)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
        ... 13 more
    
    /price command is working but /buy is not. Also, the version reported on log is still 0.0.2.6 instead of 0.0.2.7
     
  5. Offline

    smickles

    I think, to do a spoiler, you use [spioler] at the beginning and the [/spioler] (misspelled on purpose) to end it.

    this seems to be an issue of compatibility, apparently DynaMark or another plugin is not being nice.

    I've got a couple of bugs right now, rest assured, this is one of them i'm working on right now.
     
  6. Offline

    antie

    Waiting on the fix for the current bug. Having the same compatability erros (Internal Errors) as above stated. using Iconomy 6, Register 1.5, and the latest build of DynMark
     
  7. Offline

    smickles

    Thanks for the report,
    I'm on it right now ;)

    alright, thanks for reporting this.

    it may be difficult for me to get that version number working correctly, ;) ;) j/k

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  8. Offline

    aMannus

    I've been waiting for a plugin like this since 1.4 or so. I actually bothered Nijikokun back then if he could transform his iConomy until something like this, but I think he never made it in the end.

    The only problem I still have for a plugin like this, is how I should give the players money to start off with. Money over time would be a good idea, but there has to be a money sink eventually so the markets don't fluctuate all the time. The before suggested idea to make people pay a small contribute to the market for selling/buying would do this perfectly, so I approve of that idea. :3
     
  9. Offline

    smickles

    Last edited by a moderator: May 20, 2016
  10. Offline

    Jag.1000

    Are there any permission nodes?
     
  11. Offline

    smickles

    None yet, that will come later. I'd like to be sure these bugs are fixed. But, it's on the ToDo list.
     
  12. Offline

    aMannus

    I have a little question though. I haven't looked into the plugin that much, so I don't have a clue about if this is explained somewhere in the config or whatever. This is the only question that holds me back from installing this plugin already.

    Are the selling prices lower than the buying prices, and if so, can you set the difference in price yourself? Because I need some kind of minor money sink, so the prices don't fluctuate endlessly.
     
  13. Offline

    smickles

    Currently, each item has a 'value'. lets use dirt as an example. dirt's value is '.06' (and dirt's other options are the default)
    if someone buys 3 dirt, they get charged .06 for the first block of dirt, .07 for the 2nd, and .08 for the 3rd
    so a total charge of .21 for 3 dirt. and dirt is now valued @ .09
    then someone sells 1 dirt, they receive .09 for it and dirt is now valued @ .08

    Also, currently, there are configurable min and max values (per item). the default min is .01 and the default max is 100000 (i've never seen an actual value go above 30 tho)

    using the min and max value options you could stop prices from fluctuating endlessly because when a price goes above the max (or below the min) there is "elasticity". That is, if dirt is at it's max (say 10) and someone buys 64 dirt, they get 10 for each block of dirt and the value of dirt is still 10. AND, it will take someone selling more than 64 dirt to bring the price down (even by .01)

    in practice, things like cobblestone, dirt, sand will fall to and stay at the min value and things like diamond and obsidian will rise up to and stay at the max.

    I plan on implementing an optional 'money sink' in the future tho ;)

    hope this helps, and thanks for your interest in DynaMark
     
  14. Offline

    enilsss

    Plugin doesn't seem to be make a folder when I restart server or reload plugins ):
     
  15. Offline

    smickles

    ah, I have a fix for that, but I'm gonna release it with the 2nd data type feature release. (coming very soon)

    for now can you do a 'work-around' and make a 'DynaMark' folder in plugins/ ?
     
  16. Offline

    enilsss

    Sure, what's the default/basic text in the .yml file and the name of it? config.yml?
     
  17. Offline

    smickles

    it is config.yml

    again, sorry about this, i'm so close to releasing the new feature (along with the fix) I just want to avoid 'new version spam'

    oh, sry, didn't answer the question
    Show Spoiler
    Code:
    wood:
        value: -1.11
        number: 17
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    fish:
        value: 9.83
        number: 349
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    beef:
        value: 8.48
        number: 363
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    stone:
        value: 0.19
        number: 1
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    egg:
        value: 9.96
        number: 344
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    feather:
        value: 14.74
        number: 288
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    soulsand:
        value: 9.77
        number: 88
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    rottenflesh:
        value: 9.04
        number: 367
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    slime:
        value: 10.16
        number: 341
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    obsidian:
        value: 12.37
        number: 49
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    flint:
        value: 9.78
        number: 318
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    snow:
        value: -0.51
        number: 332
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    brownmushroom:
        value: 6.27
        number: 39
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    dirt:
        value: -35.46
        number: 3
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    wool:
        value: 9.75
        number: 35
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    leather:
        value: 9.55
        number: 334
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    cobblestone:
        value: -25.33
        number: 4
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    mossstone:
        value: 9.96
        number: 48
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    grass:
        value: 9.96
        number: 31
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    vine:
        value: 8.51
        number: 106
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    rose:
        value: 9.81
        number: 38
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    apple:
        value: 10.01
        number: 260
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    pork:
        value: 9.96
        number: 319
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    pumpkinseeds:
        value: 10.0
        number: 361
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    clay:
        value: -2.44
        number: 337
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    gunpowder:
        value: 10.44
        number: 289
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    sandstone:
        value: 1.9
        number: 24
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    melonseeds:
        value: 9.92
        number: 362
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    gravel:
        value: -0.55
        number: 13
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    sugarcane:
        value: 0.15
        number: 338
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    iron:
        value: 14.1
        number: 265
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    chicken:
        value: 9.91
        number: 365
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    coal:
        value: 0.02
        number: 263
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    glowstone:
        value: 10.45
        number: 348
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    diamond:
        value: 21.35
        number: 264
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    bone:
        value: 9.61
        number: 352
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    netherrack:
        value: -6.62
        number: 87
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    seeds:
        value: 1.88
        number: 295
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    gold:
        value: 13.05
        number: 266
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    sand:
        value: -0.06
        number: 12
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    sapling:
        value: -2.22
        number: 6
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    lapis:
        value: 9.75
        number: 22
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    dandelion:
        value: 8.82
        number: 37
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    redmushroom:
        value: 8.69
        number: 40
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    enderpearl:
        value: 9.98
        number: 368
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    string:
        value: 6.96
        number: 287
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    redstone:
        value: 0.46
        number: 331
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01
    cactus:
        value: 6.25
        number: 81
        minValue: 0.01
        maxValue: 10000.0
        changeRate: 0.01


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  18. Offline

    enilsss

    You sir are a gentleman and a schollar
     
    smickles likes this.
  19. Offline

    smickles

  20. Offline

    antie

    Tip my hat off the empire state building for you @smickles
    I really appreciate you speed and dedication to your plugin
    Keep up the good work!
     
    smickles likes this.
  21. Offline

    useridivan

    Thank you for your work :D I have to report another error when you enter an invalid item:
    Code:
    10:17:01 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'sell' in plugin DynaMark v0.0.2.9
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:358)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
            at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:500)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.NumberFormatException: null
            at java.lang.Integer.parseInt(Integer.java:417)
            at java.lang.Byte.parseByte(Byte.java:151)
            at java.lang.Byte.valueOf(Byte.java:184)
            at java.lang.Byte.valueOf(Byte.java:208)
            at me.smickles.DynamicMarket.DynamicMarket.sell(DynamicMarket.java:259)
            at me.smickles.DynamicMarket.DynamicMarket.readCommand(DynamicMarket.java:356)
            at me.smickles.DynamicMarket.DynamicMarket.onCommand(DynamicMarket.java:320)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
            ... 13 more
    You should check if the name of item is typed correct, maybe with a message "this item is not for sale" or something.
    There is another "economic" problem :D For example: an item is valued "100$" with changeRate "10$"; I sell this item, so I get 100$ and the price drop down to 90$. I can buy back this with 90$ and I earn 10$ without doing anything.. This could be exploitable if a malicious player do this a lot of times. Selling price should be less than the current value. Tell me if I am correct or wrong ;)
     
  22. Offline

    aMannus

    This makes sense, is actually an awesome feature on itself. But what I was more worried about, is how to make it so players can't really get rich, unless they play actively and watch their money a lot, and stay active in the market.

    I thought about doing this through taxes which takes a percentage of their total money every day, so the more money you have, the harder it will get to maintain your current balance, but on the other side, people could just buy a lot of gold bars (example), and turn them in when they need the money again, and still dive under the taxes, so that wouldn't work either. I'm thinking about giving people money over time when they are active, to give you a complete image here.

    I'm heavily thinking about how to do this, but I just can't figure out a way. Hence the difference in selling/buying prices could sink away 'some' money, which makes it a bit easier. Otherwise, this isn't actually a problem your plugin can solve, and it's perfectly fine as is. I just thought of throwing my ideas out here, maybe to inspire you for a new concept as well, or just other server admins.

    EDIT: I don't know if I actually thanked you for the plugin yet, but I honestly love how you did it. I will def. try this anyway and see how it goes. I will post my experiences afterwards here so you also know how this is set in motion.

    EDIT2: Couldn't it be quite easy to actually code the difference in buying/selling price? Just make selling price: "Buying price - x = selling price", make x configurable and 0 at default? I haven't touched java coding yet, so I wouldn't know.
     
  23. Offline

    smickles

    Thanks for the encouragement!

    Thanks for the appreciation and the bug report.

    I'll fix the exploit right away, it'll be in the next release.

    The bug looks like it is coming from the new byte data feature,
    while reading the 'data' option in the config something is going wrong.

    is your data option formatted like this:
    Code:
        data: '#'
    with the # being the decimal value of the byte data you are trying to use?
    Edit: The ' are important

    edit2: oh, sry, it looks like i ran one line of code one line early @.@

    Actually, I can put this in right now (as I am fixing an exploit, the fix of which is remarkably similar to what you want)
    I will make an option called 'spread'

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  24. Offline

    aMannus

    You're totally awesome. I'm going to test the plugin probably this evening, so it will be a great chance to also see if that works as well. Call me a personal little slave beta tester for your own ;-).
     
  25. Offline

    smickles

    if you can compile from source, the new feature is in the master branch, right now, i don't have time to do a release :(

    edit: @useridivan your fixes are there too ;)
     
  26. Offline

    TOGuy

    Wooooo! Secondary data types! Just a clarification on the format, "Birch wood" would be data: '17:2' ... correct?

    And correct me if I'm wrong, but isn't what aMannus suggested the same thing that I suggested? The "spread" feature?
     
  27. Offline

    aMannus

    It is, as I also said in an earlier post:
     
  28. Offline

    smickles

    once you reload, DynaMark will make an new option under each item:
    Code:
        data: '0'
    the ' are important
    if you wand birch wood, do something like this:
    Code:
    birchwood:
        minValue: 0.01
        data: '2'
        value: 9.00
        number: 17
        changeRate: 0.01
        maxValue: 10000.0
        spread: .01
    

    The new "spread" feature is slightly different than what you suggested (I do still plan on implementing what you suggested).

    What spread does is, when selling (and only when selling), it decrements the value 'before' doing the rest of the value calculation. If 'spread' is equal to 'changeRate' then all spread does is prevent an exploit where someone could make money by buying and selling items really quickly. A wider (read: larger) spread would make profitable trade speculation more difficult.

    ah carp,

    that NullPointerException cropped up again.

    Ok, I think I really got it this time. This would've been a lot easier if Register had better documentation (btw, if anyone would like to help me out with documenting DynaMark, config especially, you'll get your very own wiki page ;))

    http://dev.bukkit.org/server-mods/dynamicmarket/files/14-0-0-2-10/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 20, 2016
  29. Offline

    aMannus

    So basically, you just subtract a bit of the selling value just before it calculates the rest of the drop in price (for each item that's bought)? Isn't that basically the same story? Or am I seeing it wrong now here?

    I would be glad to make some sort of tutorial covering the plugin when I have set up everything and know what I'm talking about. I'm still setting up the rest of the server (I actually got back into adminning after a long while, so basic server has to be set up as well), so that will come a little while later.
     
  30. Offline

    smickles

    The spread feature only affects sell side orders, the earlier suggestion would affect sell and buy side orders, and, in effect, be more like a brokerage commission.

    oh, and when you're ready to help out, just say the word. ;)
     
  31. Offline

    aMannus

    I think I get it, yeah. But I kinda see this as a simpler way out of the whole idea, though ;-). This basically also acts like a money sink, although it's not as consistent as doing it with buy AND sell. You're crazy fast with your development and responses though, it's ridiculous xD.

    I would want to help, but no coding experience doesn't help much. As I said, I could always make a video tutorial on all the settings of the plugin, how to install it and in the end, show how it works. But that will take some time, and as I said, I want to only make it after I know what I'm talking about. Consider this as a really small promise that I might make something like this in the near future ;-).
     

Share This Page