Manages callbacks that are connected to when a trip wire is tripped.
import { world, system, BlockPermutation, TripWireTripAfterEvent, DimensionLocation } from '@minecraft/server';import { MinecraftBlockTypes } from '@minecraft/vanilla-data';function tripWireTripEvent(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) { // set up a tripwire const redstone = targetLocation.dimension.getBlock({ x: targetLocation.x, y: targetLocation.y - 1, z: targetLocation.z, }); const tripwire = targetLocation.dimension.getBlock(targetLocation); if (redstone === undefined || tripwire === undefined) { log('Could not find block at location.'); return -1; } redstone.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.RedstoneBlock)); tripwire.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.TripWire)); world.afterEvents.tripWireTrip.subscribe((tripWireTripEvent: TripWireTripAfterEvent) => { const eventLoc = tripWireTripEvent.block.location; if (eventLoc.x === targetLocation.x && eventLoc.y === targetLocation.y && eventLoc.z === targetLocation.z) { log( 'Tripwire trip event at tick ' + system.currentTick + (tripWireTripEvent.sources.length > 0 ? ' by entity ' + tripWireTripEvent.sources[0].id : '') ); } });} 复制
import { world, system, BlockPermutation, TripWireTripAfterEvent, DimensionLocation } from '@minecraft/server';import { MinecraftBlockTypes } from '@minecraft/vanilla-data';function tripWireTripEvent(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) { // set up a tripwire const redstone = targetLocation.dimension.getBlock({ x: targetLocation.x, y: targetLocation.y - 1, z: targetLocation.z, }); const tripwire = targetLocation.dimension.getBlock(targetLocation); if (redstone === undefined || tripwire === undefined) { log('Could not find block at location.'); return -1; } redstone.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.RedstoneBlock)); tripwire.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.TripWire)); world.afterEvents.tripWireTrip.subscribe((tripWireTripEvent: TripWireTripAfterEvent) => { const eventLoc = tripWireTripEvent.block.location; if (eventLoc.x === targetLocation.x && eventLoc.y === targetLocation.y && eventLoc.z === targetLocation.z) { log( 'Tripwire trip event at tick ' + system.currentTick + (tripWireTripEvent.sources.length > 0 ? ' by entity ' + tripWireTripEvent.sources[0].id : '') ); } });}
世界修改
早期执行
Adds a callback that will be called when a trip wire is tripped.
Removes a callback from being called when a trip wire is tripped.
Manages callbacks that are connected to when a trip wire is tripped.
示例: tripWireTripEvent.ts