123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package me.km.effects.passive;
- import java.util.ArrayList;
- import java.util.stream.Collectors;
- import me.km.api.Module;
- import me.km.api.ModuleListener;
- public class Mugging extends ModuleListener
- {
- public Mugging(Module m)
- {
- super(m);
- }
- // TODO
- /*
- @EventHandler(ignoreCancelled = true)
- public void mugging(PlayerInteractEntityEvent e)
- {
- Player p = e.getPlayer();
- if(e.getHand() == EquipmentSlot.OFF_HAND ||
- !KajetansTools.worldManager.getWorldPreferences(p.getWorld()).skills ||
- !checkForDagger(p))
- {
- return;
- }
- int mugging = EffectUtils.getEffectLevel(p, Effect.MUGGING);
- if(mugging < 1)
- {
- return;
- }
- e.setCancelled(true);
- Entity ent = e.getRightClicked();
- if(ent instanceof Monster)
- {
- if(p.getInventory().firstEmpty() == -1)
- {
- this.getModule().send(p, "Dein Inventar ist zu voll für einen Diebstahl.");
- return;
- }
- Monster m = (Monster) ent;
- if(mugging < Utils.randomInt(1, 5))
- {
- this.getModule().send(p, "Der Diebstahl hat fehlgeschlagen.");
- if(!p.hasPotionEffect(PotionEffectType.INVISIBILITY))
- {
- m.setTarget(p);
- }
- CustomItemUtils.lowerDurability(p, 15);
- return;
- }
- ArrayList<Integer> loot = new ArrayList<>();
- EntityEquipment equ = m.getEquipment();
- if(equ.getHelmet().getType() != Material.AIR)
- {
- loot.add(0);
- }
- if(equ.getChestplate().getType() != Material.AIR)
- {
- loot.add(1);
- }
- if(equ.getLeggings().getType() != Material.AIR)
- {
- loot.add(2);
- }
- if(equ.getBoots().getType() != Material.AIR)
- {
- loot.add(3);
- }
- if(equ.getItemInMainHand().getType() != Material.AIR)
- {
- loot.add(4);
- }
- if(equ.getItemInOffHand().getType() != Material.AIR)
- {
- loot.add(5);
- }
-
- if(loot.isEmpty())
- {
- this.getModule().send(p, "Hier gibt es nichts zum stehlen.");
- return;
- }
-
- switch(loot.get(Utils.randomInt(0, loot.size() - 1)))
- {
- case 0:
- p.getInventory().addItem(equ.getHelmet());
- equ.setHelmet(new ItemStack(Material.AIR));
- break;
- case 1:
- p.getInventory().addItem(equ.getChestplate());
- equ.setChestplate(new ItemStack(Material.AIR));
- break;
- case 2:
- p.getInventory().addItem(equ.getLeggings());
- equ.setLeggings(new ItemStack(Material.AIR));
- break;
- case 3:
- p.getInventory().addItem(equ.getBoots());
- equ.setBoots(new ItemStack(Material.AIR));
- break;
- case 4:
- p.getInventory().addItem(equ.getItemInMainHand());
- equ.setItemInMainHand(new ItemStack(Material.AIR));
- break;
- case 5:
- p.getInventory().addItem(equ.getItemInOffHand());
- equ.setItemInOffHand(new ItemStack(Material.AIR));
- break;
- }
- this.getModule().send(p, "Der Diebstahl war erfolgreich.");
- }
- else if(ent instanceof Villager)
- {
- if(p.getInventory().firstEmpty() == -1)
- {
- this.getModule().send(p, "Dein Inventar ist zu voll für einen Diebstahl.");
- return;
- }
- Villager v = (Villager) ent;
- if(mugging < Utils.randomInt(1, 5))
- {
- this.getModule().send(p, "Der Diebstahl hat fehlgeschlagen.");
- Utils.damageItemInHand(p, 15);
- if(!p.hasPotionEffect(PotionEffectType.INVISIBILITY))
- {
- p.sendMessage("§7[§c" + v.getName() + "§7] §rWas machst du da?");
- p.damage(Utils.randomInt(6, 12), v);
- return;
- }
- p.sendMessage("§7[§c" + v.getName() + "§7] §rHuch, was war das?");
- return;
- }
- ArrayList<ItemStack> loot = new ArrayList<>(v.getRecipes().stream().map(r -> r.getResult()).collect(Collectors.toList()));
- loot.add(new ItemStack(Material.BREAD));
- p.getInventory().addItem(loot.get(Utils.randomInt(0, loot.size() - 1)));
- this.getModule().send(p, "Der Diebstahl war erfolgreich.");
- }
- }*/
- }
|