INSTRUCTIONS: - click items to pick them up or place them - drag to distribute items - double click a stack to pick up all items of that type - max stack size is 999 DETAILS: As always, feel free to poke around the internals to see how things work. As a place to start looking, here's how the lists are formatted, as well as some helpful information about my thought process: The "inventory" list stores all the items in the inventory. (go figure) Each item takes up 3 list items, as shown below. The slot number refers to the index of a slot in the inventory itself, not the list used to store it. The reason the quantity is negative is so I can use the "item # of thing in list" to find the index of a slot number, which is needed because the list is not always sorted in a predictable order. It is dynamic, meaning empty slots are not stored in the list at all. Slots are added and removed as necessary. 1. [slot #] 2. ["-" + quantity] 3. [item name] [...] "heldItem" is formatted very similarly, but it does not include an item for slot since it only stores one item. It represents the item held by your cursor at any given time. When nothing is held, quantity is "-0" and item name is "". 1. ["-" + quantity] 2. [item name] [...] The "slots" list stores indices of empty inventory slots you have dragged an item over and is used for distributing items. 1. [slot #] [...] The entire UI is rendered with a single sprite. While I would normally use "stamp" from the pen extension to do this, the result tends to come out blurry in full screen. As such, I decided to draw to the screen with clones because they allow me to use vector images rather than the pen layer, which is raster regardless of the sprite that stamps on it. If you have any questions, do not hesitate to ask me; I'll be more than willing to explain how my code works. :)