· 9 years ago · Nov 06, 2016, 06:44 PM
1package com.rickert.atm;
2
3import java.sql.Connection;
4import java.sql.DriverManager;
5import java.sql.ResultSet;
6import java.sql.SQLException;
7import java.sql.Statement;
8import java.util.ArrayList;
9import java.util.HashMap;
10import java.util.List;
11import java.util.Map;
12import java.util.UUID;
13
14import org.bukkit.Bukkit;
15import org.bukkit.OfflinePlayer;
16import org.bukkit.plugin.PluginManager;
17import org.bukkit.plugin.java.JavaPlugin;
18
19import com.rickert.atm.commands.Commands;
20import com.rickert.atm.database.PlayerData;
21import com.rickert.atm.events.InventoryClick;
22import com.rickert.atm.events.PlayerInteract;
23import com.rickert.atm.events.PlayerJoin;
24import com.rickert.atm.sql.Tables;
25import com.rickert.atm.utils.MessageFile;
26
27public class Main extends JavaPlugin {
28
29 private static Main plugin;
30
31 private static Connection c;
32 private String host, database, username, password;
33 private int port;
34
35 private static Map<UUID, PlayerData> playerdata = new HashMap<UUID, PlayerData>();
36 private static List<UUID> registeredPlayers = new ArrayList<UUID>();
37
38 public void onEnable() {
39 plugin = this;
40
41 registerConfig();
42
43 System.out.println("------------------------------");
44 System.out.println(" ATM Plugin Enabled");
45 System.out.println(" Version 1.0");
46 System.out.println(" Made by Rickert");
47 System.out.println("------------------------------");
48
49 host = "";
50 port = 3306;
51 database = "";
52 username = "";
53 password = "";
54
55 try {
56 openConnection();
57 Tables.TablePlayerData();
58 } catch (SQLException | ClassNotFoundException e) {
59 e.printStackTrace();
60 }
61 try {
62 for (OfflinePlayer p : Bukkit.getOfflinePlayers()) {
63 playerdata.put(p.getUniqueId(), new PlayerData(p));
64 }
65 Statement statement = c.createStatement();
66 ResultSet res = statement.executeQuery("SELECT * FROM ATM_PlayerData");
67 while (res.next()) {
68 String uuid = res.getString("PlayerUUID");
69 registeredPlayers.add(UUID.fromString(uuid));
70 }
71 } catch (SQLException e) {
72 e.printStackTrace();
73 }
74
75 PluginManager pm = Bukkit.getPluginManager();
76 pm.registerEvents(new PlayerJoin(), this);
77 pm.registerEvents(new PlayerInteract(), this);
78 pm.registerEvents(new InventoryClick(), this);
79
80 getCommand("atm").setExecutor(new Commands());
81 }
82
83 public void onDisable() {
84
85 System.out.println("------------------------------");
86 System.out.println(" ATM Plugin Disabled");
87 System.out.println(" Version 1.0");
88 System.out.println(" Made by Rickert");
89 System.out.println("------------------------------");
90
91 for (OfflinePlayer p : Bukkit.getOfflinePlayers()) {
92 playerdata.remove(p.getUniqueId()).save();
93 }
94 }
95
96 public void registerConfig() {
97 getConfig().options().copyDefaults(true);
98 saveConfig();
99 MessageFile.loadConfig();
100 }
101
102 public static Main getMain() {
103 return plugin;
104 }
105
106 public static Connection getConnection() {
107 return c;
108 }
109
110 public static Map<UUID, PlayerData> getPlayerData() {
111 return playerdata;
112 }
113
114 public static List<UUID> getRegisteredPlayer() {
115 return registeredPlayers;
116 }
117
118 private void openConnection() throws SQLException, ClassNotFoundException {
119 if (c != null && !c.isClosed()) {
120 return;
121 }
122
123 synchronized (this) {
124 if (c != null && !c.isClosed()) {
125 return;
126 }
127 Class.forName("com.mysql.jdbc.Driver");
128 c = DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database,
129 this.username, this.password);
130 }
131 }
132
133}
134
135package com.rickert.atm.utils;
136
137import com.rickert.atm.Main;
138
139public class Integers {
140
141 public static int atm_block = Main.getMain().getConfig().getInt("ATM Block id");
142
143 public static int diamondwaarde = 2500;
144 public static int redstonewaarde = 1000;
145 public static int emeraldwaarde = 500;
146 public static int ironingotwaarde = 100;
147 public static int quartzwaarde = 50;
148 public static int goldingotwaarde = 10;
149 public static int goldnuggetwaarde = 1;
150
151}
152
153package com.rickert.atm.utils;
154
155import org.bukkit.Material;
156import org.bukkit.inventory.ItemStack;
157
158public class Items {
159
160 public static ItemStack atm_glass = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 0);
161 public static ItemStack atm_stick = new ItemStack(Material.STICK);
162
163 public static ItemStack atm_diamond = ItemStackCreate.createItemStack(Material.DIAMOND, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.diamondwaarde);
164 public static ItemStack atm_redstone = ItemStackCreate.createItemStack(Material.REDSTONE, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.redstonewaarde);
165 public static ItemStack atm_emerald = ItemStackCreate.createItemStack(Material.EMERALD, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.emeraldwaarde);
166 public static ItemStack atm_ironingot = ItemStackCreate.createItemStack(Material.IRON_INGOT, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.ironingotwaarde);
167 public static ItemStack atm_quartz = ItemStackCreate.createItemStack(Material.QUARTZ, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.quartzwaarde);
168 public static ItemStack atm_goldingot = ItemStackCreate.createItemStack(Material.GOLD_INGOT, 1, Strings.deze_briefjes, Strings.waarde_van + Strings.goldingotwaarde);
169 public static ItemStack atm_goldnugget = ItemStackCreate.createItemStack(Material.GOLD_NUGGET, 1, Strings.deze_muntjes, Strings.waarde_van + Strings.goldnuggetwaarde);
170
171 public static ItemStack atm_2_diamond = ItemStackCreate.createItemStack(Material.DIAMOND, 1, Strings.dit_briefje, Strings.waarde_van + Strings.diamondwaarde);
172 public static ItemStack atm_2_redstone = ItemStackCreate.createItemStack(Material.REDSTONE, 1, Strings.dit_briefje, Strings.waarde_van + Strings.redstonewaarde);
173 public static ItemStack atm_2_emerald = ItemStackCreate.createItemStack(Material.EMERALD, 1, Strings.dit_briefje, Strings.waarde_van + Strings.emeraldwaarde);
174 public static ItemStack atm_2_ironingot = ItemStackCreate.createItemStack(Material.IRON_INGOT, 1, Strings.dit_briefje, Strings.waarde_van + Strings.ironingotwaarde);
175 public static ItemStack atm_2_quartz = ItemStackCreate.createItemStack(Material.QUARTZ, 1, Strings.dit_briefje, Strings.waarde_van + Strings.quartzwaarde);
176 public static ItemStack atm_2_goldingot = ItemStackCreate.createItemStack(Material.GOLD_INGOT, 1, Strings.dit_briefje, Strings.waarde_van + Strings.goldingotwaarde);
177 public static ItemStack atm_2_goldnugget = ItemStackCreate.createItemStack(Material.GOLD_NUGGET, 1, Strings.dit_muntje, Strings.waarde_van + Strings.goldnuggetwaarde);
178
179 public static ItemStack diamond = new ItemStack(Material.DIAMOND);
180 public static ItemStack redstone = new ItemStack(Material.REDSTONE);
181 public static ItemStack emerald = new ItemStack(Material.EMERALD);
182 public static ItemStack ironingot = new ItemStack(Material.IRON_INGOT);
183 public static ItemStack quartz = new ItemStack(Material.QUARTZ);
184 public static ItemStack goldingot = new ItemStack(Material.GOLD_INGOT);
185 public static ItemStack goldnugget = new ItemStack(Material.GOLD_NUGGET);
186
187}
188
189package com.rickert.atm.utils;
190
191import java.util.ArrayList;
192
193import org.bukkit.Material;
194import org.bukkit.inventory.ItemStack;
195import org.bukkit.inventory.meta.ItemMeta;
196
197import net.md_5.bungee.api.ChatColor;
198
199public class ItemStackCreate {
200
201 public static ItemStack createItemStack(Material mat, int amount, String name, String lore, String lore2) {
202 ItemStack stack = new ItemStack(mat, amount);
203 ItemMeta stackmeta = stack.getItemMeta();
204 ArrayList<String> stacklore = new ArrayList<String>();
205 stackmeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name));
206 stacklore.add(lore);
207 stacklore.add(lore2);
208 stackmeta.setLore(stacklore);
209 stack.setItemMeta(stackmeta);
210 return stack;
211 }
212
213 public static ItemStack createItemStack(Material mat, int amount, String lore, String lore2) {
214 ItemStack stack = new ItemStack(mat, amount);
215 ItemMeta stackmeta = stack.getItemMeta();
216 ArrayList<String> stacklore = new ArrayList<String>();
217 stacklore.add(lore);
218 stacklore.add(lore2);
219 stackmeta.setLore(stacklore);
220 stack.setItemMeta(stackmeta);
221 return stack;
222 }
223
224 public static ItemStack createItemStack(Material mat, String name) {
225 ItemStack stack = new ItemStack(mat);
226 ItemMeta stackmeta = stack.getItemMeta();
227 stackmeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', name));
228 stack.setItemMeta(stackmeta);
229 return stack;
230 }
231
232}
233
234package com.rickert.atm.utils;
235
236import org.bukkit.ChatColor;
237
238public class Message {
239
240 public static String speler_niet_gevonden = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("Speler niet gevonden"));
241 public static String atm_open_message = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("ATM open message"));
242 public static String atm_close_message = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("ATM sluiten message"));
243 public static String atm_geld_opnemen = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("ATM geld opnemen"));
244 public static String atm_geld_storten = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("ATM geld storten"));
245 public static String geen_permission = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("Geen permission"));
246 public static String geen_player = ChatColor.translateAlternateColorCodes('&', MessageFile.getConfig().getString("Geen player"));
247
248}
249
250package com.rickert.atm.utils;
251
252import java.io.File;
253import java.io.IOException;
254
255import org.bukkit.configuration.InvalidConfigurationException;
256import org.bukkit.configuration.file.FileConfiguration;
257import org.bukkit.configuration.file.YamlConfiguration;
258
259import com.rickert.atm.Main;
260
261public class MessageFile {
262
263 private static File userFile = new File(Main.getMain().getDataFolder() + "/message.yml");
264 private static FileConfiguration userData = YamlConfiguration.loadConfiguration(userFile);
265
266 public static void saveConfig() {
267 try {
268 userData.save(userFile);
269 } catch (IOException e) {
270 e.printStackTrace();
271 }
272 }
273
274 public static void loadConfig() {
275 if (userFile.exists()) {
276 try {
277 userData.load(userFile);
278 } catch (IOException | InvalidConfigurationException e) {
279 e.printStackTrace();
280 }
281 } else {
282 try {
283 userFile.createNewFile();
284 userData.options().copyDefaults(true);
285 userData.save(userFile);
286 } catch (IOException e) {
287 e.printStackTrace();
288 }
289 }
290 }
291
292 public static FileConfiguration getConfig() {
293 return userData;
294 }
295
296}
297
298package com.rickert.atm.utils;
299
300import com.rickert.atm.Main;
301
302import net.md_5.bungee.api.ChatColor;
303
304public class Strings {
305
306 public static String atm_name = ChatColor.translateAlternateColorCodes('&',
307 Main.getMain().getConfig().getString("ATM name"));
308 public static String atm_name_others = ChatColor.translateAlternateColorCodes('&',
309 Main.getMain().getConfig().getString("ATM name others"));
310 public static String deze_briefjes = ChatColor.DARK_AQUA + "Deze briefjes hebben een";
311 public static String deze_muntjes = ChatColor.DARK_AQUA + "Deze muntjes hebben een";
312 public static String dit_briefje = ChatColor.DARK_AQUA + "Dit briefje heeft een";
313 public static String dit_muntje = ChatColor.DARK_AQUA + "Dit muntje heeft een";
314 public static String waarde_van = ChatColor.DARK_AQUA + "waarde van ";
315
316 public static String diamondwaarde = ChatColor.AQUA + "€ 2500";
317 public static String redstonewaarde = ChatColor.AQUA + "€ 1000";
318 public static String emeraldwaarde = ChatColor.AQUA + "€ 500";
319 public static String ironingotwaarde = ChatColor.AQUA + "€ 100";
320 public static String quartzwaarde = ChatColor.AQUA + "€ 50";
321 public static String goldingotwaarde = ChatColor.AQUA + "€ 10";
322 public static String goldnuggetwaarde = ChatColor.AQUA + "€ 1";
323
324 public static String niet_genoeg_geld = ChatColor.RED + "Je hebt niet genoeg geld!";
325
326 public static String help = ChatColor.DARK_AQUA + "----------= " + ChatColor.AQUA + "Help ATM" + ChatColor.DARK_AQUA
327 + " =----------";
328 public static String help_help = ChatColor.AQUA + "/atm help" + ChatColor.WHITE + " - "
329 + ChatColor.DARK_AQUA + "Open this help menu.";
330 public static String help_open = ChatColor.AQUA + "/atm open [player]" + ChatColor.WHITE + " - "
331 + ChatColor.DARK_AQUA + "Open player's bankaccount.";
332 public static String help_money = ChatColor.AQUA + "/atm money" + ChatColor.WHITE + " - " + ChatColor.DARK_AQUA
333 + "Check your balance on your bankaccount.";
334 public static String help_money_others = ChatColor.AQUA + "/atm money [player]" + ChatColor.WHITE + " - "
335 + ChatColor.DARK_AQUA + "Check player's balance on player's bankaccount.";
336}
337
338package com.rickert.atm.sql;
339
340import java.sql.SQLException;
341import java.sql.Statement;
342
343import com.rickert.atm.Main;
344
345public class Tables {
346
347 public static void TablePlayerData() throws SQLException {
348 Statement statement = Main.getConnection().createStatement();
349 statement.executeUpdate(
350 "CREATE TABLE IF NOT EXISTS ATM_PlayerData (PlayerUUID varchar(255), PlayerName varchar(255), Diamond int, Redstone int, Emerald int, "
351 + "Ironingot int, Quartz int, Goldingot int, Goldnugget int, Money int)");
352 }
353
354}
355
356package com.rickert.atm.events;
357
358import java.sql.ResultSet;
359import java.sql.SQLException;
360import java.sql.Statement;
361import java.util.ArrayList;
362import java.util.List;
363
364import org.bukkit.entity.Player;
365import org.bukkit.event.EventHandler;
366import org.bukkit.event.Listener;
367import org.bukkit.event.player.PlayerJoinEvent;
368
369import com.rickert.atm.Main;
370import com.rickert.atm.database.PlayerData;
371
372public class PlayerJoin implements Listener {
373
374 private static List<String> names = new ArrayList<String>();
375
376 @EventHandler
377 public void onPlayerJoin(PlayerJoinEvent e) throws SQLException {
378 Player p = e.getPlayer();
379 Statement statement = Main.getConnection().createStatement();
380 ResultSet res = statement.executeQuery("SELECT * FROM ATM_PlayerData");
381 while (res.next()) {
382 String playername = res.getString("PlayerUUID");
383 names.add(playername);
384 }
385 if (!names.contains(p.getUniqueId().toString())) {
386 Main.getPlayerData().remove(p.getName());
387 statement.executeUpdate(
388 "INSERT INTO ATM_PlayerData (PlayerUUID, PlayerName, Diamond, Redstone, Emerald, Ironingot, Quartz, Goldingot, Goldnugget, Money) VALUE"
389 + "('" + p.getUniqueId() + "', '"+p.getName()+"', 2, 0, 0, 0, 0, 0, 0, 5000)");
390 Main.getPlayerData().put(p.getUniqueId(), new PlayerData(p));
391 }
392 }
393
394 public static List<String> RegisteredPlayer() {
395 return names;
396 }
397
398}
399
400package com.rickert.atm.events;
401
402import java.util.UUID;
403
404import org.bukkit.Bukkit;
405import org.bukkit.OfflinePlayer;
406import org.bukkit.block.Block;
407import org.bukkit.entity.Player;
408import org.bukkit.event.EventHandler;
409import org.bukkit.event.Listener;
410import org.bukkit.event.block.Action;
411import org.bukkit.event.player.PlayerInteractEvent;
412import org.bukkit.inventory.Inventory;
413
414import com.rickert.atm.Main;
415import com.rickert.atm.database.PlayerData;
416import com.rickert.atm.utils.Integers;
417import com.rickert.atm.utils.Items;
418import com.rickert.atm.utils.Strings;
419
420public class PlayerInteract implements Listener {
421
422 private static PlayerData getPD(UUID uuid) {
423 return Main.getPlayerData().get(uuid);
424 }
425
426 public static Inventory inv(OfflinePlayer target) {
427 Inventory inv = Bukkit.createInventory(null, 6 * 9, Strings.atm_name.replace("%playername%", target.getName())
428 .replace("%PlayerMoney%", String.valueOf(getPD(target.getUniqueId()).getMoney())));
429
430 if (getPD(target.getUniqueId()).getDiamond() > 0) {
431 Items.atm_2_diamond.setAmount(getPD(target.getUniqueId()).getDiamond());
432 inv.addItem(Items.atm_2_diamond);
433 }
434 if (getPD(target.getUniqueId()).getRedstone() > 0) {
435 Items.atm_2_redstone.setAmount(getPD(target.getUniqueId()).getRedstone());
436 inv.addItem(Items.atm_2_redstone);
437 }
438 if (getPD(target.getUniqueId()).getEmerald() > 0) {
439 Items.atm_2_emerald.setAmount(getPD(target.getUniqueId()).getEmerald());
440 inv.addItem(Items.atm_2_emerald);
441 }
442 if (getPD(target.getUniqueId()).getIroningot() > 0) {
443 Items.atm_2_ironingot.setAmount(getPD(target.getUniqueId()).getIroningot());
444 inv.addItem(Items.atm_2_ironingot);
445 }
446 if (getPD(target.getUniqueId()).getQuartz() > 0) {
447 Items.atm_2_quartz.setAmount(getPD(target.getUniqueId()).getQuartz());
448 inv.addItem(Items.atm_2_quartz);
449 }
450 if (getPD(target.getUniqueId()).getGoldingot() > 0) {
451 Items.atm_2_goldingot.setAmount(getPD(target.getUniqueId()).getGoldingot());
452 inv.addItem(Items.atm_2_goldingot);
453 }
454 if (getPD(target.getUniqueId()).getGoldnugget() > 0) {
455 Items.atm_2_goldnugget.setAmount(getPD(target.getUniqueId()).getGoldnugget());
456 inv.addItem(Items.atm_2_goldnugget);
457 }
458 for (int i = 36; i < 45; i++) {
459 inv.setItem(i, Items.atm_glass);
460 }
461 inv.setItem(45, Items.atm_stick);
462 inv.setItem(46, Items.atm_diamond);
463 inv.setItem(47, Items.atm_redstone);
464 inv.setItem(48, Items.atm_emerald);
465 inv.setItem(49, Items.atm_ironingot);
466 inv.setItem(50, Items.atm_quartz);
467 inv.setItem(51, Items.atm_goldingot);
468 inv.setItem(52, Items.atm_goldnugget);
469 inv.setItem(53, Items.atm_stick);
470 return inv;
471 }
472
473 @SuppressWarnings("deprecation")
474 @EventHandler
475 public void onPlayerInteract(PlayerInteractEvent e) {
476 Player p = e.getPlayer();
477 Block b = e.getClickedBlock();
478
479 if (b.getTypeId() == Integers.atm_block) {
480 if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
481 p.openInventory(inv(p));
482 }
483 }
484 }
485
486}
487
488package com.rickert.atm.events;
489
490import java.util.UUID;
491
492import org.bukkit.entity.Player;
493import org.bukkit.event.EventHandler;
494import org.bukkit.event.Listener;
495import org.bukkit.event.inventory.InventoryClickEvent;
496import org.bukkit.inventory.ItemStack;
497
498import com.rickert.atm.Main;
499import com.rickert.atm.database.PlayerData;
500import com.rickert.atm.utils.Integers;
501import com.rickert.atm.utils.Items;
502import com.rickert.atm.utils.Strings;
503
504public class InventoryClick implements Listener{
505
506 private static PlayerData getPD(UUID uuid) {
507 return Main.getPlayerData().get(uuid);
508 }
509
510 @EventHandler
511 public void onInventoryClick(InventoryClickEvent e) {
512 Player p = (Player) e.getWhoClicked();
513 ItemStack item = e.getCurrentItem();
514 if (!e.getInventory().getName().equals(Strings.atm_name.replace("%playername%", p.getName()).replace("%PlayerMoney%",
515 String.valueOf(getPD(p.getUniqueId()).getMoney())))) {
516 return;
517 }
518 e.setCancelled(true);
519 // 1 opnemen
520 if (item.isSimilar(Items.atm_diamond)) {
521 Items.diamond.setAmount(1);
522 if (getPD(p.getUniqueId()).getDiamond() > 0) {
523 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() - 1);
524 getPD(p.getUniqueId()).updateMoney();
525 getPD(p.getUniqueId()).toHighCheck();
526 p.getInventory().addItem(Items.diamond);
527 p.openInventory(PlayerInteract.inv(p));
528 } else {
529 p.sendMessage(Strings.niet_genoeg_geld);
530 }
531 }
532 if (item.isSimilar(Items.atm_redstone)) {
533 Items.redstone.setAmount(1);
534 if (getPD(p.getUniqueId()).getRedstone() > 0) {
535 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - 1);
536 getPD(p.getUniqueId()).updateMoney();
537 getPD(p.getUniqueId()).toHighCheck();
538 p.getInventory().addItem(Items.redstone);
539 p.openInventory(PlayerInteract.inv(p));
540 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.redstonewaarde) {
541 getPD(p.getUniqueId()).toLowRedstone();
542 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - 1);
543 getPD(p.getUniqueId()).updateMoney();
544 getPD(p.getUniqueId()).toHighCheck();
545 p.getInventory().addItem(Items.redstone);
546 p.openInventory(PlayerInteract.inv(p));
547 } else {
548 p.sendMessage(Strings.niet_genoeg_geld);
549 }
550 }
551 if (item.isSimilar(Items.atm_emerald)) {
552 Items.emerald.setAmount(1);
553 if (getPD(p.getUniqueId()).getEmerald() > 0) {
554 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 1);
555 getPD(p.getUniqueId()).updateMoney();
556 getPD(p.getUniqueId()).toHighCheck();
557 p.getInventory().addItem(Items.emerald);
558 p.openInventory(PlayerInteract.inv(p));
559 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.emeraldwaarde) {
560 getPD(p.getUniqueId()).toLowEmerald();
561 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 1);
562 getPD(p.getUniqueId()).updateMoney();
563 getPD(p.getUniqueId()).toHighCheck();
564 p.getInventory().addItem(Items.emerald);
565 p.openInventory(PlayerInteract.inv(p));
566 } else {
567 p.sendMessage(Strings.niet_genoeg_geld);
568 }
569 }
570 if (item.isSimilar(Items.atm_ironingot)) {
571 Items.ironingot.setAmount(1);
572 if (getPD(p.getUniqueId()).getIroningot() > 0) {
573 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() - 1);
574 getPD(p.getUniqueId()).updateMoney();
575 getPD(p.getUniqueId()).toHighCheck();
576 p.getInventory().addItem(Items.ironingot);
577 p.openInventory(PlayerInteract.inv(p));
578 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.ironingotwaarde) {
579 getPD(p.getUniqueId()).toLowIroningot();
580 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() - 1);
581 getPD(p.getUniqueId()).updateMoney();
582 getPD(p.getUniqueId()).toHighCheck();
583 p.getInventory().addItem(Items.ironingot);
584 p.openInventory(PlayerInteract.inv(p));
585 } else {
586 p.sendMessage(Strings.niet_genoeg_geld);
587 }
588 }
589 if (item.isSimilar(Items.atm_quartz)) {
590 Items.quartz.setAmount(1);
591 if (getPD(p.getUniqueId()).getQuartz() > 0) {
592 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() - 1);
593 getPD(p.getUniqueId()).updateMoney();
594 getPD(p.getUniqueId()).toHighCheck();
595 p.getInventory().addItem(Items.quartz);
596 p.openInventory(PlayerInteract.inv(p));
597 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.quartzwaarde) {
598 getPD(p.getUniqueId()).toLowQuartz();
599 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() - 1);
600 getPD(p.getUniqueId()).updateMoney();
601 getPD(p.getUniqueId()).toHighCheck();
602 p.getInventory().addItem(Items.quartz);
603 p.openInventory(PlayerInteract.inv(p));
604 } else {
605 p.sendMessage(Strings.niet_genoeg_geld);
606 }
607 }
608 if (item.isSimilar(Items.atm_goldingot)) {
609 Items.goldingot.setAmount(1);
610 if (getPD(p.getUniqueId()).getGoldingot() > 0) {
611 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() - 1);
612 getPD(p.getUniqueId()).updateMoney();;
613 getPD(p.getUniqueId()).toHighCheck();
614 p.getInventory().addItem(Items.goldingot);
615 p.openInventory(PlayerInteract.inv(p));
616 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.goldingotwaarde) {
617 getPD(p.getUniqueId()).toLowGoldingot();
618 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() - 1);
619 getPD(p.getUniqueId()).updateMoney();
620 getPD(p.getUniqueId()).toHighCheck();
621 p.getInventory().addItem(Items.goldingot);
622 p.openInventory(PlayerInteract.inv(p));
623 } else {
624 p.sendMessage(Strings.niet_genoeg_geld);
625 }
626 }
627
628 if (item.isSimilar(Items.atm_goldnugget)) {
629 Items.goldnugget.setAmount(1);
630 if (getPD(p.getUniqueId()).getGoldnugget() > 0) {
631 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() - 1);
632 getPD(p.getUniqueId()).updateMoney();
633 getPD(p.getUniqueId()).toHighCheck();
634 p.getInventory().addItem(Items.goldnugget);
635 p.openInventory(PlayerInteract.inv(p));
636 } else if(getPD(p.getUniqueId()).getMoney() >= Integers.goldnuggetwaarde) {
637 getPD(p.getUniqueId()).toLowGoldnugget();
638 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() - 1);
639 getPD(p.getUniqueId()).updateMoney();
640 getPD(p.getUniqueId()).toHighCheck();
641 p.getInventory().addItem(Items.goldnugget);
642 p.openInventory(PlayerInteract.inv(p));
643 } else {
644 p.sendMessage(Strings.niet_genoeg_geld);
645 }
646 }
647
648 //clicked opnemen
649 if (item.isSimilar(Items.atm_2_diamond)) {
650 int amount = item.getAmount();
651 Items.diamond.setAmount(amount);
652 p.getInventory().addItem(Items.diamond);
653 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() - amount);
654 getPD(p.getUniqueId()).updateMoney();
655 getPD(p.getUniqueId()).toHighCheck();
656 p.openInventory(PlayerInteract.inv(p));
657 }
658 if (item.isSimilar(Items.atm_2_redstone)) {
659 int amount = item.getAmount();
660 Items.redstone.setAmount(amount);
661 p.getInventory().addItem(Items.redstone);
662 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - amount);
663 getPD(p.getUniqueId()).updateMoney();
664 getPD(p.getUniqueId()).toHighCheck();
665 p.openInventory(PlayerInteract.inv(p));
666 }
667 if (item.isSimilar(Items.atm_2_emerald)) {
668 int amount = item.getAmount();
669 Items.emerald.setAmount(amount);
670 p.getInventory().addItem(Items.emerald);
671 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - amount);
672 getPD(p.getUniqueId()).updateMoney();
673 getPD(p.getUniqueId()).toHighCheck();
674 p.openInventory(PlayerInteract.inv(p));
675 }
676 if (item.isSimilar(Items.atm_2_ironingot)) {
677 int amount = item.getAmount();
678 Items.ironingot.setAmount(amount);
679 p.getInventory().addItem(Items.ironingot);
680 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() - amount);
681 getPD(p.getUniqueId()).updateMoney();
682 getPD(p.getUniqueId()).toHighCheck();
683 p.openInventory(PlayerInteract.inv(p));
684 }
685 if (item.isSimilar(Items.atm_2_quartz)) {
686 int amount = item.getAmount();
687 Items.quartz.setAmount(amount);
688 p.getInventory().addItem(Items.quartz);
689 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() - amount);
690 getPD(p.getUniqueId()).updateMoney();
691 getPD(p.getUniqueId()).toHighCheck();
692 p.openInventory(PlayerInteract.inv(p));
693 }
694 if (item.isSimilar(Items.atm_2_goldingot)) {
695 int amount = item.getAmount();
696 Items.goldingot.setAmount(amount);
697 p.getInventory().addItem(Items.goldingot);
698 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() - amount);
699 getPD(p.getUniqueId()).updateMoney();
700 getPD(p.getUniqueId()).toHighCheck();
701 p.openInventory(PlayerInteract.inv(p));
702 }
703 if (item.isSimilar(Items.atm_2_goldnugget)) {
704 int amount = item.getAmount();
705 Items.goldnugget.setAmount(amount);
706 p.getInventory().addItem(Items.goldnugget);
707 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() - amount);
708 getPD(p.getUniqueId()).updateMoney();
709 getPD(p.getUniqueId()).toHighCheck();
710
711 p.openInventory(PlayerInteract.inv(p));
712 }
713
714 //clicked storten
715 if (item.isSimilar(Items.diamond)) {
716 int amount = item.getAmount();
717 Items.diamond.setAmount(amount);
718 p.getInventory().removeItem(Items.diamond);
719 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() + amount);
720 getPD(p.getUniqueId()).updateMoney();
721 getPD(p.getUniqueId()).toHighCheck();
722 p.openInventory(PlayerInteract.inv(p));
723 }
724 if (item.isSimilar(Items.redstone)) {
725 int amount = item.getAmount();
726 Items.redstone.setAmount(amount);
727 p.getInventory().removeItem(Items.redstone);
728 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() + amount);
729 getPD(p.getUniqueId()).updateMoney();
730 getPD(p.getUniqueId()).toHighCheck();
731 p.openInventory(PlayerInteract.inv(p));
732 }
733 if (item.isSimilar(Items.emerald)) {
734 int amount = item.getAmount();
735 Items.emerald.setAmount(amount);
736 p.getInventory().removeItem(Items.emerald);
737 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() + amount);
738 getPD(p.getUniqueId()).updateMoney();
739 getPD(p.getUniqueId()).toHighCheck();
740 p.openInventory(PlayerInteract.inv(p));
741 }
742 if (item.isSimilar(Items.ironingot)) {
743 int amount = item.getAmount();
744 Items.ironingot.setAmount(amount);
745 p.getInventory().removeItem(Items.ironingot);
746 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() + amount);
747 getPD(p.getUniqueId()).updateMoney();
748 getPD(p.getUniqueId()).toHighCheck();
749 p.openInventory(PlayerInteract.inv(p));
750 }
751 if (item.isSimilar(Items.quartz)) {
752 int amount = item.getAmount();
753 Items.quartz.setAmount(amount);
754 p.getInventory().removeItem(Items.quartz);
755 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() + amount);
756 getPD(p.getUniqueId()).updateMoney();
757 getPD(p.getUniqueId()).toHighCheck();
758 p.openInventory(PlayerInteract.inv(p));
759 }
760 if (item.isSimilar(Items.goldingot)) {
761 int amount = item.getAmount();
762 Items.goldingot.setAmount(amount);
763 p.getInventory().removeItem(Items.goldingot);
764 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() + amount);
765 getPD(p.getUniqueId()).updateMoney();
766 getPD(p.getUniqueId()).toHighCheck();
767 p.openInventory(PlayerInteract.inv(p));
768 }
769 if (item.isSimilar(Items.goldnugget)) {
770 int amount = item.getAmount();
771 Items.goldnugget.setAmount(amount);
772 p.getInventory().removeItem(Items.goldnugget);
773 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() + amount);
774 getPD(p.getUniqueId()).updateMoney();
775 getPD(p.getUniqueId()).toHighCheck();
776 p.openInventory(PlayerInteract.inv(p));
777 }
778 }
779
780}
781
782package com.rickert.atm.database;
783
784import java.sql.ResultSet;
785import java.sql.SQLException;
786import java.sql.Statement;
787import java.util.UUID;
788
789import org.bukkit.OfflinePlayer;
790
791import com.rickert.atm.Main;
792import com.rickert.atm.utils.Integers;
793
794public class PlayerData {
795
796 private OfflinePlayer p;
797 private int diamond;
798 private int redstone;
799 private int emerald;
800 private int ironingot;
801 private int quartz;
802 private int goldingot;
803 private int goldnugget;
804 private int money;
805
806 public PlayerData(OfflinePlayer p) throws SQLException {
807 Statement statement = Main.getConnection().createStatement();
808 this.p = p;
809 ResultSet res = statement.executeQuery("SELECT * FROM ATM_PlayerData");
810 while (res.next()) {
811 this.diamond = res.getInt("Diamond");
812 this.redstone = res.getInt("Redstone");
813 this.emerald = res.getInt("Emerald");
814 this.ironingot = res.getInt("Ironingot");
815 this.quartz = res.getInt("Quartz");
816 this.goldingot = res.getInt("Goldingot");
817 this.goldnugget = res.getInt("Goldnugget");
818 this.money = res.getInt("Money");
819 }
820 }
821
822 public int getDiamond() {
823 return diamond;
824 }
825
826 public int getRedstone() {
827 return redstone;
828 }
829
830 public int getEmerald() {
831 return emerald;
832 }
833
834 public int getIroningot() {
835 return ironingot;
836 }
837
838 public int getQuartz() {
839 return quartz;
840 }
841
842 public int getGoldingot() {
843 return goldingot;
844 }
845
846 public int getGoldnugget() {
847 return goldnugget;
848 }
849
850 public int getMoney() {
851 return money;
852 }
853
854 public String getName() {
855 return p.getName();
856 }
857
858 public void setDiamond(int d) {
859 this.diamond = d;
860 }
861
862 public void setRedstone(int r) {
863 this.redstone = r;
864 }
865
866 public void setEmerald(int e) {
867 this.emerald = e;
868 }
869
870 public void setIroningot(int i) {
871 this.ironingot = i;
872 }
873
874 public void setQuartz(int q) {
875 this.quartz = q;
876 }
877
878 public void setGoldingot(int g) {
879 this.goldingot = g;
880 }
881
882 public void setGoldnugget(int g) {
883 this.goldnugget = g;
884 }
885
886 private static PlayerData getPD(UUID uuid) {
887 return Main.getPlayerData().get(uuid);
888 }
889
890 public void toLowRedstone() {
891 if (getPD(p.getUniqueId()).getDiamond() > 0) {
892 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() + 2);
893 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() + 1);
894 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() - 1);
895 }
896 }
897 public void toLowEmerald() {
898 if (getPD(p.getUniqueId()).getRedstone() > 0) {
899 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() + 2);
900 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - 1);
901 } else {
902 toLowRedstone();
903 }
904 }
905 public void toLowIroningot() {
906 if(getPD(p.getUniqueId()).getEmerald() > 0) {
907 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 1);
908 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() + 5);
909 } else {
910 toLowEmerald();
911 toLowIroningot();
912 }
913 }
914 public void toLowQuartz() {
915 if (getPD(p.getUniqueId()).getIroningot() > 0) {
916 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() - 1);
917 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() + 2);
918 } else {
919 toLowIroningot();
920 toLowQuartz();
921 }
922 }
923 public void toLowGoldingot() {
924 if (getPD(p.getUniqueId()).getQuartz() > 0) {
925 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() - 1);
926 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() + 5);
927 } else {
928 toLowQuartz();
929 toLowGoldingot();
930 }
931 }
932 public void toLowGoldnugget() {
933 if (getPD(p.getUniqueId()).getGoldingot() > 0) {
934 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() - 1);
935 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() + 10);
936 } else {
937 toLowGoldingot();
938 toLowGoldnugget();
939 }
940 }
941
942 public void toHighCheck() {
943 toHighGoldnugget();
944 toHighGoldingot();
945 toHighQuartz();
946 toHighIroningot();
947 toHighEmerald();
948 toHighRedstone();
949 toHighRedEme();
950 }
951 public void toHighGoldnugget() {
952 while (getPD(p.getUniqueId()).getGoldnugget() >= 10) {
953 getPD(p.getUniqueId()).setGoldnugget(getPD(p.getUniqueId()).getGoldnugget() - 10);
954 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() + 1);
955 }
956 }
957 public void toHighGoldingot() {
958 while (getPD(p.getUniqueId()).getGoldingot() >= 5) {
959 getPD(p.getUniqueId()).setGoldingot(getPD(p.getUniqueId()).getGoldingot() - 5);
960 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() + 1);
961 }
962 }
963 public void toHighQuartz() {
964 while (getPD(p.getUniqueId()).getQuartz() >= 2) {
965 getPD(p.getUniqueId()).setQuartz(getPD(p.getUniqueId()).getQuartz() - 2);
966 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() + 1);
967 }
968 }
969 public void toHighIroningot() {
970 while (getPD(p.getUniqueId()).getIroningot() >= 5) {
971 getPD(p.getUniqueId()).setIroningot(getPD(p.getUniqueId()).getIroningot() - 5);
972 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() + 1);
973 }
974 }
975 public void toHighEmerald() {
976 while (getPD(p.getUniqueId()).getEmerald() >= 2){
977 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 2);
978 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() + 1);
979 }
980 }
981 public void toHighRedstone() {
982 while (getPD(p.getUniqueId()).getRedstone() >= 3) {
983 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - 3);
984 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() + 1);
985 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() + 1);
986 if (getPD(p.getUniqueId()).getEmerald() >= 2) {
987 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 2);
988 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() + 1);
989 }
990 }
991 }
992 public void toHighRedEme() {
993 while (getPD(p.getUniqueId()).getRedstone() == 2 && getPD(p.getUniqueId()).getEmerald() == 1) {
994 getPD(p.getUniqueId()).setRedstone(getPD(p.getUniqueId()).getRedstone() - 2);
995 getPD(p.getUniqueId()).setEmerald(getPD(p.getUniqueId()).getEmerald() - 1);
996 getPD(p.getUniqueId()).setDiamond(getPD(p.getUniqueId()).getDiamond() + 1);
997 }
998 }
999
1000 public void updateMoney() {
1001 int Diamond = this.diamond * Integers.diamondwaarde;
1002 int Redstone = this.redstone * Integers.redstonewaarde;
1003 int Emerald = this.emerald * Integers.emeraldwaarde;
1004 int Ironingot = this.ironingot * Integers.ironingotwaarde;
1005 int Quartz = this.quartz * Integers.quartzwaarde;
1006 int Goldingot = this.goldingot * Integers.goldingotwaarde;
1007 int Goldnugget = this.goldnugget * Integers.goldnuggetwaarde;
1008 int Money = Diamond + Redstone + Emerald + Ironingot + Quartz + Goldingot + Goldnugget;
1009 this.money = Money;
1010 }
1011
1012 public void save() {
1013 try {
1014 Statement statement = Main.getConnection().createStatement();
1015 statement.executeUpdate("UPDATE ATM_PlayerData SET Diamond=" + this.diamond + " , Redstone=" + this.redstone + ", "
1016 + "Emerald=" + this.emerald + " , Ironingot=" + this.ironingot + " ," + "Quartz=" + this.quartz + ", Goldingot="
1017 + this.goldingot + ", Goldnugget=" + this.goldnugget + ", Money=" + this.money + " WHERE PlayerUUID = '" + this.p.getUniqueId() + "'");
1018 } catch (SQLException e) {
1019 e.printStackTrace();
1020 }
1021 }
1022
1023}
1024
1025package com.rickert.atm.commands;
1026
1027import java.util.UUID;
1028
1029import org.bukkit.Bukkit;
1030import org.bukkit.OfflinePlayer;
1031import org.bukkit.command.Command;
1032import org.bukkit.command.CommandExecutor;
1033import org.bukkit.command.CommandSender;
1034import org.bukkit.entity.Player;
1035
1036import com.rickert.atm.Main;
1037import com.rickert.atm.database.PlayerData;
1038import com.rickert.atm.events.PlayerInteract;
1039import com.rickert.atm.utils.Message;
1040import com.rickert.atm.utils.Strings;
1041
1042public class Commands implements CommandExecutor {
1043
1044 private static PlayerData getPD(UUID uuid) {
1045 return Main.getPlayerData().get(uuid);
1046 }
1047
1048 @SuppressWarnings("deprecation")
1049 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
1050 Player p = (Player) sender;
1051 if (cmd.getName().equalsIgnoreCase("atm")) {
1052 if (args.length >= 1) {
1053
1054 if (args[0].equalsIgnoreCase("open")) {
1055 if (sender.hasPermission("atm.open.others") || sender.hasPermission("atm.*")) {
1056 if (args.length == 2) {
1057 if (sender instanceof Player) {
1058 OfflinePlayer target = Bukkit.getOfflinePlayer(args[1]);
1059 if (Main.getRegisteredPlayer().contains(target.getUniqueId())) {
1060 p.openInventory(PlayerInteract.inv(target));
1061 } else {
1062 sender.sendMessage(Message.speler_niet_gevonden);
1063 }
1064 } else {
1065 sender.sendMessage(Message.geen_player);
1066 }
1067 }
1068 }
1069
1070 } else if (args[0].equalsIgnoreCase("money")) {
1071 if (sender.hasPermission("atm.money") || sender.hasPermission("atm.*")) {
1072 if (args.length == 2) {
1073 if (sender.hasPermission("atm.money.others") || sender.hasPermission("atm.*")) {
1074 OfflinePlayer target = Bukkit.getOfflinePlayer(args[1]);
1075 if (Main.getRegisteredPlayer().contains(target.getUniqueId())) {
1076 sender.sendMessage(
1077 target.getName() + " heeft €" + getPD(target.getUniqueId()).getMoney());
1078 } else {
1079 sender.sendMessage(Message.speler_niet_gevonden);
1080 }
1081 } else {
1082
1083 }
1084 } else {
1085 if (sender instanceof Player) {
1086 p.sendMessage("Je hebt €" + getPD(p.getUniqueId()).getMoney());
1087 } else {
1088 sender.sendMessage(Message.geen_player);
1089 }
1090 }
1091 }
1092
1093 } else if (args[0].equalsIgnoreCase("help")) {
1094 if (sender.hasPermission("atm.help") || sender.hasPermission("atm.*")) {
1095 sender.sendMessage(Strings.help);
1096 sender.sendMessage(Strings.help_help);
1097 sender.sendMessage(Strings.help_open);
1098 sender.sendMessage(Strings.help_money);
1099 sender.sendMessage(Strings.help_money_others);
1100 sender.sendMessage(Strings.help);
1101 }
1102 }
1103
1104 } else {
1105 if (sender instanceof Player) {
1106 p.performCommand("atm help");
1107 }
1108 }
1109 }
1110 return false;
1111 }
1112
1113}