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

Tworzenie pluginu: onBreak w klasie Main


ShakeeTeFau

Rekomendowane odpowiedzi

Opublikowano

Witam! Mam problem, otóż potrzebny jest mi event onBreak(PlayerBreakEvent) w klasie Main, jednak gdy chcę zarejestrować event jest błąd i karze mi stworzyć nową klasę onBreak... Jest mi to potrzebne, ponieważ potrzebuję wykorzystać onInteractEvent w onBreak... Nie wiedziałem jak to zrobić w oddzielnych klasach, więc chcę to mieć w jednej :P Byłbym wdzięczny za minimalną krytykę.. Dopiero zaczynam :v

 

Kod:

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
	
	@Override
	public void onEnable(){
		registerEvents(this, new Listener[] { new onBreak() });
		}
	private void registerEvents(Main main, Listener[] listeners) {
		
	}
	@EventHandler
    public void onInteractEvent(PlayerInteractEvent event) {
		ItemStack dpax = new ItemStack(Material.DIAMOND_PICKAXE);
		Player p = event.getPlayer();
		if (event.getAction() == Action.LEFT_CLICK_BLOCK){
			if(p.getInventory().getItemInHand() == dpax){
			}
			}
}
}
Opublikowano

Wait..

Jeśli chcesz uporządkować coś w kodzie to robisz package listeners

Do tego wrzucasz np. BlockBreakListener

Pozniej tylko deklarujesz w Main i już.

Porządek to ważna rzecz ;].

 

Wracając do Twojego pytania.. Interact w BlockBreak? O>O

784091427630431250239.png

Regulamin sygnatur

Opublikowano

Chodzi o to, że chcę wziąć czas wykopywania bloku. Czyli w onInteract robię on left click a w onbreak dodaje cały mechanizm czyli sprawdzanie czy wykopany blok od momentu kliknięcia kilofem na stone został wykopany szybciej niż domyślny czas wykopywania... Anty Speedmine :P

Opublikowano

Wystarczy sam BlockBreak, zapisujesz czas kiedy gracz zniszczył blok i przy niszczeniu sprawdzasz czy nie za szybko kolejny zniszczył.

sygn.png

Opublikowano

Tak se przeglądałem forum i znalazłem to, dawno tego nie robiłem ale co tam...

 

Naucz się pisać przejrzysty kod, bloki kodu ustawiaj w odpowiedniej kolejności żeby ci nie wychodziło coś takiego: {

                                                                                                                                                                                    {

                                                                                                                                                                                    {

tumblr_mvmbjq2EGs1s3ulybo1_500.gif

Jeśli to czytasz, znaczy to że się opierdalasz :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...