Java Pomoc - Zachytávání VŠECH příkazů.

Pokec o čemkoliv ostatním
Message
Autor
Uživatelský avatar
Cernokneznik
Příspěvky: 855
Věk: 26
Registrován: 17 črc 2012, 20:23
Reputation: 1
Bydliště: Praha
Kontaktovat uživatele:

Java Pomoc - Zachytávání VŠECH příkazů.

#1 Příspěvekod Cernokneznik » 14 dub 2016, 13:45

"Nemám"
Ahoj.

Snažím se napsat si plugin, který by umožňil hráčům vytvářet si soukromé aliasy.
To znamená-
Chci spawnout kuře, ale příkaz

Kód: Vybrat vše

/summon chicken
je pro mě moc dlouhý... chtěl bych si nastavit, že pokud napíšu

Kód: Vybrat vše

/chicken
, vykoná se výše zmíněný příkaz.
Našel jsem pár podobných pluginů, bohužel- všechny jsou server-wide (Jakýkoliv alias který si nastavím třeba já může vykonávat kdokoliv další, což se mi nelíbí z důvodu možných kolizí (někdo bude chtít používat příkaz /chicken na to a ten zas ono...))

Nedaří se mi bohužel přijít na to, jak odchytávat příkazy.
když použiji onCommand, příkaz nefunguje dokud není udaný v plugin.yml souboru.
Proto se ptám někoho kdo by snad mohl být zkušený... Jak odchytávat všechny zprávy/příkazy?
Pravděpodobně je to fakt noob otázka, ale tohle je můj první počin co zkouším jiný programovací jazyk než PHP a C#

Díky moc za případný rady.
Elkia.club - A gaming club with it's own vanilla survival Minecraft server!
Obrázek apply here

Uživatelský avatar
Cernokneznik
Příspěvky: 855
Věk: 26
Registrován: 17 črc 2012, 20:23
Reputation: 1
Bydliště: Praha
Kontaktovat uživatele:

Re: Java Pomoc - Zachytávání VŠECH příkazů.

#2 Příspěvekod Cernokneznik » 14 dub 2016, 14:42

Přoč mi nefunguje ani takovýhle jednoduchý kód?
Plugin se v pořádku načte, žádné chybové hlášky v konzoli...
Avšak

Kód: Vybrat vše

package pw.cerx.alias;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.logging.Logger;

public class Main extends JavaPlugin {
    Logger log = getLogger();
    public PluginDescriptionFile pluginInfo = getDescription();

    @Override
    public void onEnable(){
        //Při zapnutí
        log.info("Initialized.");
    }
    @Override
    public void onDisable(){
        //Když se server vypíná
        log.info("Disabled.");
    }

    @EventHandler
    public void PlayerCommand(PlayerCommandPreprocessEvent event) {
        Player p = event.getPlayer();
        if (event.getMessage().equalsIgnoreCase("/test")) {
            event.setCancelled(true);
            p.sendMessage("test");
        }
    }

}

Po napsání /test stále dostávám hlášku o neexistujícím příkaze namísto odpovědi "test" od pluginu.
Elkia.club - A gaming club with it's own vanilla survival Minecraft server!
Obrázek apply here

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 32
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Java Pomoc - Zachytávání VŠECH příkazů.

#3 Příspěvekod Hanakocz » 14 dub 2016, 15:42

Zkus tam dát else, "jiný command", tedy aby když to ten event zachytí, tak to vždy něco napíše.
A možná zkus ma začátek detekovat normální zprávu, bez lomitka, pokud to půjde....tak se blížíš, pokud ani to ne, tak... ;)
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

WorkiS
Příspěvky: 112
Registrován: 22 pro 2015, 00:08
Reputation: 0

Re: Java Pomoc - Zachytávání VŠECH příkazů.

#4 Příspěvekod WorkiS » 14 dub 2016, 18:41

Také to jde udělat do onEnable() {}

Bukkit.getServer().getPluginManager().registerEvents(this, this);

Uživatelský avatar
DenOwq
Příspěvky: 2703
Věk: 27
Registrován: 06 bře 2014, 21:26
Reputation: 2

Re: Java Pomoc - Zachytávání VŠECH příkazů.

#5 Příspěvekod DenOwq » 14 dub 2016, 18:43

tak by to nemělo být workis, hlavní třída je jen na aktivaci pluginu, né na kontrolování eventu.
Muhahha.


Zpět na „Off topic“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 32 hostů