private void InventoryOnSlotChanged(object sender, SlotChangedEventArgs e) { if (!e.IsServerTransaction) { return; } UpdateSlot(e.InventoryId, e.Index, e.Value); }
private void InventoryOnCursorChanged(object sender, SlotChangedEventArgs e) { if (!e.IsServerTransaction) { return; } SelectedItem = null; CursorItemRenderer.IsVisible = false; }
protected override void OnInventorySlotChanged(object sender, SlotChangedEventArgs e) { //Crafting! if (e.Index >= 41 && e.Index <= 44) { McpeInventoryTransaction transaction = McpeInventoryTransaction.CreateObject(); transaction.transaction = new NormalTransaction() { TransactionRecords = new List <TransactionRecord>() { new CraftTransactionRecord() { Action = McpeInventoryTransaction.CraftingAction.CraftAddIngredient, Slot = e.Index, NewItem = BedrockClient.GetMiNETItem(e.Value), OldItem = BedrockClient.GetMiNETItem(e.OldItem) } } }; } base.OnInventorySlotChanged(sender, e); }
protected override void OnInventorySlotChanged(object sender, SlotChangedEventArgs e) { //Crafting! /* if (e.Index >= 41 && e.Index <= 44) * { * McpeInventoryTransaction transaction = McpeInventoryTransaction.CreateObject(); * transaction.transaction = new NormalTransaction() * { * TransactionRecords = new List<TransactionRecord>() * { * new CraftTransactionRecord() * { * Action = McpeInventoryTransaction.CraftingAction.CraftAddIngredient, * Slot = e.Index, * NewItem = BedrockClient.GetMiNETItem(e.Value), * OldItem = BedrockClient.GetMiNETItem(e.OldItem) * } * } * }; * }*/ base.OnInventorySlotChanged(sender, e); }
protected virtual void OnInventorySlotChanged(object sender, SlotChangedEventArgs e) { CheckHeldItem(); }
private void OnInventorySlotChanged(object sender, SlotChangedEventArgs e) { var inHand = Inventory.MainHand; Log.Info($"Inventory slot changed."); if (inHand == null && ItemRenderer != null) { ItemRenderer = null; return; } if (inHand != null) { if (!string.IsNullOrWhiteSpace(inHand.Name)) { /*var itemModel = Alex.Instance.Resources.ResourcePack.ItemModels.FirstOrDefault(x => * x.Key.Contains(inHand.Name, StringComparison.InvariantCultureIgnoreCase)); * * ItemRenderer = new ItemModelRenderer(itemModel.Value, Alex.Instance.Resources.ResourcePack);*/ var renderer = inHand.Renderer; if (renderer == null) { Log.Warn($"No renderer for item: {inHand.Name}"); return; } var itemModel = renderer.Model; ItemRenderer = renderer; if (this is Player) { if (itemModel.Display.TryGetValue("thirdperson_righthand", out var value)) { ItemRenderer.Rotation = value.Rotation; ItemRenderer.Translation = value.Translation; ItemRenderer.Scale = value.Scale; if (ModelRenderer.GetBone("rightItem", out EntityModelRenderer.ModelBone bone)) { Log.Info($"First Person item model rendering ready."); bone.Attach(ItemRenderer); } else { Log.Warn($"Bone not found: rightItem"); } } else { Log.Warn($"Failed to get item model display element!"); } } else { if (itemModel.Display.TryGetValue("thirdperson_righthand", out var value)) { ItemRenderer.Rotation = value.Rotation; ItemRenderer.Translation = value.Translation; ItemRenderer.Scale = value.Scale; if (ModelRenderer.GetBone("rightItem", out EntityModelRenderer.ModelBone bone)) { Log.Info($"Third Person item model rendering ready."); bone.Attach(ItemRenderer); } } else { Log.Warn($"Failed to get item model display element!"); } } } } }
private void InventoryOnSlotChanged(object sender, SlotChangedEventArgs e) { UpdateSlot(e.InventoryId, e.Index, e.Value); }