Пример #1
0
        public bool OnInteract(IPlayer byPlayer)
        {
            BEBehaviorMPTransmission be = Api.World.BlockAccessor.GetBlockEntity(transmissionPos)?.GetBehavior <BEBehaviorMPTransmission>();

            if (!Engaged && be != null && be.engaged)
            {
                return(true);
            }
            Engaged = !Engaged;
            Api.World.PlaySoundAt(new AssetLocation("sounds/effect/woodswitch.ogg"), Pos.X + 0.5, Pos.Y + 0.5, Pos.Z + 0.5, byPlayer);
            if (be != null)
            {
                be.CheckEngaged(Api.World.BlockAccessor, true);
            }

            MarkDirty(true);
            return(true);
        }
Пример #2
0
        public override void OnNeighbourBlockChange(IWorldAccessor world, BlockPos pos, BlockPos neibpos)
        {
            BEBehaviorMPTransmission be = world.BlockAccessor.GetBlockEntity(pos)?.GetBehavior <BEBehaviorMPTransmission>();

            be?.CheckEngaged(world.BlockAccessor, true);
        }