Skocz do zawartości
  • 0

problem z inventory...


kerpson
 Udostępnij

Pytanie

Witam, mam problem. Gdy zrobilem plugin, jest on pod Java8 (mój serwer też java 8). Ale komenda jakby nie jest zarejestrowana.. Probowalem na javie 7ale dalej to samo.

package pl.hotangel2k17;

import java.util.ArrayList;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
	
	Inventory inv;
	
	@Override
	public void onEnable(){
		System.out.println("Wlaczanie...");
	}
	@Override
	public void onDisable(){
		System.out.println("Wylaczanie...");
	}
	@Override
	public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
		
		Player p = (Player) sender;
		
		if(command.getName().equalsIgnoreCase("zestawy")){
			createMenu(p);
		}
		return false;
	}
	public void createMenu(Player p){
		Inventory inv = Bukkit.getServer().createInventory(null,9,"§6§lKity");
		
		ItemStack gracz = new ItemStack(Material.STONE_SWORD, 1);
		ItemMeta graczim = gracz.getItemMeta();
		ArrayList<String> graczlore = new ArrayList<String>();
		graczlore.add("§8» §7Kliknij aby otrzymac zestaw gracz");
		graczlore.add("    §a§lKAZDY MOZE OTRZYMAC ZESTAW GRACZ");
		graczim.setDisplayName("§7Zestaw §8Gracz");
		graczim.setLore(graczlore);
		gracz.setItemMeta(graczim);
		
		inv.setItem(0, gracz);
		p.openInventory(inv);
	}
}

plugin.yml:

name: VHCKity
version: 1.0
main: pl.hotangel2k17.Main
author: HotAngel2K17

commands: 
  zestawy:

 

Odnośnik do komentarza
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

dodaj w onEnable:

this.getCommand("zestawy").setExecutor(this);

 

tipsy:

	public void createMenu(Player p){
		Inventory inv = Bukkit.getServer().createInventory(null,9,"§6§lKity");
		
		ItemStack gracz = new ItemStack(Material.STONE_SWORD, 1);
		ItemMeta graczim = gracz.getItemMeta();
		ArrayList<String> graczlore = new ArrayList<String>();
		graczlore.add("§8» §7Kliknij aby otrzymac zestaw gracz");
		graczlore.add("    §a§lKAZDY MOZE OTRZYMAC ZESTAW GRACZ");
		graczim.setDisplayName("§7Zestaw §8Gracz");
		graczim.setLore(graczlore);
		gracz.setItemMeta(graczim);
		
		inv.setItem(0, gracz);
		p.openInventory(inv);
	}

zamiast robić tak możesz zrobić:

final List<String> lore = Arrays.asList("linia numer 1", "linia numer 2");
im.setLore(lore);

Nie uzywaj paragrafow, masz od tego klase ChatColor, caly czas tworzysz nowe inventory i wrzucasz tam itemy, a mozesz zainicjowac inventory raz, i raz wrzucic tam itemy, np. w onEnable, i wtedy masz sobie fielda kitsInventory, i w komendzie po prostu dajesz player.openInventory(kitsInventory);

Edytowane przez yooniks
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
[09:54:37 INFO]: [Essentials] Enabling Essentials v2.0.1-b488
[09:54:37 WARN]: [Essentials] ?4Version mismatch! Please update EssentialsProtect to the same version.
[09:54:37 WARN]: [Essentials] ?4Version mismatch! Please update EssentialsChat to the same version.
[09:54:37 WARN]: [Essentials] ?4Version mismatch! Please update EssentialsSpawn to the same version.
[09:54:37 INFO]: [Essentials] Using 1.8.3+ BlockStateMeta provider as mob spawner provider.
[09:54:37 INFO]: [Essentials] Using legacy item data provider as spawn egg provider.
[09:54:37 INFO]: [Essentials] Using legacy potion meta provider as potion meta provider.
[09:54:37 INFO]: Using locale pl
[09:54:37 INFO]: [Essentials] Starting Metrics. Opt-out using the global bStats config.
[09:54:37 INFO]: [Vault][Economy] Essentials Economy hooked.
[09:54:37 INFO]: [Essentials] Using Vault based permissions (PermissionsEx)
[09:54:37 INFO]: [EssentialsProtect] Enabling EssentialsProtect vTeamCity
[09:54:37 WARN]: 
[09:54:37 INFO]: [EssentialsChat] Enabling EssentialsChat vTeamCity
[09:54:37 WARN]: 
[09:54:37 INFO]: [EssentialsSpawn] Enabling EssentialsSpawn vTeamCity
[09:54:37 WARN]: 
[09:54:37 INFO]: [WorldGuard] Enabling WorldGuard v6.1.3-SNAPSHOT;c904242
[09:54:37 INFO]: [WorldGuard] (world) TNT ignition is PERMITTED.
[09:54:37 INFO]: [WorldGuard] (world) Lighters are PERMITTED.
[09:54:37 INFO]: [WorldGuard] (world) Lava fire is blocked.
[09:54:37 INFO]: [WorldGuard] (world) Fire spread is UNRESTRICTED.
[09:54:37 INFO]: [WorldGuard] Loaded configuration for world 'world'
[09:54:37 INFO]: [WorldGuard] (world_the_end) TNT ignition is PERMITTED.
[09:54:37 INFO]: [WorldGuard] (world_the_end) Lighters are PERMITTED.
[09:54:37 INFO]: [WorldGuard] (world_the_end) Lava fire is blocked.
[09:54:37 INFO]: [WorldGuard] (world_the_end) Fire spread is UNRESTRICTED.
[09:54:37 INFO]: [WorldGuard] Loaded configuration for world 'world_the_end'
[09:54:37 INFO]: [WorldGuard] Loading region data...
[09:54:37 INFO]: Server permissions file permissions.yml is empty, ignoring it
[09:54:38 INFO]: siema123: Reload complete.
[09:54:38 INFO]: [Skript] Checking for the latest version of Skript...
[09:54:38 INFO]: [FunnyGuilds][Updater] > 
[09:54:38 INFO]: [FunnyGuilds][Updater] > A new version of FunnyGuilds is available!
[09:54:38 INFO]: [FunnyGuilds][Updater] > Current: 4.0.1.1 Tribute
[09:54:38 INFO]: [FunnyGuilds][Updater] > Latest: 4.1.1 Tribute
[09:54:38 INFO]: [FunnyGuilds][Updater] > 
[09:54:38 INFO]: [Skript] You're currently running the latest stable version of Skript.
[09:54:42 INFO]: [Skript] All scripts loaded without errors.
[09:54:42 INFO]: [Skript] Loaded 1 script with a total of 4 triggers and 1 command in 4.21 seconds
[09:54:42 INFO]: [Skript] Finished loading.
[09:54:42 INFO]: [Vault] Checking for Updates ... 
[09:54:42 INFO]: [Vault] No new version available

Podam informacje o serwerze: Wersja: Spigot 1.8.8   (Java 8).

Plugin: Java 8, Bukkit, CraftBukkit 1.8.8

Edytowane przez HotAngel2K17
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

 + 

public class Main extends JavaPlugin{
	
	Inventory inv;

wywal te inv, skoro robisz tak:

		Inventory inv = Bukkit.getServer().createInventory(null,9,"§6§lKity");

 

@HotAngel2K17 logiii startowe serwera, latest.log, czy jakos tak, wrzuc na hastebin.com i daj linczka

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Caused by: java.lang.IllegalArgumentException: Plugin already initialized!
51
    at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:98) ~[craftbukkit-1.8.jar:git-Bukkit-33d5de3]
52
    at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66) ~[craftbukkit-1.8.jar:git-Bukkit-33d5de3]
53
    at pl.hotangel2k17.Main.<init>(Main.java:5) ~[?:?]
54
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_80]
55
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[?:1.7.0_80]
56
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.7.0_80]
57
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_80]
58
    at java.lang.Class.newInstance(Class.java:383) ~[?:1.7.0_80]
59
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:52) ~[craftbukkit-1.8.jar:git-Bukkit-33d5de3]
60
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit-1.8.jar:git-Bukkit-33d5de3]
61
    ... 9 more

zgaduje ze masz 2 pluginy z takim samym package i klasa glowna, dlatego po 'pl.hotangel2k17' powinienes dodac np. 'kits', czyli: 'pl.hotangel2k17.kits' - zmien package.

 

Edytowane przez yooniks
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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