mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-01 09:42:28 +00:00
Implement middle click pick block
This commit is contained in:
parent
a865cea026
commit
c2aca6d9e9
|
|
@ -1479,6 +1479,30 @@ void Minecraft::run_middle()
|
||||||
if(g_KBMInput.IsMouseButtonPressed(KeyboardMouseInput::MOUSE_RIGHT))
|
if(g_KBMInput.IsMouseButtonPressed(KeyboardMouseInput::MOUSE_RIGHT))
|
||||||
localplayers[i]->ullButtonsPressed|=1LL<<MINECRAFT_ACTION_USE;
|
localplayers[i]->ullButtonsPressed|=1LL<<MINECRAFT_ACTION_USE;
|
||||||
|
|
||||||
|
if (g_KBMInput.IsMouseButtonPressed(KeyboardMouseInput::MOUSE_MIDDLE) && gameMode->hasInfiniteItems() && hitResult && hitResult->type == HitResult::TILE)
|
||||||
|
{
|
||||||
|
int x = hitResult->x, y = hitResult->y, z = hitResult->z;
|
||||||
|
|
||||||
|
int tileId = level->getTile(x, y, z);
|
||||||
|
|
||||||
|
if (tileId > 0 && tileId < Tile::TILE_NUM_COUNT)
|
||||||
|
{
|
||||||
|
Tile *tile = Tile::tiles[tileId];
|
||||||
|
|
||||||
|
int clonedTileId = tile->cloneTileId(level, x, y, z);
|
||||||
|
int clonedTileData = tile->cloneTileData(level, x, y, z);
|
||||||
|
|
||||||
|
localplayers[i]->inventory->grabTexture(clonedTileId, clonedTileData, true, true);
|
||||||
|
|
||||||
|
shared_ptr<ItemInstance> selectedItem = localplayers[i]->inventory->getSelected();
|
||||||
|
if (gameMode && selectedItem)
|
||||||
|
{
|
||||||
|
// Hotbar starts at slot 36
|
||||||
|
gameMode->handleCreativeModeItemAdd(selectedItem, 36 + player->inventory->selected);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_INVENTORY))
|
if(g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_INVENTORY))
|
||||||
{
|
{
|
||||||
if(ui.IsSceneInStack(i, eUIScene_InventoryMenu))
|
if(ui.IsSceneInStack(i, eUIScene_InventoryMenu))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue