private void RefillSlotIfEmpty(IItemSlot slot, IEntityAgent byEntity) { if (!slot.Empty) { return; } byEntity.WalkInventory((invslot) => { if (invslot is ItemSlotCreative) { return(true); } if (invslot.Itemstack != null && invslot.Itemstack.Collectible is ItemSpear) { invslot.TryPutInto(byEntity.World, slot); invslot.Inventory.PerformNotifySlot(invslot.Inventory.GetSlotId(invslot)); slot.Inventory.PerformNotifySlot(slot.Inventory.GetSlotId(slot)); return(false); } return(true); }); }
IItemSlot Gethammer(IEntityAgent byEntity) { IItemSlot slot = null; byEntity.WalkInventory((invslot) => { //if (invslot is CreativeSlot) return true; if (invslot.Itemstack != null && invslot.Itemstack.Collectible.Code.FirstPathPart(0) == "hammer") { slot = invslot; return(false); } return(true); }); return(slot); }
IItemSlot GetNextArrow(IEntityAgent byEntity) { IItemSlot slot = null; byEntity.WalkInventory((invslot) => { if (invslot is ItemSlotCreative) { return(true); } if (invslot.Itemstack != null && invslot.Itemstack.Collectible.Code.Path.StartsWith("arrow-")) { slot = invslot; return(false); } return(true); }); return(slot); }