public override void OnEntityCollide(IWorldAccessor world, Entity entity, BlockPos pos, BlockFacing facing, Vec3d collideSpeed, bool isImpact) { base.OnEntityCollide(world, entity, pos, facing, collideSpeed, isImpact); BlockEntityTeleporter be = world.BlockAccessor.GetBlockEntity(pos) as BlockEntityTeleporter; if (be == null) { return; } be.OnEntityCollide(entity); }
private void OnSetLocationReceived(IServerPlayer fromPlayer, TeleporterLocation networkMessage) { Locations[networkMessage.SourcePos].SourcePos = networkMessage.SourcePos; Locations[networkMessage.SourcePos].TargetPos = networkMessage.TargetPos; Locations[networkMessage.SourcePos].SourceName = networkMessage.SourceName; Locations[networkMessage.SourcePos].TargetName = networkMessage.TargetName; BlockEntityTeleporter be = sapi.World.BlockAccessor.GetBlockEntity(networkMessage.SourcePos) as BlockEntityTeleporter; if (be != null) { be.MarkDirty(); } }