| 123456789101112131415161718192021222324252627282930313233 |
- package me.lethunderhawk.custom.item.concrete.ability;
- import me.lethunderhawk.custom.item.abstraction.ability.AbilityContext;
- import me.lethunderhawk.custom.item.abstraction.handling.AbilityHandler;
- import me.lethunderhawk.custom.item.abstraction.handling.ResolvedParams;
- import me.lethunderhawk.fluxapi.util.gui.InventoryManager;
- import me.lethunderhawk.profile.data.sacks.Sack;
- import me.lethunderhawk.profile.data.sacks.SackType;
- import me.lethunderhawk.profile.data.sacks.foraging.ForagingSackGUI;
- import me.lethunderhawk.profile.data.sacks.mining.MiningSackGUI;
- import org.bukkit.entity.Player;
- import org.bukkit.event.player.PlayerInteractEvent;
- public class SackAbility implements AbilityHandler {
- private final SackType type;
- public SackAbility(SackType sackType) {
- this.type = sackType;
- }
- @Override
- public void execute(AbilityContext context, ResolvedParams params) {
- Player p = context.player();
- PlayerInteractEvent event = ((PlayerInteractEvent) context.event());
- event.setCancelled(true);
- if(Sack.getRegisteredType(type) != null){
- if(type.equals(SackType.MINING)){
- InventoryManager.openFor(p, new MiningSackGUI(p));
- }else if(type.equals(SackType.FORAGING)){
- InventoryManager.openFor(p, new ForagingSackGUI(p, 0));
- }
- }
- }
- }
|