Diff
checker
Texto
Texto
Imagens
Documentos
Excel
Pastas
Legal
Enterprise
Aplicativo para desktop
Preços
Fazer login
Baixar o Diffchecker Desktop
Comparar texto
Encontre a diferença entre dois arquivos de texto
Ferramentas
Histórico
Exibição
Layout
Dividido
Unificado
Editor live
Ocultar espaços em branco
Recolher inalteradas
Sem quebra de linha
Nível de detalhe
Inteligente
Sintaxe
Nenhum
Alterar aparência
Processamento
Ignorar
Transformar texto
Ir à primeira mudança
Editar entrada
Diffchecker Desktop
A maneira mais segura de usar o Diffchecker. Obtenha o aplicativo Diffchecker Desktop: seus diffs nunca saem do seu computador!
Obter Desktop
Untitled diff
Criado
há 10 anos
O diff nunca expira
Limpar
Exportar
Compartilhar
Explicar
65 remoções
Linhas
Total
Removido
Caracteres
Total
Removido
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
73 linhas
Copiar tudo
80 adições
Linhas
Total
Adicionado
Caracteres
Total
Adicionado
Para continuar usando este recurso, atualize para
Diff
checker
Pro
Ver preços
106 linhas
Copiar tudo
public class Main extends JavaPlugin implements Listener {
public class Main extends JavaPlugin implements Listener {
Copiar
Copiado
Copiar
Copiado
private ItemStack starterDChest;
private HashMap<UUID, Integer> cooldown = new HashMap<UUID, Integer>();
public void onEnable() {
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
Bukkit.getServer().getPluginManager().registerEvents(this, this);
Copiar
Copiado
Copiar
Copiado
}
starterDChest
= new ItemStack(Material.DIAMOND_CHESTPLATE);
ItemMeta dchestmeta =
starterDChest
.getItemMeta();
ArrayList<Player> cooldown = new ArrayList<Player>();
ArrayList<String> lore = new ArrayList<String>(); //Moved this down here because why create it if they can't even use the command?
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {
if (label.equalsIgnoreCase("k")) {
ArrayList<String> lore = new ArrayList<String>();
final Player p = (Player) sender;
if (!(sender instanceof Player)) {
p.sendMessage("You need to be a Player to do this Command!");
}
ItemStack dchest
= new ItemStack(Material.DIAMOND_CHESTPLATE);
ItemMeta dchestmeta =
dchest
.getItemMeta();
dchestmeta.setDisplayName(ChatColor.AQUA + ChatColor.BOLD.toString() + "Starter!");
dchestmeta.setDisplayName(ChatColor.AQUA + ChatColor.BOLD.toString() + "Starter!");
lore.add(ChatColor.BLUE + ChatColor.ITALIC.toString() + "Gives you the Starter Gear!!");
lore.add(ChatColor.BLUE + ChatColor.ITALIC.toString() + "Gives you the Starter Gear!!");
lore.add(
null
);
lore.add(
""); //Will probably have more success with empty Strings as placeholders rather than
null
String objects
lore.add(
null
);
lore.add(
""
);
lore.add(ChatColor.WHITE + ChatColor.BOLD.toString() + "--" +
lore.add(ChatColor.WHITE + ChatColor.BOLD.toString() + "--" +
ChatColor.RED
+ ChatColor.BOLD.toString() + "JUST LEFT/RIGHT CLICK"
ChatColor.RED
+ ChatColor.BOLD.toString() + "JUST LEFT/RIGHT CLICK"
+ ChatColor.WHITE + ChatColor.BOLD.toString() + "--" );
+ ChatColor.WHITE + ChatColor.BOLD.toString() + "--" );
dchestmeta.setLore(lore);
dchestmeta.setLore(lore);
dchest
.setItemMeta(dchestmeta);
starterDChest
.setItemMeta(dchestmeta);
new BukkitRunnable() { //This is gonna be our global loop so that we don't have to create a task for every person that uses the kit
@Override
public void run() {
for(Player all : getServer().getOnlinePlayers()) {
if(!cooldown.containsKey(all.getUniqueId())) continue; //Not relevant; not in cooldown list, skip them
if(cooldown.get(all.getUniqueId()) <= 0) {
//Done cooling down
cooldown.remove(all.getUniqueId());
all.sendMessage(ChatColor.GREEN + "You can use kit again!!");
}
else {
//Still cooling down
int timeLeftSec = cooldown.put(all.getUniqueId(), cooldown.get(all.getUniqueId()) - 1); //Subtracts a second from their wait time
if(timeLeftSec % 60 == 0) {
all.sendMessage(ChatColor.RED + "You have " + (timeLeftSec / 60) + ((timeLeftSec / 60) == 1 : "minute" : "minutes") + " left for Starter kit!!");
}
}
}
}
}, this, 0L, 1*20L); //Run every second with a 0 tick delay
}
Copiar
Copiado
Copiar
Copiado
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) {
if (cmd.getName().equalsIgnoreCase("k")) { //Backwards compatible with aliases entry in the plugin.yml
if (!(sender instanceof Player)) {
sender.sendMessage("You need to be a Player to do this Command!");
return true; //This tells the method to stop here and go back, ignoring underneath parts.
}
Player p = (Player) sender; //Now we can safely do this, earlier we were doing it before we were sure it was a player, good try though.
Inventory inv = Bukkit.createInventory(null, 27, ChatColor.RED + ChatColor.BOLD.toString() + "Kits");
Inventory inv = Bukkit.createInventory(null, 27, ChatColor.RED + ChatColor.BOLD.toString() + "Kits");
Copiar
Copiado
Copiar
Copiado
inv.setItem(0,
dchest);
inv.setItem(0,
starterDChest);
p.openInventory(inv);
p.openInventory(inv);
}
}
return true;
return true;
}
}
@EventHandler
@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
public void onInventoryClick(InventoryClickEvent e) {
Copiar
Copiado
Copiar
Copiado
if (
e.getInventory().getTitle().equals(ChatColor.RED + ChatColor.BOLD.toString() + "Kits")) {
if (
!
e.getInventory().getTitle().equals(ChatColor.RED + ChatColor.BOLD.toString() + "Kits")) {
int time = 20*25;
return; //Forget about this occurrence of the event then, we aren't interested
}
//Because of the above if statement, we know it's the inventory we're looking for. This removes all that excessive indentation from before
//Time no longer needed since we created a global loop
ItemStack ironh = new ItemStack(Material.IRON_HELMET);
ItemStack ironh = new ItemStack(Material.IRON_HELMET);
ironh.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ironh.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ItemStack ironc = new ItemStack(Material.IRON_CHESTPLATE);
ItemStack ironc = new ItemStack(Material.IRON_CHESTPLATE);
ironc.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ironc.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ItemStack ironl = new ItemStack(Material.IRON_LEGGINGS);
ItemStack ironl = new ItemStack(Material.IRON_LEGGINGS);
ironl.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ironl.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ItemStack ironb = new ItemStack(Material.IRON_BOOTS);
ItemStack ironb = new ItemStack(Material.IRON_BOOTS);
ironb.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ironb.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
ironb.addEnchantment(Enchantment.PROTECTION_FALL, 1);
ironb.addEnchantment(Enchantment.PROTECTION_FALL, 1);
ItemStack irons = new ItemStack(Material.IRON_SWORD);
ItemStack irons = new ItemStack(Material.IRON_SWORD);
irons.addEnchantment(Enchantment.DAMAGE_ALL, 1);
irons.addEnchantment(Enchantment.DAMAGE_ALL, 1);
irons.addEnchantment(Enchantment.DURABILITY, 3);
irons.addEnchantment(Enchantment.DURABILITY, 3);
Player p = (Player) e.getWhoClicked();
if (cooldown.contains
(e.getWhoClicked
())) {
if (cooldown.contains
Key(p.getUniqueId
())) {
e.getWhoClicked()
.sendMessage(
"
until next kit!");
int minutes = (int) TimeUnit.SECONDS.toMinutes(cooldown.get(p.getUniqueId()));
String cdMessage = "";
if(minutes == 0) {
int seconds = cooldown.get(p.getUniqueId());
cdMessage += (seconds == 1 ? "second" : "seconds") + " left";
}
else {
cdMessage += (minutes == 1 ? "minute" : "minutes") + " left";
}
p
.sendMessage(
cdMessage + "
until next kit!");
e.setCancelled(true);
e.setCancelled(true);
}
else if
(e.
getSlot
() ==
0) {
return;
}
//They aren't in cooldown due to the return in the cooldown if-statement
if
(e.
getCurrentItem
() ==
null || e.getCurrentItem().getType().equals(Material.AIR)) {
return;
}
if(e.getCurrentItem().equals(starterDChest)) { //if clicked item (current, clicked, etc) is equal to the starter diamond chest kit item
e.setCancelled(true);
e.setCancelled(true);
e.getWhoClicked()
.getInventory().addItem(ironh, ironc, ironl, ironb, irons);
p
.getInventory().addItem(ironh, ironc, ironl, ironb, irons);
e.getWhoClicked()
.closeInventory();
p
.closeInventory();
cooldown.add((Player) e.getWhoClicked());
cooldown.put(p.getUniqueId(), 25); //25 seconds for the cooldown!
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
p
.sendMessage(ChatColor.RED + "Given Starter!");
public void run() {
return;
cooldown.remove(e.getWhoClicked());
e.getWhoClicked().sendMessage(ChatColor.RED + "You can use kit Starter again!!");
}
}, time);
e.getWhoClicked()
.sendMessage(ChatColor.RED + "Given Starter!");
}
}
}
}
}
}
}
Diferenças salvas
Texto original
Abrir arquivo
public class Main extends JavaPlugin implements Listener { public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); } ArrayList<Player> cooldown = new ArrayList<Player>(); @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) { if (label.equalsIgnoreCase("k")) { ArrayList<String> lore = new ArrayList<String>(); final Player p = (Player) sender; if (!(sender instanceof Player)) { p.sendMessage("You need to be a Player to do this Command!"); } ItemStack dchest = new ItemStack(Material.DIAMOND_CHESTPLATE); ItemMeta dchestmeta = dchest.getItemMeta(); dchestmeta.setDisplayName(ChatColor.AQUA + ChatColor.BOLD.toString() + "Starter!"); lore.add(ChatColor.BLUE + ChatColor.ITALIC.toString() + "Gives you the Starter Gear!!"); lore.add(null); lore.add(null); lore.add(ChatColor.WHITE + ChatColor.BOLD.toString() + "--" + ChatColor.RED + ChatColor.BOLD.toString() + "JUST LEFT/RIGHT CLICK" + ChatColor.WHITE + ChatColor.BOLD.toString() + "--" ); dchestmeta.setLore(lore); dchest.setItemMeta(dchestmeta); Inventory inv = Bukkit.createInventory(null, 27, ChatColor.RED + ChatColor.BOLD.toString() + "Kits"); inv.setItem(0, dchest); p.openInventory(inv); } return true; } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if (e.getInventory().getTitle().equals(ChatColor.RED + ChatColor.BOLD.toString() + "Kits")) { int time = 20*25; ItemStack ironh = new ItemStack(Material.IRON_HELMET); ironh.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironc = new ItemStack(Material.IRON_CHESTPLATE); ironc.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironl = new ItemStack(Material.IRON_LEGGINGS); ironl.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironb = new ItemStack(Material.IRON_BOOTS); ironb.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ironb.addEnchantment(Enchantment.PROTECTION_FALL, 1); ItemStack irons = new ItemStack(Material.IRON_SWORD); irons.addEnchantment(Enchantment.DAMAGE_ALL, 1); irons.addEnchantment(Enchantment.DURABILITY, 3); if (cooldown.contains(e.getWhoClicked())) { e.getWhoClicked().sendMessage("until next kit!"); e.setCancelled(true); } else if (e.getSlot() == 0) { e.setCancelled(true); e.getWhoClicked().getInventory().addItem(ironh, ironc, ironl, ironb, irons); e.getWhoClicked().closeInventory(); cooldown.add((Player) e.getWhoClicked()); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() { public void run() { cooldown.remove(e.getWhoClicked()); e.getWhoClicked().sendMessage(ChatColor.RED + "You can use kit Starter again!!"); } }, time); e.getWhoClicked().sendMessage(ChatColor.RED + "Given Starter!"); } } } }
Texto alterado
Abrir arquivo
public class Main extends JavaPlugin implements Listener { private ItemStack starterDChest; private HashMap<UUID, Integer> cooldown = new HashMap<UUID, Integer>(); public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); starterDChest = new ItemStack(Material.DIAMOND_CHESTPLATE); ItemMeta dchestmeta = starterDChest.getItemMeta(); ArrayList<String> lore = new ArrayList<String>(); //Moved this down here because why create it if they can't even use the command? dchestmeta.setDisplayName(ChatColor.AQUA + ChatColor.BOLD.toString() + "Starter!"); lore.add(ChatColor.BLUE + ChatColor.ITALIC.toString() + "Gives you the Starter Gear!!"); lore.add(""); //Will probably have more success with empty Strings as placeholders rather than null String objects lore.add(""); lore.add(ChatColor.WHITE + ChatColor.BOLD.toString() + "--" + ChatColor.RED + ChatColor.BOLD.toString() + "JUST LEFT/RIGHT CLICK" + ChatColor.WHITE + ChatColor.BOLD.toString() + "--" ); dchestmeta.setLore(lore); starterDChest.setItemMeta(dchestmeta); new BukkitRunnable() { //This is gonna be our global loop so that we don't have to create a task for every person that uses the kit @Override public void run() { for(Player all : getServer().getOnlinePlayers()) { if(!cooldown.containsKey(all.getUniqueId())) continue; //Not relevant; not in cooldown list, skip them if(cooldown.get(all.getUniqueId()) <= 0) { //Done cooling down cooldown.remove(all.getUniqueId()); all.sendMessage(ChatColor.GREEN + "You can use kit again!!"); } else { //Still cooling down int timeLeftSec = cooldown.put(all.getUniqueId(), cooldown.get(all.getUniqueId()) - 1); //Subtracts a second from their wait time if(timeLeftSec % 60 == 0) { all.sendMessage(ChatColor.RED + "You have " + (timeLeftSec / 60) + ((timeLeftSec / 60) == 1 : "minute" : "minutes") + " left for Starter kit!!"); } } } } }, this, 0L, 1*20L); //Run every second with a 0 tick delay } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg) { if (cmd.getName().equalsIgnoreCase("k")) { //Backwards compatible with aliases entry in the plugin.yml if (!(sender instanceof Player)) { sender.sendMessage("You need to be a Player to do this Command!"); return true; //This tells the method to stop here and go back, ignoring underneath parts. } Player p = (Player) sender; //Now we can safely do this, earlier we were doing it before we were sure it was a player, good try though. Inventory inv = Bukkit.createInventory(null, 27, ChatColor.RED + ChatColor.BOLD.toString() + "Kits"); inv.setItem(0, starterDChest); p.openInventory(inv); } return true; } @EventHandler public void onInventoryClick(InventoryClickEvent e) { if (!e.getInventory().getTitle().equals(ChatColor.RED + ChatColor.BOLD.toString() + "Kits")) { return; //Forget about this occurrence of the event then, we aren't interested } //Because of the above if statement, we know it's the inventory we're looking for. This removes all that excessive indentation from before //Time no longer needed since we created a global loop ItemStack ironh = new ItemStack(Material.IRON_HELMET); ironh.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironc = new ItemStack(Material.IRON_CHESTPLATE); ironc.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironl = new ItemStack(Material.IRON_LEGGINGS); ironl.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ItemStack ironb = new ItemStack(Material.IRON_BOOTS); ironb.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1); ironb.addEnchantment(Enchantment.PROTECTION_FALL, 1); ItemStack irons = new ItemStack(Material.IRON_SWORD); irons.addEnchantment(Enchantment.DAMAGE_ALL, 1); irons.addEnchantment(Enchantment.DURABILITY, 3); Player p = (Player) e.getWhoClicked(); if (cooldown.containsKey(p.getUniqueId())) { int minutes = (int) TimeUnit.SECONDS.toMinutes(cooldown.get(p.getUniqueId())); String cdMessage = ""; if(minutes == 0) { int seconds = cooldown.get(p.getUniqueId()); cdMessage += (seconds == 1 ? "second" : "seconds") + " left"; } else { cdMessage += (minutes == 1 ? "minute" : "minutes") + " left"; } p.sendMessage(cdMessage + " until next kit!"); e.setCancelled(true); return; } //They aren't in cooldown due to the return in the cooldown if-statement if(e.getCurrentItem() == null || e.getCurrentItem().getType().equals(Material.AIR)) { return; } if(e.getCurrentItem().equals(starterDChest)) { //if clicked item (current, clicked, etc) is equal to the starter diamond chest kit item e.setCancelled(true); p.getInventory().addItem(ironh, ironc, ironl, ironb, irons); p.closeInventory(); cooldown.put(p.getUniqueId(), 25); //25 seconds for the cooldown! p.sendMessage(ChatColor.RED + "Given Starter!"); return; } } }
Encontrar Diferença