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

[Problem] Własny plugin


SerosAkalikos

Rekomendowane odpowiedzi

Opublikowano

Napisałem swój pierwszy plugin ale nie chce mi on działać :/. Może mi ktoś kto zna się na tym lepiej pomóc i wytłumaczyć w czym popełniłem błąd ?

 

PLUGIN:

http://speedy.sh/nzNxr/BlockPlace-1.0.jar

Opublikowano

Więc tak twój kog w aplg powinien być taki (tylko onEnable)

public void onEnable()
{
this.getServer().getPluginManager().registerEvents(new aplgListener(this), this);

}

a w listenerze ten kod na blockplace:

public void onBlockPlace(BlockPlaceEvent e)

if(e.getBlock().equals(Material.STONE))
{
e.setCancelled(true);
e.getPlayer().sendMessage("wiadomosc");
}

Poza tym masz źle plugin.yml to ma być:

nazwaPaczki.nazwaKlasy

 

coś w tym stylu kod.

<>

Opublikowano

Ale ciekawi mnie fragment

 

if(e.getBlock().equals(Material.STONE))

Czyli:

Jeżeli blok stone ? zostanie położony dopiero plugin zadziła :/ ?

 

Dam ci mój taki stary kod na anti tnt.

Jest tam przykładowy listener, który działa tak, że jeżeli tnt zostanie postawiony to dopiero on zadziała. Czyli tak jak ty tego chcesz.

package me.grzegorz2047.second;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.ExplosionPrimeEvent;
public class antiTNTListener
 implements Listener
{
 @EventHandler(priority=EventPriority.HIGH)
 public void onBlockPlace(BlockPlaceEvent event)
 {
   if (event.isCancelled()) {
  return;
   }
   if (event.getBlock().getType() == Material.TNT) {
  event.setCancelled(true);
  Player player = event.getPlayer();
  player.sendMessage(ChatColor.RED + "Nie mozesz uzyc TNT");
  for (Player onlinePlayer : Bukkit.getServer().getOnlinePlayers())
    if (onlinePlayer.isOp())
	  onlinePlayer.sendMessage(player.getName() + "Polozyl TNT");
   }
 }
 @EventHandler(priority=EventPriority.HIGH)
 public void onExplosionPrime(ExplosionPrimeEvent event)
 {
   if (event.isCancelled())
   {
  return;
   }
   if ((event.getEntity() instanceof TNTPrimed))
  event.setCancelled(true);
 }
}

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...