LibShapeDraw is a Minecraft client library mod that doesn't do anything on its own. Rather, it provides a set of flexible and powerful drawing and animation tools for other mods to use.
Link Removed
Thanks go to bencvt, the original developer, who kept this updated until the end of the 1.4 Minecraft days.
Demos
If you want to see some of the things LibShapeDraw is capable of, there is a Demos mod available on the releases page.
An even better showcase is to look at actual mods that use LibShapeDraw. Here's a screenshot of BuildRegion:
There are many, many more uses for LibShapeDraw. Please submit screenshots and videos to this thread! Also, if you're a mod author whose mod uses LibShapeDraw, I'd be happy to add a link here for you.
Installation
First of all, make sure that either LiteLoader or Forge is installed. LibShapeDraw is compatible with either.
Next, download the jar and move it to the versioned mods directory. This is simply a subdirectory under mods named after the Minecraft version desired. For example, jars for Minecraft 1.7.10 are placed under mods/1.7.10/.
If it's not, the next step is to verify that LibShapeDraw is installed properly. Browse to your Minecraft directory and look for a mods/LibShapeDraw subdirectory. There should be a file named LibShapeDraw.log in it; you can open it in a text editor. If this file doesn't exist or has an old timestamp then LibShapeDraw is not installed correctly. Try reinstalling.
If you're still stuck with a specific problem, see the contact section at the bottom. Please have the crash report and LibShapeDraw.log handy.
If your mod could use any of the following things, LibShapeDraw is the library for you:
The ability to create arbitrary shapes and draw in the game world itselfwithout having to mess with OpenGL contexts, finding a render hook, or other tedious details.
The ability to smoothly animate shapes (and anything else, really) using the easy-to-use Trident animation library built-in to LibShapeDraw.
Vector3 and Color classes, full of well-documented and throughly-tested convenience methods. Want to calculate the pitch and yaw angles between two 3-dimensional points in a couple lines of code? No problem.
Design goals
LibShapeDraw is designed to be easy to use, both for devs and for players. These are the design goals to that end:
Minimal dependencies. Either LiteLoader or Forge is required to get up and running. That's all.
Maximal compatibility. LibShapeDraw does not modify the bytecode of any vanilla Minecraft class via jar-modding. You are free to modify Minecraft classes in your own mod if needed; LibShapeDraw will not interfere.
Unobtrusive. Pick and choose the components you want to use. LibShapeDraw is a toolkit for your mod to use. It is not a heavy DoEverythingThisWay framework.
Powerful. What good is an API that doesn't let you do cool stuff? Check the demos for some of the many possibilities.
Concise and clear. Convenience methods, fluent interfaces, etc. let you write less code to do more. That's what LibShapeDraw is all about.
Well-documented. The key to success for any API, really.
Throughly tested. A full JUnit test suite to help prevent bugs.
Open source. MIT-licensed and open to community feedback and patches.
Consult the README.md for more development details.
Browse the demos, located in projects/demos. To see the demos in action, you can download the pre-built demos jar and install it like any other mod.
See README-Trident.md for information about the built-in Trident animation library.
See README-contributing.md for information about contributing to LibShapeDraw itself, including build instructions and a list of features planned for future releases.
If you'd like additional guidance, check the contacts section below.
updated for Minecraft 1.7.10
For Players
LibShapeDraw is a Minecraft client library mod that doesn't do anything on its own. Rather, it provides a set of flexible and powerful drawing and animation tools for other mods to use.Link Removed
Thanks go to bencvt, the original developer, who kept this updated until the end of the 1.4 Minecraft days.
Demos
An even better showcase is to look at actual mods that use LibShapeDraw. Here's a screenshot of BuildRegion:
There are many, many more uses for LibShapeDraw. Please submit screenshots and videos to this thread! Also, if you're a mod author whose mod uses LibShapeDraw, I'd be happy to add a link here for you.
Installation
First of all, make sure that either LiteLoader or Forge is installed. LibShapeDraw is compatible with either.Next, download the jar and move it to the versioned mods directory. This is simply a subdirectory under mods named after the Minecraft version desired. For example, jars for Minecraft 1.7.10 are placed under mods/1.7.10/.
Troubleshooting
If Minecraft is crashing, check Minecaft Modded Client Support on minecraftforum.net as a first step.If it's not, the next step is to verify that LibShapeDraw is installed properly. Browse to your Minecraft directory and look for a mods/LibShapeDraw subdirectory. There should be a file named LibShapeDraw.log in it; you can open it in a text editor. If this file doesn't exist or has an old timestamp then LibShapeDraw is not installed correctly. Try reinstalling.
If you're still stuck with a specific problem, see the contact section at the bottom. Please have the crash report and LibShapeDraw.log handy.
________________________________________________________________________________For Developers
If your mod could use any of the following things, LibShapeDraw is the library for you:
The ability to create arbitrary shapes and draw in the game world itself without having to mess with OpenGL contexts, finding a render hook, or other tedious details.
The ability to smoothly animate shapes (and anything else, really) using the easy-to-use Trident animation library built-in to LibShapeDraw.
Vector3 and Color classes, full of well-documented and throughly-tested convenience methods. Want to calculate the pitch and yaw angles between two 3-dimensional points in a couple lines of code? No problem.
Design goals
LibShapeDraw is designed to be easy to use, both for devs and for players. These are the design goals to that end:
Minimal dependencies. Either LiteLoader or Forge is required to get up and running. That's all.
Maximal compatibility. LibShapeDraw does not modify the bytecode of any vanilla Minecraft class via jar-modding. You are free to modify Minecraft classes in your own mod if needed; LibShapeDraw will not interfere.
Unobtrusive. Pick and choose the components you want to use. LibShapeDraw is a toolkit for your mod to use. It is not a heavy DoEverythingThisWay framework.
Powerful. What good is an API that doesn't let you do cool stuff? Check the demos for some of the many possibilities.
Concise and clear. Convenience methods, fluent interfaces, etc. let you write less code to do more. That's what LibShapeDraw is all about.
Well-documented. The key to success for any API, really.
Throughly tested. A full JUnit test suite to help prevent bugs.
Open source. MIT-licensed and open to community feedback and patches.
Consult the README.md for more development details.
Documentation
Javadocs are available.
Browse the demos, located in projects/demos. To see the demos in action, you can download the pre-built demos jar and install it like any other mod.
See README-Trident.md for information about the built-in Trident animation library.
See README-contributing.md for information about contributing to LibShapeDraw itself, including build instructions and a list of features planned for future releases.
If you'd like additional guidance, check the contacts section below.
Contact
This current project's GitHub by xaeroverse is located at github.com/xaeroverse/LibShapeDraw. Anyone is free to open an issue.Feel free to post in this minecraftforum.net thread as well.
Finally, you can also ping me (xaero) on the Esper.net IRC network. I'm usually lurking in various channels related to Minecraft development.
History
The original project's GitHub repo by bencvt is located at github.com/bencvt/LibShapeDraw. And also here is the original LibShapeDraw thread on minecraftforum.net.AesenV ported the mod to 1.7.2 and maintained it briefly; you can check out the repo at github.com/AesenV/LibShapeDraw-1.7.
The version history is maintained in CHANGELOG.md.
Note Block Display | Modules for the Macro / Keybind Mod
I don't make any minimaps
Sorry I was AFK in IRC when you made the beta for this, been busy lately
Will be switching all copies of LSD in my dev environment over to this fork.
That guy who does stuff, mostly mods:
By the way, I've also added instructions on how to add it to ForgeGradle, but basically just drop the -dev jar into the `libs` folder.
Note Block Display | Modules for the Macro / Keybind Mod
I don't make any minimaps