public override void Initialize(ICoreAPI api) { base.Initialize(api); inv.LateInitialize(InventoryClassName + "-" + Pos, api); capi = api as ICoreClientAPI; if (api.Side == EnumAppSide.Client) { RegisterGameTickListener(onClientTick50ms, 50); } else { RegisterGameTickListener(onServerTick1s, 1000); } ms = Block.Attributes["multiblockStructure"].AsObject <MultiblockStructure>(); msOpp = Block.Attributes["multiblockStructure"].AsObject <MultiblockStructure>(); int rotYDeg = 0; int rotYDegOpp = 180; if (Block.Variant["side"] == "east") //BlockStoneCoffin only has a BE on north and east variants { rotYDeg = 270; rotYDegOpp = 90; } ms.InitForUse(rotYDeg); msOpp.InitForUse(rotYDegOpp); blockScs = Block as BlockStoneCoffinSection; updateSelectiveElements(); particlePositions[0] = Pos.DownCopy(2); particlePositions[1] = particlePositions[0].AddCopy(blockScs.Orientation.Opposite); particlePositions[2] = Pos.AddCopy(blockScs.Orientation.GetCW()); particlePositions[3] = Pos.AddCopy(blockScs.Orientation.GetCCW()); particlePositions[4] = Pos.AddCopy(blockScs.Orientation.GetCW()).Add(blockScs.Orientation.Opposite); particlePositions[5] = Pos.AddCopy(blockScs.Orientation.GetCCW()).Add(blockScs.Orientation.Opposite); particlePositions[6] = Pos.UpCopy(1).Add(blockScs.Orientation.Opposite); inv.SetSecondaryPos(Pos.AddCopy(blockScs.Orientation.Opposite)); }
public override void Initialize(ICoreAPI api) { base.Initialize(api); inv.LateInitialize(InventoryClassName + "-" + Pos, api); capi = api as ICoreClientAPI; structure = Block.Attributes["multiBlockStructure"].AsObject <MultiblockStructure>(); structure.InitForUse(0); if (processing && !processComplete && api.Side == EnumAppSide.Server) { tickListener = RegisterGameTickListener(onServerTick3s, 3000); } }