Skocz do zawartości
  • 0

Plugin na syrop


MajsterMC

Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Spoiler
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
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.PlayerItemConsumeEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class SyrupPlugin extends JavaPlugin {

    private ItemStack syrupItem;
    private Collection<PotionEffect> syrupEffects;

    @Override
    public void onEnable() {
        this.syrupItem = new ItemStack(Material.POTION);

        List<String> syrupLore = new ArrayList<>();
        syrupLore.add("Smak truskawkowy");

        ItemMeta syrupMeta = this.syrupItem.getItemMeta();
        syrupMeta.setDisplayName("Thiocodin 15 mg + 300 mg/10 ml");
        syrupMeta.setLore(syrupLore);

        this.syrupItem.setItemMeta(syrupMeta);

        this.syrupEffects = new ArrayList<>();
        this.syrupEffects.add(new PotionEffect(PotionEffectType.SLOW, 1000, 1));
        this.syrupEffects.add(new PotionEffect(PotionEffectType.SLOW_DIGGING, 1000, 1));
        this.syrupEffects.add(new PotionEffect(PotionEffectType.CONFUSION, 100, 2));


        PluginManager pluginManager = this.getServer().getPluginManager();;
        pluginManager.registerEvents(new SyrupListener(this), this);

        this.getCommand("syrup").setExecutor(new SyrupCommand(this));
    }

    public ItemStack getSyrupItem() {
        return this.syrupItem;
    }

    public Collection<PotionEffect> getSyrupEffects() {
        return this.syrupEffects;
    }
}

class SyrupCommand implements CommandExecutor {

    private final ItemStack syrupItem;

    public SyrupCommand(SyrupPlugin plugin) {
        this.syrupItem = plugin.getSyrupItem();
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
        if (sender instanceof Player && sender.hasPermission("syrup.give")) {
            ((Player) sender).getInventory().addItem(this.syrupItem);
        } else {
            sender.sendMessage("nie da rady");
        }
        return true;
    }

}

class SyrupListener implements Listener {

    private final ItemStack syrupItem;
    private final Collection<PotionEffect> syrupEffects;

    public SyrupListener(SyrupPlugin plugin) {
        this.syrupItem = plugin.getSyrupItem();
        this.syrupEffects = plugin.getSyrupEffects();
    }

    @EventHandler
    public void onConsume(PlayerItemConsumeEvent event) {
        if (event.getItem().isSimilar(this.syrupItem)) {
            Player player = event.getPlayer();
            for (PotionEffect effect : this.syrupEffects) {
                player.addPotionEffect(effect);
            }
        }
    }
}

XD

Glicz

Wstawiam kod w code.

Notatka dodana przez Glicz

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...