• 3

    posted a message on [1.2.5] 4096IDs
    Quote from ScottKillen

    I wanted to find out what kind of license governs Robinton's 4096 source and if he would be open in my hosting a github project to invite collaboration?


    You're right. I need to add this license:

    /*
    ** 2012 June 5
    **
    ** The author disclaims copyright to this source code. In place of
    ** a legal notice, here is a blessing:
    **
    ** May you do good and not evil.
    ** May you find forgiveness for yourself and forgive others.
    ** May you share freely, never taking more than you give.
    **/


    Really, I might want to add on something about that letting me invent more things, while still letting things I've already invented get updated...

    And yes, feel free! to set up a GitHub.
    Posted in: Minecraft Mods
  • 2

    posted a message on [1.0.0]Robinton's Mods
    I'm back. Finally.

    Pardon the hibernation (or whatever you call it). I've been resting up, remembering why I like playing/modding Minecraft, and creating the first quarter of my second Cubic-Chunks-level mod, a dynamic "spell" mod. (More details to come.) Actually, it's a two part mod: one part for the more powerful and complex spells, one part for the more powerful and complex enemies to defeat. For now, a few pics:

    Invisibility:

    Low-Gravity:

    EnderDragon riding, plus green-magic-glow:

    (I doubt you'll be able to ride the EnderDragon in the finished version of the mod, but there will probably be other Dragons to ride...)

    Also, I hope you all remember that I posted the 4096IDs source code in the opening post, under 4096IDs / Developer Notes. I REALLY don't want to have to update and debug it again, so if someone would please! take it over so that I can go on to writing new mods!!!

    BTW, Cubic Chunks update progress is virtually nill (apart from some time getting familiar with the 1.2.5 changes). I'm looking into releasing the source code, perhaps under a license, or perhaps creating a team of modders allowed to update it.
    Posted in: Minecraft Mods
  • 13

    posted a message on [1.2.5] 4096IDs
    This is the thread for 4096IDs, my mod and whatever other users do to update it.

    MineCrak has a second opening post directly below. It will likely be kept much-more-frequently updated, with all the newest-and-best versions, tips, etc.

    4096BlockIDs: (Requires ModLoader and Forge)
    NOTE: After MC 1.2.5, I am no longer planning to maintain this mod. I have released the source code (see Developer Notes below), and I hereby give permission (and, in fact, thanks) for anyone to do whatever they like with the 4096IDs source code, so long as they give my code credit.


    Have you installed a lot of mods? Ever been annoyed by how few IDs 256 really is? Especially with the addition of Forge, which allows you infinite sprites?

    No more! Now, with 4096BlockIDs Mod, you have 4096 (duh!) available Block IDs. That means you can have 4096 different Blocks! How could anyone ever run out?
    Quote from RMob »
    I want 100 different types of liquid, preferably most of them dangerous or deadly; I want 500 new ores to mine or blow up at my leisure, I want...
    Well, maybe it's possible to run out, but it sure isn't easy. It does make saves almost 1/5 bigger, and increase memory usage slightly, but that shouldn't be a big problem, especially not if you have a good enough computer to run all of those mods in the first place...
    Quote from RMob »
    Oh, yes. I built a portal to the Matrix, hacked into the Source; now I have 2^5000 flops of computation power! And that's so small, the robots don't even notice!

    I had to modify ContainerCreative.java (afp.class) anyway, so I decided to include compatibility with a couple of CreativeItemGuiAPIs, including one of my own. Forge added a CreativeItemGuiAPI sometime before 1.2.4, so there isn't much of a point anymore in me adding another one.

    Also, for those of you who haven't looked into Minecraft 1.2.3's code, Anvil format supports saving up to 4096 block IDs, but Minecraft 1.2.3 is still incapable of actually using those extra IDs. I rest assured that this will be fixed in Minecraft 1.3.*, but until then, I'll keep updating this mod.

    Current Mod compatibility.

    Source code:
    The following source code downloads are merges of Mojang code and my code. Mojang's code is governed by them, however they see fit. As such, it falls under exactly the same license as any other mod, or any other code decompiled by MCP. My code is available under the following license:

    /*
    ** 2012 June 5
    **
    ** The author disclaims copyright to this source code. In place of
    ** a legal notice, here is a blessing:
    **
    ** May you do good and not evil.
    ** May you find forgiveness for yourself and forgive others.
    ** May you share freely, never taking more than you give.
    **/
    With an additional disclaimer: if something is broken or outdated, don't sue me or demand I fix it or update it; fix it yourself.

    4096_IDs Version 1.0.1 (for MC1.0.0) source code.
    4096_IDs Version 1.0.1 (for MC1.2.3) source code.

    4096_IDs Version 1.0.1 (for MC1.2.5_NoForge) source code.
    4096_IDs Version 1.0.1 (for MC1.2.5_Forge3.0.1.75) source code.
    Developer notes:
    Look under the ### Mod Compatibility: My 3 Rules ### section of this thread for the tips you will need to create 4096_IDs compatible mods.

    (Source code moved up, into its own spoiler.)

    4096_IDs stores block data in a tag called "Blocks" of type NBTTagShortArray (NBTTag ID=12). The "Data" tag is no longer used. CREDIT: The NBTTagShortArray class was originally based off of YMod's NBTTagIntArray (NBTTag ID=11). I have also included a slightly modified version of NBTTagIntArray for YMod compatibility. Now I can just base it off of Mojang's official NBTTagIntArray... whose code was either inspired by YMod's, or eerily similar. :P

    4096_IDs shifts all Item IDs upward by (4096 - 256) when loaded from compounds, to allow for ItemBlocks. It correspondingly increases the itemsList array size. ItemIDs are stored in 4096_IDs using the (id & 0xffff) trick both on saving and loading to make their short stored data type cover 0 to 2^16.

    Some day, I may make an IDs mod that gives 32768 (or possibly even 65536) Block IDs, but removes MetaDatas. Thus, you would have to allocate multiple IDs for one block, to get the equivalent functionality. That and incompatibility are of course this system's disadvantages.
    The advantages to are:
    1. No metadata waste! Stone, CobbleStone, and such, still only take up 1 ID, or 1/16th as much of the available ID pool.
    2. No more 0-15 metadata limit! If you want to allocate 17 IDs (effectively 17 metadatas) for your block, you can. Actually, you could get away with allocating 1024 IDs for your block if you really wanted to...
    3. Faster data access! One simple array lookup! No more bit-shifting to figure out what is a metadata, and what is an ID!
    4. Faster computation! Forge would no longer have to include all sorts of hooks allowing blocks to check what their metadata is to figure out their various values! One simple ID check is all that would be needed.

    4096IDs Standalone Client for MC1.0.0 (Forge 1.2.4) - this may also require ModLoaderMP.
    -Alternative MediaFire Link

    4096IDs Standalone Client for MC1.0.0 (Forge 1.2.0) - this may also require ModLoaderMP.

    Client 4096IDs for V1.5.3 test versions 4 and 5 (Beta1.8.1) - Beta 1.8.1 Cubic Chunks compatible Patch for Cubic Chunks V1.5.3 T4 & T5. (Not Vanilla compatible!)

    4096IDs Standalone Client for MC1.2.3 (no Forge).

    Warning: for some reason, there have been various bugs (that I've been having a hard time finding the causes of) in 4096IDs Standalone for MC1.2.3 Forge1.4. I advise you to back up your saves. (NOTE: If you are a modder, and want to try your hand at figuring out what's wrong, feel free to look into the source code in the developer notes spoiler).
    4096 IDs Standalone Client for MC1.2.3 (Forge 1.4) direct link.
    4096 IDs Standalone Client for MC1.2.3 (Forge 1.4) AdF.ly link.

    (Not sure what was the problem in the MC1.2.3 version, but I've tested, and it is fixed in the 1.2.5 version.)
    4096 IDs Standalone Client for MC1.2.5 (No Forge) direct link.
    4096 IDs Standalone Client for MC1.2.5 (No Forge) AdF.ly link.


    4096 IDs Standalone Client for MC1.2.5 (Forge 3.0.1.75) direct link.

    This is apparently a patch for 4096 IDs Standalone Client for MC1.2.5 (Forge 3.0.1.75) that should update it for more recent versions of Forge. If it doesn't work, tell me, but don't blame me.


    As of Minecraft 1.2.3, Cubic Chunks will offer built-in support for 4096 IDs. So, first, you only have one mod update to wait for if you want them both; and second, don't expect a 4096IDs CubicChunks patch here. ;)
    Posted in: Minecraft Mods
  • 1

    posted a message on [1.0.0]Robinton's Mods
    Sorry, everyone. I have been really not caught up with anything over the past week or two. Last week, I was insanely! busy, and this week I was just feeling lazy...

    But I have made progress. I fixed the various critical bugs with Compressed Faraway Cube Rendering. Result: MC1.2.5_CFCR_0.9.3. Oh, and before anyone asks me: MC1.2.5_CFCR_0.9.3_src.

    BTW, change your render-dist to small or tiny before loading a world... Just my advise!

    A few things that need fixed/improved/changed/etc:
    • Lag spikes on some frames. I'm not sure why, as CFCR shouldn't place that huge of a load on MC... And most of the time, lag is just fine...
    • Dimensions' saved-compressed-terrain overwrite each other.
    • Occasionally, in non-debug mode, random black compressed-cubes appear floating in the sky.
    I'll probably fix these, if given enough time... But anyone who wants to can feel free to use the source for whatever they want! Or figure out how to fix the bugs, then tell me!
    Posted in: Minecraft Mods
  • 1

    posted a message on [1.0.0]Robinton's Mods
    ShaRose notified me in a major bug in my mod-detection code, which had basically meant none of my mods detected any other mods.

    So, here is a fix for both versions of MC1.2.5_4096IDs, which will make them work correctly with IDResolver (this has been rolled into the main downloads, but for already installed versions or caching issues, download just the patch). Alternately, you could just use ShaRose's (found a few posts up, or quoted in this post).

    And here is a patch (again, rolled into the main download) that will make CoordsInfo V2.3 correctly support the Forge armor-level custom rendering. Actually, I'll just add another few simple tags, update the whole thing another minor version, put that into a new download, and call that good. Check.

    Quote from Ultimate_omega

    Is that patch still needed for the Forge ID fix? (If it's not already in the download)
    No, it isn't needed.
    Quote from ShaRose

    Did you get the PM I sent you? Because that forge merge has exactly the issue I decribed. Indeed it might solve the issue you were having with CFCR not working when not debugging.

    Link Removed This is the patch I created. Without it 4096IDs can't actually detect if ID resolver or CFCR are actually installed. More information was in the PM about what was changed and why.
    No, I didn't. I'm horribly behind on PMs...
    Thanks for the tips!!! Man, I feel like an idiot! This bug has been plaguing me since my 4096IDs_Bytecode trials, so THANK YOU for pointing it out!
    Quote from gwynraven

    I tried the new Forge version and got this error message. Any ideas?


    --- BEGIN ERROR REPORT 6e9caea3 --------
    Generated 4/14/12 6:28 PM

    Minecraft: Minecraft 1.2.5
    OS: Windows 7 (amd64) version 6.1
    Java: 1.7.0_04-ea, Oracle Corporation
    VM: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle Corporation
    LWJGL: 2.4.2
    OpenGL: GeForce GTX 460/PCIe/SSE2 version 4.2.0, NVIDIA Corporation

    java.lang.NoClassDefFoundError: forge/IItemRenderer$ItemRenderType
    at tw.a(RenderItem.java:327)
    at aiy.a(GuiIngame.java:756)
    at aiy.a(GuiIngame.java:333)
    at lr.b(EntityRenderer.java:932)
    at EntityRendererProxy.b(EntityRendererProxy.java:21)
    at net.minecraft.client.Minecraft.x(Minecraft.java:869)
    at net.minecraft.client.Minecraft.run(Minecraft.java:747)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: forge.IItemRenderer$ItemRenderType
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more
    --- END ERROR REPORT eeab04a5 ----------
    Either I made a mistake in my coding (quite possible, I've done it often enough before), or you didn't first install Forge3.0.1.75.
    Posted in: Minecraft Mods
  • 2

    posted a message on [1.0.0]Robinton's Mods
    Ok. Here is 4096IDs_MC1.2.5_Forge3.0.1.75. It should work, but I thought I should release it before thorough testing... (Well, other people really can test things faster than I can so...)

    Also, I remembered and wrote this patch to fix a small glitch that I had left in an ItemBlock ID Offset Fix in the non-Forge 4096IDs-MC1.2.5. It should fix a fair number of the times when foolish modders hardcode -256 offsets (instead of using the ModLoader.registerBlock method). Yes, it is rolled into the main download.

    Finally, I'm releasing a tiny update CoordsInfo that will make it Forge compatible (though CoordsInfo doesn't actually require any other mods). Forge recently added a hook to GuiIngame (for Armor level display), and I added an optional call to that hook into GuiIngame.

    Other news:
    *No, Jeb hasn't gotten back with me...
    *If Mojang doesn't fix 4096IDs by MC1.3.*, I probably will not update it again. At least not quickly enough for all you users. SO, starting next MC update, whoever wants to update 4096IDs is welcome to (see the source code in OpeningPost->DevNotes->link).
    *My next task is getting CFCR working in non-debug mode; don't worry: I haven't forgotten about it!
    Posted in: Minecraft Mods
  • 1

    posted a message on [1.0.0]Robinton's Mods
    4096IDs for MC1.2.5 released (finally!). I've tested (that was part of the delay), and the chest-disappearing-item bug is definitely fixed.

    I've been testing, and (with some difficulty over static finals being substituted in hardcoded...) managed to get CFCR loading, but it doesn't seem to ever display anything... I almost wonder if maybe the compressed cube data is all getting set to 0 or something...
    Posted in: Minecraft Mods
  • 1

    posted a message on [1.0.0]Robinton's Mods
    @Various CFCR Problems:
    Well, you could try the MC1.2.5 CFCR version, if you wanted too... But, all-in-all, I'm guessing that the private static final fields aren't getting updated correctly (they're supposed to be keyed off of ModLoader.DEBUG)... If the MC1.2.5 version still gives roughly the same errory, try this patch.
    Posted in: Minecraft Mods
  • 0

    posted a message on NBTExplorer - NBT Editor for Windows and Mac
    Quote from jaquadro

    Is this something with widespread adoption?

    Unfortunately it's something I would need to add support for in Substrate and that would require a bit of work. I may look into it when I near the end of a proper Anvil rewrite but it's still a ways off.

    Aside from the few thousand Cubic Chunks users, no. Of course, that is a decent-sized "Aside"...

    Feel free to use my SaveConverter code. Sorry, but it is in Java... For SmallSector files, focus on RegionFile and its subclasses.

    Cheers
    Posted in: Minecraft Tools
  • 1

    posted a message on [1.0.0]Robinton's Mods
    Yes, I will update both Forge and non-Forge versions of 4096IDs. I'll make sure to fix the chest bug, too. In fact, that's my next task.

    What had I been working on?

    MC1.2.4 Compressed Faraway Cube Rendering V0.9.0. (I'll update it to MC1.2.5 along with everything else, the next time I have a free day.)
    • I've only tested it on debug mode so far. Would someone be so kind as to test it for me. :) :P
    • It works (at least on debug mode). Even Tiny RenderDistance has the view distance of Vanilla Far, just with far less detail, and for the most part far less lag.
    • When first computing the compressed cubes, MC does tend to lag quite a bit, especially if it has to generate terrain. I'll fix this in the next version by distributing the computation across lots of ticks.
    • Many blocks appear invisible. I'll fix this by adding an average-color computing algorithm.
    • Apart from one point up, the graphics aren't quite as good as I'd hoped. There are several ways to improve this, and I intend to include them in future versions.
    • It is one or two classes away (AnvilChunkLoader for on-save-updates, and EntityRenderer for far-fog) from being extremely compatible (read: working with Opti*, and almost everything else you can mention). I plan to look for ways to fix that.
    Posted in: Minecraft Mods
  • 2

    posted a message on [1.0.0]Robinton's Mods
    *Fixed*

    It's a 60-block tall, ~15 block wide/deep sand-castle.
    Posted in: Minecraft Mods
  • 2

    posted a message on [1.0.0]Robinton's Mods
    Ok. Extra functionality added to CoordsInfo. I love easy addons that don't ever need extensive updating!
    [EDIT: I had mistyped 4096IDs and didn't catch myself until now! *Sigh*!]

    Here's my current progress in CFCR:

    So you know, this is on Short Render Distance, and that tower of sand you're viewing in the distance is centered at x=25, z=12...

    Grass looks great! Sand: not so much. The lighting system needs a bit of work... The analyzing seems to be working the way I programmed it (and that seems at least reasonably good...). Compressed Cubes are rendering right on top of regular terrain, because I haven't written the code to stop it yet...
    Posted in: Minecraft Mods
  • 2

    posted a message on [1.0.0]Robinton's Mods
    I've gotten CFCR 80% - 95% working. Only visible bug left is a wierd bug that makes compressed terrain display approximately 256 blocks away from where it should, in both the x & z axis (but not the y axis, for some reason).

    I might even get to working on 4096IDs tomorrow.

    Quote from Pyrotic Sniper

    I think either i installed it wrong, Its conflicting with one of my mods or you Forgot the
    TileEntityVolcano.class Again
    Um, looking at the download, I think I somehow did manage to forget TileEntityVolcano! :Skeleton: *Fixes*
    Here's a fresh link, in case Dropbox takes a while to update.
    Quote from MineCrak

    Hey, it's been fun everyone. You may have heard the news already but in case you haven't:



    [ Source ]

    Due to a non-disclosure agreement Mojang had me sign I will not be able to post here for the duration of the project, but know that I am with you in spirit! :)



    I wish! ;)

    Robinton, however, actually should be on that team if it existed!
    I wish, too!

    Really, I've actually thought quite a lot about what should go into Minecraft 2.0. (Or Minecraft Revamped, or Minecraft NextGen, or, etc!)


    By the way, in honor of the day, here are a few sig-able quotes:

    Only idiots have signatures. -Robinton's Law

    Signature statements do not exist. -Fact Core's Corollary

    Idiots do not exist. -Conflation Fallacy

    Virtually all modern humans are idiots. -It Does Not Follow Fallacy

    Virtually no modern humans exist. -Solid Logic, but False Givens
    Posted in: Minecraft Mods
  • 1

    posted a message on [1.0.0]Robinton's Mods
    One really nice thing about Anvil format: it makes CompressedFarawayCubeRendering much easier to work on. I think I've gotten the compressing algorithm working correctly, and in a format that uses much less memory. Now I just have to get drawing the cubes working correctly, and everyone can enjoy CFCR (perhaps both with and without CC?).

    Yes, I will try to get myself to work on bugfixes. Yes, I will update the higher terrain (as a World Type) for... well... whenever I manage to get CC fully updated (hopefully sooner rather than later, though MC's been updating too fast for me to keep up).

    BTW, tomorrow's April Fool's day. Be on the lookout for April Fool's jokes (DISCLAIMER TO SAVE PEOPLE TIME: I haven't included any in any released version of any of my mods, not yet at least <next RMob version...>), especially any from Notch or Google!
    Posted in: Minecraft Mods
  • 3

    posted a message on [1.0.0]Robinton's Mods
    First of all, I am releasing the SaveConverter source code. This includes bits of Mojang code from Jeb's Anvil Converter, under the license "Don't do evil." It also include one file (com/java/happycodings/MyComboBoxRenderer) that is copied from a free online code snippet, with slight modifications. All other code is from Robinton, released under the license "Don't do evil, and give me a +1, buy me lunch, or ask Mojang to hire me if you feel like it."

    Would anyone care to set up a github or similar for SaveConverter?

    Obvious TODOs on the SaveConverter include some drastic improvements to the NBTViewer, y-shifting in world conversions, a possible complete rewrite of the help file, etc.

    Quote from MyNameWasStolen

    Is there any fix to the items disappearing from chests issue?
    Not yet, sorry.
    Quote from Predator95

    Do you have any idea when we can expect the next mostly working version of CC. Maybe you got a bit overwhelmed by all the minecraft updates which are coming pretty rapidly but the last well working version, which was 1.7.3 produces more and more small problems from day to day (Floating blocks and such things).
    And since we're talking about this world here are some images of the current progress... :)


    Yeah, I'm a bit overwhelmed with all the updates. In all fairness, I think CC worked pretty well in MC1.0.0... I'm still working on updating, but actually right now, with the rapid MC updates, it's more like getting familiar with the Vanilla code so I know how to update CC, rather than making partial updates that will be out-of-date in three minutes...
    Quote from MineCrak

    YES! Much better than even [Shift][F3]!! This lets us Customize how we want the main Display Data to appear and be organized on our Screens when we use [F4]. Takes up much less screen space, not in the way at all, and organized how we want.

    I'll be Grouping the X and Z Coordinates next to each other and have Y separate for quick Height visibility (Appropriate for Height Mods ;) ), as well as other changes.

    Thanks Robinton!! :D




    God I love the City you are creating! I can't wait for it. :)
    Thanks!
    Quote from M4tt1994

    I think that maybe it has something to do with the save-format. From what I've read on the wiki (http://www.minecraft....net/wiki/Anvil), the function that makes Id's above 255 possible is only called whenever a block requires it. Isn't it possible that the code forgets to check if blocks in chests or furnaces with an ID higher than 256 exist? That mean Minecraft would bug on loading the file, and delete the blocks that are not in the world itself (I know for a fact that mod-added blocks in the world itself with ID >256 stay, so the method itself is working).

    I'll check it if I can find the time (school. blergh)

    Edit: After taking tests, I believe this is the problem. The Cabinet from More Storage (has the ID of 204 in my setup) remains as a normal item in the chest upon logging out and in. The Inficraft Worktable (ID 269) turns into a wooden shovel.

    The items in chests are (I think) solely saved as ID's, and since the 4096-compatability layer isn't added unless there's a block with ID > 256 in the world (And then i think only for that block) the chest ID's are still considered 'items' by Minecraft (like the redstone workbench from Inficraft turning into a wooden shovel), the ID's that are not normally items in minecraft are bugged out and deleted from the saved file.
    This makes me think that it is a reobfuscation problem... Since I'm 99.9% certain that this works right in debug.
    Quote from ZorgKirill

    Will there be 1.2.x (better 4 or 5) upgrade of Cubic Chunks? (want to play with new or up to date mods together)))
    Yes, eventually.
    Quote from MineCrak

    So Robinton. How far have you gotten on the 1.2.4 version of CC?

    I only ask because 1.2.5 has been confirmed for next week by Jeb, LOL! I predicted that one too. ;)

    * The good news is that once 1.2.x stabilizes we'll probably have a b1.7.3 style wait before 1.3.


    1.2.4 was for fixing jebs 1.2.3 bugs, 1.2.5 will be for fixing bukkit-crew's 1.2.4 bugs. :D

    * Actually; they've just gotten LWJGL 2.8.3 to finally work in applet mode. But they didn't actually say that will be in 1.2.5 yet. It's at least a bet that they will try though since he was thinking of trying to shoe horn it into 1.2.3 or 1.2.4 even before this latest breakthrough with it.

    -- They are actually going to post a "Pre-Release" of 1.2.5 tomorrow then do the full release next week specifically to give MCP and bukkit more time. And hopefully have a chance of catching any more lingering bugs in it before final I'm sure. ;)
    Not very, except that I have a pretty good idea how a lot of the relevant code works, and I've been working on writing a .bmp to heightmap generator, chiefly for my own benefit (though if I get it working and anyone wants to make it into a full-scale mod, I'd be glad to give out the source), which does help me remember and/or discover things about ChunkProviderGenerate.

    I hope Jeb finally finishes implementing 4096 Block IDs!
    Posted in: Minecraft Mods
  • To post a comment, please .