Skocz do zawartości
  • 0

Plugin nie chce mi się załadować.


Pytanie

Spoiler

 

A więc tak... na początku zacząłem pisać plugin na drop.. po czym pomyślałem , że najpierw sobie poczytam kod użytkownika "Kamilkime" 

Spoiler

okazał się oszustem , bo nie dał kodu z filmu :bezkappy: 

Jako, iż nie dał kodu z filmu zacząłem dopisywać event on command itd... i od teraz nie chce załadować mi się plugin.

 

Tam taka historyjka...

A więc tak.. błędy to 

[05:06:12 INFO]: Set PluginClassLoader as parallel capable
[05:06:12 ERROR]: Could not load 'plugins\luckyDrop (beta).jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `dev.esejj.luckydrop'
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:66) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
Caused by: java.lang.ClassNotFoundException: dev.esejj.luckydrop
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        ... 7 more
Spoiler

Wiem , że mój main jest przepiękny :kappa:

 

BlockBreakListener

DataLoader

DropType

EntityDeathListener

ItemToDrop

Main

Utils


Plugin.yml 

main: dev.esejj.luckydrop
name: luckyDrop 
version: 0.1
author: esej
description: Drop ze stone.
commands:
  luckydrop:drop:
    usage: /drop
    permission: esej.luckydrop
    permission-message: Nie posiadasz uprawnien (esej.luckydrop)
    aliases: [drop, surowce, kamien, stone]

@Wizzard

Edytowane przez esej
Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/
Udostępnij na innych stronach

17 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 3

Nie podałeś poprawnej ścieżki do Main, powinno być: dev.esejj.luckydrop.Main, popraw to w plugin.yml. Ps zamiast: 

public static void ERROR(String msg){
		System.out.println("[ERROR] " + msg);
	}

polecam użyć wbudowanego loggera. Bukkit.getLogger() jak mnie pamięć nie myli. Cały kod pod jebany od Kamilkime xD

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140603
Udostępnij na innych stronach

  • 0
9 godzin temu, stefanik11 napisał:

Nie podałeś poprawnej ścieżki do Main, powinno być: dev.esejj.luckydrop.Main, popraw to w plugin.yml. Ps zamiast: 


public static void ERROR(String msg){
		System.out.println("[ERROR] " + msg);
	}

polecam użyć wbudowanego loggera. Bukkit.getLogger() jak mnie pamięć nie myli. Cały kod pod jebany od Kamilkime xD

Zrobiłem swój kod , ale nie chciał działać to na początek muszę się nauczyć.

9 godzin temu, stefanik11 napisał:

Nie podałeś poprawnej ścieżki do Main, powinno być: dev.esejj.luckydrop.Main, popraw to w plugin.yml. Ps zamiast: 


public static void ERROR(String msg){
		System.out.println("[ERROR] " + msg);
	}

polecam użyć wbudowanego loggera. Bukkit.getLogger() jak mnie pamięć nie myli. Cały kod pod jebany od Kamilkime xD

Mógłbyś mi to wkleić już tam gdzie powinno to być?

//edit: @stefanik11 niestety plugin nadal się nie chce załadować po zmianie maina w plugin.yml

Nowe błędy:

Spoiler

[18:14:01 INFO]: Set PluginClassLoader as parallel capable
[18:14:01 ERROR]: Could not load 'plugins\LuckyDrop-v.1.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:80) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
Caused by: java.lang.InstantiationException: dev.esejj.luckydrop.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        ... 7 more
Caused by: java.lang.NoSuchMethodException: dev.esejj.luckydrop.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_144]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        ... 7 more

 

 

Edytowane przez esej
Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140707
Udostępnij na innych stronach

  • 0

Mama pewne podejrzenia, lecz nie wiem czy są one słuszne, w klasie Main masz metodę od komendy, którą dodajesz w plugin.yml, a nie rejestrujesz jej w onEnable, dodaj getCommand("luckydrop:stop").setExecutor(this);  Ps: czemu przy onDisable dodajesz @override, a przy onEnable już nie? :P@esej

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140726
Udostępnij na innych stronach

  • 0
2 godziny temu, esej napisał:

Zrobiłem swój kod , ale nie chciał działać to na początek muszę się nauczyć.

Mógłbyś mi to wkleić już tam gdzie powinno to być?

//edit: @stefanik11 niestety plugin nadal się nie chce załadować po zmianie maina w plugin.yml

Nowe błędy:

  Ukryj zawartość


[18:14:01 INFO]: Set PluginClassLoader as parallel capable
[18:14:01 ERROR]: Could not load 'plugins\LuckyDrop-v.1.0.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Abnormal plugin type
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:80) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]
Caused by: java.lang.InstantiationException: dev.esejj.luckydrop.Main
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        ... 7 more
Caused by: java.lang.NoSuchMethodException: dev.esejj.luckydrop.Main.<init>()
        at java.lang.Class.getConstructor0(Unknown Source) ~[?:1.8.0_144]
        at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_144]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        ... 7 more

 

 

ta klasa Main to na pewno ta? błąd wskazuje na to, że w klasie Main posiadasz konstruktor, który psuje loader bukkita (nie będę się zagłębiał), więc upewnij sie, że wszystko dobrze robisz.

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140738
Udostępnij na innych stronach

  • 0

Gdyby chciał to sam ktoś naprawić https://github.com/esejj/luckyDrop/releases ...

Co do tematu @insertt jak to może nie być Main lol :D

Mój aktualny main

Spoiler

package dev.esejj.luckydrop;

import java.util.ArrayList;
import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

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

import java.util.logging.Logger;
import org.bukkit.ChatColor;

public class Main extends JavaPlugin{
	
	private static Main instance;
	public static List<ItemToDrop> drops = new ArrayList<ItemToDrop>();
	Logger log = Logger.getLogger("Console");
	private String tag;
	
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    	if(cmd.getName().equalsIgnoreCase("luckydrop:drop")){ 
        	tag = (ChatColor.DARK_GRAY + "[" + ChatColor.YELLOW + "LuckyDrop" + ChatColor.DARK_GRAY + "]");
            sender.sendMessage(tag + ChatColor.RED + " Tu znajdziesz w przyszlosci informacje o dropie!");
            return true;
    	}
    	return false;
	}
    @Override
	public void onEnable() {
		instance = this;
		saveDefaultConfig();
		DataLoader.loadBlocks();
		DataLoader.loadMobs();
		Bukkit.getPluginManager().registerEvents(new BlockBreakListener(), this);
		Bukkit.getPluginManager().registerEvents(new EntityDeathListener(), this);
		log.info(tag + " Enabled.");
	}
	@Override
	public void onDisable() {
		log.info(tag + " Disabled.");
	}
	public static Main getInst() {
		return instance;	
	}
}

 

Plik konfiguracyjny oraz folder z zawartością się stworzyły, lecz komenda nie działa powie ktoś o co chodzi? ;x

//edit: dodałem to getCommand(..) do onEnable i mam is it up to date :c

 

Spoiler

[22:22:29 ERROR]: Error occurred while enabling luckyDrop v0.1 (Is it up to date?)
java.lang.NullPointerException
        at dev.esejj.luckydrop.Main.onEnable(Main.java:39) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [eSilnik.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_144]

 

 

Edytowane przez esej
Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140755
Udostępnij na innych stronach

  • 0
at dev.esejj.luckydrop.Main.onEnable(Main.java:39) ~[?:?]

Plik Main.java linijka 39 czyli ta , którą mówiłeś abym dodał.

 

getCommand("luckydrop:stop").setExecutor(this);

by the way... poprawiłem to stop na drop , bo chyba popełniłeś błąd... ogólnie to z tym jest błąd

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140761
Udostępnij na innych stronach

  • 0
56 minut temu, Ixidi napisał:

public class Main extends JavaPlugin implements CommandExecutor
	

 

Nie trzeba (a nawet nazwałbym to błędem) implementować CommandExecutor, jeśli rozszerzasz po JavaPlugin (JavaPlugin implementuje CommandExecutor).

Edytowane przez Nieaktywny
Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140778
Udostępnij na innych stronach

  • 1
8 godzin temu, Jaqobb napisał:

Nie trzeba (a nawet nazwałbym to błędem) implementować CommandExecutor, jeśli rozszerzasz po JavaPlugin (JavaPlugin implementuje CommandExecutor).

Jeśli robisz komendy w sposób, jaki zrobił to @esej to nie widze innego rozwiązania. (Ew. Tworzenie obiektu commandexecutor przy rejestrowaniu komendy) Oczywiście, lepiej jest robić w osobnej klasie.

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140792
Udostępnij na innych stronach

  • 0

Zaimplementowałem ten interfejs i nadal nic. :[

Nawet zaimportowałem

import org.bukkit.command.CommandExecutor;

bo Eclipse mi zalecił do tej implementacji.

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140800
Udostępnij na innych stronach

  • 1

W plugin.yml nie majstrowałeś nic przy sekcji commands? Implementacja CommandExecutora w klasie zawierającej extends JavaPlugin nie jest wymagane. W sumie to nie wiem, spróbuj pozmieniać tą komendę wszędzie na samo drop, nie luckydrop:drop, być może powoduje ten drugi dwukropek jakiś błąd w plugin.yml.

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140803
Udostępnij na innych stronach

  • 0

Działa XD

Lecz mam drobny problem...

 

[11:16:37 INFO]: [luckyDrop] Enabling luckyDrop v0.1
[11:16:37 INFO]: null Enabled.


Wie ktoś jak to naprawić?

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140807
Udostępnij na innych stronach

  • 1

Gdyż zmienna tag początkowo jest nullem dopiero po wykonaniu komendy zostaje ona ustalana, zamiast private string tag; daj private string tag = #tutaj daj ten tag;

Odnośnik do komentarza
https://skript.pl/temat/20689-plugin-nie-chce-mi-si%C4%99-za%C5%82adowa%C4%87/#findComment-140808
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...