public override void Initialize(ICoreAPI api) { base.Initialize(api); inventory.pos = pos; inventory.LateInitialize("smelting-1", api); RegisterGameTickListener(OnBurnTick, 100); RegisterGameTickListener(OnSyncTick, 500); if (api is ICoreClientAPI) { renderer = new FirepitContentsRenderer(api as ICoreClientAPI, pos); (api as ICoreClientAPI).Event.RegisterRenderer(renderer, EnumRenderStage.Opaque); if (meshes == null) { GenFirepitMeshes(); } UpdateRenderer(); } ownBlock = api.World.BlockAccessor.GetBlock(pos); }
public override void OnBlockRemoved() { base.OnBlockRemoved(); renderer?.Dispose(); renderer = null; if (clientDialog != null) { clientDialog.TryClose(); clientDialog?.Dispose(); clientDialog = null; } }
public override void OnBlockRemoved() { base.OnBlockRemoved(); if (ambientSound != null) { ambientSound.Stop(); ambientSound.Dispose(); } if (renderer != null) { renderer.Unregister(); renderer = null; } }
public override void Initialize(ICoreAPI api) { base.Initialize(api); inventory.pos = Pos; inventory.LateInitialize("smelting-" + Pos.X + "/" + Pos.Y + "/" + Pos.Z, api); RegisterGameTickListener(OnBurnTick, 100); RegisterGameTickListener(On500msTick, 500); if (api is ICoreClientAPI) { renderer = new FirepitContentsRenderer(api as ICoreClientAPI, Pos); (api as ICoreClientAPI).Event.RegisterRenderer(renderer, EnumRenderStage.Opaque, "firepit"); UpdateRenderer(); } wsys = api.ModLoader.GetModSystem <WeatherSystemBase>(); }
public override void OnBlockRemoved() { base.OnBlockRemoved(); if (ambientSound != null) { ambientSound.Stop(); ambientSound.Dispose(); } renderer?.Dispose(); renderer = null; if (clientDialog != null) { clientDialog.TryClose(); clientDialog?.Dispose(); clientDialog = null; } }