@@ -270,7 +270,8 @@ void Minecraft::handleBuildAction(const BuildActionIntention& action)
270270{
271271 LocalPlayer* player = m_pLocalPlayer;
272272 bool canInteract = getTimeMs () - m_lastInteractTime >= 200 ;
273- if (player->isUsingItem ()) return ;
273+ // This logic is present in 0.9.0, but just does not make any sense being here.
274+ // if (player->isUsingItem()) return;
274275
275276 if (action.isDestroyStart () || action.isAttack ())
276277 {
@@ -350,13 +351,7 @@ void Minecraft::handleBuildAction(const BuildActionIntention& action)
350351 else if (action.isPlace () && canInteract)
351352 {
352353 ItemInstance* pItem = getSelectedItem ();
353- if (pItem &&
354- m_pGameMode->useItemOn (
355- player,
356- m_pLevel,
357- pItem->m_itemID <= 0 ? nullptr : pItem,
358- m_hitResult.m_tilePos ,
359- m_hitResult.m_hitSide ))
354+ if (m_pGameMode->useItemOn (player, m_pLevel, pItem, m_hitResult.m_tilePos , m_hitResult.m_hitSide ))
360355 {
361356 bInteract = false ;
362357
@@ -366,7 +361,7 @@ void Minecraft::handleBuildAction(const BuildActionIntention& action)
366361
367362 if (isOnline ())
368363 {
369- if (pItem-> m_itemID > C_MAX_TILES || pItem->m_itemID < 0 )
364+ if (ItemInstance::isNull ( pItem) || pItem->m_itemID > C_MAX_TILES )
370365 return ;
371366
372367 TilePos tp (m_hitResult.m_tilePos );
@@ -480,7 +475,7 @@ void Minecraft::tickInput()
480475 else if (getOptions ()->isKey (KM_DROP, keyCode))
481476 {
482477 ItemInstance *item = m_pLocalPlayer->m_pInventory ->getSelected ();
483- if (item != nullptr )
478+ if (! ItemInstance::isNull (item) )
484479 {
485480 ItemInstance itemDrop = m_pLocalPlayer->isSurvival () ? item->remove (1 ) : ItemInstance (*item);
486481 itemDrop.m_count = 1 ;
@@ -1181,22 +1176,19 @@ ItemInstance* Minecraft::getSelectedItem()
11811176{
11821177 ItemInstance* pInst = m_pLocalPlayer->getSelectedItem ();
11831178
1184- if (! pInst)
1179+ if (ItemInstance::isNull ( pInst) )
11851180 return nullptr ;
11861181
1187- if (m_pGameMode->isSurvivalType ())
1188- return pInst;
1189-
1190- // Create new "unlimited" ItemInstance for Creative mode
1191-
1192- if (pInst->isNull ())
1193- return nullptr ;
1194-
1195- m_CurrItemInstance.m_itemID = pInst->m_itemID ;
1196- m_CurrItemInstance.m_count = 999 ;
1197- m_CurrItemInstance.setAuxValue (pInst->getAuxValue ());
1182+ if (m_pGameMode->isCreativeType ())
1183+ {
1184+ // Create new "unlimited" ItemInstance for Creative mode
1185+ m_CurrItemInstance.m_itemID = pInst->m_itemID ;
1186+ m_CurrItemInstance.m_count = 999 ;
1187+ m_CurrItemInstance.setAuxValue (pInst->getAuxValue ());
1188+ return &m_CurrItemInstance;
1189+ }
11981190
1199- return &m_CurrItemInstance ;
1191+ return pInst ;
12001192}
12011193
12021194int Minecraft::getFpsIntlCounter ()
0 commit comments