public override void Initialize(ICoreAPI api) { base.Initialize(api); if (workItemStack != null) { workItemStack.ResolveBlockOrItem(api.World); if (baseMaterial == null) { baseMaterial = new ItemStack(api.World.GetItem(new AssetLocation("clay-" + workItemStack.Collectible.LastCodePart()))); } else { baseMaterial.ResolveBlockOrItem(api.World); } } if (api is ICoreClientAPI) { ICoreClientAPI capi = (ICoreClientAPI)api; capi.Event.RegisterRenderer(workitemRenderer = new ClayFormRenderer(Pos, capi), EnumRenderStage.Opaque); capi.Event.RegisterRenderer(workitemRenderer, EnumRenderStage.AfterFinalComposition); RegenMeshAndSelectionBoxes(); } }
public override void OnBlockRemoved() { if (workitemRenderer != null) { workitemRenderer.Unregister(); workitemRenderer = null; } }
public override void OnBlockRemoved() { dlg?.TryClose(); if (workitemRenderer != null) { workitemRenderer.Dispose(); workitemRenderer = null; } }