public override void Initialize(ICoreAPI api) { base.Initialize(api); if (contents != null) { contents.ResolveBlockOrItem(api.World); } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), 0); } if (api is ICoreClientAPI) { ICoreClientAPI capi = (ICoreClientAPI)api; capi.Event.RegisterRenderer(renderer = new TFForgeContentsRenderer(Pos, capi), EnumRenderStage.Opaque, "tfforge"); renderer.SetContents(contents, burning, true); RegisterGameTickListener(OnClientTick, 500); } consume = MyMiniLib.GetAttributeInt(Block, "consume", 500); wsys = api.ModLoader.GetModSystem <WeatherSystemBase>(); if (api.Side.IsServer()) { RegisterGameTickListener(OnCommonTick, 250); } }
public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); contents = tree.GetItemstack("contents"); burning = tree.GetInt("burning") > 0; lastTickTotalHours = tree.GetDouble("lastTickTotalHours"); if (Api != null) { if (contents != null) { contents.ResolveBlockOrItem(Api.World); } } if (renderer != null) { renderer.SetContents(contents, burning, true); } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), 0); } energyStorage.setEnergy(tree.GetFloat("energy")); }
public override void Initialize(ICoreAPI api) { base.Initialize(api); Api = api; pvBh = GetBehavior <BEBehaviorTFRotaryGenerator>(); if (api.World.Side == EnumAppSide.Server) { RegisterGameTickListener(tick, 100); } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), 0, MyMiniLib.GetAttributeInt(Block, "output", 500)); } maxgenerate = MyMiniLib.GetAttributeInt(Block, "maxgenerate", 200); maxspeed = MyMiniLib.GetAttributeInt(Block, "maxspeed", 5); Facing = BlockFacing.FromCode(Block.Variant["side"]); if (Facing == null) { Facing = BlockFacing.NORTH; } }
public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 10000), 0); } energyStorage.setEnergy(tree.GetFloat("energy", 0)); }
//public override void GetBlockInfo(IPlayer forPlayer, StringBuilder dsc) //{ // base.GetBlockInfo(forPlayer, dsc); // if (energyStorage != null) // { // dsc.AppendLine(energyStorage.GetFluxStorageInfo()); // } //} public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "transfer", 10000), MyMiniLib.GetAttributeInt(Block, "transfer", 10000), MyMiniLib.GetAttributeInt(Block, "transfer", 10000)); } energyStorage.setEnergy(tree.GetFloat("energy")); state = tree.GetBool("state", false); }
public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), 0, MyMiniLib.GetAttributeInt(Block, "output", 500)); } energyStorage.setEnergy(tree.GetFloat("energy")); if (Api != null && Api.World.Side == EnumAppSide.Client) { generation = tree.GetFloat("gen"); } }
public override void Initialize(ICoreAPI api) { base.Initialize(api); Api = api; face = BlockFacing.FromCode(Block.Variant["side"]); if (api.World.Side == EnumAppSide.Server) { RegisterGameTickListener(tick, 250); } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "transfer", 10000), MyMiniLib.GetAttributeInt(Block, "transfer", 10000), MyMiniLib.GetAttributeInt(Block, "transfer", 10000)); } if (sideConfig.Count == 0) { string[] splitedPath = Block.Code.ToString().Split('-'); if (splitedPath.Length >= 6) { foreach (BlockFacing f in BlockFacing.ALLFACES) { if (splitedPath[splitedPath.Length - 6 + f.Index] == IOEnergySideConfig.INPUT.toString()) { sideConfig.Add(f, IOEnergySideConfig.INPUT); } else if (splitedPath[splitedPath.Length - 6 + f.Index] == IOEnergySideConfig.OUTPUT.toString()) { sideConfig.Add(f, IOEnergySideConfig.OUTPUT); } else { sideConfig.Add(f, IOEnergySideConfig.NONE); } } } else { foreach (BlockFacing f in BlockFacing.ALLFACES) { sideConfig.Add(f, IOEnergySideConfig.NONE); } } } if (face != null) { sideConfig[face] = IOEnergySideConfig.NONE; } }
public override void Initialize(ICoreAPI api) { base.Initialize(api); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), 0); } inventory.pos = Pos; inventory.LateInitialize("smelting-" + Pos.X + "/" + Pos.Y + "/" + Pos.Z, api); RegisterGameTickListener(OnBurnTick, 250); RegisterGameTickListener(On500msTick, 500); }
public override void Initialize(ICoreAPI api) { base.Initialize(api); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 10000), 0); } consume = MyMiniLib.GetAttributeInt(Block, "consume", 1000); if (Api.Side.IsServer()) { RegisterGameTickListener(OnServerTick, 250); } }
public override void Initialize(ICoreAPI api) { base.Initialize(api); if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), MyMiniLib.GetAttributeInt(Block, "output", 1000)); } inventory.LateInitialize("charger-" + Pos.ToString(), api); inventory.ResolveBlocksOrItems(); if (api is ICoreClientAPI) { loadToolMeshes(); } else { RegisterGameTickListener(OnTick, 250); } }
public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); inventory.FromTreeAttributes(tree.GetTreeAttribute("inventory")); if (Api != null) { inventory.Api = Api; inventory.ResolveBlocksOrItems(); } if (Api is ICoreClientAPI) { loadToolMeshes(); Api.World.BlockAccessor.MarkBlockDirty(Pos); } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), MyMiniLib.GetAttributeInt(Block, "output", 1000)); } energyStorage.setEnergy(tree.GetFloat("energy")); }
public override void FromTreeAttributes(ITreeAttribute tree, IWorldAccessor worldForResolving) { base.FromTreeAttributes(tree, worldForResolving); Inventory.FromTreeAttributes(tree.GetTreeAttribute("inventory")); if (Api != null) { Inventory.AfterBlocksLoaded(Api.World); } furnaceTemperature = tree.GetFloat("furnaceTemperature"); inputStackCookingTime = tree.GetFloat("oreCookingTime"); if (Api != null) { if (Api.Side == EnumAppSide.Client) { if (clientDialog != null) { SetDialogValues(clientDialog.Attributes); } } if (Api.Side == EnumAppSide.Client && clientSidePrevBurning != IsBurning) { clientSidePrevBurning = IsBurning; MarkDirty(true); } } if (energyStorage == null) { energyStorage = new FluxStorage(MyMiniLib.GetAttributeInt(Block, "storage", 10000), MyMiniLib.GetAttributeInt(Block, "input", 1000), 0); } energyStorage.setEnergy(tree.GetFloat("energy")); }
public EnergyDuctCore(int io) { storage = new FluxStorage(io, io, io); }