Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Co jest źle w tym pluginie?


Rekomendowane odpowiedzi

Opublikowano

Oto kod:
 

    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    	if(cmd.getName().equalsIgnoreCase("basic")){
    		sender.sendMessage("siema");
    		return true;
    	}
    	return false; 
    }

Po wpisaniu /basic nic się nie wyświetla, w plugin.yml jest wpisana ta komenda.

Jestem wesoły romek

Opublikowano

metoda jest w głównej klasie?­

Jak nie to musisz ją jeszcze zarejestrować.

Upewnij się że to dobra nazwa komendy, najlepiej dla testu usunąć sprawdzanie nazwy

Dodaj też @Override nad metodę by upewnić się że metoda jest poprawna (np jakieś złe importy)

 

I zobacz czy nie ma błędów na stracie, najlepiej wklej tutaj logi ze startu i cały kod ;)

1438614356923701010629.png

 

Opublikowano

@GotoFinal cały kod:
 

package com.gmail.miloszmen47;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

public class Komenda {
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    	if(cmd.getName().equalsIgnoreCase("basic")){
    		sender.sendMessage("siema");
    		return true;
    	}
    	return false; 
    }
}

Logi przy włączeniu:

Loading libraries, please wait...
[12:40:11 INFO]: Starting minecraft server version 1.7.2
[12:40:11 INFO]: Loading properties
[12:40:11 INFO]: Default game type: SURVIVAL
[12:40:11 INFO]: Generating keypair
[12:40:11 INFO]: Starting Minecraft server on 37.187.133.127:25569
[12:40:11 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.2-R0.2-50-gdce2b35-b3019jnks (MC: 1.7.2) (Implementing API version 1.7.2-R0.3-SNAPSHOT)
[12:40:11 WARN]: Could not get information about this CraftBukkit version; perhaps you are running a custom one?: IOException
[12:40:11 WARN]: Could not get latest artifact information: IOException
[12:40:12 INFO]: [PierwszyPlugin] Loading PierwszyPlugin v1.0
[12:40:12 INFO]: [Vault] Loading Vault v1.2.31-b411
[12:40:12 INFO]: [WorldEdit] Loading WorldEdit v6.0;3342-78f975b9
[12:40:12 INFO]: [VoxelSniper] Loading VoxelSniper v5.168.9-SNAPSHOT-jnks278
[12:40:12 INFO]: [skript] Loading Skript v2.1.2
[12:40:12 INFO]: [Essentials] Loading Essentials v2.13.1
[12:40:12 INFO]: [EssentialsChat] Loading EssentialsChat v2.13.1
[12:40:12 INFO]: [EssentialsSpawn] Loading EssentialsSpawn v2.13.1
[12:40:12 INFO]: [AuthMe] Loading AuthMe v3.4
[12:40:12 INFO]: [Vault] Enabling Vault v1.2.31-b411
[12:40:12 INFO]: [Vault] [Vault][Economy] Essentials Economy found: Waiting
[12:40:12 INFO]: [Vault] [Vault][Permission] SuperPermissions loaded as backup permission system.
[12:40:12 INFO]: [Vault] [Vault] Enabled Version 1.2.31-b411
[12:40:12 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[12:40:12 WARN]: The server will make no attempt to authenticate usernames. Beware.
[12:40:12 WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[12:40:12 WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[12:40:12 INFO]: Preparing level "world"
[12:40:12 INFO]: Preparing start region for level 0 (Seed: 2003922543024781046)
[12:40:12 INFO]: Preparing start region for level 1 (Seed: 2003922543024781046)
[12:40:13 INFO]: Preparing start region for level 2 (Seed: 2003922543024781046)
[12:40:13 INFO]: [PierwszyPlugin] Enabling PierwszyPlugin v1.0
[12:40:13 INFO]: [PierwszyPlugin] onEnable uruchomione
[12:40:13 INFO]: [WorldEdit] Enabling WorldEdit v6.0;3342-78f975b9
[12:40:13 INFO]: WEPIF: Using the Bukkit Permissions API.
[12:40:13 WARN]: [WorldEdit] 
**********************************************
** This WorldEdit version does not fully support your version of Bukkit.
**
** When working with blocks or undoing, chests will be empty, signs
** will be blank, and so on. There will be no support for entity
** and biome-related functions.
**
**********************************************
 
[12:40:13 INFO]: [VoxelSniper] Enabling VoxelSniper v5.168.9-SNAPSHOT-jnks278
[12:40:14 INFO]: [VoxelSniper] Registered 75 Sniper Brushes with 149 handles.
[12:40:14 INFO]: [VoxelSniper] Registered 61 LiteSniper Brushes with 124 handles.
[12:40:14 INFO]: [VoxelSniper] Registered Sniper Listener.
[12:40:14 INFO]: [skript] Enabling Skript v2.1.2
[12:40:14 INFO]: [skript] Loaded a total of 11504 english aliases
[12:40:14 INFO]: [skript]  ~ created by & ? Peter Güttinger aka Njol ~
[12:40:14 INFO]: [Essentials] Enabling Essentials v2.13.1
[12:40:14 INFO]: Using locale pl
[12:40:15 INFO]: Using locale pl
[12:40:15 INFO]: [Vault][Economy] Essentials Economy hooked.
[12:40:15 INFO]: Essentials: Using config file enhanced permissions.
[12:40:15 INFO]: Permissions listed in as player-commands will be given to all users.
[12:40:15 INFO]: [EssentialsChat] Enabling EssentialsChat v2.13.1
[12:40:15 INFO]: [EssentialsSpawn] Enabling EssentialsSpawn v2.13.1
[12:40:15 INFO]: [AuthMe] Enabling AuthMe v3.4
[12:40:15 INFO]: [AuthMe] Loading Configuration File...
[12:40:15 INFO]: [AuthMe] Set Language: pl
[12:40:15 INFO]: [AuthMe] Vault plugin detected, hook with SuperPerms system
[12:40:15 INFO]: [AuthMe] Hook with Essentials plugin
[12:40:15 INFO]: [AuthMe] Hook with EssentialsSpawn plugin
[12:40:15 INFO]: [AuthMe] LICENSE : This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com
[12:40:15 INFO]: [AuthMe] Authme 3.4 enabled
[12:40:15 INFO]: Server permissions file permissions.yml is empty, ignoring it
[12:40:15 INFO]: Done (3,206s)! For help, type "help" or "?"
[12:40:15 INFO]: Starting GS4 status listener
[12:40:15 INFO]: Query running on 37.187.133.127:25569
[12:40:15 INFO]: [skript] Checking for the latest version of Skript...
[12:40:16 INFO]: [skript] All scripts loaded without errors.
[12:40:16 INFO]: [skript] Loaded 1 script with a total of 0 triggers and 1 command in 0.4 seconds
[12:40:16 INFO]: [skript] Finished loading.
[12:40:16 INFO]: [Vault] Checking for Updates:
[12:40:16 WARN]: [Vault] Stable Version: 1.5.2 is out! You are still running version: 1.2.31
[12:40:16 WARN]: [Vault] Update at: http://dev.bukkit.org/server-mods/vault
[12:40:17 INFO]: [skript] You're currently running the latest stable version of Skript.
>

Jestem wesoły romek

Opublikowano

jak robisz to w osobnej klasie, to ta klasa musi implementować CommandExecutor -a

Napisałem bys dodał @Override nad metodą, pokazało by ci error-a i byś wiedział że robisz coś źle :P­

 

A do tego musi byc zarejestrowana w głównej klasie w onEnable. getCommand("komenda").setExecutor(new MojeKomenda())

PS: i nie musisz wtedy sprawdzać nazwy komendy, bo i tak żadna inna tam się nie pojawi, tak długo jak nie zarejestrujesz 2 komend do tego samego executora.

1438614356923701010629.png

 

Opublikowano

@GotoFinal a czy ten Executor ignoruje wielkość znaków?

Ale co dokładnie? nazwa komendy musi byc idenatyczna jak w plugin.yml, a w plugin.yml nie powinno używać się wielkich liter w nazwach komend.

­

1438614356923701010629.png

 

Opublikowano

Klasa ChatColor,­ mozesz ręcznie dawać ChatColor.RED + "Wiadomość" lub użyc metody translateAlter... bla bla bla, i wtedy uzywać dowolnego znaku jakiego chcesz do kolorowania.

np 

String colored = ChatColor.trans...('&', "&4dfsdf") -> & jest od kolorowania

1438614356923701010629.png

 

Opublikowano

ChatColor.RED.toString() + ChatColor.COSINNEGO.toString() + "tekst"

Tylko nie pamiętam czy trzeba dać kolor, czy pogrubienie pierwsze by zadziałało, to juz sam sobie zobacz.

1438614356923701010629.png

 

Opublikowano

@Dark.Craft moim zdaniem ogólnie najlepiej jest dawać kolory przy pomocy paragrafu, wystarczy znajomość kolorów w MC, a wpisać paragraf w Google i go skopiować to nie problem :D

Opublikowano

@Dark.Craft moim zdaniem ogólnie najlepiej jest dawać kolory przy pomocy paragrafu, wystarczy znajomość kolorów w MC, a wpisać paragraf w Google i go skopiować to nie problem :D

To nie rozpowiadaj swojego zdania na głos ;)

Nie po to jest API by je omijać, specjalnie zrobili te metody, by jak nagle z jakiegoś powodu będzie trzeba zmienić znak, to nic się nie spierdoli. Za wyjątkiem twoich pluginów oczywiście.

Więc jak chcesz tutaj rozpowiadać złe praktyki...to nie wiem, zrób kanał na yt i nazwij go kimivix czy jakoś podobnie i gadaj sobie co chcesz.

­

1438614356923701010629.png

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...