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

Opublikowano

"Barwnikk atakuje Piotra argumentem, że ten pyskuje we własnym poście, Piotr otrzymuje 20 obrażeń. Kolej Piotra, który używa tego samego argumentu wobec przeciwnika również zadając mu 20 obrażeń. Obaj herosi mają po 180 HP. Idą łeb w łeb, który wygra? Ta walka jest wyrównana... " :D udzielił mi się mały komentarzyk na wstęp :D

 

a teraz nieco poważniej :D Piotrze, kiedy możemy się spodziewać kolejnej części? i czy zdradzisz co w niej będzie. Powiem z nieukrywaną szczerością, że Ty nas po prostu torturujesz brakiem nowych tematów. Każda uwaga zawarta w Twoim poradniku jest cenna, a dawkujesz to tak skromnie, że czekanie chociażby dnia jest torturą, a czasem liczymy to w miesiącach xD Jeśli tylko mógłbym się jakkolwiek przydać przy redagowaniu to się zgłaszam chociażby przez to, że nie chcę, żeby inni czekali jak ja czekałem :) zawsze masz moje wsparcie :)

  • Odpowiedzi 496
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

@3 up

 

Oto mój kod:

 

@EventHandler
public void onBlockBreak(BlockBreakEvent event){
if(event.getBlock().getTypeId() == 41){
event.getBlock().setTypeId(42);
}
}
Opublikowano

@ 2 up pisze:

 

"fix project setup"

 

A jeśli "ręcznie" zaeksportuje EventHandler (Bo jego podkreśla) to zmienia się na:

 

"change project compliance and JRE to 1.5"

Opublikowano

Genialne.Moim zdaniem bardzo przydatne.Może kiedyś się wezmę za to.Zapiszę sobie link :)Polecam

Zapraszam na serwer Survival typu HARD Ip:Nie ustalone :) Start 20.12.13r

Opublikowano

no to w drodze wyjątku ja mam błąd xD

 

 

 

16:47:48 [INFO] This server is running CraftBukkit version git-Bukkit-1.5.2-R1.0-b2788jnks (MC: 1.5.2) (Implementing API version 1.5.2-R1.0)
16:47:48 [SEVERE] Could not load 'plugins\TeamPlayerStats.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: Andret/TeamPlayerStats/Main : Unsupported major.minor version 51.0
        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_5_R3.CraftServer.loadPlugins(CraftServer.java:239)
        at org.bukkit.craftbukkit.v1_5_R3.CraftServer.<init>(CraftServer.java:217)
        at net.minecraft.server.v1_5_R3.PlayerList.<init>(PlayerList.java:55)
        at net.minecraft.server.v1_5_R3.DedicatedPlayerList.<init>(SourceFile:11)
        at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:106)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.UnsupportedClassVersionError: Andret/TeamPlayerStats/Main :
 Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        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

 

@Edit

 

Wyłapałem, wersja javy xD miałem 1.6 i kompilowałem pod 1.7 :D

Opublikowano

Piotrze... mam parę uwag co do tego co piszesz :) są to oczywiscie drobne korekty, także spokojnie :P

 

 

1. Masz 2 razy temat #5, wiec kończy się na #11 a nie (jak mi się wydaje i jak powinno być) #12, nie wiem czy to celowo, przez nieaktualny, czy przeoczenie :P

 

2. temat przy obecnej numeracji #7 nie oznaczyłeś jaki jest ;p czy jest Do zmiany czy Nieaktualny :P

 

3. KLAMRY xD czemu tak rozbijasz? Czemu piszesz tak:

 

 

if (agrs.legnth==0)
{
    sender.sendMessage("Brak argumentów!");
}
else
{
    for(int i=0; i<args.length; i++)
    {
        sender.sendMessage(args[i]);
    }
}

 

 

Czyż nie czytelniej jest bez zbędnych enterów? Choćby tak:

 

 

if (agrs.legnth==0) {
    sender.sendMessage("Brak argumentów!");
} else {
    for(int i=0; i<args.length; i++) {
        sender.sendMessage(args[i]);
    }
}

 

 

:D Moim zdaniem to zwiększa czytelność i zmniejsza ilość zbędnych linii :)

 

4. Kiedy jeszcze był "Stary" sposób Twojego pisania dawałeś screeny zamiast gotowego kodu, byśmy - ja to pisałeś - uczyli się pisząc a nie kopiując. Moim zdaniem była to dobra metoda i nie wiem czemu od niej odstąpiłeś. Rozważ wrócenie do screenów zamiast dawania kodu gotowego do kopiuj, wklej, zmień.

 

5. Miło by było, gdybyś po każdej lekcji dawał przykład z wykorzystam narzędzi z danej lekcji, ale inny przykład, tak np. przy listenerach mógłbyś dać listenera onJoin. Tylko bez opisu, sam kod w jednej czy dwóch klasach. Jaki w tym cel? Niech taki programista młody weźmie ten kod, skopiuje i sam przetestuje :) niech zrozumie czemu to działa tak a nie inaczej i co za co odpowiada. :P

 

6. To jakby kontynuacja 5. Mógłbyś po każdej lekcji dawać jakieś zaufane źródło informacji, jak np. przy wspomnianych listenerach. Jak ktoś szuka jakiegoś listenera to chwile się oszuka. mógłbyś dać linka do strony z której Ty sam korzystasz, bo wówczas mamy pewność, że jest ona zaufana :D

 

7. Niegdyś prowadziłeś aktywnie changeloga, czemu już tego nie robisz? Wówczas bylibyśmy na bieżąco zmian w tutorialu :P

 

8. Podobnie jak wyżej mógłbyś napisać tytuły 2-3 kolejnych tematów nad którymi pracujesz, żebyśmy wiedzieli czego można się za chwilę spodziewać :)

 

9. Zrób legendę xD np. co oznacza zielone jabłuszko, co żółte, co czerwone xD może kiedy jest jakaś ważna uwaga czy informacja daj obok obrazek książki z piórem? Kiedy eksperymenty daj Brewing standa :D wiesz, coś co to oznacza :)

 

10. Małe to FAQ xD jak mówi nazwa FAQ = Frequently Asked Questions, czyli tam powinieneś da z góry odpowiedzi na najczęstsze pytania i lista ta powinna zmieniać się z naszym niemal każdym powielającym się problemem :D

 

Myślę, że to na tyle :) Może ktoś coś doda, odwoła się, skontrargumentuje? :D ZAPRASZAM DO DYSKUSJI :) A Piotra do przemyślenia i realizacji xD

 

//WIEM, że jest to drugi post pod rząd, ale nei mogę zrobić @Edita do popzredniego, bo obecny jest na zupełnie inny temat, a gdybym tam dał @Edit 2 to zrobiłby sie potworny śmietnik! Poza tym ten post może być róznierz traktowany jako @Refresh :)

Opublikowano

Wygląd chwali, Opisane prosto, ale za chiny lodowe nie zrozumie !
Próbuje [Napisać] Stworzyć byle jaki żeby tylko był, ale jak wprowadzam w serwer to taki fragment wyskakuje :

====================================================================================================

2013-08-05 10:57:10 [sEVERE] Could not load 'plugins\Rules.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: com.gmail.panpiacka.Rules
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_6_R2.CraftServer.loadPlugins(CraftServer.java:239)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.reload(CraftServer.java:603)
at org.bukkit.Bukkit.reload(Bukkit.java:275)
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchCommand(CraftServer.java:523)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchServerCommand(CraftServer.java:512)
at net.minecraft.server.v1_6_R2.DedicatedServer.ar(DedicatedServer.java:262)
at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:227)
at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Caused by: java.lang.ClassNotFoundException: com.gmail.panpiacka.Rules
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
... 14 more2013-08-05 10:57:10 [sEVERE] Could not load 'plugins\Rules.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: com.gmail.panpiacka.Rules
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_6_R2.CraftServer.loadPlugins(CraftServer.java:239)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.reload(CraftServer.java:603)
at org.bukkit.Bukkit.reload(Bukkit.java:275)
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchCommand(CraftServer.java:523)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.dispatchServerCommand(CraftServer.java:512)
at net.minecraft.server.v1_6_R2.DedicatedServer.ar(DedicatedServer.java:262)
at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:227)
at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
Caused by: java.lang.ClassNotFoundException: com.gmail.panpiacka.Rules
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
... 14 more
===============================================================================================
Próbowałem z innych TuT'ów i wiki, ale nic nie daje ! To coś z email ? Proszę o szybką pomoc ! Jak będzie trzeba wyśle ten "plugin" i niech ktoś zobaczy o co caman z kilka tygodni się z tym morduje.
BĘDĘ BARDZO WDZIĘCZNY I ZAPEWNE ZA DOBRĄ ODPOWIEDZI DAM
LIKE

Sygnatura.png?i_dim=1920x1200&app_id=web

Opublikowano

idę o stówę, że jak miałeś wybór importu to nie zawsze dawałeś org.bukkit :) tylko co inengo :) zobacz, czy masz coś inengo z .bukkit niż org.bukkit ;)

Przykro mam takie w głównej klasie :

import org.bukkit.plugin.java.JavaPlugin;

 

A w klasie od komend :

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.enchantments.EnchantmentWrapper;
import org.bukkit.inventory.ItemStack;
Może na PW przejdziemy jeśli można ?

 

 

Sygnatura.png?i_dim=1920x1200&app_id=web

Opublikowano

O przed chwilką zrobiłem z nudów kolejny plugin i on zadziałał ! Zawsze 1 rzecz którą się zrobi bez wiedzy nie wyjdzie :). Będę kontynuować moją naukę z pluginami i tu andych1 zasługuje na Like na konto ! Zagazowałeś się trochę ale nie pomogłeś :). LiAjK leci !

Sygnatura.png?i_dim=1920x1200&app_id=web

Opublikowano

Stworzenie Listenera

W tym punkcie stworzymy listener - jest to specjalna klasa która przechowuje metody które mają zostać uruchomione na skutek jakiegoś wydarzenia.Otwórzmy nasza główną klasę, tam gdzie mamy onEnable, onDisable itp.itd.

Dopiszmy tam ( w klasie głównej) to:

4912.jpg

 

 

Zauważyłem błąd w twoim "TuT'cie" Dokładnie w tym fragmencie powyżej. Bo ten fragment nie powinien się znajdować w głównej klasie, tylko w klasie z końcówką "Listener".

Kombinowałem i znalazłem problem :).

Sygnatura.png?i_dim=1920x1200&app_id=web

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...