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 Java Plugin


NexTowsky

Rekomendowane odpowiedzi

Opublikowano

Witam, jestem początkujący w javie.

Mam pytanie, jak mogę zrobić aby pewna część w pluginie była możliwa do wyłączenia /<nazwapluginu> on/off

Zrobiłem łatwy plugin na whiteliste if(!playerisOP) i tak zwykłe kicknięcie. a jak zrobi żeby to "przestało działać" i wpuszczało wszystkich ? daje lajki ! POZDRAWIAM

Opublikowano

No to robisz zmienna, która sprawdzasz,

czyli statyczna zmienna jakas ze jest

np. true i sprawdzasz czy jest na true czy na false i cos tam daelj, czyli albo za pomoca komendy ją zmieniasz albo cos :D

585051449511123978085.jpeg

Opublikowano

Jeżeli chcesz używać tego w innych klasach, to broń Boże - nie używaj public static.

 

Zrób sobie Getter, Setter i będzie wszystko ok.

 

Java to programowanie obiektowe, więc wypada się do tego zastosować, pozdrawiam. :)

Opublikowano

@zychu151 @VenirPL @xAsky

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
	
	
	@Override
	public void onEnable()
	{ 
		Bukkit.getServer().getPluginManager().registerEvents(this, this);

		
	}
	
	@EventHandler
	public void onPlayerJoinEvent(PlayerJoinEvent e){
		Player player = e.getPlayer();
		if(!player.isOp()){
			player.kickPlayer(getName());
		}
	}

	
	public static boolean onoff;
		 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
				if(args[0].equalsIgnoreCase("on")){
					boolean on = false;
					onoff = on;
	}
				return false;
		 }
		 
		 
}

Opublikowano

nie wiem co chcesz zrobic ale po chu tworzysz zmienna ? nie lepie dac od razu onoff = false ?

patologia u moderatorow z dzialu srajkrafta ...

17077363944004662812.png

Opublikowano

to ja bym zrobil cos takiego

public void onPlayerJoinEvent(PlayerJoinEvent e){
        if(isWhiteListed){
        Player player = e.getPlayer();
	if(!player.isOp()){
		player.kickPlayer(getName());
	}
        }else {do nothink}
}

Pozwolilem sobie fragment kodu @NexTowsky wykorzystać ponieważ niegdy nie pisałem pluginu i nie znam tych metod xD

Opublikowano

Dobra, pomijam w ogóle fakt, że kod jest ch*jowy, no ale cóż. :D

 

Zrób sobie boolean, tylko nie public static, jeżeli używasz go w klasie, w której go masz, to po c**j public static? :O

private static boolean whitelist;

Później sprawdzasz w PlayerJoinEvent czy boolean jest włączony.

if(!whitelist) {
    return;
}

Player p = e.getPlayer();

p.kickPlayer(String message);

To oznacza, że jeżeli boolean whitelist jest wyłączony pomija, jeżeli nie - kick'uje playera.

 

Potem robisz sobie komendę.

 

Sprawdzasz czy argument 0 to "on", lub "off", i robisz this.whitelist = true/false - w zależności od tego, czy jest on, czy off. ;v

 

Na wszelki wypadek możesz też sprawdzić, czy przy włączaniu nie jest już włączony i zwrócić błąd.

 

Pozdrawiam. :D

Opublikowano

Wiesz.. powiem Ci tak. Jeżeli zaczynasz z Javą, to najpierw się jej poducz, ewentualnie później dokumentację bukkit'a. To jest najlepsze rozwiązanie jak i pomoc. ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...