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

Tworzenie pluginów dla Bukkit


piotrek54PL

Rekomendowane odpowiedzi

  • Odpowiedzi 496
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Kiedy można się spodziewać dalszej części poradnika ?

@Edit

package JodaMinecraft.Wtyczka;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
import ru.tehkode.permissions.PermissionManager;
public class Wtyczka extends JavaPlugin
{
protected static final Logger log = Logger.getLogger("Minecraft");

@Override
public void onEnable()
{
log.info("[Wtyczka] Zostala wczytana !");
}

//1
@Override
public void onDisable()
{
log.info("[Wtyczka] Zostala wylaczona !");
}

//2
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
//3
if(cmd.getName().equalsIgnoreCase("weedcraft"))
{
PermissionManager pex = PermissionsEx.getPermissionManager();
PermissionUser[] admins = pex.getUsers("Admin");
PermissionUser[] mods = pex.getUsers("Mod");
sender.sendMessage(ChatColor.AQUA + "--Administratorzy--");
if(admins.length == 0)
{
sender.sendMessage(ChatColor.GRAY + "Brak");
}
else
{
for(int i = 0; i < admins.length;i++)
{
 sender.sendMessage(admins[i].getName());
}
}
sender.sendMessage(ChatColor.DARK_GREEN + "--Moderatorzy--");
if(mods.length == 0)
sender.sendMessage(ChatColor.GRAY + "Brak");
else{
for(int i = 0;i <mods.length;i++)
{
 sender.sendMessage(mods[i].getName());
}
}
return true;
}
return false;
}

Co jest zle w tym kodzie ?

A co Ci wyskakuje w konsoli?

<>

Opublikowano

Czy może ktoś mi pomoc na gg lub PW jak napisać ten podstawowy plugin. Wiem jest dobry poradnik ale jak zwykle mi coś nie wychodzi.

 

Zły temat? Przepraszam nie wiedziałem gdzie napisać.

Opublikowano

Mam problem ponieważ zrobiłem już wszystko zgodnie z poradnikiem i na serwerze nie wykrywa pluginu i jak wpisuję komendę wyskakuje "Unknown command"

Dodam że próbowałem zrobić jeszcze raz wszystko od początku i nie przyniosło to skutku.Cały kod był dobrze przepisany dla pewności to samo wyskakuje podczas gdy kod skopiowałem.

Dodam jeszcze że w konsoli wyskakuje komunikat [sEURE] Could not load 'plugins/Trzeci by DzeryGryl.jar' in fol

Wie ktoś może co zrobiłem źle bądź jak to naprawić.Za pomoc z góry dziękuje.Za poradę daje plusika.

Opublikowano

Kod jaki wpisałem to:

 

package DzeryGryl;

 

import java.util.logging.Logger;

 

import org.bukkit.ChatColor;

import org.bukkit.command.Command;

import org.bukkit.command.CommandSender;

import org.bukkit.plugin.java.JavaPlugin;

 

public class Wtyczka extends JavaPlugin

{

protected static final Logger log = Logger.getLogger("Minecraft");

 

@Override

public void onEnable()

{

log.info("[Wtyczka] Zostala wczytana !");

}

 

@Override

public void onDisable()

{

log.info("[Wtyczka] Zostala wylaczona !");

}

 

@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)

{

if(cmd.getName().equalsIgnoreCase("Dzery"))

{

sender.sendMessage("DzeryGryl "+ ChatColor.RED + "Twój Pan !");

return true;

}

return false;

}

}

 

 

Tu dam ci jeszcze plugin.yml

 

name: DzeryGryl

main: Ciabata

version: 1.0

 

commands:

komenda:

description: Super Komenda

usage: /command>

permission: NAZWAPLUGINU.komenda

permission-message: Nie masz do tego praw !

post-684880-0-06345800-1356025528.png

Opublikowano

commands:

Dzery:

description: Super Komenda

usage: /command>

permission: NAZWAPLUGINU.komenda

permission-message: Nie masz do tego praw !

mca.png
Opublikowano

Hej mam problem gdy przy exporcie pluginu na pulpit klikam Finish i pisze JAR creation failed. See details for additional information. Gdy klikam Details>> to pisze:

 

Resource is out of sync with the file system: '/Plugin/src/plugin.yml'.

 

Mój plik Plugin.Trool:


package Plugin.Trool;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.logging.Logger;

public class Trool extends JavaPlugin {

protected static final Logger log = Logger.getLogger("Minecraft");

public void onEnable(){

log.info("[Trool] Zostal Wlaczony");
}
public void onDisable(){

log.info("[Trool] Zostal Wylaczony");
}

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){

if(cmd.getName().equalsIgnoreCase("trooluj")){

sender.sendMessage("Gracz "+ ChatColor.BLUE +"Plugin"+ ChatColor.GREEN +"Wylosowal 3 diamenty ");
return true;
}
return false;
}
}

 

 

plugin.yml:

 


name: Trool
main: Plugin.Trool
version: 1.0

trooluj:
description: Jest to plugin "Trool" niby gracz wylosuje 3 diaxy a daje mu 3 dirty
usage: /commands>

 

CO jest źle?

Opublikowano

@up

Ten błąd pojawia się gdy edytujesz plik (w tym przypadku plugin.yml) zewnętrznym programem (np. notatnikiem) zamiast w eclipse. Kiknij prawym w eclipse na plik plugin.yml i potem "Refresh". Następnym razem edytuj plik w eclipse :) (Przeciągając go na środek)

Opublikowano

Mi cały czas wyskakuje że nie ma takiej komendy.Pomoże ktoś ? Za pomoc daje +.

Kod to

 

package Dzery.Dzery;

 

import java.util.logging.Logger;

 

import org.bukkit.ChatColor;

import org.bukkit.command.Command;

import org.bukkit.command.CommandSender;

import org.bukkit.plugin.java.JavaPlugin;

 

public class Dzery extends JavaPlugin

{

protected static final Logger log = Logger.getLogger("Minecraft");

 

@Override

public void onEnable()

{

log.info("[Wtyczka] Zostala wczytana !");

}

 

@Override

public void onDisable()

{

log.info("[Wtyczka] Zostala wylaczona !");

}

 

@Override

public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)

{

if(cmd.getName().equalsIgnoreCase("komenda"))

{

sender.sendMessage("Jem "+ ChatColor.RED + "poziomki tralalala !");

return true;

}

return false;

}

}

 

plugin.yml

 

 

name: DzeryGryl

main: Dzery.Dzery

version: 1.0

 

commands:

komenda:

description: To jest fajna komenda.

usage: /<command>

 

Wyskakuje takie coś w konsoli:

post-684880-0-42990500-1356106452.png

Opublikowano

Java jest tego typu językiem ,że zapomnienie o " } " czy zakończeniu każdej linijki kodu " ; " skutkuje po prostu niedziałaniem kodu :)

wiec jeśli coś wam nie działa to polecam dokładnie linijka po linijce posprawdzać czy nie ma literówek ;)

11967467.jpg

Opublikowano

To Miło że nie którzy lubią sie dzielić swoją wiedzą o różnych rzeczach w typ przypadku pluginy :) poradnik jest jednym z lepszych jakie do tego czasu spotkałem ^^

 

Innymi słowy Zajebisty TuT

 

 

Ps. Leci Like

Opublikowano

Mam problem. Napisałem ten plugin i :

 

2012-12-29 21:18:23 [sEVERE] Could not load 'plugins\dupa.jar' in folder 'plugins'

org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError

at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:184)

at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305)

at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)

at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugins(CraftServer.java:235)

at org.bukkit.craftbukkit.v1_4_6.CraftServer.<init>(CraftServer.java:213)

at net.minecraft.server.v1_4_6.PlayerList.<init>(PlayerList.java:52)

at net.minecraft.server.v1_4_6.DedicatedPlayerList.<init>(SourceFile:11)

at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:104)

at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:399)

at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)

Caused by: java.lang.ExceptionInInitializerError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)

... 9 more

Caused by: java.lang.NullPointerException

at com.sun.istack.internal.logging.Logger.getLogger(Unknown Source)

at gabriel2674.plugin.Wtyczka.<clinit>(Wtyczka.java:13)

... 12 more :C

Opublikowano

mam problem zrobiłem komende ale nie działa na serwerze wpisuje /komenda i pisze ze nie ma komendy

 

plugin.yml :


name: Creeper Craft
main: elfusion.Elfusion
version: 1.0

commands:
komenda:
description: To jest fajna komenda.
usage: /<command>

 

Elfusion.class :



package elfusion;

import java.util.logging.Logger;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

/**
*
* @author Dawid
*/
public class Elfusion extends JavaPlugin {

   static final Logger log = Logger.getLogger("Minecraft");

   @Override
   public void onEnable()
   {

   log.info("[Creeper-Craft]Zostal wlaczony");

   }

   @Override
   public void onDisable(){
     log.info("[Creeper-Craft]Zostal wylaczony");  
   }

   public boolean onCommand(Command cmd, CommandSender sender, String label, String[] args){

      if(cmd.getName().equalsIgnoreCase("komenda")){

          if(!(sender instanceof Player)){
              sender.sendMessage("Witaj Konsolo!");
          }
          else
          {
              Player player = (Player) sender;
              sender.sendMessage("Witaj "+ player.getDisplayName()+ " !");
              sender.sendMessage("Twoj lvl: "+ player.getLevel());
              sender.sendMessage("Ilosc HP: "+ player.getHealth());
              sender.sendMessage("Ilosc Glodu: "+ player.getFoodLevel());

              Inventory enderchest = player.getEnderChest();
              ItemStack miecz = new ItemStack(Material.IRON_SWORD, 1);
              enderchest.addItem(miecz);
              sender.sendMessage("W nagrode dostajesz zelazny miecz.Znajdziesz go w Ender Chest.");
          }

                  return true;
      }
       return false;


   }

}



Opublikowano

mam problem zrobiłem komende ale nie działa na serwerze wpisuje /komenda i pisze ze nie ma komendy

 

plugin.yml :


name: Creeper Craft
main: elfusion.Elfusion
version: 1.0

commands:
komenda:
description: To jest fajna komenda.
usage: /<command>

 

Elfusion.class :



package elfusion;

import java.util.logging.Logger;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;

/**
*
* @author Dawid
*/
public class Elfusion extends JavaPlugin {

static final Logger log = Logger.getLogger("Minecraft");

@Override
public void onEnable()
{

log.info("[Creeper-Craft]Zostal wlaczony");

}

@Override
public void onDisable(){
log.info("[Creeper-Craft]Zostal wylaczony");
}

public boolean onCommand(Command cmd, CommandSender sender, String label, String[] args){

if(cmd.getName().equalsIgnoreCase("komenda")){

if(!(sender instanceof Player)){
sender.sendMessage("Witaj Konsolo!");
}
else
{
Player player = (Player) sender;
sender.sendMessage("Witaj "+ player.getDisplayName()+ " !");
sender.sendMessage("Twoj lvl: "+ player.getLevel());
sender.sendMessage("Ilosc HP: "+ player.getHealth());
sender.sendMessage("Ilosc Glodu: "+ player.getFoodLevel());

Inventory enderchest = player.getEnderChest();
ItemStack miecz = new ItemStack(Material.IRON_SWORD, 1);
enderchest.addItem(miecz);
sender.sendMessage("W nagrode dostajesz zelazny miecz.Znajdziesz go w Ender Chest.");
}

return true;
}
return false;


}

}



Po 1. Pokaż logi z konsoli (błędy)

Po 2. Sprawdź czy dobry masz plugin.yml

<>

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...