public override void Initialize(ICoreAPI api) { base.Initialize(api); Block = api.World.BlockAccessor.GetBlock(pos); manager = api.ModLoader.GetModSystem <MechanicalPowerMod>(); if (api.World.Side == EnumAppSide.Client) { lightRbs = api.World.BlockAccessor.GetLightRGBs(pos); } manager.AddDeviceForRender(this); if (NetworkId > 0) { network = manager.GetOrCreateNetwork(NetworkId); } AxisMapping = new int[3] { 0, 1, 2 }; AxisSign = new int[3] { 1, 1, 1 }; }
public override void Initialize(ICoreAPI api, JsonObject properties) { base.Initialize(api, properties); Shape = GetShape(); manager = Api.ModLoader.GetModSystem <MechanicalPowerMod>(); if (Api.World.Side == EnumAppSide.Client) { lightRbs = Api.World.BlockAccessor.GetLightRGBs(Blockentity.Pos); if (NetworkId > 0) { network = manager.GetOrCreateNetwork(NetworkId); JoinNetwork(network); } } manager.AddDeviceForRender(this); AxisSign = new int[3] { 0, 0, 1 }; SetOrientations(); if (api.Side == EnumAppSide.Server && OutFacingForNetworkDiscovery != null) { CreateJoinAndDiscoverNetwork(OutFacingForNetworkDiscovery); } }
public override void Initialize(ICoreAPI api) { base.Initialize(api); Shape = Block.Shape; Facing = BlockFacing.FromCode(Block.Variant["side"]); this.transmissionPos = Pos.AddCopy(Facing); manager = Api.ModLoader.GetModSystem <MechanicalPowerMod>(); manager.AddDeviceForRender(this); AxisSign = new int[3] { 0, 0, 0 }; switch (Facing.Index) { case 0: AxisSign[0] = -1; hinge = new Vec3f(0.5f, 0f, 0.375f); break; case 2: AxisSign[0] = 1; hinge = new Vec3f(0.5f, 0f, 0.625f); break; case 1: AxisSign[2] = -1; hinge = new Vec3f(0.625f, 0f, 0.5f); break; default: AxisSign[2] = 1; break; } if (api.World.Side == EnumAppSide.Client) { RegisterGameTickListener(OnClientGameTick, 16); } }