113 $world = $this->position->getWorld();
115 $intersectionAABB = $this->getActivationBox();
116 $activatingEntities = $this->filterIrrelevantEntities($world->getNearbyEntities($intersectionAABB));
121 if(count($activatingEntities) > 0 || $this->hasOutputSignal()){
122 [$newState, $pressedChange] = $this->calculatePlateState($activatingEntities);
125 if(PressurePlateUpdateEvent::hasHandlers()){
128 $newState = $ev->isCancelled() ? null : $ev->getNewState();
130 if($newState !==
null){
131 $world->setBlock($this->position, $newState);
132 if($pressedChange !==
null){
133 $world->addSound($this->position, $pressedChange ?
139 if($pressedChange ?? $this->hasOutputSignal()){
140 $world->scheduleDelayedBlockUpdate($this->position, $this->deactivationDelayTicks);