(I probably won't use this for my Minecraft 3D Multiplayer) For Minecraft light levels, so it can only have priority 0-15 Insert: O(1) Get: O(1) Press 1 for insert test, 2 for get test, 0 for reset What I improved: The original project had an insert time of O(n) where n is the number of items already in the queue. This is because the insert block takes more time in longer lists. This project uses only add and remove last blocks, both of which have a time of O(1). This requires 16 different lists. The downside it is a stack (first in last out) and not a queue (first in first out). I think this makes no difference because it shouldn't matter what item you get if both have the same priority. You can still improve this if you add placeholder values. Then you could probably make a priority queue with O(1).