|
- using System;
-
- using RobocraftX.Common.Input;
- using RobocraftX.Multiplayer.Input;
-
- using GamecraftModdingAPI.Blocks;
- using GamecraftModdingAPI.Utility;
- using HarmonyLib;
-
- namespace GamecraftModdingAPI.Inventory
- {
- public static class Hotbar
- {
- private static readonly HotbarEngine hotbarEngine = new HotbarEngine();
-
- /// <summary>
- /// Switch the block in the player's hand
- /// </summary>
- /// <param name="block">The block to switch to.</param>
- /// <param name="playerID">The player. Omit this to use the local player.</param>
- public static void EquipBlock(BlockIDs block, uint playerID = uint.MaxValue)
- {
- if (playerID == uint.MaxValue)
- {
- playerID = hotbarEngine.GetLocalPlayerID();
- }
- hotbarEngine.SelectBlock((int) block, playerID);
- // cubeSelectedByPick = true will crash the game
- // (this would be equivalent to mouse middle click pick block action)
- // reason: the game expects a Dictionary entry for the tweaked stats
- }
-
- /// <summary>
- /// Gets the block in the player's hand
- /// </summary>
- /// <returns>The equipped block.</returns>
- public static BlockIDs GetEquippedBlock()
- {
- return HotbarSlotSelectionHandlerEnginePatch.EquippedPartID;
- }
-
- public static void Init()
- {
- GameEngineManager.AddGameEngine(hotbarEngine);
- }
- }
- }
|