[INACTIVE][FUN/ECON] Achievement v1.3 - Custom Minecraft Achievements [1000]

Discussion in 'Inactive/Unsupported Plugins' started by IC3D, Jun 27, 2011.

  1. Offline

    IC3D

    Achievement: A simple achievement plugin!
    Version: 1.3
    If you want help, tag @captainawesome7 , not IC3D!
    This is a super simple plugin. It is a somewhat easy to configure achievement plugin that takes advantage of Spout to make it look real. To see the Achievement Get notifications, you have to have the Spout server mod and client mod installed. It keeps track of kills, places, crafting, and breaks with an SQLite database, so there is no MySQL setup required.

    Requirements:
    Features:
    • Configurable Achievements!
    • Uses breaks, placements, kills, and crafting config options to award achievements!
    Configuration:
    config (open)

    The configuration is where all the magic happens. Here you can add as may achievements as you want! The default config.yml looks like this:
    Code:
    Breaks:
        stone:
            '1':
                Message: Your first cobble!
    Kills:
        zombie:
            '1':
                Reward:
                    Item:
                        Amount: 1
                        Type: stone
                    Money:
                        Amount: 1
                Message: Your first zombie!
    Places:
        stone:
            '1':
                Message: Your first stone smelt!
    Crafts:
        torch:
            '1':
                Reward:
                    Money:
                        Amount: 5
                Message: Light it up!
    
    The breaks and places format is as follows:
    Code:
    Breaks/Places:
        itemname:
            'amountToTrigger':
                Reward:
                    Item:
                        Amount: amountofItem
                        Type: itemName
                    Money:
                        Amount: moneyAmount (3co Only)
                Message: Your message here
    You don't have to include the reward section, and can omit item or money as you see fit. An example is:
    Code:
    Places:
        dirt:
            '100':
                Message: You dirty gurl!
    The above will send me the achievement notification You dirty Gurl! when I place 100 dirt.
    Note: The crafting achievements are per time crafted, not the amount. So the code already included will give the achievement regardless of the number of torches made, it is per itemstack crafted.

    Video Demo:
    Video (open)



    Downloads
    The source code is included in the .jar

    Planned Changes:
    • Add more hooks
    Changelog:
    Version 1.3
    • Hidden fix to try to address the Driver not found errors.
    Version 1.3
    • Updated to work with Spout
    Version 1.2
    • Fixed the nullpointerexception when crafting items. (I think it was actually a but of BukkitContrib, I'm pretty sure it sent a new event when somebody clicked on the result box, and not just when an item was actually crafted)
    • Fixed the database path not working (unconfirmed, tested on a mac with file.separator, in theory it should work for Windows users as well)
    • Added iConomy Support (Untested)
    • Added messages for hooking into 3co and iConomy in the console (when enabling)
    Version 1.1
    • Added crafting achievements
    Version 1.0
    • Official Release
    Credits:
     
  2. Offline

    majorcyto

    Thanks for the achievement i appreciate it!

    With the GUI updates, will you add options to let there be an on screen gui "achievement" window that will show all the different achievements. Maybe even the ability to show the icon and descrip and categorize them. <3
     
  3. Offline

    captainawesome7

    My only GUI experience is with objective C and Xcode, but I'll look into the BukkitContrib API and see what I can do. It will most likely just show all the achievements available and if you have already gotten them (that is, if i accomplish anything)
     
  4. Offline

    omnija

    id assume items are only given through name commands?
     
  5. Offline

    captainawesome7

    What?
     
  6. Offline

    IncendiaDrakon

    Is there a way to view in game which achievements you've gotten and which you haven't?
     
  7. Offline

    captainawesome7

    No I am going to look into adding that with the BukkitContrib GUI, but it might not happen.
     
  8. Offline

    omnija

    for the reward i tried entering an idem id and i didn't get the reward. meaning rewards have to be said in names such as dirt,book,grass,stone etc... and not 4,2,286 etc..
     
  9. Offline

    captainawesome7

    its lowercase item names. Use _ for spaces
     
  10. Offline

    omnija

    a ok thanks, turns out wooden_sword wasn't working but everything else was.
     
  11. Offline

    captainawesome7

    try wood_sword
     
  12. Offline

    jeanpoivrot

    hello there, i use Loglock and its already logging blocks, its possible to use those data instead logging 2 times the same thing ? that can be very good thanks.
     
  13. Offline

    captainawesome7

    No.
     
  14. Offline

    EMOberger

    would love an answer >.>

    also is there something to reset all achievements and blocks people have broken before i put the achievements plugin on my server?
     
  15. Offline

    Etburn

    I installed bukkitconstrib correctly, this plugin must have an fail in its code :)

    Plugins: ..., BukkitConstrib
    Client: Installed through BukkitCostrib_Installer

    Looks like you cant code very well ;)
     
  16. Offline

    Adelion

    @Etburn

    Looks like you cant speak and write very well.:cool:

    Install BukkitContrib manually.
    Achievement Plugin (v1.2 with bukkit 1k) works very well....
     
  17. Offline

    Etburn

    sry for triple posting, but your achievements has this error -.- mcMMO shows it without problems

    [​IMG]

    //EDIT: Holy Crap? Now it works, nice one :)
     
  18. Offline

    narrowtux

    Do you have a virus or something like that? Because of the How I met you Mother pic!
     
  19. Offline

    Etburn

    No ^^ Its my background and i had my HDMI cable in my laptop, so it printed both screens xD
     
  20. Offline

    soulreaver797

    I've been looking everywhere for a plugin that broadcast's achievements in chat for breaking a certain amount of blocks

    An example of this would be...
    SoulReaver797 has broken a total of 100 diamond blocks!

    and players can view each other achievements by typing /achievements soulreaver797
    if you could make this possible I would be over the moon!
     
  21. Offline

    EMOberger

    ..........i did a lot of things and when i ran the server it erased a lot and moves a lot and also put back the default achievements...WTS?
     
  22. Offline

    pivotgamer84

    How are we supposed to install the JDBC SQLite driver? I have search and found 4 different drivers, and tried putting them in plugins, lib, program files, system32, java lib and so on. It still gives me this message:

     
  23. hi, i have a problem. i entered an achievement to see if it works. i destroyed some sand, and it poped up. great. so i wanted to add more of them. i went to config, entered a whole bunch to the file, and started the server. i logged in with a new account, and go away from the spawn, and break a block of sand. nothing. i though i made an error, so i opened the config file, and i see, that only a few are there, even though i spent like 10 minutes typing them up. i made a copy before i started just in case, so i still have everything. but why can't i enter more achievements? does it allow a finite amount or something? please help.
     
    EMOberger likes this.
  24. Offline

    EMOberger

    exact same f***ing thing happened to me, but i spent a lot longer -.-
     
  25. Offline

    quickclay

    You might consider putting BukkitContrib in the thread title so people searching for BC compatible plugins will find this easier. :)
     
  26. Offline

    snow_56767

    I keep having this problem:

    [SEVERE] java.sql.SQLException: No suitable driver found for jdbc:sqlite:jdbc:sqlite:G:\Documents and Settings\Snowball\Application Data\Minecraft Server\BUKKIT\plugins\Achievement\achievements.db
    [SEVERE] at java.sql.DriverManager.getConnection(Unknown Source)
    [SEVERE] at java.sql.DriverManager.getConnection(Unknown Source)
    [SEVERE] at me.ic3d.achievement.Achievement.onEnable(Achievement.java:97)
    [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
    [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
    [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
    [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
    [SEVERE] at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
    [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
    [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
    [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    I can't seem to find achievements.db, and I have Visual Studio Professional 2008 installed, so I have all the SQL stuff installed.

    I am running version 1000.
     
  27. Offline

    bastrian

    the error
    java.sql.SQLException: No suitable driver found for jdbc:sqlite:jdbc:sqlite
    means that this plugin have no way to create the database. Whats is needed is the SQLlite driver (a normal .jar file) that 'translate' for Java in SQLlite.
    To the Dev: Give us the right driver and/or add MySQL support. Or even better, Flat file support^^

    Ah, i forgot. The Source Code is NOT included in the .jar file. Why not? Just look at me/ic3d/Achievement.class
    You need to give us the .java files, and not this.

    PS: Nice to meet you Andrew Bul***ey. Next time remember to delete .classpath and .project from you '.jar Source Code'
     
  28. Offline

    Thyme676

    What about place biased achievements? I have a ton of secret places on my server and it would be awesome if there was a way to reward/track/let them know when they have found one of those places.
     
    wassilij likes this.
  29. Offline

    wassilij

    I like this idea!
     
    Thyme676 likes this.
  30. Offline

    Bdl2

    Got a few issues on my end.
    • The most bothersome is that the plugin won't reward any money that's below a decimal point. For example, trying to reward 0.12 will not work, at all.
    • The second issue I'm having is that for some reason this plugin won't load certain achievements I've defined in the config, even though they're still in the config when I check back. The plugin seems to just ignore certain ones for no apparent reason. (Yes, I wrote them properly.)
    • And issue the third, the plugin auto-regenerates the default config options if/when removed, so there's *always* an achievement for breaking one stone, crafting a torch, etc.
    The fact that I have enough problems with this plugin to need bullet points is a new one for me, I love the idea of this plugin, and it'll remain on my server, but I'd appreciate seeing these issues fixed sometime - they can be somewhat frustrating to people writing out configs.

    EDIT:

    Disregard issue #2, I looked back a little in the thread and saw that the item names need to have underscores. I wrote mine as things like 'diamondore' etc.
    The other issues I still have though, so please don't disregard those.
     
  31. Offline

    minechomp

    when i break the block I get this error:

    2011-07-30 03:44:29 [SEVERE] Could not pass event BLOCK_BREAK to Achievement
    java.lang.NullPointerException
    at me.ic3d.achievement.Achievement.registerBreak(Achievement.java:148)
    at me.ic3d.achievement.ABL.onBlockBreak(ABL.java:32)
    at org.bukkit.plugin.java.JavaPluginLoader$36.execute(JavaPluginLoader.java:490)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:332)
    at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:157)
    at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:121)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:461)
    at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     

Share This Page