Inactive [ECON] RepairChest v0.9.1 - Spend gold to fix your tools [1.4.6-R0.3]

Discussion in 'Inactive/Unsupported Plugins' started by DemmyDemon, May 1, 2011.

  1. Offline

    DemmyDemon

    RepairChest - Spend gold to fix your tools:
    Version: v0.9.1

    Inspired by one of my most favorite plugins ever, PhysicalShop, this provides a way to spend gold ingots on repairing tools.

    Simply slap a sign over a chest, make the first line "[Repair]", and you're done!
    Users will then put their damaged tools into the chest and right-click the sign while holding their hard earned gold ingots, and the tools in the chest will be repaired.
    Video demonstration by SeaborgiumMC (open)

    Thanks SeaborgiumMC

    Features:
    • Entirely gold-and-sign based. No commands, no economy plugins.
    • As easy to set up as you could hope for.
    • Updated to new Permissions system ("SuperPerm"), but entirely optional.
    • Configurable currency, in case you'd like to keep your valuable Gold Ingots.
    • Configurable prices, but with a sane default.
    • Configurable what is and isn't repairable.
    • Possibility of allowing partial repairs if the player is short on cash.
    • Repair chests are protected against explosions and destructive users.
    • Translatable: Strings built into the configuration.
    Download RepairChest

    Source Code

    Planned improvements
    • None, but feel free to suggest something and I probably won't be extending it any further.
    Permission nodes (open)


    repairchest.create - Place the Magic Sign
    repairchest.use - Use the repair chest, but even checking this permission is off by default.
    repairchest.destroy - Destroy the Magic Sign
    repairchest.testing - Access to /rc test command
    repairchest.reload - Access to /rc reload command

    Commands (open)

    /rc test - Severely damage the held tool
    /rc reload - Reload RepairChest's configuration

    Configuration (open)

    Default values:
    Code:
    verbose: false
    currency: 266
    baseCost: 0.01
    currencyName: g
    currencyString: Gold ingot
    partialRepair: false
    distributePartialRepair: false
    triggerString: "[Repair]"
    checkRepairPermission: false
    repairables: (looong list of integers)
    strings: (list of strings)
    verbose,boolean
    Should the plugin spew loads of irrelevant information to the console?
    Don't turn this on. Seriously. You'll just turn it back off again right away.

    currency,integer
    What item ID does your chosen currency have?
    Default is 266, which is the gold ingot. Perhaps you prefer 341, the Slime ball?
    I suggest you refer to http://www.minecraftdatavalues.com/ to get the ID of your preferred currency if you don't already know it.

    baseCost,double
    What should one point of damage cost to repair?
    The default here is 0.01, meaning you pay 1g for every 100 points of damage.
    Since it's not possible to pay in fractions of an item, it's rounded DOWN to the closest whole, but the price can never be 0.
    This means that even if the baseCost is 0.01 you still have to pay 1g to repair a stone pickax used only once.

    currencyName,string
    What do you refer to your currency as? "I'm rich! I have 200g!"
    It will be used without a preceding space, so set it to " slime balls", including the space, if you want it to say "34 points of damage costs 34 slime balls to repair." rather than "34 points of damage costs 34g to repair."

    currencyString,string
    The long name of your currency, used in the explaining text.
    This should match your currency, so the default is "Gold ingot"

    partialRepair,boolean
    Should it be allowed to only repair some of the items?
    Default here is false, so you can't repair unless you can afford to pay the full sum.

    distributePartialRepair,boolean
    Should partial repairs be distributed?
    If they are distributed, and you pay 1g to repair 5 tools, the 100 "repair credits" will be distributed evenly among them.
    If not, then it will repair the first tool first, then move on if there are "repair credits" left, then the next and the next until your gold is spent.

    checkRepairPermission, boolean
    By default, this is false, meaning that anyone can repair at a repair chest.
    If set to true, it checks the repairchest.use permission before allowing repairs.

    triggerString, string
    The string on signs you want to trigger the repair function with.
    The default is "[Repair]", but it could be "[Reparere]" or "[Fix]" or whatever you want.
    Just keep in mind that changing this will break any existing repair chests out there!

    repairables, list of integers
    Default repairables (open)

    repairables:
    - 256
    - 257
    - 258
    - 259
    - 261
    - 267
    - 268
    - 269
    - 270
    - 271
    - 272
    - 273
    - 274
    - 275
    - 276
    - 277
    - 278
    - 279
    - 283
    - 284
    - 285
    - 286
    - 290
    - 291
    - 292
    - 293
    - 294
    - 298
    - 299
    - 300
    - 301
    - 302
    - 303
    - 304
    - 305
    - 306
    - 307
    - 308
    - 309
    - 310
    - 311
    - 312
    - 313
    - 314
    - 315
    - 316
    - 317
    - 346
    - 359

    Just a looooong list of item IDs of what you want to be repairable.
    The default is all tools, all armors, all weapons, shears and the fishing pole.

    strings, list of strings
    Default strings (open)

    strings:
    spammy: VERBOSE MODE ON! This will get spammy!
    testNoConsole: Sorry, but the console can't have an item in it's hand...
    testNoEmptyHand: You can't test with an empty hand, man.
    testNearlyBroken: Your tool has been nearly broken...
    testNotSuitable: This item isn't suitable for this test.
    reloadedSuccessfully: RepairChest settings reloaded successfully!
    permissionDenied: Permission denied.
    invalidArgument: Invalid argument!
    cantAfford: You can't afford this repair!
    ding: Ding! Repair complete!
    usage: Right-click the sign with a currency item in your hand to pay.
    currencyIs: "The currency is:"
    nothing: Nothing to repair!
    noChest: Uh, there is no chest.
    usagePermissionDenied: Sorry, you don't have permission to use repair chests.
    removePermissionDenied: Permission denied! You can't remove repair chest signs.
    cantRemoveProtected: This block has a protected sign on it, and can't be removed.
    explosionBroadcast: Everyone, please refrain from blowing up repair chests. It's not nice.
    damagePoint: point
    plural: s
    ofDamageCosts: of damage costs
    toRepair: to repair.
    chestAuthorized: Repair chest authorized!
    chestDenied: Sorry, you lack permission to create repair chests!
    chestFirst: Chest first!

    This is for translating the plugin. If you don't already know how to do this, I suggest you play with it for a while, but no support will be given on translations!



    Changelog:

    Version 0.9.1, January 2nd 2013
    • Fixed "Could not find chest" issues that came with a breaking Bukkit change.
      The cardinal directions rotated (to match Minecraft), so I had to rotate the chest-finding method accordingly.
    Version 0.9, August 11th 2012
    • Updated for 1.3.1-R1
    • Repair permission checks is now configurable, and defaults to being off
    • What can and can't be repaired is now configurable
    • triggerString is now respected everywhere (...I hope!)
    • Other minor tweaks and fixes here and there.
    Version 0.8
    • Translatability introduced.
    • Updated for 1.1-R6 compatibility.
    • Made more stuff configurable.
    • Simplified language in the plugin a bit to aid in translatability.
    • Made sure "translatability" is a perfectly cromulent word.
    Version 0.7, January 30th 2012
    • Hop to new Bukkit Events system
    • Potential fix for strange bug that sometimes Enchantments go away. Unable to reproduce, so I have no idea if it's even RepairChest's fault, but hey, I have to try.
    Version 0.6.1, December 20th 2011
    • Fixed sign-on-side-of-chest support.
    • Added refusal to accept edible stuff as currency because of some weird Bukkit(?) bug.
    Older changelog (open)

    Version 0.6, December 13th 2011
    • Combined both commands into /rc, which takes an argument.
    • Thrown out old Permissions support, now 100% SuperPerms
    • Adjustment to API changes, fixing for some (Block.getRelative) and warning suppression for others (org.bukkit.util.config.Configuration).
    • Fixed some brokenness in the /rc test command
    Version 0.5, May 21st 2011
    • Testing shows the explosion resistance is dependable as far as I am able to test. Now considered a Real Feature.
    Version 0.4.2, May 14th 2011
    • No longer clobbers configuration changes on /reload
    • Added /rcreload and /rctest commands (/rctest was already there, but undocumented and called /repairchesttest)
    Version 0.4.1, May 10th 2011
    • Fixed the path and name of the configuration file. I hope.
    Version 0.4, May 9th 2011
    • Fixed the configuration directory not being created if needed.
    • Added partial repairs, in two variants "distributed" and "sequential" (See config options)
    Version 0.3, May 4th 2011
    • Fixed issue where currency was always referred to as "gold", and gold was required for transactions even when a different currency was set. (Thanks Bokou)
    Version 0.2, May 1st 2011
    • Configuration support
    • Working chest/sign protection. Still needs work...
    • Much cleaner code overall.
    Version 0.1, May 1st 2011
    • Initial release
     
    wavecom, kahlilnc, columb and 3 others like this.
  2. Offline

    DemmyDemon

    No problemo, enjoy :)
     
  3. Offline

    sweetswear4665

    Is it possible to make this a bit more like lockette, where you would put the sign in front of the chest, put [repair] on the first line and when you click "done" the chest will automatically attach itself to the chest like any other block.
     
  4. Offline

    DemmyDemon

    Wow, that's a GREAT idea! I love it!
    I think I'll make it optional, however.
     
  5. Offline

    sweetswear4665

    Thats fine, I just loved the way lockette handled attaching signs to chests and thought it would work well here. Glad to see it is getting added!
     
  6. Offline

    Bacon&Eggs

    Really love this plugin, are you gonna update it to the latest RB D:?
     
  7. Offline

    DemmyDemon

    Won't be long now. I'm working on a pretty big patch for it that will change a lot (but be backwards compatible).

    That said, it should work just fine with the current RB.
     
  8. Offline

    Bacon&Eggs

    Yeah it works perfect, cept that the chests don't recognize shears, but that's all good. Rarely use shears on my server. Keep up the good work
     
  9. Offline

    DemmyDemon

    That's very odd. It shouldn't care what the tool is, if it's damageable and non-stackable it's assumed to be a repairable tool.
    Very very odd indeed.

    My server is dead as a skunk at the moment (host is flooded, or somesuch), so I'm sort of treading water [har har] on my plugin development.
     
  10. Offline

    Bacon&Eggs

    ummm it just says in red writing, nothing to repair or something like that.
     
  11. Offline

    DemmyDemon

    Right-oh, I'll look into it as soon as I get my dev-server going properly.
     
  12. Offline

    surtic

    Thanks for this Plugin.

    Update to 953?
     
  13. Offline

    DemmyDemon

    You're very welcome!
    Yes, there's a pretty nice patch coming, with a lot of suggestions implemented.
    I've had quite a bit to do lately, so I haven't spent as much time as I would have liked on plugins, but I'll be sure to squeeze out an update for this soon. Soon-ish, anyway.
     
  14. Offline

    surtic

    Thanks for the Info :)
     
  15. Offline

    DemmyDemon

    Just a heads up on this!

    It works fine with build1k, but the one I tested isn't the public one, so I won't change the thread.
    I'm coming pretty close to The Next Release now, but it's still being a bit stubborn on some bugs.

    Don't worry. It's not dead!
     
  16. Offline

    datwerd

    i really like this plugin 2 things id love to see upgraded Multi World support i.e. different repair prices per world and iConomy/BOSEconomy support thanks for the great plugin
     
  17. Offline

    DemmyDemon

    Per-world prices sounds good, but iConomy and friends won't happen, sorry.
    It's open source, so feel free to fork.
     
  18. Offline

    kd280z

    My players say they don't have permission to create a repair chest, can I configure this? I am not using permissions.
     
  19. Offline

    DemmyDemon

    Sorry. For now, the repairchests are OP-only if you don't have a Permissions system.
     
  20. Offline

    kd280z

    Oh alright, thanks. I just put one right near the spawn.
     
  21. Offline

    Juze

    @DemmyDemon : Please test against latest RB (1000), otherwise considered inactive.
     
  22. Offline

    DemmyDemon

    I've been testing it with build 1000 for a bit now, and it shows no problems.
    If there are any, let me know :)
     
  23. Offline

    Juze

    Great to hear and glad you fixed your title. There's just one problem: No multiple CB#s are allowed and no ranges. :p Changed to [1000] for you.
     
  24. Offline

    DemmyDemon

    Huh? Since when are multiples not allowed?

    Thanks for changing it.
     
  25. Offline

    Juze

    It's been a while. 3-4 weeks as I can recall.

    And no problem. :p
     
  26. Offline

    olimoli123

    Wait, i like this so far but when right clicking do the gold ingots go into the chest?
     
  27. Offline

    DemmyDemon

    No, they are consumed.
    A new version is coming where you can "make money" from these chests, but I haven't had much spare time to work on it :-/
     
  28. Offline

    olimoli123

    If you work on it, ill donate. :]
     
  29. Offline

    DemmyDemon

    Hehe, thanks, I'll move it to the top of my list ;)
     
  30. Offline

    wildsteelerfan

    awesome plugin man!!!!! love it
     
  31. Offline

    DemmyDemon

    Thanks a bunch, man. I'm actually working on it a bit this weekend, so there -might- be a new version soon-ish.
    I've just coded myself into a corner and need to rewrite some stuff, but it's getting there!
     

Share This Page