Hello, i need a plugin that can retrive player's minecraft achievement data, and upload it to MySQL. Is it possible? I do not want a plugin for custom achievements, i want a plugin that tells me what minecraft basic achievements has the player unlocked
timtower Nothing complicated. just player and achivement ID (unique key) , Username, AchName 0, djoe, Time to mine! Also, since this is possible, do you think you can make the inventory to the sql? I have found a plugin, but it uploads me a BLOB. The inventory should be only what the player has in hand, and it should be like this ID(unique key), Username, Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9 0, djoe, diamond_block@10, redstone_block@3, light_wool@1, air, air, air, air, air, air
D.Joe I won't add inventory support. The achievements have something to check, the inventory doesn't.
Maybe stored in the same place but I am not going to sniff in the player.dat files. I just call some functions every ... minutes to check / upload the new stats
D.Joe https://www.dropbox.com/s/b48wifzym84iwr4/MySQLAchievements.jar Untested, no perms, no commands, check the config for the settings
timtower It adds world prefix to the players, can you remove that? ex: Code: [Survival][Owner]Joe96 : something in chat [world]Player : something in chat
Yes, i fixed that issue, but the plugin does not work. Code: [15:17:38] [pool-3-thread-36/WARN]: java.sql.SQLException: Can not issue data manipulation statements with executeQuery(). [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:434) [15:17:38] [pool-3-thread-36/WARN]: at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1388) [15:17:38] [pool-3-thread-36/WARN]: at nl.timdebrouwer.mysqlachievements.Runner.check(Runner.java:54) [15:17:38] [pool-3-thread-36/WARN]: at nl.timdebrouwer.mysqlachievements.Runner.run(Runner.java:28) [15:17:38] [pool-3-thread-36/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53) [15:17:38] [pool-3-thread-36/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [15:17:38] [pool-3-thread-36/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [15:17:38] [pool-3-thread-36/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [15:17:38] [pool-3-thread-36/WARN]: at java.lang.Thread.run(Thread.java:722)
Note that this wasn't meant to touch the chat at all, so kinda weird question for me. Fixed the issue: https://www.dropbox.com/s/b48wifzym84iwr4/MySQLAchievements.jar
timtower Code: [17:12:26] [pool-3-thread-30/WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 [17:12:26] [pool-3-thread-30/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [17:12:26] [pool-3-thread-30/WARN]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [17:12:26] [pool-3-thread-30/WARN]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [17:12:26] [pool-3-thread-30/WARN]: at java.lang.reflect.Constructor.newInstance(Constructor.java:525) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.Util.getInstance(Util.java:382) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662) [17:12:26] [pool-3-thread-30/WARN]: at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581) [17:12:26] [pool-3-thread-30/WARN]: at nl.timdebrouwer.mysqlachievements.Runner.check(Runner.java:54) [17:12:26] [pool-3-thread-30/WARN]: at nl.timdebrouwer.mysqlachievements.Runner.run(Runner.java:28) [17:12:26] [pool-3-thread-30/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53) [17:12:26] [pool-3-thread-30/WARN]: at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [17:12:26] [pool-3-thread-30/WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [17:12:26] [pool-3-thread-30/WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [17:12:26] [pool-3-thread-30/WARN]: at java.lang.Thread.run(Thread.java:722) You did something wrong in the query =D It should be INSERT INTO table VALUES (0, 'player', 'achievement');
D.Joe Will look into it. D.Joe You don't need to give an argument for auto increment. And I am using the quotes