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

[Poradnik] Tworzenie pluginu do minecraft.[CZ.6]


sensus12

Rekomendowane odpowiedzi

Opublikowano

Witajcie już w 6 części poradnik dotyczącego tworzenia pluginów. Wiem, że w poprzednim poradniku głosowaliście żeby robić poradniki ze screenami, ale mam zamiar tak robić dopiero jak ktoś zacznie komentować moje poradniki.

 

Okej w tej części poradnika pokaże wam jak usunąć dany item podczas wejścia gracza na serwer. Więc zabierzmy się do roboty:

 

Tutaj jest nasz kod z poprzedniego poradnika:

 

 

 

package me.sensus.PluginDlaMPC;

import java.util.logging.Logger;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;

public class PluginDlaMPC extends JavaPlugin implements Listener
{
public final Logger logger = Logger.getLogger("Minecraft");


@Override
public void onEnable()
{

PluginDescriptionFile pdfFile = getDescription();
this.logger.info(pdfFile.getName() + " zostal wlaczony" + pdfFile.getVersion());


}
@Override
public void onDisable()
{
PluginDescriptionFile pdfFile = getDescription();
this.logger.info(pdfFile.getName() + " zostal wylaczony");
}

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event){
if(event.getPlayer().getName().equals("Husiek")){
event.getPlayer().kickPlayer("Zmien nick");
}else if(event.getPlayer().getName().equals("skkf")){
event.getPlayer().kickPlayer("Zmien nick");
}
}
}

 

 

 

Okej musimy teraz usunąć:

 

 

 

if(event.getPlayer().getName().equals("Husiek")){
event.getPlayer().kickPlayer("Zmien nick");
else if(event.getPlayer().getName().equals("skkf")){
event.getPlayer().kickPlayer("Zmien nick");
}

 

 

 

Więc nasz kod powinien wyglądać tak:

 

 

package me.sensus.PluginDlaMPC;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;

public class PluginDlaMPC extends JavaPlugin implements Listener
{
   public final Logger logger = Logger.getLogger("Minecraft");


   @Override
   public void onEnable()
   {

       PluginDescriptionFile pdfFile = getDescription();
       this.logger.info(pdfFile.getName() + " zostal wlaczony" + pdfFile.getVersion());
       this.getServer().getPluginManager().registerEvents(this, this);
   }
   @Override
   public void onDisable()
   {
       PluginDescriptionFile pdfFile = getDescription();
       this.logger.info(pdfFile.getName() + " zostal wylaczony");
   }

   @EventHandler(priority = EventPriority.HIGHEST)
   public void onPlayerJoin(PlayerJoinEvent event)
   {

       }
   }

 

 

 

Dopiszmy teraz to:

 

 

 

Player player = event.getPlayer();
   PlayerInventory inventory = player.getInventory();

   if((inventory.contains(Material.ARROW) && !player.isOp())){
       inventory.remove(Material.ARROW);
       player.sendMessage(ChatColor.AQUA + "Hemm, dlaczego masz strzaly?");
   }

 

 

 

Więc tak:

 

 

 

Player player = event.getPlayer();

 

Ta linia pozwala w dalszym kodzie na krótszy zapis, tzn zamiast używać event.getPlayer(); możemy użyć poprostu player.

 

 

 

 

 

PlayerInventory inventory = player.getInventory();

 

ta linia pozwala na to samo co wyżej tylko że z ekwipunkiem gracza.

 

 

 

 

 

if((inventory.contains(Material.ARROW) && !player.isOp())){

 

Ta linia pozwala nam sprawdzić czy w ekwipunku gracza są strzały. (tam gdzie Material.ARROW, można zmienić na coś innego), ale znak "&&" to tłumacząc znaczy "and" co na polski "i", a znak "!" to negacja, czyli możemy to nazwać zaprzeczeniem.

 

Czyli sprawdzamy czy w inventorze gracz ma strzały i czy NIE jest op.

 

 

 

 

 

inventory.remove(Material.ARROW);

 

 

 

Ta linia pozwala usunąć dany item z ekwipunku gracza, (jeżeli 1 z powyższych warunków nie zostanie spełniony, to się to nie stanie)

 

 

 

player.sendMessage(ChatColor.AQUA + "Hemm, dlaczego masz strzaly?");

 

 

 

ta linia wysyła wiadomość do gracza.

 

Nasz końcowy kod:

 

 

 

package me.sensus.PluginDlaMPC;

import java.util.logging.Logger;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;

public class PluginDlaMPC extends JavaPlugin implements Listener
{
   public final Logger logger = Logger.getLogger("Minecraft");


   @Override
   public void onEnable()
   {

       PluginDescriptionFile pdfFile = getDescription();
       this.logger.info(pdfFile.getName() + " zostal wlaczony" + pdfFile.getVersion());
       this.getServer().getPluginManager().registerEvents(this, this);
   }
   @Override
   public void onDisable()
   {
       PluginDescriptionFile pdfFile = getDescription();
       this.logger.info(pdfFile.getName() + " zostal wylaczony");
   }

   @EventHandler(priority = EventPriority.HIGHEST)
   public void onPlayerJoin(PlayerJoinEvent event)
   {
   Player player = event.getPlayer();
   PlayerInventory inventory = player.getInventory();

   if((inventory.contains(Material.ARROW) && !player.isOp())){
       inventory.remove(Material.ARROW);
       player.sendMessage(ChatColor.AQUA + "Hemm, dlaczego masz strzaly?");
   }
       }
   }

 

 

 

I nasz plugin.yml:

 

 

 

name: Plgdlampc
main: me.sensus.PluginDlaMPC.PluginDlaMPC
description: Takie tam
version: 0.1

 

 

 

Jeżeli Ci się podobało lajkuj

;)

<>

Opublikowano

Bardzo dobrze i profesjonalnie napisany poradnik, tak jak i jego wcześniejsze części.

Mi się bardzo przydał na pewno z niego z korzystam.

Opublikowano

Bardzo dobrze i profesjonalnie napisany poradnik, tak jak i jego wcześniejsze części.

Mi się bardzo przydał na pewno z niego z korzystam.

 

Dzięki, w końcu ktoś odpowiedział na poradnik.

<>

Opublikowano

Mi się bardzo podobają poradniki, jak byś mógł robić więcej lub wrzucać na YouTube filmiki to by było super. Jak masz jakieś fajne pomysły na pluginy to możesz np mi na PW napisać lub gg 4530956 bo ja lubię takie pluginy po polsku :D Mega PLUS dla ciebie +

Pozdro maras

Opublikowano

Rzadko mam tak żeby nikt mi w pokoju nie siedział i bym mógł spokojnie nagrywać. Nawet nie wiem czy na kompie by nie lagowało ;/

<>

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...