Skocz do zawartości
  • 0

Config, pomocy fast


Ever

Pytanie

Witam. Na potrzeby napisalem prosty plugin bez configu ale chce go dodac. Oto kod. Chce zeby ten config byl narazie zwykly. I jezeli sie tak da chce zeby config wygladal cos w stylu takim.

command:
  vip:
    - ""

Ale moze tez byc tak:

vip:
  - ""

Tu macie kod z pluginu

package pl.hotangel2k17;

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

public class VipCommand implements CommandExecutor{

	@Override
	public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) {
		if(cmd.getName().equalsIgnoreCase("vip")){
			s.sendMessage("elo");
		}
		return false;
	}
	
	

}

.

package pl.hotangel2k17;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{
	
	@Override
	public void onEnable(){
		System.out.println("Wlaczanie...");
		saveDefaultConfig();
		getCommand("vip").setExecutor(new VipCommand());
		
	}
	@Override
	public void onDisable(){
		System.out.println("Wylaczanie...");
	}
}

 

Odnośnik do komentarza
https://skript.pl/temat/25201-config-pomocy-fast/
Udostępnij na innych stronach

14 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Ja mam na takiej zasadzie zrobione 

public class vip
  implements CommandExecutor
{
  natusiekCore plugin;
  
  public vip(natusiekCore plugin)
  {
    this.plugin = plugin;
    this.plugin.getCommand("vip").setExecutor(this);
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player player = (Player)sender;
      for (String s : this.plugin.getConfig().getStringList("vip"))
      {
        s = s.replace("&", "§");
        s = s.replace("{NICK}", player.getName());
        player.sendMessage(s);
      }
    }
    else
    {
      sender.sendMessage("Nie mozesz tego uzyc w konsoli ");
    }
    return false;
  }
}

PS. Tam jest {NICK} wiec mozesz dodać jako ze np. ,, Prefix: [ VIP ] {NICK} ''

Edytowane przez InawiaczeG1338
Odnośnik do komentarza
https://skript.pl/temat/25201-config-pomocy-fast/#findComment-167359
Udostępnij na innych stronach

  • 0

@InawiaczeG1338 paragrafy :(, jest warunek ze sender musi byc playerem, po co jak do tego nie jest to potrzebne? moglbys wywalic ta zmienna player i nawet do konsoli wysylac ta wiadomosc ;/ przeciez to nie ma sensu

public class vip
  implements CommandExecutor
{
  natusiekCore plugin;
  
  public vip(natusiekCore plugin)
  {
    this.plugin = plugin;
    this.plugin.getCommand("vip").setExecutor(this);
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player player = (Player)sender;
      for (String s : this.plugin.getConfig().getStringList("vip"))
      {
        s = s.replace("&", "§");
        s = s.replace("{NICK}", player.getName());
        player.sendMessage(s);
      }
    }
    else
    {
      sender.sendMessage("Nie mozesz tego uzyc w konsoli ");
    }
    return false;
  }
}

klasy z duzej litery, nie z malej, zmienna plugin bez modyfikatora dostepu ;/, no i do tego kod wyglada jak zdekompilatora, dlatego sie nie zaczyna od kradniecia kodu tylko chociaz jakies podstawy javy i bukkita

Odnośnik do komentarza
https://skript.pl/temat/25201-config-pomocy-fast/#findComment-167362
Udostępnij na innych stronach

  • 0

Nie napisal ze to cos zmieni 

package mc.natusiek.pl.pvp.commands;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import mc.natusiek.pl.pvp.natusiekCore;

public class vip
  implements CommandExecutor
{
  natusiekCore plugin;
  
  public vip(natusiekCore plugin)
  {
    this.plugin = plugin;
    this.plugin.getCommand("vip").setExecutor(this);
  }
  
  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  {
    if ((sender instanceof Player))
    {
      Player player = (Player)sender;
      for (String s : this.plugin.getConfig().getStringList("vip"))
      {
        s = s.replace("&", "§");
        s = s.replace("{NICK}", player.getName());
        player.sendMessage(s);
      }
    }
    else
    {
      sender.sendMessage("Nie mozesz tego uzyc w konsoli ");
    }
    return false;
  }
}

 

Odnośnik do komentarza
https://skript.pl/temat/25201-config-pomocy-fast/#findComment-167374
Udostępnij na innych stronach

  • 0

@Ever zmienna 'plugin' to ma być instancja klasy Main, zamiast plugin mozesz zrobić coś takiego:

Main.getPlugin(Main.class)

i tam gdzie masz konstruktory w metodzie onCommand zamien CommandSender 's' na 'sender'

@InawiaczeG1338 jedno do drugiego nic nie ma

Odnośnik do komentarza
https://skript.pl/temat/25201-config-pomocy-fast/#findComment-167379
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ę...