Merge pull request #23 from saschabuehrle/fix-issue-18

fix: guard fast easy place ticks against invalid entity/block lookups
This commit is contained in:
Forest
2026-04-21 21:55:56 -07:00
committed by GitHub
Unverified
@@ -86,6 +86,8 @@ function processEasyPlace(player) {
if (!structureBlock)
return;
const worldBlock = player.dimension.getBlock(structureBlock.location);
if (!worldBlock)
return;
if (locationsPlacedLastTick.has(JSON.stringify(worldBlock.location)))
return;
locationsPlacedLastTick.add(JSON.stringify(worldBlock.location));
@@ -103,10 +105,14 @@ function preventAction(event, player) {
}
function isHoldingActionItem(player) {
try {
const mainhandItemStack = player.getComponent(EntityComponentTypes.Equippable).getEquipment(EquipmentSlot.Mainhand);
if (!mainhandItemStack)
return false;
return mainhandItemStack.typeId === ACTION_ITEM;
} catch {
return false;
}
}
function tryPlaceBlock(player, worldBlock, structureBlock) {