Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
discount 30 + hiring

Diskuze: Eclipse, plugin na minecraft (java)

Aktivity
Avatar
Jiří Vodička:5.12.2020 13:51

Zdravím, zkouším začít programovat v eclipsu pro minecraft, nicméně jak vyvolám (vyexportuji) plugin v konzoli se objeví jednoznačná chyba:

[23:33:53] [Server thread/ERROR]: Could not load 'plugins\Simple­Freeze-3.0.0.jar' in folder 'plugins'
org.bukkit.plu­gin.InvalidPlu­ginException: Cannot find main class `org.plugins.sim­plefreeze.Sim­pleFreezeMain'
at org.bukkit.plu­gin.java.Plugin­ClassLoader.<i­nit>(PluginClas­sLoader.java:66) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at org.bukkit.plu­gin.java.Java­PluginLoader.lo­adPlugin(Java­PluginLoader.ja­va:131) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at org.bukkit.plu­gin.SimplePlu­ginManager.lo­adPlugin(Simple­PluginManager­.java:329) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at org.bukkit.plu­gin.SimplePlu­ginManager.lo­adPlugins(Sim­plePluginMana­ger.java:251) [spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at org.bukkit.craf­tbukkit.v1_8_R3­.CraftServer.lo­adPlugins(Craf­tServer.java:292) [spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at net.minecraft­.server.v1_8_R3­.DedicatedSer­ver.init(Dedi­catedServer.ja­va:198) [spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at net.minecraft­.server.v1_8_R3­.MinecraftSer­ver.run(Minecraf­tServer.java:525) [spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at java.lang.Thre­ad.run(Unknown Source) [?:1.8.0_66]
Caused by: java.lang.Clas­sNotFoundExcep­tion: org.plugins.sim­plefreeze.Sim­pleFreezeMain
at java.net.URLClas­sLoader.findClas­s(Unknown Source) ~[?:1.8.0_66]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.fin­dClass(Plugin­ClassLoader.ja­va:101) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.fin­dClass(Plugin­ClassLoader.ja­va:86) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
at java.lang.Clas­sLoader.loadClas­s(Unknown Source) ~[?:1.8.0_66]
at java.lang.Clas­sLoader.loadClas­s(Unknown Source) ~[?:1.8.0_66]
at java.lang.Clas­s.forName0(Na­tive Method) ~[?:1.8.0_66]
at java.lang.Clas­s.forName(Unknown Source) ~[?:1.8.0_66]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.<i­nit>(PluginClas­sLoader.java:64) ~[spigot-1.8.8.jar:git-Spigot-db6de12-3f3c65f]
... 7 more

Přitom zajistá zajímavost je ta, když plugin (téhož zdrojového kódu) vyexportuje někdo jiný, plugin se načte.

Hezký zbytek dne.

Zkusil jsem: Různé návody, kde většinou byl problém v plugin.yml nicméně ten mám v pořádku

Chci docílit: **Zprovoznění pluginu. **

 
Odpovědět
5.12.2020 13:51
Avatar
Milan Turyna
Tvůrce
Avatar
Milan Turyna:5.12.2020 14:13

Zkontroluj vysledek kompilatoru (.jar soubor, podivej se slozky /target v projektove slozce pokud existuje, pripadne se ve WinRaru koukni zda je stejne strukturovan jak zdrojovy kod (slozky a tak dale), ve vetsine pripadu to tu poznas), pokud ostatnim lidem plugin se stejnym zdrojovym kodem funguje, pravdepodobne bude problem nekde v kompilaci, s tim ze to nefunguje tak, jak potrebujes. Obcas se stava ze to treba nastavis spatne a pote ve vyslednem souboru se nachazi jen plugin.yml, nikoliv uz ostatni soubory.

https://stackoverflow.com/a/54242468
https://www.spigotmc.org/…lass.186846/

Zaroven bych chtel jeste dodat, ze mas podle meho nevhodne pojmenovany package a tridy. Koukni se tu, jak by to mohlo vypadat lepe: https://www.oracle.com/…entions.html. Ja kdyz delam plugin, tak vetsinou pojmenovavam cz.MilanT.<pro­jekt>.<...>

 
Nahoru Odpovědět
5.12.2020 14:13
Avatar
Jiří Vodička:5.12.2020 15:27

Zkusil jsme vše co šlo, nyní je v konzoli toto:

[15:21:28 ERROR]: Could not load 'plugins\Test.jar' in folder 'plugins'
org.bukkit.plu­gin.InvalidPlu­ginException: Cannot find main class `cz.JikaV.Tes­t.Raster'
at org.bukkit.plu­gin.java.Plugin­ClassLoader.<i­nit>(PluginClas­sLoader.java:66) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plu­gin.java.Java­PluginLoader.lo­adPlugin(Java­PluginLoader.ja­va:131) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plu­gin.SimplePlu­ginManager.lo­adPlugin(Simple­PluginManager­.java:329) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plu­gin.SimplePlu­ginManager.lo­adPlugins(Sim­plePluginMana­ger.java:251) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craf­tbukkit.v1_8_R3­.CraftServer.lo­adPlugins(Craf­tServer.java:292) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft­.server.v1_8_R3­.DedicatedSer­ver.init(Dedi­catedServer.ja­va:198) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft­.server.v1_8_R3­.MinecraftSer­ver.run(Minecraf­tServer.java:525) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.base/java­.lang.Thread.run(Thre­ad.java:832) [?:?]
Caused by: java.lang.Clas­sNotFoundExcep­tion: cz.JikaV.Test­.Raster
at java.base/java­.net.URLClassLo­ader.findClas­s(URLClassLoa­der.java:435) ~[?:?]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.fin­dClass(Plugin­ClassLoader.ja­va:101) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.fin­dClass(Plugin­ClassLoader.ja­va:86) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at java.base/java­.lang.ClassLo­ader.loadClas­s(ClassLoader­.java:589) ~[?:?]
at java.base/java­.lang.ClassLo­ader.loadClas­s(ClassLoader­.java:522) ~[?:?]
at java.base/java­.lang.Class.for­Name0(Native Method) ~[?:?]
at java.base/java­.lang.Class.for­Name(Class.ja­va:468) ~[?:?]
at org.bukkit.plu­gin.java.Plugin­ClassLoader.<i­nit>(PluginClas­sLoader.java:64) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
... 7 more

**Plugin jsem udelal od znova, nicmene ani tak to nepomohlo... **

** Posílám zde zdrojový kód: **
>

package cz.JirkaV.Test;

import org.bukkit.Bukkit;
import org.bukkit.com­mand.Command;
import org.bukkit.com­mand.CommandSen­der;
import org.bukkit.en­tity.Player;
import org.bukkit.plu­gin.java.Java­Plugin;

public class Raster extends JavaPlugin {

public void onEnable() {
Bukkit.getSer­ver().getLogger()­.info("Plugin Test se zapnul!");
}

public void onDisable() {
Bukkit.getSer­ver().getLogger()­.info("Plugin Test se vypnul!");
}

public boolean onCommand(Com­mandSender sender, Command cmd, String labels, String[] args) {
if (!(sender instanceof Player)) {
sender.sendMes­sage("Konzole nemůže vykonat tento příkaz!");
return true;
}

Player player = (Player) sender;

if (cmd.getName()­.equalsIgnore­Case("test")) {
player.sendMes­sage("Toto se vykoná, když hráč napíše příkaz test!");
}

return false;
}
}

Zde posílám plugin.yml:

name: Test
main: cz.JikaV.Test­.Raster
version: 1.0

commands:
test:

 
Nahoru Odpovědět
5.12.2020 15:27
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Jiří Vodička:5.12.2020 15:33

https://www.uschovna.cz/…5/4SI8AIDP33 - mnou vyexportovaná plugín, je tam ji class a vše vyexportované, opravdu si nevím rady jak se s tím učím, předem díky!

 
Nahoru Odpovědět
5.12.2020 15:33
Avatar
Milan Turyna
Tvůrce
Avatar
Odpovídá na Jiří Vodička
Milan Turyna:5.12.2020 15:43

Ja v tom pluginu vyexportovany kod nevidim, je tam pouze ten plugin.yml. Zkus pri exportovani zaskrtnout cely projekt. https://i.imgur.com/BScLxCQ.png (obrazek co tim myslim)

Editováno 5.12.2020 15:43
 
Nahoru Odpovědět
5.12.2020 15:43
Avatar
Jiří Vodička:5.12.2020 15:52

Ano, udělal jsem to přesně podle obrázku - https://www.uschovna.cz/…D/9DPA55XGN4

 
Nahoru Odpovědět
5.12.2020 15:52
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.