-
-
One of the pieces that is used to solve puzzles.
-
One of the pieces that is used to solve puzzles.
-
One of the pieces that is used to solve puzzles.
-
One of the pieces that is used to solve puzzles.
-
One of the pieces that is used to solve puzzles.
-
One of the pieces that is used to solve puzzles.
-
A solution to one of the puzzles I created.
Inspiration
A few weeks ago, I was trying to solve a block puzzle similar to this, but there were some patterns that I was unable to create with my friends. I thought this would be a fun project to help me easily find solutions to these puzzles (or even develop new puzzles for others to solve).
What it does
This plugin takes the seven pieces from the puzzle linked above and a goal pattern (specified by the user) and tries to build the goal pattern using the seven pieces. If any solution can be found, it will return all solutions to the puzzle. The Minecraft plugin is used to I/O to the program so that the goal pattern can be easily specified, and the solutions can be easily visualized.
How we built it
I built the plugin using Java and the Minecraft Spigot API (a popular API for creating Minecraft plugins). The solver itself is in C++ (due to the performance benefits C++ yields over Java). The solving algorithm, however, I developed prior to TAMUHack with a friend, so it is NOT part of the submission (only the Minecraft plugin is).
Challenges we ran into
Since the Minecraft plugin is a separate program from the actual solving algorithm, the two processes had to communicate. Sending input from a Java process to a separate C++ process and then receiving the output was a bit of a challenge as the solver would block the main Minecraft server thread while it was running and crash the server. To solve this, the solver is run asynchronously and notifies the server when the process has completed. From there, the player can cycle through all of the found solutions.
Accomplishments that we're proud of
The thing that originally made me interested in programming when I was about 13/14 was Minecraft mods/plugins, so it was really cool to get some experience creating one for myself. I imagine some other fun side projects will come out of this.
What we learned
How to create Minecraft plugins!!!
What's next for Minecraft Block Solver
I may in the future also allow players to specify their own pieces that can be used to solve the puzzle. That would actually be pretty cool.
Download
You can download a plug and play Minecraft 1.16.3 server to try the plugin on from the GitHub releases!
Built With
- java
- minecraft
- spigot




Log in or sign up for Devpost to join the conversation.