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

[Pytanie] JavaPlugin


Rekomendowane odpowiedzi

Opublikowano

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

<

 

Witajcie!

Pisaliście mi, że po co tyle class. To teraz poprawiłem się starając pisać się samemu lecz nie wiem czy gdzieś nie popełniłem błędu. Czy możecie zobaczyć czy nic w przyszłości się nie zepsuje? P.S Plugin działa tak jak powinien.

package pl.gredier;

import java.io.File;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
	
	private FileConfiguration cfg;

	@Override
	public void onEnable() {
		File file = new File(getDataFolder() + File.separator + "config.yml");
		if(!file.exists()) {
			this.getLogger().info("Generowanie config.yml");
			this.getConfig().options().copyDefaults(true);
			this.saveConfig();
		}
		cfg = getConfig();
		
		
	}

	@Override
	public void onDisable() {
		
	}

	@Override
	public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {
		if(cmd.equalsIgnoreCase("vip")) {
			if(sender instanceof Player) {
				Player p = (Player) sender;
				if(cfg.getBoolean("vip")) {
					p.sendMessage(cfg.getString("infovip1"));
					p.sendMessage(cfg.getString("infovip2"));
					p.sendMessage(cfg.getString("infovip3"));
					p.sendMessage(cfg.getString("infovip4"));
				}
				else
				{
					p.sendMessage(ChatColor.RED + " Opcja jest wylaczona");
				}
				
			}
		}
		return false;
	}
	
	
	
	

}

Czy ktoś wytłumaczył by mi jak zrobić zmienne podobne do zmiennych skript.

Typu:

Kopie stona i dodaje mi do zmiennej (np add 1 to zmienna) jako punkt czyli exp i po osiągnięciu iluś tam takich punktów wartość drugiej zmiennej zmieni się na level wyżej. Z góry dziękuję za pomoc. 

Tworzę strony internetowe.

Sklepy Minecraft, CMS-y, fora itp.

Opublikowano

Poczytaj o mapkach, będziesz potrzebował coś takiego;

 

Map<String, int[]> nazwaMapy new HashMap<String, int[]>();
Opublikowano

hashmapy już testowałem ale czy jest coś jak w skript typu on mine stone i chance of ale w javie i jak wykonac polecenie dania itemu np. give dirt to player

Tworzę strony internetowe.

Sklepy Minecraft, CMS-y, fora itp.

Opublikowano

no to od tego są eventy, BlockBreakEvent np

Co do szans... to masz np klase Random

PS: taki drobny mój kodzik, może ci się przyda :P

	private static final Random rand = new Random();

	public static int getRandInt(int min, int max) throws IllegalArgumentException {
		Validate.isTrue(max > min, "Max can't be smaller than min!");
		return rand.nextInt(max - min + 1) + min;
	}

	public static double getRandpDouble(double min, double max) throws IllegalArgumentException {
		Validate.isTrue(max > min, "Max can't be smaller than min!");
		return (rand.nextDouble() * (max - min)) + min;
	}

	public static Double getRandDouble(double min, double max) throws IllegalArgumentException {
		Validate.isTrue(max > min, "Max can't be smaller than min!");
		return (rand.nextDouble() * (max - min)) + min;
	}

	public static float getRandpFloat(float min, float max) throws IllegalArgumentException {
		Validate.isTrue(max > min, "Max can't be smaller than min!");
		return (rand.nextFloat() * (max - min)) + min;
	}

	public static Float getRandFloat(float min, float max) throws IllegalArgumentException {
		Validate.isTrue(max > min, "Max can't be smaller than min!");
		return (rand.nextFloat() * (max - min)) + min;
	}

	public static boolean getChance(double chance) {
		return (chance >= 100) || (chance >= getRandpDouble(0, 100));
	}

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

A jak zrobić wykonywanie komendy po wpisaniu jakiejś?

 

W skript było:

 

Execute console command "playsound..."

Broadcast "test"

Tworzę strony internetowe.

Sklepy Minecraft, CMS-y, fora itp.

Opublikowano

Jak chcesz broadcast:



Bukkit.broadcastMessage("wiadomosc");

Playsound to chyba:



Player p = (Player) sender;
p.playsound(arg0, arg1, arg2, arg3);

Co do tych arg to nie wiem dokładnie o co chodzi bo wziąłem to z autouzupełniania w eclipse  ^_^ 
 
Wykonywanie komend:
a. Gracz



Player p = (Player) sender;
Bukkit.dispatchCommand(p, "komenda")

b. Konsola



Bukkit.getServer().getPluginCommand("komenda");

Lol. O co ci tu chodzi:

if(cfg.getBoolean("vip")) {
}
else
{
p.sendMessage(ChatColor.RED + " Opcja jest wylaczona");
}

 Nic nie rozumiem z tego ;p
 
@offtopic
 
Luknij na stronę poniżej - cała dokumentacja bukkita.
 

http://jd.bukkit.org/rb/apidocs

Widzę, że korzystasz z poradnika feaq16 :)

f

Opublikowano

Jeżeli opcja z configu która nazywa się "VIP:" jest false wyświetla się ta wiadomość :-)

Tworzę strony internetowe.

Sklepy Minecraft, CMS-y, fora itp.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...