waterlogging support

This commit is contained in:
ForestOfLight
2025-07-10 15:24:32 -07:00
Unverified
parent 357327e9b0
commit 9bb2b002c9
5 changed files with 18 additions and 8 deletions
+7 -1
View File
@@ -1,4 +1,4 @@
import { system, EntityComponentTypes } from '@minecraft/server';
import { system, EntityComponentTypes, LiquidType } from '@minecraft/server';
import { FormCancelationReason } from '@minecraft/server-ui';
import { specialItemPlacementConversions } from './data';
import { blocks } from './blocks';
@@ -33,6 +33,7 @@ export function placeBlock(player, placedBlock, blockToPlace, itemSlotToConsume
if (itemSlotToConsume)
consumeItem(itemSlotToConsume);
placedBlock.setPermutation(blockToPlace);
handleWaterlogging(placedBlock, blockToPlace);
playBlockPlacementSound(player, placedBlock, blockToPlace);
});
}
@@ -48,6 +49,11 @@ function consumeItem(itemSlot) {
}
}
function handleWaterlogging(block, structureBlock) {
if (block.isLiquid && structureBlock.canContainLiquid(LiquidType.Water))
block.setWaterlogged(true);
}
function playBlockPlacementSound(player, block, structureBlock) {
const blockId = structureBlock.type.id.replace('minecraft:', '');
const blockData = blocks[blockId];