Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.piti.banque;
- import java.io.File;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.entity.Villager;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerInteractEntityEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.metadata.FixedMetadataValue;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Banque extends JavaPlugin implements Listener {
- @Override
- public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
- if (!command.getName().equalsIgnoreCase("Banque"))
- return false;
- if (!(sender instanceof Player))
- sender.sendMessage(ChatColor.RED + "Cette commance doit etre effectuer par un joueur!");
- else {
- final Player player = (Player) sender;
- if (args.length != 1 || !args[0].equalsIgnoreCase("dépôt") && !args[0].equalsIgnoreCase("retirer"))
- player.sendMessage(ChatColor.YELLOW + "Usage: /b <retirer/dépôt>");
- else if (!player.hasPermission("Banque.create." + args[0].toLowerCase()))
- player.sendMessage(ChatColor.RED + "Vous ne pouvez pas utiliser cette commande!");
- else {
- player.setMetadata("Banque." + args[0].toLowerCase(), new FixedMetadataValue(this, null));
- player.sendMessage(ChatColor.GREEN + "Choissisez un villageois.");
- }
- }
- return true;
- }
- @Override
- public void onEnable() {
- Bukkit.getPluginManager().registerEvents(this, this);
- File f = new File(getDataFolder(), "config.yml");
- if (!f.exists())
- {
- try{
- getConfig().options().copyDefaults(false);
- saveDefaultConfig();
- saveConfig();
- }catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- @EventHandler
- public void onPlayerInteractEntity(final PlayerInteractEntityEvent event) {
- if (!(event.getRightClicked() instanceof Villager))
- return;
- final Player player = event.getPlayer();
- final Villager villager = (Villager) event.getRightClicked();
- final String name = villager.isCustomNameVisible() ? villager.getCustomName() : "";
- if (name != null && (name.equals("dépôt") || name.equals("retirer"))
- && !player.hasPermission("Banque.use." + name.toLowerCase()))
- player.sendMessage(ChatColor.RED + "Vous ne pouvez pas interagir avec ce villageois.");
- else if (name != null && name.equals("dépôt")) {
- int count = 0;
- for (final ItemStack stack : player.getInventory().all(Material.GOLD_NUGGET).values())
- count += stack.getAmount();
- player.getInventory().remove(Material.GOLD_NUGGET);
- player.updateInventory();
- getConfig().createSection(player.getName());
- getConfig().set(player.getName(), Integer.valueOf(count));
- saveDefaultConfig();
- saveConfig();
- player.sendMessage(ChatColor.YELLOW + (count == 0 ? "No" : "" + count) + " or déposée.");
- } else if (name != null && name.equals("retirer")) {
- final int count = getConfig().getInt(player.getName());
- getConfig().set(player.getName(), Integer.valueOf(count));
- if (count > 0)
- player.getInventory().addItem(new ItemStack(Material.GOLD_NUGGET, count));
- player.updateInventory();
- player.sendMessage(ChatColor.YELLOW + (count == 0 ? "No" : "" + count) + " or retirée.");
- getConfig().createSection(player.getName());
- getConfig().set(player.getName(), Integer.valueOf(count));
- saveDefaultConfig();
- saveConfig();
- } else {
- for (final String action : new String[] { "dépôt", "retirer" })
- if (player.hasMetadata("Banque." + action)) {
- villager.setCustomName(action.substring(0, 1).toUpperCase() + action.substring(1));
- villager.setCustomNameVisible(true);
- player.removeMetadata("Banque." + action, this);
- player.sendMessage(ChatColor.GREEN + "Ce villageois est actif " + action + "s.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement