Résolu Setblock JAVA

RedHeadEmile

Codeur Java qui code en Java
6 Novembre 2015
121
1
130
Une erreur surviens toujours; voila je code complet :
Code:
package fr.RedHeadEmile.RedHeadEmile;
 
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
 
public class Command implements Listener {
 
    public Command(RedHeadEmile redHeadEmile) {
    }
 
    @EventHandler
    public void onCommand(PlayerCommandPreprocessEvent e){
       
        Player player = (Player) sender;
        Player p = e.getPlayer();
        String msg = e.getMessage();
        String[] args = msg.split(" ");
       
        if(args[0].equalsIgnoreCase("/danceore")){
            if(p.hasPermission("redheademile.danceore")){
           
            if(args.length == 1){
            p.sendMessage("§7/danceore <start | stop>");
            e.setCancelled(true);
            }
           
            if(args.length == 2){
           
                if(args[1].equalsIgnoreCase("start")){
                p.getServer().broadcastMessage("§6Le DanceOre §acommence §6!");
                World world = player.getWorld();
                world.getBlockAt(new Location(world, -202, 77, -48)).setType(Material.DIRT)
            }
                if(args[1].equalsIgnoreCase("stop")){
                p.getServer().broadcastMessage("§6Le DanceOre est §cfini §6!");
            }
           
               
            e.setCancelled(true);
            }
            }
        }
    }   
}
 

bubagump1

Architecte en herbe
27 Septembre 2014
218
22
125
Quelle erreur ?

De plus, essaye de remplacer le 'p' de <p.getServer...> par Bukkit (Ce n'est peut-être pas ça, mais je ne peux rien te dire de plus tant que tu ne me donnes aucune info sur l'erreur en question)
 

RedHeadEmile

Codeur Java qui code en Java
6 Novembre 2015
121
1
130
sender est souligner dans le code que j'ai mis si dessus et la parenthèse après "DIRT"
 

bubagump1

Architecte en herbe
27 Septembre 2014
218
22
125
Oui j'ai oublié de te dire, étant donné que tu utilises PlayerPreCommandProcess il n'y a pas de sender, donc remplaces 'p' par Bukkit et 'player' par p
 

RedHeadEmile

Codeur Java qui code en Java
6 Novembre 2015
121
1
130
Je n'arriva pas à comprendre, vous voulez dire modifier les code ici ?​
Code:
Player p = e.getPlayer();
        String msg = e.getMessage();
        String[] args = msg.split(" ");
 

RedHeadEmile

Codeur Java qui code en Java
6 Novembre 2015
121
1
130
Comme ceci ?
Code:
if(args[1].equalsIgnoreCase("start")){
                p.getServer().broadcastMessage("§6Le DanceOre §acommence §6!");
                World world = p.getWorld();
                world.getBlockAt(new Location(world, -202, 77, -48)).setType(Material.DIRT)
 

bubagump1

Architecte en herbe
27 Septembre 2014
218
22
125
Exactement. Si cela ne marche pas, remplaces le 'p' de la ligne <<p.getServer()...>> par Bukkit :)
 

RedHeadEmile

Codeur Java qui code en Java
6 Novembre 2015
121
1
130
Comme ça ?
Code:
if(args[1].equalsIgnoreCase("start")){
                Bukkit.getServer().broadcastMessage("§6Le DanceOre §acommence §6!");
                World world = p.getWorld();
                world.getBlockAt(new Location(world, -202, 77, -48)).setType(Material.DIRT)
            }

Car le bukkit et la parenthèse après 'DIRT' est souligner :'(
 

bubagump1

Architecte en herbe
27 Septembre 2014
218
22
125
Il fait que tu importes Bukkit, et pour la parenthèse après DIRT tu dois rajouter un point virgule