waterlogging support
This commit is contained in:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user