Ir para conteúdo
  • 0

[Resolvido] IntList


Guest MisterPvP

Pergunta

Como eu coloco pra os itens que estiverem na config serem bloqueados?

Config ser tipo desse jeito

Blocked:
- 7
- 112
- 87

My coding:

	    @EventHandler
	    public void onBlock(BlockPlaceEvent e) {
	    	String colocou = getConfig().getString("Colocar").replace("&", "§");
	    	
	    	Player p = e.getPlayer();
	    	if(e.getBlock().getType().equals(Material.BEDROCK)) {
	    		p.sendMessage(colocou);
	    		e.setCancelled(true);
	    	}
	    }

Já tentei de todas as maneiras(nem todas, as que eu sei que não ajudam hue).


	    @EventHandler
	    public void onPlayer(PlayerInteractEvent e) {
	    	String clicar = getConfig().getString("Clicar").replace("&", "§");
	    	int ID = getConfig().getIntegerList("");
	    	
	    	Player p = e.getPlayer();
	    	if(e.getClickedBlock().getType().equals(Material.getMaterial(ID))) {
	    		p.sendMessage(clicar);
	    		e.setCancelled(true);
	    	}
	    }

Fiz de várias maneiras e não deu '-'

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

1. Bloco tem data;

2. Null existe :c;

3. 3 cool.

 

Nubis

	@EventHandler
	private void a(BlockPlaceEvent e) {
		for (String a : getConfig().getStringList("Blocks")) {
			String[] tor = a.split("@");
			int id = Integer.parseInt(tor[0]);
			int data = Integer.parseInt(tor[1]);
			if (Material.getMaterial(id) == null)
				return;
			if (e.getBlock().getType() != Material.getMaterial(id) && e.getBlock().getData() != (byte)data)
				return;
			e.setCancelled(true);
			e.getPlayer().updateInventory();
			e.getPlayer().sendMessage(getConfig().getString("Msg").replace("&", "§"));
		}
	}

Na config:

 

Blocks:

  - 'ID@DATA'

Editado por Langsdorf
Link para o comentário
Compartilhar em outros sites

List<Integer> blockeds = getConfig().getStringList("Blockeds");

 

@EventHandler

     public void onPlayer(PlayerInteractEvent e) {

         String clicar = getConfig().getString("Clicar").replace("&", "§");

         

         Player p = e.getPlayer();

         if(blockeds.contains(e.getClickedBlock().getTypeId)) {

             p.sendMessage(clicar);

             e.setCancelled(true);

         }

     }

Link para o comentário
Compartilhar em outros sites

List<Integer> blockeds = getConfig().getStringList("Blockeds");

@EventHandler
     public void onPlayer(PlayerInteractEvent e) {
         String clicar = getConfig().getString("Clicar").replace("&", "§");
         
         Player p = e.getPlayer();
         if(blockeds.contains(e.getClickedBlock().getTypeId)) {
             p.sendMessage(clicar);
             e.setCancelled(true);
         }
     }

Não funcionou, pode fechar já desistir do projeto. 100 BANGs '-'

Link para o comentário
Compartilhar em outros sites

List<Integer> blockeds = getConfig().getStringList("Blockeds");

@EventHandler
     public void onPlayer(PlayerInteractEvent e) {
         String clicar = getConfig().getString("Clicar").replace("&", "§");
         
         Player p = e.getPlayer();
         if(blockeds.contains(e.getClickedBlock().getTypeId)) {
             p.sendMessage(clicar);
             e.setCancelled(true);
         }
     }

Fica assim

List<Integer> blockeds = getConfig().getIntegerList("Blockeds");

@EventHandler
     public void onPlayer(BlockPlaceEvent e) {
         String clicar = getConfig().getString("Clicar").replace("&", "§");
         
         Player p = e.getPlayer();
         if(blockeds.contains(e.getBlock().getTypeId)) {
             p.sendMessage(clicar);
             e.setCancelled(true);
         }
     }
Link para o comentário
Compartilhar em outros sites

Desista não ;-;, Errei meu código, em vez de "getStringList" era "getIntegerList", como ele falou acima.

Ata, vou tentar levar o código mais pra frente até onde eu conseguir kk (eh um plugin fácil que to fazendo '-' apenas bloquear os blocos que estiverem na config hue).

 

 

 

Fica assim

List<Integer> blockeds = getConfig().getIntegerList("Blockeds");

@EventHandler
     public void onPlayer(BlockPlaceEvent e) {
         String clicar = getConfig().getString("Clicar").replace("&", "§");
         
         Player p = e.getPlayer();
         if(blockeds.contains(e.getBlock().getTypeId)) {
             p.sendMessage(clicar);
             e.setCancelled(true);
         }
     }

getTypeId vermelho, da dando outras opções a passar o mouse em cima.

Link para o comentário
Compartilhar em outros sites

Ata, vou tentar levar o código mais pra frente até onde eu conseguir kk (eh um plugin fácil que to fazendo '-' apenas bloquear os blocos que estiverem na config hue).

 

 

getTypeId vermelho, da dando outras opções a passar o mouse em cima.

Só pensar um pouco ne?

 

if(blockeds.contains(e.getBlock().getTypeId())) {

Link para o comentário
Compartilhar em outros sites

Só pensar um pouco ne?

 

if(blockeds.contains(e.getBlock().getTypeId())) {

Ué, eu fiz isso antes de falar.

Porém o plugin ainda está com erro, agr não sei da onde eh o/

 

Config.yml

#Informe os ID dos itens abaixo que estarao desativados
Blockeds:
- 155
- 7

#Mensagem que ira aparecer quando um bloco estiver desativado
Clicar: '&3[BLOCKED] &cEste bloco está desativado, por tanto não e possível ultilizar para construções!'

Código;

package me.misterpvp.blocked;

import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {
	
	    public void onEnable() {
	    	ConsoleCommandSender s = Bukkit.getConsoleSender();
	    	s.sendMessage("§3[SrBlocked] §bIniciando o plugin de blocos");
	    	s.sendMessage("§3- Plugin criado por §aMister");
	    	saveDefaultConfig();
            getServer().getPluginManager().registerEvents(this, this);
	    }
	    
	    public void onDisable() {
	    	ConsoleCommandSender s = Bukkit.getConsoleSender();
	    	s.sendMessage("§3[SrBlocked] §cFinalizando o plugin de blocos");
	    	s.sendMessage("§3- Plugin criado por §aMister");
	    }
	    
	    List<Integer> blockeds = getConfig().getIntegerList("Blockeds");

	    @EventHandler
	         public void onPlayer(BlockPlaceEvent e) {
	             String clicar = getConfig().getString("Clicar").replace("&", "§");
	             
	             Player p = e.getPlayer();
	             if(blockeds.contains(e.getBlock().getTypeId())) {
	                 p.sendMessage(clicar);
	                 e.setCancelled(true);
	             }
	         }

}

Erro:

2015-11-25 20:12:20 [SEVERE] Could not load 'plugins\iTZBlocked.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: File cannot be null
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182)
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:306)
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)
	at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:262)
	at org.bukkit.craftbukkit.v1_5_R3.CraftServer.<init>(CraftServer.java:240)
	at net.minecraft.server.v1_5_R3.PlayerList.<init>(PlayerList.java:55)
	at net.minecraft.server.v1_5_R3.DedicatedPlayerList.<init>(SourceFile:11)
	at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:58)
	at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:388)
	at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.IllegalArgumentException: File cannot be null
	at org.apache.commons.lang.Validate.notNull(Validate.java:203)
	at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:170)
	at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:117)
	at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)
	at me.misterpvp.blocked.Main.<init>(Main.java:29)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178)
	... 9 more
Link para o comentário
Compartilhar em outros sites

 

Ué, eu fiz isso antes de falar.

Porém o plugin ainda está com erro, agr não sei da onde eh o/

 

Config.yml

#Informe os ID dos itens abaixo que estarao desativados
Blockeds:
- 155
- 7

#Mensagem que ira aparecer quando um bloco estiver desativado
Clicar: '&3[BLOCKED] &cEste bloco está desativado, por tanto não e possível ultilizar para construções!'

Código;

package me.misterpvp.blocked;

import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {
	
	    public void onEnable() {
	    	ConsoleCommandSender s = Bukkit.getConsoleSender();
	    	s.sendMessage("§3[SrBlocked] §bIniciando o plugin de blocos");
	    	s.sendMessage("§3- Plugin criado por §aMister");
	    	saveDefaultConfig();
            getServer().getPluginManager().registerEvents(this, this);
	    }
	    
	    public void onDisable() {
	    	ConsoleCommandSender s = Bukkit.getConsoleSender();
	    	s.sendMessage("§3[SrBlocked] §cFinalizando o plugin de blocos");
	    	s.sendMessage("§3- Plugin criado por §aMister");
	    }
	    
	    List<Integer> blockeds = getConfig().getIntegerList("Blockeds");

	    @EventHandler
	         public void onPlayer(BlockPlaceEvent e) {
	             String clicar = getConfig().getString("Clicar").replace("&", "§");
	             
	             Player p = e.getPlayer();
	             if(blockeds.contains(e.getBlock().getTypeId())) {
	                 p.sendMessage(clicar);
	                 e.setCancelled(true);
	             }
	         }

}

Erro:

2015-11-25 20:12:20 [SEVERE] Could not load 'plugins\iTZBlocked.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.IllegalArgumentException: File cannot be null
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182)
	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:306)
	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)
	at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:262)
	at org.bukkit.craftbukkit.v1_5_R3.CraftServer.<init>(CraftServer.java:240)
	at net.minecraft.server.v1_5_R3.PlayerList.<init>(PlayerList.java:55)
	at net.minecraft.server.v1_5_R3.DedicatedPlayerList.<init>(SourceFile:11)
	at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:58)
	at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:388)
	at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.IllegalArgumentException: File cannot be null
	at org.apache.commons.lang.Validate.notNull(Validate.java:203)
	at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:170)
	at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:117)
	at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)
	at me.misterpvp.blocked.Main.<init>(Main.java:29)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178)
	... 9 more

List<Integer> blockeds = getConfig().getIntegerList("Blockeds");

 

Null

Link para o comentário
Compartilhar em outros sites

	    	saveDefaultConfig();

Claro.

 

Acho que deveria ficar assim

 

public class Main extends JavaPlugin implements Listener {
 
   public void onEnable() {
    ConsoleCommandSender s = Bukkit.getConsoleSender();
    s.sendMessage("§3[SrBlocked] §bIniciando o plugin de blocos");
    s.sendMessage("§3- Plugin criado por §aMister");
    saveDefaultConfig();
            getServer().getPluginManager().registerEvents(this, this);
   }
   
   public void onDisable() {
    ConsoleCommandSender s = Bukkit.getConsoleSender();
    s.sendMessage("§3[SrBlocked] §cFinalizando o plugin de blocos");
    s.sendMessage("§3- Plugin criado por §aMister");
   }
 
   @EventHandler
        public void onPlayer(BlockPlaceEvent e) {
            String clicar = getConfig().getString("Clicar").replace("&", "§");
 
            List<Integer> blockeds = getConfig().getIntegerList("Blockeds");
           /*Apenas coloquei aqui dentro*/
            Player p = e.getPlayer();
            if(blockeds.contains(e.getBlock().getTypeId())) {
                p.sendMessage(clicar);
                e.setCancelled(true);
            }
        }
 
}
Link para o comentário
Compartilhar em outros sites

1. Bloco tem data;

2. Null existe :c;

3. 3 cool.

 

Nubis

	@EventHandler
	private void a(BlockPlaceEvent e) {
		for (String a : getConfig().getStringList("Blocks")) {
			String[] tor = a.split("@");
			int id = Integer.parseInt(tor[0]);
			int data = Integer.parseInt(tor[1]);
			if (Material.getMaterial(id) == null)
				return;
			if (e.getBlock().getType() != Material.getMaterial(id) && e.getBlock().getData() != (byte)data)
				return;
			e.setCancelled(true);
			e.getPlayer().updateInventory();
			e.getPlayer().sendMessage(getConfig().getString("Msg").replace("&", "§"));
		}
	}

Na config:

 

Blocks:

  - 'ID@DATA'

Oque e data? (nuubs)

Link para o comentário
Compartilhar em outros sites

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