From 83e9ee31e3eabb786c56dab1e97c91bd5801c478 Mon Sep 17 00:00:00 2001 From: ethxn <163630159+ethxnblxd@users.noreply.github.com> Date: Mon, 16 Mar 2026 20:01:16 +0800 Subject: [PATCH] Add files via upload --- Minecraft.Client/Minecraft.cpp | 76 ++++++++++++++++++++- Minecraft.Client/MultiPlayerLocalPlayer.cpp | 6 ++ Minecraft.Client/MultiPlayerLocalPlayer.h | 3 + 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/Minecraft.Client/Minecraft.cpp b/Minecraft.Client/Minecraft.cpp index 11fd81a0d..01ff3e937 100644 --- a/Minecraft.Client/Minecraft.cpp +++ b/Minecraft.Client/Minecraft.cpp @@ -36,6 +36,8 @@ #include "FrustumCuller.h" #include "Camera.h" +#include + #include "..\Minecraft.World\MobEffect.h" #include "..\Minecraft.World\Difficulty.h" #include "..\Minecraft.World\net.minecraft.world.level.h" @@ -1460,6 +1462,8 @@ void Minecraft::run_middle() #endif if(InputManager.ButtonPressed(i, MINECRAFT_ACTION_DROP)) localplayers[i]->ullButtonsPressed|=1LL<ullButtonsPressed|=1LL<abilities.flying) { @@ -1509,8 +1513,41 @@ void Minecraft::run_middle() } } - if(g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_DROP)) - localplayers[i]->ullButtonsPressed|=1LL<ullButtonsPressed |= 1LL << MINECRAFT_ACTION_DROP; + pressTime = now; + } + else + { + float held = std::chrono::duration(now - pressTime).count(); + + if (held > 0.3f) + localplayers[i]->ullButtonsPressed |= 1LL << MINECRAFT_ACTION_DROP; + } + } + + wasDown = down; + + // TO DROP A STACK + + if (g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_DROP) && g_KBMInput.IsKeyDown(VK_CONTROL)) + { + localplayers[i]->ullButtonsPressed |= 1LL << MINECRAFT_ACTION_DROPALL; + } if(g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_CRAFTING) || g_KBMInput.IsKeyPressed(KeyboardMouseInput::KEY_CRAFTING_ALT)) { @@ -2592,6 +2629,36 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures) *piUse=IDS_TOOLTIPS_BLOCK; break; + // QUICK EQUIP FOR ARMOR (TOOLTIPS ONLY) + + // LEATHER + case Item::helmet_leather_Id: + case Item::chestplate_leather_Id: + case Item::leggings_leather_Id: + case Item::boots_leather_Id: + // CHAIN + case Item::helmet_chain_Id: + case Item::chestplate_chain_Id: + case Item::leggings_chain_Id: + case Item::boots_chain_Id: + // IRON + case Item::helmet_iron_Id: + case Item::chestplate_iron_Id: + case Item::leggings_iron_Id: + case Item::boots_iron_Id: + // GOLD + case Item::helmet_gold_Id: + case Item::chestplate_gold_Id: + case Item::leggings_gold_Id: + case Item::boots_gold_Id: + // DIAMOND + case Item::helmet_diamond_Id: + case Item::chestplate_diamond_Id: + case Item::leggings_diamond_Id: + case Item::boots_diamond_Id: + *piUse=IDS_TOOLTIPS_EQUIP; + break; + case Item::bucket_empty_Id: case Item::glassBottle_Id: if (bUseItem) *piUse=IDS_TOOLTIPS_COLLECT; @@ -3802,6 +3869,11 @@ void Minecraft::tick(bool bFirst, bool bUpdateTextures) player->drop(); } + if((player->ullButtonsPressed&(1LL<isInputAllowed(MINECRAFT_ACTION_DROPALL)) + { + player->dropall(); + } + uint64_t ullButtonsPressed=player->ullButtonsPressed; bool selected = false; diff --git a/Minecraft.Client/MultiPlayerLocalPlayer.cpp b/Minecraft.Client/MultiPlayerLocalPlayer.cpp index aef7898f2..038963db6 100644 --- a/Minecraft.Client/MultiPlayerLocalPlayer.cpp +++ b/Minecraft.Client/MultiPlayerLocalPlayer.cpp @@ -179,6 +179,12 @@ shared_ptr MultiplayerLocalPlayer::drop() return nullptr; } +shared_ptr MultiplayerLocalPlayer::dropall() +{ + connection->send(std::make_shared(PlayerActionPacket::DROP_ALL_ITEMS, 0, 0, 0, 0)); + return nullptr; +} + void MultiplayerLocalPlayer::reallyDrop(shared_ptr itemEntity) { } diff --git a/Minecraft.Client/MultiPlayerLocalPlayer.h b/Minecraft.Client/MultiPlayerLocalPlayer.h index e660a96a2..672343029 100644 --- a/Minecraft.Client/MultiPlayerLocalPlayer.h +++ b/Minecraft.Client/MultiPlayerLocalPlayer.h @@ -36,6 +36,9 @@ public: using Player::drop; virtual shared_ptr drop(); + + using Player::dropall; + virtual shared_ptr dropall(); protected: virtual void reallyDrop(shared_ptr itemEntity); public: