# Improvements
### IMPORTANT, PLEASE READ
- Graph UI
- Added 3 new widgets
- One-line slider
- Display a single path up to a root node from the selected node. Sorted from shortest to longest (1 = shortest)
- Hide other nodes button
- Press this button to toggle between all nodes and the selected node, this will clearly show how the selected item can be obtained with no other nodes rendering
- This will re-draw the graph and thus, may take a second when the number of nodes gets large
- Hide children nodes button
- Press this button to toggle the selection of children on and off, this was done to reduce visual noise when selecting a node that drops a large loot table, like end city loot
- Searching
- Default search is now `Contains` to align with Minecraft's recipe book
- `Exact` search now requires an exact match, which prevents, for example, "stone" from selecting "stone bricks"
- Tracking
- Added Fishing loot tables
- Added Chest loot tables
- Added Waxing interactions
- Reduced clutter when discovering recipes
- Removed duplicated nodes for wall blocks (ie wall torch and ground torch)
# Bug Fixes
- Fix issues related to interactions rendering incorrectly
- Fix issues related to highlighting nodes when there are too many associated nodes
- Fix crash bug when opening UI with no loot tables or interactions after clearing loot tables
# Technical Changes
<details>
<summary>Spoiler</summary>
Replaced the graph drawing class and highlighting section of the Vertex class with its own Executor to allow for more expensive calculations to be done quickly and without causing in-game lag.<br>
- Replaced `GraphDrawer` with `GraphTaskExecutor`; Uses `CompleteableFuture` and a queue of executors to ensure the graph is displayed correctly upon opening the UI<br>
- Highlighter moved from `LootTableGraph.Vertex` to `GraphTaskExecutor.HighlightTask` and given its own `SerialExecutor` to allow for highlighting of deep nodes which would otherwise fail as the execution time exceeded the time allotted for mouseDown events.
</details>
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }