Identificar objeto e retornar método booleano

4 respostas
java
guuhdiasx

Eu preciso identificar o objeto que vou retornar, para verificar se é ele que está sendo usado, para fazer um bloqueio, e caso for, return true;
e caso não for, return false; e continua o código, porém não estou conseguindo fazer nada, alguém me ajuda?

4 Respostas

rodriguesabner

que pergunta mais genérica, formula melhor isso. Que tipo de objeto vc ta usando? Que bloqueio vc quer fazer?

Enfim, basicamente vc vai precisar fazer isso

boolean bloquear = false;
if(algumaCoisa){  
    bloquear = true;
} else {
    bloquear = false;
}
guuhdiasx

Seria um objeto dentro de um game, impedindo ele de usar tal item por ser aquele objeto, e aqueles que não estiverem com bloqueio passar normalmente para usar o item, é meior besta e simples, porém estou com dificuldade

guuhdiasx
public boolean changeIv(Pokemon pokemon, Player player, ItemStack itemStack) {
		if (consumeItem(itemStack, player)){
		boolean Ditto = pokemon.getSpecies() == EnumSpecies.Ditto;
		boolean Greninja = pokemon.getSpecies() == EnumSpecies.Greninja;
		if (Ditto == true){
			player.sendMessage(Config.getMessageAsText("error.blacklist"));
			Sponge.getCommandManager().process(Sponge.getServer().getConsole(),
			"ivsc give " + player.getName() + " ivschanger 1");
			return Ditto;
		} else if (Greninja == true){
			player.sendMessage(Config.getMessageAsText("error.blacklist"));
			Sponge.getCommandManager().process(Sponge.getServer().getConsole(),
			"ivsc give " + player.getName() + " ivschanger 1");
			return Greninja;
		} else
		if (consumeItem(itemStack, player)){
			IStorageManager store = Pixelmon.storageManager;
			UUID pl = player.getUniqueId();
			StoragePosition sp = pokemon.getStorage().getPosition(pokemon);
			Pokemon pos = ((PokemonStorage) store.getParty(pl)).get(sp);
			int slot = store.getParty(pl).getSlot(pos);
			int slot1 = slot + 1;
			Sponge.getCommandManager().process(Sponge.getServer().getConsole(),
			"pokeedit " + player.getName() + " " + slot1 + " numivs:1");
			player.sendMessage(Config.getMessageAsText("success.ivsf1"));
			}
		}
		return true;	
	}

eu estou usando assim, PORÉM EU TENHO CERTEZA QUE TÁ ERRADÍSSIMO

staroski

Primeiro indenta esse código com o botão </>.
Do jeito que está é inviável ler.

Evite fazer if (variavelBooleana == true) {.
Faça simplesmente if (variavelBooleana) {
É bem mais legível.

Criado 10 de março de 2020
Ultima resposta 10 de mar. de 2020
Respostas 4
Participantes 3