Ir para conteúdo
  • 0

[Resolvido] Código Feio ~ Mulheres bonitas? Clique aqui


Guest Fusquete

Pergunta

Oiii gente, eu sou lindo mas não sou mulher, enfim. Eu fiz um código muito feio mas funciona asjuhsauhuhshud, ignorem os comentários nele, é que eu tava fazendo uma coisa mas deixei pra dps. Enfim, eu só quero saber o seguinte:


 


  • Nesse código tem um cooldown, desculpa foxxx n to usando a sua classi ;-; e nesse cooldown com 5 segundos (100 ticks eu acho) ai eu fiz uma multiplicação simples pra 15 minutos que deu 15 minutos (18000) mas eu peguei o kit faz horas ashuahshaus e até agr n consigo pegar dnv, enfim, se tiver algum erro bobo no código, me avisem pra eu me enforcar.
  • P.s: Nesse código n tem 2 cooldowns, tem 1 cooldown e uma variavel chamada cooldown pra o cara n ficar clicando e floodando de msg de "aguarde" ok, o código tá aqui: Me ajudem ;-;

package ast;

import java.util.ArrayList;

// import java.util.ArrayList;
// import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.Material;
/*
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
*/
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerArmorStandManipulateEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {

public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
}

ArrayList<Player> cooldown = new ArrayList<Player>();

ArrayList<Player> cooldown1 = new ArrayList<Player>();

@EventHandler
public void onRightClick(PlayerArmorStandManipulateEvent e) {
if (e.getRightClicked().getType() == EntityType.ARMOR_STAND) {
String entidade = e.getRightClicked().getCustomName();
Player p = e.getPlayer();
if (cooldown.contains(p)) {
if (!cooldown1.contains(p)) {
p.sendMessage("§c§lAOS &f➥ §cAguarde 15 minutos para pegar o kit novamente!".replace("&", "§"));
e.setCancelled(true);
cooldown1.add(p);
}
if (cooldown.contains(p)) {
e.setCancelled(true);
}
}
if (!cooldown.contains(p)) {
if (e.getRightClicked().getType() == EntityType.ARMOR_STAND
&& e.getRightClicked().isCustomNameVisible()) {
if (entidade.contains("Kit Inicial")) {
p.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
p.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
p.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
p.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
p.getInventory().addItem(new ItemStack(Material.STONE_SWORD, 2));
p.getInventory().addItem(new ItemStack(Material.STONE_AXE, 2));
p.getInventory().addItem(new ItemStack(Material.STONE_PICKAXE, 2));
p.getInventory().addItem(new ItemStack(Material.STONE_SPADE, 2));
p.getInventory().addItem(new ItemStack(Material.STONE_HOE, 2));
p.getInventory().addItem(new ItemStack(Material.APPLE, 64));
p.getInventory().addItem(new ItemStack(Material.BOW));
p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
p.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 2));
p.sendMessage("§c§lAOS &f➥ &7Recendo o kit Inicial".replace("&", "§"));
cooldown.add(p);
cooldown1.remove(p);
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() {
cooldown.remove(p);
}
}, 18000);
}
}
}
}
}
/*
* @Override public boolean onCommand(CommandSender sender, Command cmd,
* String label, String[] args) { Player p = (Player) sender; if
* (cmd.getName().equalsIgnoreCase("break")) { if (!(sender instanceof
* Player)) { sender.sendMessage(
* "§c§lAOS §f➥ §cVoce so pode executar o comando no servidor!"); return
* true; } if (sender instanceof Player) { if (p.hasPermission("break.use"))
* { if (args.length < 0) { p.sendMessage(
* "§c» §fUse somente /break §aon§8|§coff"); p.playSound(p.getLocation(),
* Sound.EXPLODE, 150F, 150F); return true; } else { if (args.length == 0){
* if (args[0].equalsIgnoreCase("true")){ List<String> ativado = new
* ArrayList<>(); ativado.add(p.getName());
*/
}


Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

Você não errou, mesmo seu código tendo muitas linhas para algo que poderia ser simplificado, ele está "bom". Eu nunca tinha tentado fazer uma manipulação de Armor-Stands, vou fazer aqui e se achar um método mais simples eu te mando um mp com o código ok? Enfim, segue em frente com esse modelo... Interessante haha

Link para o comentário
Compartilhar em outros sites

Fiz um do "0" aqui , tirando as partes de entregar o kit , enfim ficou assim :    ( se tiver algum error manda print)

@EventHandler
public void onRightClick(PlayerArmorStandManipulateEvent e) 
{
	ArrayList<Player> cooldown = new ArrayList<Player>();
	String entidade = e.getRightClicked().getCustomName();
	Player p = e.getPlayer();
	if(cooldown.contains(p))
	{
		p.sendMessage("§c§lAOS &f➥ §cAguarde 15 minutos para pegar o kit novamente!".replace("&", "§"));
		e.setCancelled(true);
	}
	else
	{
		cooldown.add(p);
		if (e.getRightClicked().getType() == EntityType.ARMOR_STAND && e.getRightClicked().isCustomNameVisible()) 
				{
					if (entidade.contains("Kit Inicial")) 
					{
						p.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
						p.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
						p.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
						p.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
						p.getInventory().addItem(new ItemStack(Material.STONE_SWORD, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_AXE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_PICKAXE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_SPADE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_HOE, 2));
						p.getInventory().addItem(new ItemStack(Material.APPLE, 64));
						p.getInventory().addItem(new ItemStack(Material.BOW));
						p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
						p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
						p.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 2));
						p.sendMessage("§c§lAOS &f➥ &7Recendo o kit Inicial".replace("&", "§"));
						cooldown.remove(p);
					}
				}
		Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() 
		{
			public void run() 
			{
				cooldown.remove(p);
			}
		}, 18000);
}
Link para o comentário
Compartilhar em outros sites

 

Fiz um do "0" aqui , tirando as partes de entregar o kit , enfim ficou assim :    ( se tiver algum error manda print)

@EventHandler
public void onRightClick(PlayerArmorStandManipulateEvent e) 
{
	ArrayList<Player> cooldown = new ArrayList<Player>();
	String entidade = e.getRightClicked().getCustomName();
	Player p = e.getPlayer();
	if(cooldown.contains(p))
	{
		p.sendMessage("§c§lAOS &f➥ §cAguarde 15 minutos para pegar o kit novamente!".replace("&", "§"));
		e.setCancelled(true);
	}
	else
	{
		cooldown.add(p);
		if (e.getRightClicked().getType() == EntityType.ARMOR_STAND && e.getRightClicked().isCustomNameVisible()) 
				{
					if (entidade.contains("Kit Inicial")) 
					{
						p.getEquipment().setBoots(new ItemStack(Material.LEATHER_BOOTS));
						p.getEquipment().setLeggings(new ItemStack(Material.LEATHER_LEGGINGS));
						p.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));
						p.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
						p.getInventory().addItem(new ItemStack(Material.STONE_SWORD, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_AXE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_PICKAXE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_SPADE, 2));
						p.getInventory().addItem(new ItemStack(Material.STONE_HOE, 2));
						p.getInventory().addItem(new ItemStack(Material.APPLE, 64));
						p.getInventory().addItem(new ItemStack(Material.BOW));
						p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
						p.getInventory().addItem(new ItemStack(Material.ARROW, 64));
						p.getInventory().addItem(new ItemStack(Material.GOLDEN_APPLE, 2));
						p.sendMessage("§c§lAOS &f➥ &7Recendo o kit Inicial".replace("&", "§"));
						cooldown.remove(p);
					}
				}
		Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() 
		{
			public void run() 
			{
				cooldown.remove(p);
			}
		}, 18000);
}

Mas você deixou o código dele mais simples... Você só tirou a parte de "não floodar quando está no cooldown" o que eu achei bem legal mas não sei se pode bugar...

Link para o comentário
Compartilhar em outros sites

Man, se eu fosse vc, N faria por Schematic, Pois a mesma "Quebra" (cancela) muito facil, Faz por Calendar API, bem mais facil e pratico.... (fiz um sistem de kits pra full pvp onde tinham coldown de 15m mas tbm de 1 dia, e a Schematic falhava tanto em um quanto em outro....).

 

Espero ter ajudado!

Link para o comentário
Compartilhar em outros sites

Man, se eu fosse vc, N faria por Schematic, Pois a mesma "Quebra" (cancela) muito facil, Faz por Calendar API, bem mais facil e pratico.... (fiz um sistem de kits pra full pvp onde tinham coldown de 15m mas tbm de 1 dia, e a Schematic falhava tanto em um quanto em outro....).

 

Espero ter ajudado!

Oq que Schematic tem a ver com Calendar e Cooldown ?

 

Vc quis dizer Scheduler ?

Link para o comentário
Compartilhar em outros sites

Mas você deixou o código dele mais simples... Você só tirou a parte de "não floodar quando está no cooldown" o que eu achei bem legal mas não sei se pode bugar...

Mas eu nao copiei nao ta kk , eu realmente fiz do 0 ; mas a maioria dos codigos fica parecido por que nao tem 2 jeitos de fazer a msm coisa e tals ; eu faria um metodo statico para essa funçao dele ne , mas ja q ele fez assim eu botei assim tb

Link para o comentário
Compartilhar em outros sites

<p style="text-align:center;"><img alt="logo-forum.png" src="http://www.gamersboard.com.br/logo-forum.png"/></p><br /></br><br /></br><br />Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas.</br><br /></br><br /></br><br />Atenciosamente,</br><br />Gamer's Board</br>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...