EbXL 3.15.5 Log Spam be Gone! (1.7 update – Tooltip Localization)

Another emergency fix for the 3.15.x branch to deal with log spam slowing down world generation.

Download EbXL 3.15.5

Bug fix:

  • Commented out debug code from flower generation that was causing lag due to log spam.

I’ve been working on finally getting the EbXL 3.15 branch ready to be re-synced with github again so that we can finally have other people able to contribute to out code again, along with doing some minor tasks on the build for 1.7, mainly focusing on code that we can bring back to MC 1.6 stuff such as localization in tool tips. It is almost ready to be re-synced again and we just need to make sure that everything matches on up and then we will be good to go and other’s can once more push bug fixes if they are needed.

So in starting in EbXL 3.15.x we started adding tool tip flavor text to things like flowers and other such things. There were two minor issues with it, firstly for longer flavor text/descriptions each line of the text had to be manually separated, and hard coded into the mod itself. With the work that we have been doing in 1.7 that will no longer be an issue, as we will be able to simple enough back port the update to allow for wrapping formatted text in tool tips.

As you can see by this example I have also been working on getting the mod config screen up and running, and although it is nowhere near complete, it is progressing nicely. Unlike the video settings screen in 1.7, the buttons on our config screen actually make the clicking sound when you use them and also have can tool tips to better describe what they do. Also the code that for adding new properties has been simplified a bit more and now only needs the property to be defined, as the button text and the tool tip are now localized. Due to the server not having access to the resource packs and thus localization the actual config file will not be able to be localized as I understand it, but you could easily enough edit the configuration on a client and then copy the config on over to a server/mod pack.

You may have noticed that in the screen shot the the tool text switched colors, and although you can’t see it from just the one screen shot, the tool tips can each have their own default color for text although it defaults to gray if no color is specified as the first part of the localization string. Unlike the vanilla formatting codes (although this is virtually the same codes) when you use the reset command in localization definitions it will remove any formatting and will reset it to the default color for the tool tip be it gray or some other color that was specified for that tool tip’s text instead of white like vanilla does, unless of course you have set the default text color to white. (Or is it black by default, I can never remember.)

EbXL 3.15.4 for MC 1.6.4 & 1.7 Update Progress

Another critical patch for if you have had issues upgrading from 3.14.x and early versions.

Download 3.15.4 Here

Change Log
Bug Fixes:

  • Old block/item ids are kept when upgrading from versions prior to 3.15.
  • Blocks/items can once more be disabled by setting them to 0 in the config. Some blocks that are used in recipes such as redrock can not be disabled without all the things that are made from them being disabled as well.
  • The redrock in the Forestry carpenter recipe has be fixed so that it does not use a random fluid instead of water.

Well it took longer that I had hoped, but we have made some great progress. All of our terrain blocks with the exception of quicksand are in game. In relation to terrain blocks, I finally took a look over at the the terrain generation code, namely the chunk constructor code/biome filler/topblock code, and it looks like we will be able to use any type of block, even if it has metaData in terrain generation. We haven’t had a chance to test this out, but what it means if I read the code correctly is that we can use any type of block as the top of the biome, and what’s more we can pack up to 32 block types into the existing block id’s that we already use.

Our block configuration loading code got an upgrade as well as it now has the ability to load drops for any block/sub block. The blocks/sub blocks can drop rare and/or normal drops.  They can have more than one of any type of drop and each drop can have it’s own unique drop chance. If no drops are specified then the block will drop itself all the time, with some limited exceptions. Corner Logs (what used to be called Quarter Logs) and Elbow Logs are able to find out about normal logs and drop them if silk touch is not used to harvest the blocks. (This needs to be added to the config options still.)

Also we now have wooden planks in the game, along with wooden and stone slabs/double slabs. The half and double slabs are able to find out about each other and they interact like normal slabs/half slabs do. (Edit: redstone behavior still needs a little work with half slabs it seems.)

The mini log got a bit of an update in that you can now click past it if the bounding box does not intersect what you are looking at, meaning that you can interact with blocks behind the mini logs if they don’t connect to something and extend their bounding block to block you.

So you might be wondering what is left to complete, well at the moment we still need to get stairs added into the game along with the brick wall type brick for the Redrock and while I was at it I considered adding wooden fences and gates for all our plank/wood types and after talking with the rest of the team, I think it is something we would like to try to do. After that we also have the flowers/plants that need re-added and our saplings. Once that is complete, I will probably be calling EbXL for Minecraft 1.7 block complete. Then I will probably need to take a couple of days to do some maintenance on 3.15.x for MC 1.6.4 before I can get to work on the fun stuff, world generation.

Just a quick Update

I don’t have much to report today, but I have leaves about 90% coded back into 1.7, with the main things that are not complete as of yet being the dropping of saplings and other items as saplings are not in the game.

However things are far enough along that I can get a build on out for other team members to start crafting trees that I can then turn into the basis for code later on.

1.7 Update – Existing Logs Complete

Well all the logs that we had have in ExtrabiomesXL 3.15.3 for Minecraft 1.6.4 have been re-implemented in the new system that we are designing for Minecraft 1.7.x.

The last of the logs to complete is our Mini Logs which received a bit of an upgrade, they now support the ability to have multiple types of log in one block and can come in varying sizes, as shown in the picture above. The shot is a dev test so the smaller log is just reusing the Sakura log’s textures, but it shows the basic concept and power of the new design. We also had to deal with a rendering issue with the log in item form that didn’t make itself present until 1.7. It is what I get for hacking together the rendering code for it before I fully took the time to understand it. The logs could still use a bit more work on their normal rendering, as since they use custom rendering code for their “nubs” to allow them to attach to things like other branches or leaves, they don’t do smooth lighting properly. This will probably get pushed to the side for the moment as getting the rest of the mod updated is a little more important, and once I finish the update if some wants to contribute and push a change to fix that issue on github they would be more than welcome to do such.

As part of the update I discovered the Block.isWood method, so the mini logs now are able to connect to any block that reports that it is wood, much better over how I was try to do it before, and it has the benefit of supporting any type log that reports that it is wood. I had originally tried using the block material, but planks, wooden stairs and wooden half slabs all use the the wood material so that was out since initially I wrote the code to check to see if the adjacent block used the same block id. If you look closely you can see where the mini log is connecting to the leaf block an you can see the nub stick out to connect there.

I also worked on the fixing up the whole multi-block system a bit so that if you some how had an invalid sub-block in your inventory or in the world it no longer crashed the game, but instead indicated that the block was invalid. The texture could probably still use a little more work for invalid blocks and items and I need to see if I can get it to render as 2D although that does not look to be all that promising with out some base edits that we will probably not do.

I also started in on the leaf blocks, they are going to take a little bit of work as they are getting a complete overhaul.  I am manually de-obfuscating all the code that I can so that we can actually tell what is going on internally (leafRange and chunkRange are much easier to understand than b0 and i1), and so that each leaf block does not end up eating 32768 integers like vanilla leaf blocks do and we do in EbXL 3.15.3 and below.

I’ll try to have another update out tomorrow and I hope to have enough time to have the leaves up and running by then so that I can move on to the flowers, and Annysia, Zenth can play around with the blocks and get to creating template trees that myself and the other coders can create tree generation algorithms that generate similar results. It is one thing to say I want a Sugar maple tree that is approx 20 meters tall and a whole other thing to create code that generates the parts of said tree to give it a somewhat realistic feel.

Allaryin has been busy working on extracting all references to Project Dandelion, our top secret project that we want to really wow people with, from our private dev branch.  This way we can re-sync the public git, to allow others to contribute once again.

3.15.3 Thaumcraft 4 Hot Fix – More 1.7 Progress

Just to let every one know Thaumcraft updated to 4.1 today, and we had been including the API in our jar when we did not need to do.  When Thaumcraft 4.1 updated it’s API, which we were accidentally overwriting due to not forcefully loading after Thaumcraft, as it would have lead to an infinite loop with Forestry. Anyways, just re-download 3.15.3 and you will be good to go again. (I really need to talk with Scott to so that we can update our Thaumcraft calls so we don’t need to include the classes in our work space like he did with the old IC2 API.)

Download EbXL 3.15.3

As for the 1.7 update, it is coming along and with the new block loading code adding the Quarter Logs (which are being renamed to Corner Logs in order to support larger trees in the future) was rather trivial.   Even with having to rename the textures to match the new naming convention, converting the last four logs only took about 2 minutes to get them added and in the game. One thing that I like about the new block id system in 1.7, is that blocks will appear in the order that they are created now since MC automatically assigns their internal numerical id’s, meaning that we can control the order that blocks are sorted in our creative tabs with nothing more than changing the order of the blocks in the config file. Talk about convenience.

On a 1.6.4 to 1.7.x transition note one of the upcoming 1.6.4 releases will be generating a ton of ID mismatch messages, as the way that we currently register blocks/items is a little troublesome and is not user friendly. As long as you do NOT delete your config file this will not break you world, it should just make updating to 1.7.x possible without breaking everything.  However, the 1.7 version will probably have some new biomes, so you are going to get issues with chunk borders, if added to an existing world, so that should not be any more of an issue than it would be otherwise.

I still would recommend creating a new world in 1.7 though as it chunk borders are ugly, and time willing we may have an enhanced world type in 1.7. (Which would most likely make it EbXL 4, but that is not confirmed at the moment.)

3.15.3 Server Side Bug Fixes (Oh and 1.7 Update Progress)

Well it turns out there were a couple of bugs relating to how EbXL interacts with other mods and not doing things properly that led to us causing crashes on servers.
Download EbXL 3.15.3

Change Log:

Bug fixes:

  • Eelgrass no longer causes crashes on servers if a mod asks for the unlocalized name on the server.
  • Our custom dyes no longer cause a crash if another mod asks for the unlocalized name on the server.
  • Deleted Thaumcraft API from the jar to prevent it from breaking with Thaumcraft 4.1. (It also makes for a smaller download too.)

Changes:

  • Eelgrass can now grow on grass block under water so as to curtail it breaking if a dirt block changes due to grass spread.
Well, work on the 1.7 update has finally started, and at the moment the foundations of the mod are undergoing a rewrite to try and make things easier to maintain in the future. As of right now, we are not totally sure if the 1.7 update will be version 3.17 or the final dawning of EbXL 4, it really all depends on how much it breaks.

One of the things that it will change, is making configuration much easier to handle.  I am already making use of the new ingame mod configuration button, that is provided on the mods screen, to enable/disable extra debug info being displayed in item tooltips.

I don’t have a screen shot of the ingame config menu as at the moment it is very much a work in progress, but it will look somewhat similar to how the 1.7 video settings screen looks like. (I am not taking a screen shot of that, you can take a look at it yourself ingame.) Some settings will require a restart as not everything can be changed while Minecraft is running. On that note, we don’t offer the ability to disable the mod in game at the moment as that is presently designed more for mods that don’t add actual content to the game, such as mods that change how grass and leaves render or give you a mini map. I may modify it so that you can completely disable the mod next boot up so it does it show up in the mods list, but at the moment I have other things that are a little more important to finish.
The new config system should also be very easy for us to work with as a team, such as adding a new property that can be used anywhere from the config file loading/saving to the ingame mod config screen. This would only take us declaring the property inside the config class, possibly giving it a comment property, a possible restart flag to let people know that they need to restart the game for it to take effect and then actually using it anywhere that it is needed in the code. All in all, that saves us a little coding down the line.
Another thing that is changing for the better is that we are making it so that blocks can be defined outside of the code, somewhat similar to how Metallurgy handles their blocks. We already have working code that loads all of our existing normal logs from the json config file. We are going with json (which I am told Metallurgy will also be using in Metallurgy 4) as opposed to csv, as it makes for a much more flexible format in my own opinion, and Minecraft/Forge already come with json decoding/encode support built on in.

We are presently hoping to have all of our existing blocks back in to the 1.7 build by the end of the week. Hopefully with the possibility of some of the new planned blocks as well.  The new system will also allow our team members who are non coders to add new blocks/sub-blocks without having to touch the code as long as it is based on an existing block type and does not need any new functionality.
We don’t have trees or world generation back on line at the moment, as we are trying to make sure that we have a good foundation for going forwards. Oh and on that note and since I did accidentally show it in my mod list screen shot, one thing that we are considering for EbXL 4 is splitting the mod up a bit.  This way people who don’t want everything can download the core part of the mod and then if they want, for example, our fantasy/magical biomes and nothing else they could download only that.  Or if you want everything you could download a EbXL 4 Complete, and have all the sub-mods in one jar. Once again, this decision is dependent on how much stuff gets broken in the update, and how much gets added that we have on our list for EbXL 4.
We will try to keep everyone up to date as we make progress on the 1.7 update through the end of the month at which time I hope to have a stable build that is good enough for a private beta.  I’d talk more about stuff that is in the works but that would leave nothing for the next time I go to update, so that all for now.

ExtrabiomesXL 3.15.2 – Happy Chocolate Day!

So here we are again. The 3.15.2 patch is actually pretty big – and while we were feature complete on Tuesday, the team has spent the last few days hunting down some bugs. We hope you like it. And by it, I mean chocolate covered strawberries.

You can download it here.

It has long been one of my biggest complaints with vanilla MC that they never really make good use of the materials they provide you with. I mean, take pumpkins for example. They have have been around since alpha but have only been edible since 1.4.

In this case, MC provides us with all of the raw ingredients for chocolate – but doesn’t actually let us make “chocolate”. Sure, we can make cookies, but the recipe is strange, and have you ever eaten a cookie that doesn’t contain any sugar? *shudder*


EbXL 3.15.2 introduces farmable strawberries. You can find them growing wild in a variety of places. The bushes regrow, so you only need to plant them once and then punch them when they’re ready to harvest.


By themselves, strawberries aren’t terribly valuable as food. But because of the effort involved in producing it, chocolate is a bit more filling. And chocolate covered strawberries are more valuable than their individual ingredients would be if eaten separately.


These strawberries are the first of what will be many interesting crops that we plan to introduce, and are really meant as a test of the crop system. EbXL 3.16 will flesh out the system with more types of crops and recipes from them. We will, however, try not to be overwhelming with it – and are thinking about making an optional addon that contains additional crops and recipes for those who really like that sort of thing.

Bone meal super powers activate!

In addition to crops, we’re also adding two new classes of plant to EbXL. Namely – underwater and vine plants. Expect to see more interesting varieties of these in the future. 🙂 We’ve also added another regular flower that turns into cyan dye and have added custom dyes to provide colors that vanilla reuses for other purposes – which means we produce all dye colors except grey and dark grey.

Eelgrass grows under water.
Gloriosa flowers grow like vines.

Changelog

  • Added delphinium belladonna and blue poppies.
  • Added new dyes for white, black, brown, and blue.
    • Updated some flowers to now produce these dyes.
  • Added eelgrass subaquatic plant.
  • Added gloriosa vines.
  • Added configuration settings to control the density of new flowers in each biome.
  • Added strawberries, chocolate, and chocolate covered strawberries.
  • Improved ability of flowers to spawn in snowy biomes.
    • Removed toadstools from snowy biomes.
  • Fixed some plants that were unintentionally changing colors to match their biome.
  • Fixed the “already decorating” errors sometimes encountered when generating large trees.

Welcome Back!

Welcome Back!

Our team is very pleased to welcome back to EBXL, Scott Killen, whom as many of you that follow EBXL know, was part of the team for a long time.  Scott retired from actively modding about a year ago, although he still continued to write hooks for Forge as well as helping behind the scenes with several mods.  He was instrumental in making EBXL one of the most popular biome adding mods for Minecraft.  This is in part due to the high standards he has for everything he does, as well as being an all around genuinely nice person.

It’s a shame that you can only list one person as the “author” or “creator” of the mod because EBXL is the result of team work and not any one person.  We have an outstanding team of people that work together to bring EBXL to you, our players.  I feel very lucky to be able to work with such a wonderful group of people.

We have many new and exciting things that will be happening in the coming weeks and months.  We will be releasing 3.15.2 in the next day or two.  It will contain some tweaks to flower generation as well as adding a few new plants and dyes. (A full list of changes will be posted when it is released.) It will also have a special Valentine Day present for everyone!

At this time we plan on releasing 3.16 as the last update to 1.64 before moving on to 1.7.

Late night crunch releases can result in derps. ExtrabiomesXL 3.15.1

Well, I just got reminded again of the fact that trying to release an update after working for nearly all day, when one is still under the effects of a cold can result in a few derps. It turns out that yesterday’s release was supposed to be 3.15, not 3.14.6.  Things got changed in some places and not in others, so mcmod.info was reporting that the mod was 3.14.6 and internally the mod was saying that it was 3.15. Also, we missed a couple other things, such as the day after we finished updating the New Dawn API, it was updated.  The missed change was causing crashes, which should be taken care of in this patch. Also, due to the late hour and my not having a written checklist for release procedures at the time, (Annysia is in the process of writing one up so I don’t goof things up again.) I forgot to do testing in dedicated server mode, and look over the forge log for any warnings/error so a small error with trying to load textures on the server got through. I have to give a grateful thanks to our team member joe12o, for getting the fix to that written up after it was reported, while I was sleeping.

Anyways here is ExtrabiomesXL 3.15.1, which should fix those issues. I am still looking forward to trying to get another balancing release in on Monday or some time later this week.

Change Log

Bug Fixes:

  • Updated New Dawn API
  • Fixed crash on Server due to code running that should only run on the client.
  • Fixed version number in mcmod.info and previous blog post.

ExtrabiomesXL 3.15 – Back in Business (3.14.6 it was not.)

[EDIT]3.14.6 is bugged and should have been called 3.15, read more and get the fixed D/L.

Well boys and girls, oh, and you ladies and gentlemen in the modded Minecraft community, we are back in business, and finally despite the perfectionists and various troublesome bits of code have a new release for you all to tinker around in.

For those of you who could care less about any news and just want the download link, go have at it. Although you might want to read the change list as there were a couple things that you may want to know if you run into any issues, and a few things have changed. For those of you who are willing to wait a little while, please continue reading.

What is this sorcery?

We have a top secret project that we had hoped to preview/demo in this build, but things haven’t worked out quite as well as we had hoped, so we had to push it back a little longer. No, this secret project is not v4, although it has helped me breakthrough some of the things that had been holding me back. I really can’t say to much more with out giving away to many things. But to sum it up, it is something that as far as we know, has never been done before and when the entire project is complete it might even blow one or two people’s minds.

On the note of v4. after about 6 months, I think I am finally understanding the hooks that Scott added to forge over a year ago, and I finally have figured out how to incorporate them into the v4 world generator.  This would allow us to do things like finally control the rate that biomes spawn, so lets say you wanted a world that has very few wastelands you can finally allow that. All in all I have to say that the hooks that Scott wrote are totally awesome, and that I have been considering using a couple of them to write a super small utility mod to “deal” with troublesome players like Annysia, who hate all things that attack you, would like to have on your survival server. The big thing that has held me back is that with some of the new features that are being added to the 1.8 snapshots, it looks like it might be doable in vanilla with command blocks come 1.8, if they add just one more thing to commands. (The only thing thing that is missing for it to work in vanilla as it stands now is the ability to select entities that are in certain distance from a specific player. If this is possible feel free to let me know.)

Anyway, we’ve got a number of things lined up and with more team members, we think we can knock them out. I must say that it has been fun working back and forth on our secret project, with Allaryin and myself pushing code back and forth, and extending each other’s ideas when one of us hits a road block.

On to what is new/changed in this release. We should have better support for Thaumcraft 4 (Finally), and some of our old quarter logs have finally been replaced with more user friendly versions that are a little more inter mod friendly. The old ones are still in but they are only able to be crafted into the new version and will no longer be generated, and only exist so that people don’t suddenly have trees that are missing their trunks. There was a bunch of code cleanup, and a few minor things managed to slip through the cracks that were not discovered till after we had our release candidate and we had already delayed releasing longer than intended so since they didn’t break anything we decided to let them go for the moment. I may do a build on Monday to just fix the few things that I discovered at the last moment.

Change Log

Changes:

  • Configuration file has been moved out of it’s own directory, there is no real reason to have a directory with just one file in it. Also the config file also keeps a version number in it now, so that in the future if we change the defaults for any settings, or add a new setting for some thing that previously did not have a setting, we can set the setting so that if you upgrade it will default to the old behavior and not break any world, and if you want the new behavior you can turn it on.
  • One example of such a change in action is that we changed up the redwood tree generation. We have finally started working on integrating Forgotten Nature (FN), and the first thing on the list was trying out the Sequoia tree generator. We need to do a little more work on it still as how FN generated it’s trees was a little different than how we generate our so, we have left in the option to allow people to chose the old Redwood generation or the new style. Both styles should be receiving an overhaul in the coming weeks, and will become separate trees, as what most people think of when they complain of the old redwoods not looking correct, is actually the Giant Sequoia, which is a similar but vastly differently structured tree from the North American Redwood. (They are both very closely related according to my field guide for identifying North American Trees.)
  • Resorted default block id’s, if you update block id’s should not change for existing items, although if you have a number of mods a few of the new items might have conflicting id’s so you may need to resolve them, as we still haven’t gotten any sort of id resolver running at the present. This was done to clean up our creative menu, so unless you are working with us in creative extensively you really should not need to care about this resorting. (Although it might affect things like Inventory Tweaks come to think of it.)
  • We let Minecraft automatically load our localization files now instead of having our own loader. We discovered a small issue with this with not being able to localize one of the other new features that we added, but it is not all that major.
  • The new quarter logs now place in what I feel is a logical pattern, and as such you can now easily build things like large bridges supported by multiple quarter logs side by side without needing to use the log turner for every single log that you place.
  • Sakura Blossom Tree has been renamed to just Sakura Tree.

New Features:

  • Silk Touch on an axe finally has a use now! As part of an effort to make the quarter logs a little more inter mod friendly, when you chop down quarter log or an elbow log you will get the normal log equivalent, unless you use a Silk Touch.
  • Elbow and quarter logs can now be crafted/uncrafted, if a log has a quarter log equivalent just place four logs in a 2×2 square and you will get four quarter logs, and three logs can be placed in a sort of an upper case L to get three elbow logs.
  • Support for New Dawn, another mod that allows for generation of a different style of terrain.
  • Thaumcraft 4 support for almost all our items, some of our new flowers were last minute changes and got passed over when it came to giving them Thaumcraft 4 aspects. They will have their proper aspects come next update.
  • We changed up flowers a bit, the Root and Autumn Shrub have been removed.  They still exist but will no longer generate or show up in creative. We also added 28 new flowers. Spawning for the flowers has been reworked and we are still doing some tweaking on that.
  • Helpful tooltips are now available in English for some things. Things like what patterns saplings will grow into trees from, to help you know why that single redwood sapling that you planted won’t grow into a mighty tree. This should help out with future trees as we start to incorporate some of the Forgotten Nature and More Than Just Trees stuff. Other things like the flowers have some flavor text about to them, though we are by no means done with the flowers. Oh and if you ever wondered if the scarecrow had a use, well you can now see it in it’s tooltip. As it stands we need to do more research to enable localization of the tooltips, as it appears that it may not be possible in 1.6 without some of our own localization code.
Bug Fixes:
  • Well I know there have been a few I just can’t think of them off the top of my head, and it is getting somewhat late.