public static bool OnTryChangeBlockUser(ModLoader.OnTryChangeBlockUserData d) { if (d.TypeNew == HerbStage1.ItemIndex && d.typeTillNow == BuiltinBlocks.Air) { Items.UpdatableBlocks.Herbs.OnAdd(d.VoxelToChange, HerbStage1.ItemIndex, d.requestedBy); } else if (d.TypeNew == BuiltinBlocks.Air && (d.typeTillNow == HerbStage1.ItemIndex || d.typeTillNow == HerbStage2.ItemIndex)) { Items.UpdatableBlocks.Herbs.OnRemove(d.VoxelToChange, d.typeTillNow, d.requestedBy); } else if (d.TypeNew == HerbBench.ItemIndex && d.typeTillNow == BuiltinBlocks.Air) { _areaJobTracker.Add(new HerbalistJob(new Bounds(d.VoxelToChange.Vector, new Vector3(6, 0, 6)), d.requestedBy, 0)); } else if (d.TypeNew == BuiltinBlocks.Air && d.typeTillNow == HerbBench.ItemIndex) { var bounds = new Bounds(d.VoxelToChange.Vector, new Vector3(6, 0, 6)); var jobPos = new Vector3Int(bounds.min); _areaJobTracker.GetList(d.requestedBy)[jobPos].OnRemove(); _areaJobTracker.Remove(jobPos); } return(true); }
void OnRemove(Vector3Int position, ushort type, Players.Player player) { tracker.Remove(position); }
public static void OnRemove(Vector3Int position, ushort type, Players.Player player) { BlockTracker.Remove(position); }