Advertisement
Guest User

Untitled

a guest
May 30th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. package fr.piti.banque;
  2.  
  3. import java.io.File;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.entity.Villager;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.player.PlayerInteractEntityEvent;
  15. import org.bukkit.event.player.PlayerJoinEvent;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.metadata.FixedMetadataValue;
  18. import org.bukkit.plugin.java.JavaPlugin;
  19.  
  20.  
  21. public class Banque extends JavaPlugin implements Listener {
  22.  
  23. @Override
  24. public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
  25. if (!command.getName().equalsIgnoreCase("Banque"))
  26. return false;
  27. if (!(sender instanceof Player))
  28. sender.sendMessage(ChatColor.RED + "Cette commance doit etre effectuer par un joueur!");
  29. else {
  30. final Player player = (Player) sender;
  31. if (args.length != 1 || !args[0].equalsIgnoreCase("dépôt") && !args[0].equalsIgnoreCase("retirer"))
  32. player.sendMessage(ChatColor.YELLOW + "Usage: /b <retirer/dépôt>");
  33. else if (!player.hasPermission("Banque.create." + args[0].toLowerCase()))
  34. player.sendMessage(ChatColor.RED + "Vous ne pouvez pas utiliser cette commande!");
  35. else {
  36. player.setMetadata("Banque." + args[0].toLowerCase(), new FixedMetadataValue(this, null));
  37. player.sendMessage(ChatColor.GREEN + "Choissisez un villageois.");
  38. }
  39. }
  40. return true;
  41. }
  42.  
  43. @Override
  44. public void onEnable() {
  45. Bukkit.getPluginManager().registerEvents(this, this);
  46. File f = new File(getDataFolder(), "config.yml");
  47. if (!f.exists())
  48. {
  49. try{
  50. getConfig().options().copyDefaults(false);
  51.  
  52. saveDefaultConfig();
  53. saveConfig();
  54. }catch (Exception e)
  55. {
  56. e.printStackTrace();
  57. }
  58. }
  59. }
  60.  
  61. @EventHandler
  62. public void onPlayerInteractEntity(final PlayerInteractEntityEvent event) {
  63. if (!(event.getRightClicked() instanceof Villager))
  64. return;
  65. final Player player = event.getPlayer();
  66. final Villager villager = (Villager) event.getRightClicked();
  67. final String name = villager.isCustomNameVisible() ? villager.getCustomName() : "";
  68. if (name != null && (name.equals("dépôt") || name.equals("retirer"))
  69. && !player.hasPermission("Banque.use." + name.toLowerCase()))
  70. player.sendMessage(ChatColor.RED + "Vous ne pouvez pas interagir avec ce villageois.");
  71. else if (name != null && name.equals("dépôt")) {
  72. int count = 0;
  73. for (final ItemStack stack : player.getInventory().all(Material.GOLD_NUGGET).values())
  74. count += stack.getAmount();
  75. player.getInventory().remove(Material.GOLD_NUGGET);
  76. player.updateInventory();
  77. getConfig().createSection(player.getName());
  78. getConfig().set(player.getName(), Integer.valueOf(count));
  79. saveDefaultConfig();
  80. saveConfig();
  81. player.sendMessage(ChatColor.YELLOW + (count == 0 ? "No" : "" + count) + " or déposée.");
  82. } else if (name != null && name.equals("retirer")) {
  83. final int count = getConfig().getInt(player.getName());
  84. getConfig().set(player.getName(), Integer.valueOf(count));
  85. if (count > 0)
  86. player.getInventory().addItem(new ItemStack(Material.GOLD_NUGGET, count));
  87. player.updateInventory();
  88. player.sendMessage(ChatColor.YELLOW + (count == 0 ? "No" : "" + count) + " or retirée.");
  89. getConfig().createSection(player.getName());
  90. getConfig().set(player.getName(), Integer.valueOf(count));
  91. saveDefaultConfig();
  92. saveConfig();
  93. } else {
  94. for (final String action : new String[] { "dépôt", "retirer" })
  95. if (player.hasMetadata("Banque." + action)) {
  96. villager.setCustomName(action.substring(0, 1).toUpperCase() + action.substring(1));
  97. villager.setCustomNameVisible(true);
  98. player.removeMetadata("Banque." + action, this);
  99. player.sendMessage(ChatColor.GREEN + "Ce villageois est actif " + action + "s.");
  100. }
  101. }
  102. }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement