• 9

    posted a message on Macro / Keybind mod modules



    Here are the modules I have made for the Macro / Keybind mod. To install, they either go in ~/.minecraft/mods/macros/modules/, or ~/.minecraft/liteconfig/common/macros/modules/, depending on your version. Throughout this post, <> in syntax descriptions means required parameter, while [] means optional. Click the spoiler tag below each header for documentation for the respective module. If you have an issue with these modules, please post below in this thread and not on the main Macro mod thread. Enjoy!

    API Version mapping


    API 11 - 0.9.10 beta [1.6.2]
    API 12 - 0.9.10 [1.6.2]
    API 13 - 0.9.11 [1.6.4]
    API 14 - 0.10.02 beta 1 [1.7.2]
    API 15 - 0.10.02 beta 2 [1.7.2]
    API 16 - 0.10.10 [1.7.10]
    API 17 - 0.11.0 beta 1 [1.8]
    API 24 - 0.14.4 [1.11.2]
    API 26 - 0.15.1 [1.12.1]

    FarHit

    (discontinued)


    This module adds a few environmental variables that extends almost all the HIT* variables into the distance, and gets the hit info for whatever the cursor is pointing at. The variables are:

     HIT -> FARHIT
     HITID -> FARHITID
    HITDATA -> FARHITDATA
    HITNAME -> FARHITNAME
    HITSIDE -> FARHITSIDE
     HITX -> FARHITX
     HITY -> FARHITY
     HITZ -> FARHITZ




    and one more new variable, FARHITDIST, which returns the rounded Euclidean distance between the far hit and your feet.

    If you were to get into hit range, HIT* and FARHIT* should be exactly the same. The only differences are the X, Y, and Z positions for entities, which the built-in HIT* vars don't calculate.

    Download: Link Removed (direct via bitly)

    Changelog:
    0.1.3 (API 17, 01/27/2015):
    - Preliminary update (missing HIT properties)
    - Added FARHITUUID for players
    0.1.2 (Link Removed, 02/19/2014; Link Removed, 02/22/2014; Link Removed, 09/01/2014):
    - Added MODULEFARHIT environment variable to check if module is installed
    0.1.1 (Link Removed, 10/17/2013):
    - Removed deprecated function
    0.1 (Link Removed, 08/19/2013):
    - Initial release

    SignText

    This module allows you to retrieve the sign text from a sign you're hitting, or with absolute coordinates. Also in single player, it will allow you to change the sign text without breaking it. Here are the functions and their syntax, respectively:
    GETHITSIGNTEXT( [&outarray] )
    GETSIGNTEXT(<#x>,<#y>,<#z>,[&outarray])
    SETSIGNTEXT(<#x>,<#y>,<#z>,<&line1>, <&line2>, <&line3>, <&line4> )





    If there was a sign upon a GET, the optional &outarray will be overwritten with 4 sign text lines; if there wasn't a sign, &outarray will be unchanged. If you UNSET &outarray, you can test if it succeeded by checking if the array length changed with ARRAYSIZE.

    The GET functions also support array and scalar return values; if you specify an array with [], the four lines will be pushed to it:
    &returnarray[] = GETHITSIGNTEXT();





    but if you specify a scalar, only the first sign text line will be returned:
    &returnline = GETHITSIGNTEXT();





    SETSIGNTEXT only works in single player because the client-server architecture of Minecraft has a few security checks that prevent signs from being changed on a whim. Still, I think it might be useful for some people in single player.

    Here's a usage pattern for GETHITSIGNTEXT:

    // Sign post = 63 and wall sign = 68
    IF((HITID=="standing_sign")||(HITID=="wall_sign"));
    UNSET(&signtext[]); // &signtext[] is size 0
    GETHITSIGNTEXT(&signtext);
    ARRAYSIZE(&signtext,#length);
    IF(#length > 0);
    // do stuff with &signtext[0], &signtext[1], &signtext[2], &signtext[3]
    ENDIF;
    ENDIF;




    The observant might notice that GETHITSIGNTEXT is redundant, as its abilities can be replicated with GETSIGNTEXT. Further still, combined with the previous FarHit module, a GETFARHITSIGNTEXT function can be simulated. :)

    Download: Link Removed (direct via bitly)

    Changelog:
    0.2.2 (Link Removed, 01/27/2015; Link Removed, 02/03/2017, API 26, 08/25/2017):
    - Removed GETHITSIGNTEXT since it's built-in to the main mod now
    0.2.1 (Link Removed, 02/19/2014; Link Removed, 02/22/2014; Link Removed, 09/01/2014):
    - Added MODULESIGNTEXT environment variable to check if module is installed
    0.2 (Link Removed, 08/19/2013; Link Removed, 10/17/2013):
    - Array parameter is optional, and is overwritten if there was a sign
    - Text is returned for assignment
    - Added SETSIGNTEXT for single player
    0.1:
    - Initial release

    HTTP

    This module is a bastardized HTTP client that allows you to, f.ex., fetch web resources into your macro, or upload some data to a server. It has the four main HTTP verbs (GET, POST, PUT, DELETE), and a
    URLENCODE convenience function:

    HTTPGET(<&url>,<&query>,<#status>,[&response])
    HTTPPOST(<&url>,<&data>,<#status>,[&response])
    HTTPPUT(<&url>,<&data>,<#status>,[&response])
    HTTPDELETE(<&url>,<&query>,<#status>,[&response])
    URLENCODE(<&string>,[&outstring])
    SETREQUESTHEADER(<&field>,<&value>)




    To use the HTTP actions, pass in the appropriate &url and &query/&data strings (see below), a #status integer, and an optional &response array. There is a hard-coded 5 second connect timeout, 5 second read timeout, and a 15 second overall timeout. The actions will be blocking (a la WAIT) until a success or timeout; #status will be set to the HTTP response code if there was a response, or a negative number if a non-HTTP error transpired (such as a timeout).

    You can also capture the response in an assignment; with an array; each element will be a different line:
    &responsearray[] = HTTPGET("http://www.minecraft.net/","",#responsecode);




    and with a scalar, the contents will be the array imploded with newlines stripped, analogous to a JOIN with an empty string "" glue:
    &response = HTTPGET("http://www.minecraft.net/","",#responsecode);




    URLENCODE accepts an input &string and an optional &outstring, and returns for assignment, or in &outstring, the UTF-8 URL-encoded version.

    SETREQUESTHEADER will add the specified request header to all subsequent HTTP requests in the macro file. This is intended to allow a configurable 'Content-Type' (case-sensitive) for POST/PUT requests, but any header field can be specified.

    URL/Query/Data Merging
    The terms I use are defined at URI scheme.

    To use GET or DELETE, pass in a &url consisting of the scheme and hierarchical parts, and pass in the query part to &query. The query can also be split: some can go into &url and some can be in &query. Furthermore, &query is semi-optional; you can put the full URL (scheme, hierarchical, and query parts) to &url and then pass the empty string "" for &query. You do not have to add '?' or '&' suffixes or prefixes; the module will try to add them for you.

    To use POST or PUT, pass in the full URL (with query included) to &url, and the URL encoded key/values to &data.

    Defaults/Limitations
    * POST and PUT default the 'Content-Type' to "application/x-www-form-urlencoded;charset=utf-8"
    * All the responses are assumed charset "UTF-8" unless otherwise specified by the response itself.
    * State is not supported, so no cookies/sessions
    * The user-agent is the default one defined by Java.
    * Redirects are followed

    As always when using web bots, please respect a server's load capacity and don't flood them with, f.ex., a request every tick. If you're polling, I'd recommend a minimum two second wait in between consecutive requests, preferably longer if possible. Some servers are OK with burst requests from time to time though; check their ToU to be sure.

    Download: Link Removed (direct via bitly)

    Changelog:
    0.2 (Link Removed, 09/05/2014; Link Removed, 11/25/2014; Link Removed, 02/03/2017; API 26, 08/25/2017):
    - Added SETREQUESTHEADER action
    0.1.1 (Link Removed, 02/19/2014; Link Removed, 02/22/2014):
    - Added MODULEHTTP environment variable to check if module is installed
    0.1 (Link Removed, 08/19/2013; Link Removed, 10/17/2013):
    - Initial release

    Thanks go to Blockbreak9000 for the idea and beta testing.

    Clipboard

    This module uses the game-provided clipboard functions to read and write from the system clipboard. The functions are:
    GETCLIPBOARD([&text])
    SETCLIPBOARD(&text)




    and you can check MODULECLIPBOARD for installation status.

    Download: Link Removed (direct via bitly)

    Changelog:
    0.1 (Link Removed, 02/22/2014; Link Removed, 09/01/2014; Link Removed, 11/25/14; Link Removed, 02/03/2017; API 26, 08/25/2017):
    - Initial release

    JSON

    This module parses and allows you to walk JSON-encoded strings without a priori knowledge of its structure. It complements the HTTP module well if you are dealing with (RESTful) APIs that output in JSON. The script actions provided are:

     IsBoolean(&json,[status])
    IsFloat(&json,[status])
    IsInteger(&json,[status])
    IsJsonArray(&json,[status])
    IsJsonObject(&json,[status])
    IsJsonPrimitive(&json,[status])
    IsNumber(&json,[status])
    IsString(&json,[status])
     * The above checks if the string provided is of the respective type.
    
    JsonAdd(&json,&key,&value,[&output])
     * Only works on JsonObjects.
    JsonGet(&json,&key,[&output])
     * Returns the value of a key in a JavaScript object. Strings are wrapped in quotes but can be removed manually.
    JsonHas(&json,&key,[status])
     * Returns if the key exists in the JavaScript object.
    JsonRemove(&json,&key,[&output])
     * Returns a new JSON-encoded string with the key removed. Only works on JsonObjects.
    
    GetJsonKeys(&json,[&keys[]])
     * Returns a Macros array filled with the keys of the provided JavaScript object.
    GetJsonAsArray(&json,[&output[]])
     * Returns a Macros array filled with the elements of the JavaScript array.
    
    JsonArrayAdd(&json,&element,[&output])
     * Only works on JsonArrays.
    JsonArrayGet(&json,#index,[&output])
     * Returns an element from the array specified by the #index.
    JsonArraySize(&json,[#size])
     * Returns the size of the array.




    and you can check the MODULEJSON environment variable for installation status.

    Notes
    * The backend is powered by Gson, and here are its JavaDocs.
    * Gson does not natively provide a remove function for JsonArray yet (source).
    * This is not an efficient module, because parsing strings as Java objects and back adds a slight overhead.

    Example
    A basic invocation:
     &jsonempty="{}"
    IF(MODULEJSON);
     &output=JSONADD("%&jsonempty%","float","1.44");
     &output=JSONADD("%&output%","str","str");
     &output=JSONADD("%&output%","bool","true");
     &floatvalue=JSONGET("%&output%","float");
     floatstatus=ISFLOAT("%&floatvalue%");
     &strvalue=JSONGET("%&output%","str");
     strstatus=ISSTRING("%&strvalue%");
     &boolvalue=JSONGET("%&output%","bool");
     boolstatus=ISBOOLEAN("%&boolvalue%");
    
     &output=JSONADD("%&output%","float","1.55");
    
     hasstatus1=JSONHAS("%&output%","bool");
     &output=JSONREMOVE("%&output%","bool");
     hasstatus2=JSONHAS("%&output%","bool");
     &output=JSONADD("%&output%","bool2","false");
    
     LOG("%&output% %&floatvalue% %&strvalue% %&boolvalue% %floatstatus% %strstatus% %boolstatus%);
     LOG("%hasstatus1% %hasstatus2%");
    ENDIF;
    with the output as expected:
    {"float":1.55,"str":"str","bool2":false} 1.44 "str" true True True True
    True False

    Download: Link Removed (direct via bitly)

    Changelog:
    0.1 (Link Removed, 09/01/2014; Link Removed, 11/25/2014; Link Removed, 02/03/2017; API 26, 08/25/2017):
    - Removed beta label (no changes)
    0.1b1 (Link Removed, 02/28/2014):
    - Initial release

    Module development info

    (outdated, kept for historical reasons)

    If you'd like to develop your own modules, check out the API source:

    API source on GitHub - the documentation is in PDF form under docs/; there are also lots of comments in the function signatures.

    If your dev. setup is in need of organizing, I recommend Mumfrey's videos:

    and - this will let you isolate your projects from the MCP codebase and each other, as well as the benefit of compiling multiple projects against one MCP codebase. You don't have to use Eclipse (I don't), but the build scripts are set up with Eclipse in the first video, and continued in the second; adapt as desired.

    Ant Builds with MCP - the (new) URL mentioned in the first video.

    The macro mod litemod will only load with the official launcher, not MCP, so I recommend creating a LiteLoader-only profile for testing your modules in this manner.
    Posted in: Mods Discussion
  • 11

    posted a message on Note Block Display (with GUI)
    Note Block Display
    for Minecraft 1.12.2

    News

    10/14/2017
    Update to 1.12.2.
    08/08/2017
    Small update to 1.12.1, no new changes.
    07/15/2017
    There's apparently new note block sounds! I added detection for them, but they still use the old piano GUI.
    06/26/2017
    Has it been two years already??? With help from MamiyaOtaru, I've finally managed to update this mod to 1.12! My hiatus was long but I'm finally back in the minecraft scene in a limited capability. Please note that older versions' download links expired due to changes in my host and are not available until further notice.

    Old News


    01/15/15 I'm going ahead and updating to 1.3.3 for 1.8 with a fix for crashing when targetting entities.
    11/25/14 I'm releasing Link Removed as a preliminary 1.8 update. We are waiting on MCP for 1.8.1 before LiteLoader is officially released.

    07/07/14 Button's weren't working with Forge installed because I forgot about FML's runtime deobfuscation - Oops.

    07/06/14 With the update to 1.7.10, I've fixed a minor memory leak and removed the button click when pressing "Play Note" (a much requested feature, even by me!).

    02/16/14 Since LiteLoader is in a final release, I've promoted this mod stable for the class-stable LiteLoader 1.7.2_03. Not many interesting changes happened since the beta, other than the KeyBinding bug fixed in LiteLoader itself. The language file is still available at the previous location.

    01/11/14 I'm releasing a Link Removed for LiteLoader 1.7.2_01 beta. Notable changes are:
    • localization is supported;
    • changing the baseline of the HUD can be done in the LiteLoader settings screen;
    • keybinding can be changed in the Controls screen;
    • and GUI mode plus switch speed are preserved across game sessions.
    Caveats are that:
    • keybind changes don't work properly in the current LiteLoader beta (but will be in the next version);
    • and settings for next game sessions are saved on next GUI open (you may or may not notice it...).
    I won't release a final 1.7.2 version but instead wait for the upcoming MCP for 1.7.4. Finally, if you'd like to make a translation into a language, you can get the lang file from here, and then contact me through the forum PM system. Thanks!

    10/17/2013 New version! My time with minecraft waned the past few months but I'm back to update this mod! I fixed the font regression introduced a few versions back so now they are a much more readable smaller size. It still requires LiteLoader however; a Forge version is a maybe...

    08/06/2013 Sorry for the long delay; the new launcher changes made me reconsider the mod's design. It now uses LiteLoader as the loader instead of ModLoader, and as an added bonus, no longer requires jar modding! Just copy it to the mods folder and it'll work for both SSP and SMP. The tiny caveat is that only LiteLoader 1.6.2_04 and above are supported for SMP, though SSP will work for previous LiteLoader versions. The font size issue is still in as I'm not sure where to start looking for a fix.

    07/01/2013 With the new update comes an internal MC change that blocks custom font renderers; as a workaround I'm using the default font until I have more time to look into it. For now, the font size on the piano is bigger than normal, but everything appears to be working. 05/02/2013 I only have a few small changes for 1.5.2: the display is hidden if you press F1 to hide the HUD; and the annoying re-cycling to Piano after breaking the instrument block behavior was tweaked.

    04/09/2013 I started a new thread for the mod to be included into the pinned curated mod list. Please leave any questions and concerns down below here instead of on the original thread.

    03/27/2013 Woo! I think I got SSP instruments and 1-click pitchs working! I haven't tested it out on a published/opened to LAN local game, so if you guys have a mate and a LAN, I'd like to hear if it works or not. What I hope happens is that the host player on creative can change instruments and pitches instantly, and the connected player can see those changes instantly as well (but can't change instantly himself).

    Download

    - Requires LiteLoader.

    - [1.12.2] Link Removed (via bit.ly)

    Installation

    - Be sure to have the LiteLoader library in your profile.
    - Go to your Minecraft directory (%appdata%/.minecraft/).
    - If there is not a folder named 'mods', create one in the '.minecraft' folder.
    - Place the 'mod_noteblockdisplay.litemod' inside the 'mods' folder.
    - You are done! Everything should work now.

    Old Versions



    Download

    - [1.12] Link Removed, Link Removed .

    - [1.12.1] Link Removed .


    Note: these links are broken and only recorded here for posterity

    - Link Removed[1.8] (direct via bit.ly)
    - Link Removed[1.7.10] (direct via bit.ly)
    - Link Removed[1.7.2] (direct via bit.ly)
    - Link Removed[1.6.4] (direct via bit.ly)
    - [1.6.2] (Dropbox) LiteLoader 1.6.2_04 or greater is recommended for SMP support

    - Requires ModLoader OR Forge ModLoader (FML)

    - [1.6.1] (Dropbox)
    - [1.5.2] (Dropbox)
    - [1.5.1] (Dropbox)
    - [1.4.6/7] (Dropbox)

    Installation

    - Be sure to have ModLoader or FML installed!
    - Go to your Minecraft directory (%appdata%/.minecraft/).
    - If there is not a folder named 'mods', create one in the '.minecraft' folder.
    - Place the 'mod_NoteBlockDisplay.zip' inside the 'mods' folder.
    - From here it will work for single player only, multiplayer will not work yet.
    - Open 'mod_NoteBlockDisplay.zip', take out 'gd.class'.
    - Place 'gd.class' into your local '1.6.1.jar' file, the location of which depends on if you're using ModLoader or Forge - You are done! Everything should work now.

    Features

    - Works in both Single and Multiplayer
    - Keeps the noteblock setting even if the mod is removed
    - Doesn't change the underlying noteblock mechanics
    - Adds an easy to use GUI screen for the noteblock
    - Key to open the GUI can be changed
    - GUI button text can be customized
    - Adds extra information to the game screen when looking at a noteblock
    - Makes the noteblocks so much easier to use
    - External options file keeps settings stored

    Videos


    Pictures




    Version History

    10/14/2017 - 1.3.7
    - Updated to Minecraft 1.12.2
    08/08/2017 - 1.3.6
    - Updated to Minecraft 1.12.1
    07/15/2017 - 1.3.5
    - Added new noteblock sounds
    - Changed default key from F to G to accommodate dual-wielding
    06/26/2017 - 1.3.4
    - Updated to Minecraft 1.12
    - Allowed repeated note sounds
    01/15/2015 - 1.3.3
    - Updated to Minecraft 1.8
    - Fixed NPEs when targetting entities
    07/07/2014 - 1.3.2
    - Fixed buttons not working with Forge installed
    07/06/2014 - 1.3.1
    - Updated to Minecraft 1.7.10
    - Fixed minor memory leak
    - Removed button click sound on "Play Note"
    02/16/2014 - 1.3
    - Updated to Minecraft 1.7.2
    - Added localization support
    - Saved some GUI settings across game sessions
    - Added a mod configuration panel to configure HUD baseline
    - Keybind can be changed in the Controls screen
    10/17/2013 - 1.2.1
    - Updated to Minecraft 1.6.4
    - Fixed font regression
    08/06/2013 - 1.2
    - Updated to Minecraft 1.6.2
    - Now depends on LiteLoader instead of ModLoader
    07/01/2013
    - Updated to Minecraft 1.6.1
    - Font regressions
    05/02/2013
    - Updated to Minecraft 1.5.2
    - Don't show if HUD is hidden
    - Added 'Air' as Piano to instrument cycle
    03/27/2013
    - Fixed SSP regressions
    03/25/2013
    - Updated to Minecraft 1.5.1
    - Fixed note 17 text from 'B#' to 'B'
    12/22/2012
    - Updated to Minecraft 1.4.6
    - SSP regressions; now behaves like SMP

    Mod History


    I was using this heavily while the original author, ImRaginBro, was still updating it (see the original thread here). His updates stopped since after Minecraft 1.2.5, so in late December 2012, I decided to begin reviving this mod and got a rudimentary version posted:

    ImRaginBro was last active on May 26 and hasn't updated this mod since. This mod was very useful for me back in 1.2.5 and I haven't seen any note block GUIs since then that are advertised to work with vanilla servers. Who knows when ImRaginBro will return to update it; in the meantime though, I've decompiled and ported it to 1.4.6 and it's now in a functional state. In the event that ImRaginBro desires for me to cease and desist, I'll take this down, but I'll try to keep this up-to-date in the forseeable future.




    Late March 2013, I worked on it some more and believe that it finally has feature parity with the original. Anything new from here will be my work and not ImRaginBro's.

    Posted in: Minecraft Mods
  • 2

    posted a message on Macro / Keybind mod modules

    Ach, sorry everyone for the dead links. Apparently Dropbox disabled public hotlinking last March and I didn't catch the notice. I'm finally having some time to deal with backlogs though, so hopefully soon I can set up a more permanent host.

    Posted in: Mods Discussion
  • 1

    posted a message on Macro / Keybind mod modules

    OP updated with the updates. :) Please note that HTTP and JSON requires macros 0.14.4 or higher because of a (severe relative to these modules) bug with colons in strings.


    Again, sorry to keep everyone in the dark. I've had a dearth of free time since the last update but minecraft versions kept on coming. I did attempt to update to 1.10 but got stumped with what turned out to be a derp on my part, on which I missed my update window before 1.11 came out. There are a few features I'd still like to add, but they'll be relegated to the back-burner, as I still am struggling to keep up with just maintenance updates. My response time vis-à-vis new minecraft versions will still be sluggish for the foreseeable future, but hopefully not as sluggish since I've already done most of the hard work porting my ANT setup to the new ForgeGradle build system. Now that I can set these modules aside, I can begin updating my other mod (hopefully before the next minecraft version hits...).


    By the way, the forums editor is almost as crappy as I remembered it...

    Posted in: Mods Discussion
  • 1

    posted a message on Macro / Keybind mod modules

    I'm in a bit of a bind right now, but I'll see when I can try to update it.

    Posted in: Mods Discussion
  • 1

    posted a message on Macro / Keybind mod modules
    Quote from Scent_Tree»
    HTTP POST seems to start a connection without sending the request properly and URLENCODE seems to mess up for characters like §

    Encoded %CHAT% decoded by PHP
     C2A7rC2A7fScentTreeDown: taC2A7r

    Logfile of %CHAT%
     §r§fScentTreeDown: ta§r

    Latest MacroMod has problem with API 17 module for some reason, had to use 16


    Can you elaborate on not sending a request properly, like steps to reproduce, expected behavior, and actual behavior? Does URLENCODE fail for any character or just that one? And that's correct: API 16 is for 1.7.10 whereas API 17 is for 1.8.

    [quote=Snhnry;/members/Snhnry;/forums/mapping-and-modding/minecraft-mods/mods-discussion/1405026-macro-keybind-mod-modules?comment=15]Any news on an API 17 version of Farhit? I use it extensively, and would love to see a version for 1.8.


    Hopefully soon; holidays were randomly busy for me, and the new hit properties that were introduced are a bit tricky for me to replicate. Check this post for an edit.

    edit: I went ahead and released SignText and FarHit without the HIT properties that were added in the main mod, pending time; not sure when I'll put those in.

    MCF, y u no quote???
    Posted in: Mods Discussion
  • 1

    posted a message on LiteLoader
    Quote from Krythrandor»
    Great utility, very lightweight and convenient, thinks for itself. Are there plans to continue to develop and update this utility? Says above that current development builds are not supported. I have been tracking on Jenkins, but see only 1.8 versions. Hoping to find a version that installs as extension to 1.81, as the 1.8 build crashes 1.81, so can't use on my realm.

    Yea, I hear realms is more strict with respect to compatible versions, even if two different numerical versions are protocol-compatible.

    You'll hear time and time again that most mods will not be able to update to a minecraft version without a respective MCP version, so just be patient for MCP for 1.8.1. :)
    Posted in: Minecraft Mods
  • 1

    posted a message on LiteLoader
    Quote from xaero_»

    [...] As a stop-gap, I've modified FG behavior by injecting a task that'll let you use updated MCP mappings, even the same as LiteLoader uses, and it seems to work. I don't have the whole process written up yet, but if you're interested, I can explain.

    I missed the ForgeGradle discussion this past weekend, but I've since written this tutorial on a hack to use updated MCP mappings in a FG LiteLoader build. I forgot to mention it in this thread, but now's a good time as any, for anybody desiring a little more from the FG deobf names - this was one of the main reasons for me spending a week developing a custom gradle system rather than using FG.

    Some notes:

    • In the instructions I mention you have to create an mcpJar, but that was written for when there wasn't an mcpJar provided yet. Now that I think about it, since Mumfrey currently provides the mcpJar for the 'latest' LiteLoader build 03, and if the few srg names it uses haven't been deobfuscated, you probably do not need to create the aforementioned jar. Just apply the 'snapshot.gradle' as detailed in the previous section and the rest of Minecraft should be updated accordingly.
    • These instructions no longer give you the *very* latest mappings, only up until about 3 weeks ago. There is now a new location for these mappings but I have only just gotten time to begin testing - I'll update the tutorial later this week most likely.
    • Abrar does not provide support for this hack, but he will hopefully be providing this functionality natively in FG soon, now that the new MCPBot is close to providing all the requisite snapshot support. In any case, you can try to reach me in #ForgeGradle if you need help, as I intend to keep this hack working until FG has native support. :3
    Posted in: Minecraft Mods
  • 1

    posted a message on LibShapeDraw
    LibShapeDraw 1.3.2
    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

    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/.

    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.
    Posted in: Minecraft Mods
  • 1

    posted a message on Stained Glass Colored Beacon Beams
    Quote from Rycieos

    This very interesting. I will definitely look into this.

    There may be a few render hooks you could use instead of your base edits, but if not, Transformers will be your friend; specifically check out the EventInjectionTransformer and ClassOverlayTransformer.
    Posted in: Minecraft Mods
  • To post a comment, please .