123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package me.km.effects.passive;
- import java.util.List;
- import me.km.KajetansMod;
- import me.km.api.Module;
- import me.km.api.ModuleListener;
- import me.km.effects.Effect;
- import me.km.effects.EffectUtils;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.ItemStack;
- import net.minecraftforge.event.entity.player.PlayerDropsEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- public class LessItemLoss extends ModuleListener
- {
- public LessItemLoss(Module m)
- {
- super(m);
- }
-
- @SubscribeEvent
- public void onDeathEvent(PlayerDropsEvent e)
- {
- EntityPlayer p = e.getEntityPlayer();
- if(KajetansMod.worldManager.getWorldPreferences(p.world).skills)
- {
- e.setCanceled(true);
-
- int level = EffectUtils.getEffectLevel(p, Effect.LESS_ITEM_LOSS);
- ItemStack stack;
- List<ItemStack> list = p.inventory.mainInventory;
- for (int i = level; i < list.size(); i++)
- {
- stack = list.get(i);
- if(!stack.isEmpty())
- {
- p.dropItem(stack, true, false);
- list.set(i, ItemStack.EMPTY);
- }
- }
- list = p.inventory.offHandInventory;
- for (int i = 0; i < list.size(); i++)
- {
- stack = list.get(i);
- if(!stack.isEmpty())
- {
- p.dropItem(stack, true, false);
- list.set(i, ItemStack.EMPTY);
- }
- }
- if(EffectUtils.getEffectLevel(p, Effect.NO_ARMOR_DROPPING) >= 1)
- {
- list = p.inventory.armorInventory;
- for (int i = 0; i < list.size(); i++)
- {
- stack = list.get(i);
- if(!stack.isEmpty())
- {
- p.dropItem(stack, true, false);
- list.set(i, ItemStack.EMPTY);
- }
- }
- }
- }
- }
- }
|