Inactive [FUN] Lottery 0.6.3 - Let your users buy tickets to a lottery - [superPerms] [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Erbros, Mar 14, 2011.

  1. Offline

    Erbros

    Lottery - The Lottery Plugin:

    I will only be using the BukkitDev website from now on. Please ask for help, submit bugs or enchantments and download the plugin from my page there (LINK).

    This thread is no longer updated - check my page on BukkitDev.


    Beware: Now only supporting superPerms from 0.6.2 and onwards!

    Version: v 0.6.2

    This plugin lets your users buy tickets for a price you decide to a lottery drawing.

    Features:
    • Users buy a ticket and can win the money of everyone that have bought a ticket.
    • Configurable price, material (including money/coins) and hours between lottery drawings.
    • Supports iConomy v4, iConomy v5, iConomy v6, BOSEconomy v6, BOSEconomy v7, Eco Essentials and MultiCurrency. Thanks to @KHobbits
    • Permission nodes supporting superPerms (Bukkits default permission system)
    Download:

    The Lottery Plugin v. 0.6.2

    Old releases:
    Source Code (This is my first project ever in java, so I would appreciate any advice in

    how to improve my coding very much)

    Configuration:

    In the configuration that is made when the plugin is run the first time, you don't get comments about the different options. Here you do!


    Code:
    #How many hours between every lottery drawing? Only whole numbers above 0 (like 1 or 2 or 3.... 24 or 25...)
    hours: '24'
    # The next execution option is really not to be touched. Its time in millisecs since 1. January 1970.
    nextexec: 1300368259883
    # Cost is the amount the buyer got to pay to buy a ticket. This applies both to iConomy coins and material. Only whole numbers. Negative numbers will probably work, but I don't see the point.
    cost: '5'
    #The material setting lets you choose which Material Value your users got to pay with, and get if they win. (its the "dec(imal)", value)
    material: '266'
    # If you want to use iConomy coins, set it to "true". If you want to choose your own material (block or item), set it to false.
    useiConomy: 'false'
    # If broadcastBuying is set to false, there will not be sent a message to every player when somebody buys a ticket.
    broadcastBuying: 'true'
    # welcomeMessage decides if there should be sent a message to the player on join about time until draw.
    welcomeMessage: 'true'
    #extraInPot just holds the amount of extra winnings in the pot has been added with /lottery addtopot
    extraInPot: 0
    #clearExtraInPot decides whether the plugin set extraInPot=0 after lottery draw, or if the same amount will stay until somebody changes it with /lottery addtopot <+/-> <amount>
    clearExtraInPot: true
    #netPayout is the percentage of the total pot that is being paid out to the winner. This can be as large as you wish, but not lower than 1 (one). 100 = 100%, which means the winner will get exactly as much as the players have paid in while buying tickets.
    netPayout: 100
    #maxTicketsEachUser sets the max amount of tickets each player can buy
    maxTicketsEachUser: 1
    #debug - This won't show up by itself, and there is really no reason for you to have this unless there is something wrong with your install of the plugin.
    debug: false
    Commands:
    /lottery : Basic information
    /lottery buy <number> : Buy one or <number> of tickets.
    /lottery help : Help pages
    /lottery winners : List over 10 last winners
    /lottery draw : Force the drawing to happen. Op only if not permission plugin.
    /lottery addtopot : Adds extra money/items to the pot. Op only if not permission plugin.
    /lottery config <cost/hours/max/maxTicketsEachUser/reload> : Change/reload the config ingame.

    Permissions:
    If you have Permission plugin installed you must add the nodes you need to the config.

    lottery.buy : Gives you all the basic rights /lottery (buy, help, winners).
    Given to all players by default, remove from users/groups if you want to deny them.
    lottery.admin.draw : Gives the group/user access to the /lottery draw command.
    Given to OP's.
    lottery.admin.addtopot : Gives the group/user access to the /lottery addtopot command
    Given to OP's.
    lottery.admin.editconfig : Grant access to edit/reload the lottery config ingame NEW
    Given to OP's.

    Changelog:
    Version 0.6.3:
    • Fixed ClassCastException when using commands from console.
    Version 0.6.2:
    • Supporting superPerms.
    • Removed support for any other permission system.
    • Fixing plugin.yml, so even those not using superperms will have basic lottery.buy given to all users by default, and all OP's will get admin commands.
    Version 0.6.1:
    • Removed showing days in time until draw.
    Version 0.6.0:
    • Adding ability to reload config ingame.
    • Edit the config variables cost, hours and maxTicketsEachUser ingame.
    • Debugging information.
    Old Changelogs (open)


    Version 0.5.6:
    • Hopefully fixed lottery not drawing when it should..
    Version 0.5.5:

    • Fixing users able to buy negative amount of tickets (and again... very stupid mistake by me....)
    Version 0.5.4:

    • Fixing users able to buy negative amount of tickets (again since I forgot to re-add it after merge).
    • Giving users the remaining tickets they can buy if they try to buy too many.
    Version 0.5.3:

    • Max number of tickets a user can buy.
    • Typos
    Version 0.5.2:

    • Implemented a lot of changes by @KHobbits
      • Now supporting iConomy4, iConomy5, iConomy6, BOSEconomy6, BOSEconomy6, MultiCurrency, EcoEssentials
      • Code cleanup
    Version 0.5.1:

    • Don't let players buy a negative amount of tickets... Stupid error...
    Version 0.5.0:

    • Users can buy more than one ticket each now.
    Version 0.4.5:
    • Fixed so correct lottery amount is shown everywhere, WinningAmount() implementing netPayout;
    • Ability to let the plugin remember the money that is added to extraInPot.
    • Fixed NPE when "/lottery addtopot" wasn't followed by a number.
    Version 0.4.4:

    • Added payout percentage configuration.
    • Attempt to fix some of the "waiting for draw to occur" on servers with slight lag.
    Version 0.4.3:

    • Updated for iConomy v5. Not working with v4 anymore.
    • Fixed a new system for timers, it shouldn't take that much time to do a draw even on a laggy server.
    • If time is set to lower in config than is remaining on countdown, set to new value.
    Version 0.4.2:

    • Not setting extraInPot to 0 after draw, only saving it to config.
    • Draw in: -51 seconds no longer occur, now its "Draw in: Draw will occur soon"
    Version 0.4.1:

    • Fixed: Not saving config after updating extraInPot.
    Version 0.4:

    • Permission support
    • Command to add extra money in pot.
    Version 0.3.1:

    • Fixed timers not closing properly. Possible memory leak! Important update!
    Version 0.3:

    • Info about pot size in /lottery
    • Choose if you want players to get time until draw message on join.
    Version 0.2.4:

    • Fixed the same problem as in last release, just properly this time.
    Version 0.2.3:

    • Changed from onPluginEnable to PluginEnableEvent.
    Version 0.2.2:

    • Option to broadcast public to the whole server when somebody buys a ticket.
    • Added colors to the lottery chat messages.
    Version 0.2.1:

    • Formatting material names. GOLD_INGOT -> Gold ingot
    Version 0.2

    • Added commands: /lottery (help, winners, claim, draw)
    • Added material support.
    • List over 10 last winners with /lottery winners
    Version 0.1

    • Lottery plugin is released.



    Tutorial:


    Video by @ValBGaming

    PS: The /lottery claim command is used when you are using material and you win, since blocks/items can only be given to online players :)

    Todo:

    • A set number of tickets available, and let the user choose which one to buy. If nobody had the right ticket, add money to jackpot for next drawing. (low)
    • Using configurable array of prize items instead of getting whats in the pot. (low)
    • Show time left when it's 2 hours left, 1 hour left etc. Configurable. (low)
    • Let admins give out free tickets. (normal)
     
  2. Offline

    Erbros

    Sorry, didn't see your message! Will fix this asap! :)
     
  3. Offline

    DaanSterk

    Great plugin, but it'd be even greater when it'd have permissions support.
    Keep up the good work!
     
  4. Offline

    ben1996123

    Redownloaded, it works now :D But it still tells me to nag you about changing it.
     
  5. Offline

    Kainzo

  6. Offline

    iwilkilalzmBs

    you should let an op be able to change the amount of money in the drawing, as in if the op has 1000 coins and doesnt need them he can put coins into the lottery drawing and not buy a ticket and so people can get more coin
     
  7. Offline

    PandaVidya

    if your running iconomy OPs/Admins can just give themselves money...
     
  8. Offline

    kmccmk9

    This plugin is pretty cool but, my problem is no matter what number I put in the config file, I can't get it to do the lottery drawing every hour. Any help there?
     
  9. Offline

    TheShadow777

    hey i love the idea but can you pls add support for essentials eco !?
     
  10. Offline

    BangL

    are u sure?

    Code:
    2011-04-03 06:00:52 [INFO] Lottery version 0.2.3 is enabled
    2011-04-03 06:00:52 [SEVERE] Nag author: 'Erbros' of 'Lottery' about the following: onPluginEnable has been replaced with a new signature, (PluginEnableEvent)
    
     
  11. Offline

    Erbros

    Something like this is in my todo list, but I wouldn't count on it being finished soon. Having a lot to do a the moment.

    Added to my todo.

    You will need to let the current drawing happen first (or use /lottery draw). I am going to fix this, as its added to my todo.

    I did think I had fixed it, but apparently not.... :) Will check.
     
  12. Offline

    iwilkilalzmBs

    i know but im just saying this so non ops may be able to get more money, and im basing it off the fact that ops have a LOT of coin
     
  13. Offline

    PandaVidya

    yeah sorry, didnt understand it at first. I agree, I would love to make the prize pool bigger. Also is there a way to view how big the prize pool is?
     
  14. Offline

    iwilkilalzmBs

    i think we have to just keep track of how many pple r in the lottery -_-
     
  15. Offline

    PandaVidya

    that works too :p
     
  16. Offline

    Erbros

    0.3 released

    This is finally done! ;)
     
  17. Offline

    Jessicadawn

    You rock!
     
  18. Offline

    Kainzo

    Very fun plugin - is there a way to recolor it?
     
  19. Offline

    enchanter100

    I like the concept, but my server only houses about six players so the "pot" wouldn't be that great. Could you add an option to make it more like a state lottery? Where I put in a starting value, then it increases every week based on how many people bought in and didn't win the previous week? Or even by a %? Currently, it's not technically a lottery. It's more like gambling..
     
  20. Offline

    Phaedrus

    Something is going on with my lottery. we get 4 announce messages when a draw is held. One of them works and awards the player, the others say there were no tickets purchased that round. And we get this error in the console.

    Code:
    2011-04-07 12:09:37 [INFO] Rand: 2
    2011-04-07 12:09:37 [SEVERE] Exception in thread "Timer-25"
    2011-04-07 12:09:37 [SEVERE] java.lang.NoClassDefFoundError: com/nijiko/coelho/iConomy/system/Bank
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery.getWinner(Lottery.java:460)
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery$LotteryDraw.run(Lottery.java:256)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.mainLoop(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] Caused by: java.lang.ClassNotFoundException: com.nijiko.coelho.iConomy.system.Bank
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader$1.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.security.AccessController.doPrivileged(Native Method)
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader.findClass(Unknown Source)
    2011-04-07 12:09:37 [INFO] Rand: 2
    2011-04-07 12:09:37 [INFO] Rand: 0
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [INFO] Rand: 0
    2011-04-07 12:09:37 [SEVERE] 	... 4 more
    2011-04-07 12:09:37 [SEVERE] Exception in thread "Timer-28"
    2011-04-07 12:09:37 [SEVERE] java.lang.NoClassDefFoundError: com/nijiko/coelho/iConomy/system/Bank
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery.getWinner(Lottery.java:460)
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery$LotteryDraw.run(Lottery.java:256)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.mainLoop(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] Caused by: java.lang.ClassNotFoundException: com.nijiko.coelho.iConomy.system.Bank
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader$1.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.security.AccessController.doPrivileged(Native Method)
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader.findClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	... 4 more
    2011-04-07 12:09:37 [SEVERE] Exception in thread "Timer-27"
    2011-04-07 12:09:37 [SEVERE] java.lang.NoClassDefFoundError: com/nijiko/coelho/iConomy/system/Bank
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery.getWinner(Lottery.java:460)
    2011-04-07 12:09:37 [SEVERE] 	at net.erbros.Lottery.Lottery$LotteryDraw.run(Lottery.java:256)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.mainLoop(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.util.TimerThread.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] Caused by: java.lang.ClassNotFoundException: com.nijiko.coelho.iConomy.system.Bank
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader$1.run(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.security.AccessController.doPrivileged(Native Method)
    2011-04-07 12:09:37 [SEVERE] 	at java.net.URLClassLoader.findClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    2011-04-07 12:09:37 [SEVERE] 	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	at java.lang.ClassLoader.loadClass(Unknown Source)
    2011-04-07 12:09:37 [SEVERE] 	... 4 more
     
  21. Offline

    Erbros

    Okay, I have no idea what is going on there, but I will see into it tomorrow. It seems like the plugin should be running ok anyway, so nothing very serious. Thanks for the notify!
     
  22. Offline

    anonymous

    will there ever be supprot for adding into the lottery prize pool, without actually participating? So just add money to the prize pool?

    Also, is it possible to let people buy multiple tickets?

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

    TheShadow777

    ahh its soo cool i can't wait for essentials eco support :D i hope you make it really soon :D
     
  24. Offline

    mudzereli

    Hey, this plugin is awesome. Can I make a few suggestions? How bout adding a % cut (so admins can essentially use this as a stealth way to remove money from the economy) and a minimum player count to payout. Something like:

    min_players: 5 #if less than 5 players are signed up at time of drawing, lottery is cancelled for that period and players are refunded their money
    pct_server_cut: 10 #server takes 10% of each payout

    Again, awesome plugin, thanks!
     
  25. Offline

    City Builder

    ^Yes please!^
    A server cut would be a nice easy way to get some money out of an over saturated economy in our world that we've only just begun.
     
  26. Offline

    ben1996123

    Does this work with Craftbukkit 670?
     
  27. Offline

    Bjourk

    Yes.
     
  28. Offline

    MatCat

    What about multiple tickets at set price? Though variable price is kind of cool too..
     
  29. Offline

    anonymous

    Is it possible for admins to just add money to the pot, without buying tickets?
     
  30. Offline

    Erbros

    No, not at the moment. Will add it on next update, together with permission support.
     
  31. Offline

    anonymous

    yay :)
     

Share This Page