• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Часть функционала InventoryAnaliz exp 2.0 monoton

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Июн 2024
Сообщения
4
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Пожалуйста, авторизуйтесь для просмотра ссылки.


JavaScript:
Expand Collapse Copy
package clanpasters.module.impl.misc;

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import clanpasters.control.Manager;
import clanpasters.control.events.client.Event;
import clanpasters.control.events.player.EventDestroyTotem;
import clanpasters.control.events.player.EventUpdate;
import clanpasters.module.TypeList;
import clanpasters.module.api.Annotation;
import clanpasters.module.api.Module;
import clanpasters.module.settings.Setting;
import clanpasters.module.settings.imp.BooleanOption;
import clanpasters.module.settings.imp.MultiBoxSetting;
import clanpasters.module.settings.imp.SliderSetting;
import clanpasters.utils.misc.TimerUtil;
import clanpasters.utils.other.OtherUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.potion.Effect;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionUtils;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;


@Annotation(
   name = "InventoryAnaliz",
   desc = "Анализирует инв игрока",
   type = TypeList.Misc
)
public class InventoryAnaliz extends Module {
   private final MultiBoxSetting mode = new MultiBoxSetting("Предметы", new BooleanOption[]{new BooleanOption("Кристаллы", true), new BooleanOption("Обсидиан", true), new BooleanOption("Паутина", true), new BooleanOption("Чарки", true), new BooleanOption("Зелье", true)});
   public final BooleanOption totemco = new BooleanOption("Снос таликов", true);
   public final BooleanOption friendignor = new BooleanOption("Игнор друзей", true);
   private final SliderSetting clear = new SliderSetting("Очистка", 1.0F, 1.0F, 3.0F, 1.0F);
   private final Map<String, TimerUtil> playerTimers = new ConcurrentHashMap();
   private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

   public InventoryAnaliz() {
      this.addSettings(new Setting[]{this.mode, this.totemco, this.friendignor});
   }

   public boolean onEvent(Event event) {
      if (event instanceof EventUpdate) {
         long currentTime = System.currentTimeMillis();
         Iterator var5 = mc.world.getPlayers().iterator();

         label149:
         while(true) {
            PlayerEntity player;
            String playerName;
            do {
               do {
                  if (!var5.hasNext()) {
                     return false;
                  }

                  player = (PlayerEntity)var5.next();
                  Minecraft var10001 = mc;
               } while(player == Minecraft.player);

               playerName = player.getName().getString();
            } while(this.friendignor.get() && Manager.FRIEND_MANAGER.isFriend(playerName));

            TimerUtil playerTimer = (TimerUtil)this.playerTimers.computeIfAbsent(playerName, (k) -> {
               return new TimerUtil();
            });
            int crystalCount = 0;
            Iterator var10 = player.inventory.mainInventory.iterator();

            while(var10.hasNext()) {
               ItemStack itemStack = (ItemStack)var10.next();
               if (itemStack.getItem() == Items.END_CRYSTAL) {
                  crystalCount += itemStack.getCount();
               }
            }

            int obsidianCount = 0;
            Iterator var19 = player.inventory.mainInventory.iterator();

            while(var19.hasNext()) {
               ItemStack itemStack = (ItemStack)var19.next();
               if (itemStack.getItem() == Items.OBSIDIAN) {
                  obsidianCount += itemStack.getCount();
               }
            }

            int webCount = 0;
            Iterator var21 = player.inventory.mainInventory.iterator();

            while(var21.hasNext()) {
               ItemStack itemStack = (ItemStack)var21.next();
               if (itemStack.getItem() == Items.COBWEB) {
                  webCount += itemStack.getCount();
               }
            }

            int enchantCount = 0;
            Iterator var23 = player.inventory.mainInventory.iterator();

            while(var23.hasNext()) {
               ItemStack itemStack = (ItemStack)var23.next();
               if (itemStack.getItem() == Items.ENCHANTED_GOLDEN_APPLE) {
                  enchantCount += itemStack.getCount();
               }
            }

            int potionCount = 0;
            String potionDisplayName = "зелий";
            Iterator var15 = player.inventory.mainInventory.iterator();

            while(true) {
               ItemStack itemStack;
               do {
                  if (!var15.hasNext()) {
                     String var10000;
                     if (this.mode.get(0) && crystalCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + crystalCount + String.valueOf(TextFormatting.WHITE) + " кристаллов");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(1) && obsidianCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + obsidianCount + String.valueOf(TextFormatting.WHITE) + " обсидиана");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(2) && webCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + webCount + String.valueOf(TextFormatting.WHITE) + " паутины");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(3) && enchantCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + enchantCount + String.valueOf(TextFormatting.WHITE) + " чарки");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(4) && potionCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + potionCount + String.valueOf(TextFormatting.RESET) + " " + potionDisplayName.toLowerCase());
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }
                     continue label149;
                  }

                  itemStack = (ItemStack)var15.next();
               } while(itemStack.getItem() != Items.POTION && itemStack.getItem() != Items.SPLASH_POTION);

               potionCount += itemStack.getCount();
               if (itemStack.hasDisplayName()) {
                  potionDisplayName = itemStack.getDisplayName().getString();
               } else {
                  potionDisplayName = this.getPotionDisplayName(itemStack);
               }
            }
         }
      } else if (event instanceof EventDestroyTotem) {
         EventDestroyTotem e = (EventDestroyTotem)event;
         if (this.totemco.get()) {
            Entity entity = e.entity;
            String playerName = entity.getName().getString();
            if (this.friendignor.get() && Manager.FRIEND_MANAGER.isFriend(playerName)) {
               return false;
            }

            if (entity instanceof LivingEntity) {
               this.totem_tracker((LivingEntity)entity);
            }
         }
      }

      return false;
   }


   private void totem_tracker(LivingEntity entity) {
      if (entity.getHeldItemMainhand().getItem() == Items.TOTEM_OF_UNDYING && entity.getHeldItemMainhand().isEnchanted()) {
         this.message_totem_tracker(entity.getHeldItemMainhand(), entity);
      } else if (entity.getHeldItemOffhand().getItem() == Items.TOTEM_OF_UNDYING && entity.getHeldItemOffhand().isEnchanted() && entity.getHeldItemMainhand().getItem() != Items.TOTEM_OF_UNDYING) {
         this.message_totem_tracker(entity.getHeldItemOffhand(), entity);
      }

   }

   private void message_totem_tracker(ItemStack stack, LivingEntity entity) {
      ITextComponent message = (new StringTextComponent("")).append((new StringTextComponent("Игрок ")).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.WHITE))).append((new StringTextComponent(entity.getName().getString())).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.RED))).append((new StringTextComponent(" потерял ")).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.WHITE))).append(stack.getDisplayName());
      OtherUtil.sendMessage((ITextComponent)message);
   }

   private void scheduleClear(String playerName) {
      this.scheduler.schedule(() -> {
         return (TimerUtil)this.playerTimers.remove(playerName);
      }, (long)this.clear.getValue().intValue(), TimeUnit.MINUTES);
   }

   private String getPotionDisplayName(ItemStack potionStack) {
      if (potionStack.getItem() == Items.POTION || potionStack.getItem() == Items.SPLASH_POTION) {
         Potion potion = PotionUtils.getPotionFromItem(potionStack);
         List<EffectInstance> effects = potion.getEffects();
         if (!effects.isEmpty()) {
            Effect effect = ((EffectInstance)effects.get(0)).getPotion();
            String effectKey = effect.getName();
            TranslationTextComponent var10000 = new TranslationTextComponent(effectKey);
            return var10000.getString() + " зелье";
         }
      }

      return "зелий";
   }
}
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


JavaScript:
Expand Collapse Copy
package clanpasters.module.impl.misc;

import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import clanpasters.control.Manager;
import clanpasters.control.events.client.Event;
import clanpasters.control.events.player.EventDestroyTotem;
import clanpasters.control.events.player.EventUpdate;
import clanpasters.module.TypeList;
import clanpasters.module.api.Annotation;
import clanpasters.module.api.Module;
import clanpasters.module.settings.Setting;
import clanpasters.module.settings.imp.BooleanOption;
import clanpasters.module.settings.imp.MultiBoxSetting;
import clanpasters.module.settings.imp.SliderSetting;
import clanpasters.utils.misc.TimerUtil;
import clanpasters.utils.other.OtherUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.potion.Effect;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionUtils;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;


@Annotation(
   name = "InventoryAnaliz",
   desc = "Анализирует инв игрока",
   type = TypeList.Misc
)
public class InventoryAnaliz extends Module {
   private final MultiBoxSetting mode = new MultiBoxSetting("Предметы", new BooleanOption[]{new BooleanOption("Кристаллы", true), new BooleanOption("Обсидиан", true), new BooleanOption("Паутина", true), new BooleanOption("Чарки", true), new BooleanOption("Зелье", true)});
   public final BooleanOption totemco = new BooleanOption("Снос таликов", true);
   public final BooleanOption friendignor = new BooleanOption("Игнор друзей", true);
   private final SliderSetting clear = new SliderSetting("Очистка", 1.0F, 1.0F, 3.0F, 1.0F);
   private final Map<String, TimerUtil> playerTimers = new ConcurrentHashMap();
   private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

   public InventoryAnaliz() {
      this.addSettings(new Setting[]{this.mode, this.totemco, this.friendignor});
   }

   public boolean onEvent(Event event) {
      if (event instanceof EventUpdate) {
         long currentTime = System.currentTimeMillis();
         Iterator var5 = mc.world.getPlayers().iterator();

         label149:
         while(true) {
            PlayerEntity player;
            String playerName;
            do {
               do {
                  if (!var5.hasNext()) {
                     return false;
                  }

                  player = (PlayerEntity)var5.next();
                  Minecraft var10001 = mc;
               } while(player == Minecraft.player);

               playerName = player.getName().getString();
            } while(this.friendignor.get() && Manager.FRIEND_MANAGER.isFriend(playerName));

            TimerUtil playerTimer = (TimerUtil)this.playerTimers.computeIfAbsent(playerName, (k) -> {
               return new TimerUtil();
            });
            int crystalCount = 0;
            Iterator var10 = player.inventory.mainInventory.iterator();

            while(var10.hasNext()) {
               ItemStack itemStack = (ItemStack)var10.next();
               if (itemStack.getItem() == Items.END_CRYSTAL) {
                  crystalCount += itemStack.getCount();
               }
            }

            int obsidianCount = 0;
            Iterator var19 = player.inventory.mainInventory.iterator();

            while(var19.hasNext()) {
               ItemStack itemStack = (ItemStack)var19.next();
               if (itemStack.getItem() == Items.OBSIDIAN) {
                  obsidianCount += itemStack.getCount();
               }
            }

            int webCount = 0;
            Iterator var21 = player.inventory.mainInventory.iterator();

            while(var21.hasNext()) {
               ItemStack itemStack = (ItemStack)var21.next();
               if (itemStack.getItem() == Items.COBWEB) {
                  webCount += itemStack.getCount();
               }
            }

            int enchantCount = 0;
            Iterator var23 = player.inventory.mainInventory.iterator();

            while(var23.hasNext()) {
               ItemStack itemStack = (ItemStack)var23.next();
               if (itemStack.getItem() == Items.ENCHANTED_GOLDEN_APPLE) {
                  enchantCount += itemStack.getCount();
               }
            }

            int potionCount = 0;
            String potionDisplayName = "зелий";
            Iterator var15 = player.inventory.mainInventory.iterator();

            while(true) {
               ItemStack itemStack;
               do {
                  if (!var15.hasNext()) {
                     String var10000;
                     if (this.mode.get(0) && crystalCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + crystalCount + String.valueOf(TextFormatting.WHITE) + " кристаллов");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(1) && obsidianCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + obsidianCount + String.valueOf(TextFormatting.WHITE) + " обсидиана");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(2) && webCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + webCount + String.valueOf(TextFormatting.WHITE) + " паутины");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(3) && enchantCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + enchantCount + String.valueOf(TextFormatting.WHITE) + " чарки");
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }

                     if (this.mode.get(4) && potionCount > 0 && playerTimer.isReached(26000L)) {
                        var10000 = String.valueOf(TextFormatting.RED);
                        OtherUtil.sendMessage("Игрок " + var10000 + playerName + String.valueOf(TextFormatting.WHITE) + " имеет " + String.valueOf(TextFormatting.RED) + potionCount + String.valueOf(TextFormatting.RESET) + " " + potionDisplayName.toLowerCase());
                        playerTimer.reset();
                        this.scheduleClear(playerName);
                     }
                     continue label149;
                  }

                  itemStack = (ItemStack)var15.next();
               } while(itemStack.getItem() != Items.POTION && itemStack.getItem() != Items.SPLASH_POTION);

               potionCount += itemStack.getCount();
               if (itemStack.hasDisplayName()) {
                  potionDisplayName = itemStack.getDisplayName().getString();
               } else {
                  potionDisplayName = this.getPotionDisplayName(itemStack);
               }
            }
         }
      } else if (event instanceof EventDestroyTotem) {
         EventDestroyTotem e = (EventDestroyTotem)event;
         if (this.totemco.get()) {
            Entity entity = e.entity;
            String playerName = entity.getName().getString();
            if (this.friendignor.get() && Manager.FRIEND_MANAGER.isFriend(playerName)) {
               return false;
            }

            if (entity instanceof LivingEntity) {
               this.totem_tracker((LivingEntity)entity);
            }
         }
      }

      return false;
   }


   private void totem_tracker(LivingEntity entity) {
      if (entity.getHeldItemMainhand().getItem() == Items.TOTEM_OF_UNDYING && entity.getHeldItemMainhand().isEnchanted()) {
         this.message_totem_tracker(entity.getHeldItemMainhand(), entity);
      } else if (entity.getHeldItemOffhand().getItem() == Items.TOTEM_OF_UNDYING && entity.getHeldItemOffhand().isEnchanted() && entity.getHeldItemMainhand().getItem() != Items.TOTEM_OF_UNDYING) {
         this.message_totem_tracker(entity.getHeldItemOffhand(), entity);
      }

   }

   private void message_totem_tracker(ItemStack stack, LivingEntity entity) {
      ITextComponent message = (new StringTextComponent("")).append((new StringTextComponent("Игрок ")).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.WHITE))).append((new StringTextComponent(entity.getName().getString())).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.RED))).append((new StringTextComponent(" потерял ")).setStyle((new StringTextComponent("")).getStyle().applyFormatting(TextFormatting.WHITE))).append(stack.getDisplayName());
      OtherUtil.sendMessage((ITextComponent)message);
   }

   private void scheduleClear(String playerName) {
      this.scheduler.schedule(() -> {
         return (TimerUtil)this.playerTimers.remove(playerName);
      }, (long)this.clear.getValue().intValue(), TimeUnit.MINUTES);
   }

   private String getPotionDisplayName(ItemStack potionStack) {
      if (potionStack.getItem() == Items.POTION || potionStack.getItem() == Items.SPLASH_POTION) {
         Potion potion = PotionUtils.getPotionFromItem(potionStack);
         List<EffectInstance> effects = potion.getEffects();
         if (!effects.isEmpty()) {
            Effect effect = ((EffectInstance)effects.get(0)).getPotion();
            String effectKey = effect.getName();
            TranslationTextComponent var10000 = new TranslationTextComponent(effectKey);
            return var10000.getString() + " зелье";
         }
      }

      return "зелий";
   }
}
var moment, pizdec
 

Похожие темы

Назад
Сверху Снизу