Posts by FunnyMan3595

    This mod adds two new crops that cannot be harvested but make tending other crops easier. As usual, the source is included.


    Soybean: Fixes nitrogen.


    Waterroot: Actively seeks water.


    General tip:


    Installing:
    Place HelperCrops_VERSION.zip in your mods/ folder. No need to start a new world, just restart Minecraft and crossbreed until you get them.


    If you don't like the sprites, please, send me new ones! Also, if there's interest and appropriate sprites, I might add minor food items as the product of the plants.


    Version history:
    v1: Initial release
    v2: Integrated sprite sheet.
    v3.0 - Upgraded all of my CropCards:

    • Textures are now preloaded to reduce visual gitches.
    • CropIDs are explicitly set to 100+ to ensure future save compatibility. (THIS BREAKS OLD SAVES! You can fix your save, at least until something else steals the old IDs, if you change the IDs in config/DebugCrop.cfg. You'll have to experiment to find the IDs each crop was using; the old IDs were 16-19, with DebugCrop being the only constant at 16.)
    • Synchronized version numbers, at least for now.
    • Version number is now in the file name, so you'll be able to obtain copies of and see download counts for any version 3.0+.
    • Dropped the z from the file name, as I figured out how to ask ModLoader to load me after IC2.


    v3.1: Actually creating the config file so it can be edited is probably slightly useful...
    v3.2: Updated all my addons to IC2 v1.90. Also fixed my config file handling, again. Old settings are going to be lost, but since it wasn't managing to respect them anyway, that's not so bad.
    v3.3: Updated all my addons to IC2 v1.95. Just a straight recompile on the new version.
    v4.0: Added SMP support to all my addons.

    Supposedly, IC 1.70 added the ability for CropCards to specify their spritesheet. As far as I can tell, however, this capability doesn't actually exist in 1.71. There's no mention of it in the CropCard API, and if I drill down to the underlying BlockCrop and TileEntityCrop classes, I don't see them doing anything that would allow it. Where did it go?

    I have a theory that it's impossible to become a good programmer without realizing that you are (at least occasionally) a complete idiot. The computer keeps proving it by doing exactly what you said to... which wasn't at all what you meant.


    And yeah, I suppose I could have been less specific, but it goes against the grain for me. My instinct on bug reports is to include as much information as possible, so that it's really easy to see exactly what went wrong and how to fix it. I suppose I could send a PM next time, if you'd rather?

    I see you got my messages about the Mobile Autominer issues. Glad to see a fix so soon!


    Just found something myself, and thought I'd share: If you change the mod's extension from .jar to .zip, it will still work in the mods/ folder, so you can upload a version that doesn't need to be extracted first. A .jar is really just a .zip with some extra info in it, and ModLoader is perfectly happy to load mods with either extension.


    Also, you suggested a while back that you might post the source so someone else could multiplayer-ize the mod. I'd be interested in seeing it, even though you seem to have that part under control for the moment. If nothing else, it'd make tracking down bugs a bit easier. ;)

    DebugCrop is a simple mod containing a debug crop, Martian Sawgrass, that I wrote to figure out why fertilizer and hydration cells didn't seem to be working like the code said they should. It should also serve as a fairly simple example of a CropCard mod (the source is included, just extract it.).


    To use: Place DebugCrop_VERSION.zip in your mods/ folder.


    Martian Sawgrass is a slow-growing crop that looks like reed and produces cobblestone if harvested. Good luck with that. Left clicking on Martian Sawgrass produces one seed of each type (including those added by other CropCard addons). Right-clicking on Martian Sawgrass produces debug output in the chat log instead of harvesting. The debug output contains the plant's GGR, growth stage and progress, and statistics about the environment.


    Since v4.0, you can obtain Martian Sawgrass by simply planting cobblestone in a crop block. It's a strange "seed", but it has the advantage of being very easy to obtain.


    Needless to say, this is not intended for actual farming.



    Version history:
    v1 - Initial release
    v2 - Left-clicking on Martian Sawgrass will now produce one seed of each type.
    v3.0 - Upgraded all of my CropCards:

    • Textures are now preloaded to reduce visual gitches.
    • CropIDs are explicitly set to 100+ to ensure future save compatibility. (THIS BREAKS OLD SAVES! You can fix your save, at least until something else steals the old IDs, if you change the IDs in config/DebugCrop.cfg. You'll have to experiment to find the IDs each crop was using; the old IDs were 16-19, with DebugCrop being the only constant at 16.)
    • Synchronized version numbers, at least for now.
    • Version number is now in the file name, so you'll be able to obtain copies of and see download counts for any version 3.0+.
    • Dropped the z from the file name, as I figured out how to ask ModLoader to load me after IC2.


    v3.1: Actually creating the config file so it can be edited is probably slightly useful...
    v3.2: Updated all my addons to IC2 v1.90. Also fixed my config file handling, again. Old settings are going to be lost, but since it wasn't managing to respect them anyway, that's not so bad.
    v3.3: Updated all my addons to IC2 v1.95. Just a straight recompile on the new version.
    v4.0: Added SMP support to all my addons. DebugCrop can now be planted by using cobblestone as a "seed".

    Warning: This post may contain spoilers for the agriculture system, derived from the source code. I've tried to avoid it, but read at your own risk.


    There's a rather nasty post over in the agriculture engineering forum that essentially makes the point that agriculture right now is painful to work with. While I disagree with the post's tone, that specific point is true. Having spent several days as a farmer (and enjoyed much of it!), I've got a bunch of suggestions.


    The first thing I'd do is drop the veil of secrecy. This is more of a personal preference than the rest of my suggestions, but I think it's a good idea in general: This is an industrial mod; the primary audience is interested in using known mechanics to their fullest. Anyone who's really interested in "discovering it for themselves" won't be looking at the forum or the wiki anyway, because that goes directly counter to their idea of fun. All the secrecy does is frustrate the people who want to understand the system but don't have the programming knowledge to decompile and read the source code.


    Trampling needs work. IC2 crops are way more fragile than base Minecraft crops. For instance, you can crouch and stand up all day without breaking Minecraft crops, but do so on your IC2 crops (say, because you were sneaking and accidentally opened the Cropnalyzer instead of getting the reading of a plant), and you'll probably break at least one. This is a frustrating result that's counterintuitive to Minecraft players and often not entirely under their control.


    Further, I'd like to see a pair of gardening shoes that allow you to walk normally without damaging IC2 crops (basic Minecraft ones, too, if it's doable). They would present an interesting alternative to quantum boots for high-altitude farming: be safe walking on your crops, or be safe if you fall off the edge.


    Managing seeds is a royal pain To fully analyze one seed, you need three hotbar slots: Cropnalyzer, battery/crystal, seed. It then takes at least 11 clicks to analyze the seed: One to open the interface, two to put in the battery, two to get the seed's name, two to get the tier and discoverer, two to get the tags, and two to get the GGR statistics. Add another four clicks if you don''t want to hunt for your battery and seed after the cropnalyzer launches them. If you have more seeds on your hotbar, it takes an additional 10 clicks to analyze each one. And don't think that ConvenientInventory is going to help you with shift-click: The Cropnalyzer interface is a complete mystery to it, even though it handles IC2 machines just fine.


    Nor does it get better once you've researched a seed. The seed's statistics aren't shown in the tooltip, so you need to re-open the Cropnalyzer and drop in the seed (no battery requred) to find them again. If you happen to have a double-chest full of seeds, well, have fun re-analyzing all of them and trying to keep track of which you put where. (For the moment, I'm using column headings to mark the seed's total stat level: dirt for 1-64, gold bars for 65+)


    Here's a good way to fix it:


    • Put the GGR statistics, if researched, into the seed tooltip. Further, if possible, make right clicking with the seed on thin air display these statistics in chat, similar to the Cropnalyzer. (This is so that you can more easily compare seeds-in-hand with researched plants.)
    • Remove the seed-analysis function from the basic Cropnalyzer. Bonus points if you add additional statistics to its readout for crops (both the water/nutrient storage and the overall nutrients, hydration, and air quality), even if it means making it use energy like other electric tools. An advanced version that analyzes existing plants for huge energy cost would be awesome, even if it needed Iridium Plate and a Lapotron Crystal.
    • Create a new machine, the Seed Analyzer. The machine functions like the basic-tier machines, but has a configurable "analysis level" that sets how far it will research the seed. (Using a new type of machine upgrade for this would work, if you're so inclined.) The amount of time and energy required to analyze a seed depends on its current analysis level and the target level. The energy values can be copied directly from what the Cropnalyzer uses now.
    • Create a new machine, the Seed Library. The Seed Library has a 3x3 inventory that can be accessed even when unpowered. When given a small amount of power, the remainder of the interface is unlocked, allowing you to transfer seeds between the visible inventory and a hidden inventory with a large number of slots (I'm thinking 100, but it doesn't necessarily need a limit as long as it's unwrenchable while it contains seeds and destroys seeds if broken.). Inputting seeds is done with a simple button press, but for output, you have a bunch of options:

      • Seed type: Has a button for each of the stored crops, plus Unknown and All. Multiple can be selected (e.g. Wheat + Unknown), but All deselects the others and vice versa. Defaults to All
      • Growth/Gain/Resistance/Total: Each one has an entry field for minimum and maximum values, plus Unknown, Highest, and Lowest. Highest or Lowest can only be set once, as it sorts the output seeds to give the 9 highest/lowest values for that statistic. Defaults to the full range + Unknown.
      • As you change the output options, a count of matching seeds is displayed, allowing you to zero in on the seeds you want to get out. Press the output button to retrieve the seeds you requested. When more than 9 seeds would be output and Highest or Lowest isn't set, the machine can output an arbitrary set of 9.


    • If the Seed Analyzer receives a redstone signal, it will automatically analyze seeds from neighboring Seed Libraries. This is especially important if Buildcraft can't see the Seed Library's hidden inventory.


    There are probably other changes that would be good, but what I've suggested (along with the bugfix I posted elsewhere) addresses the largest and most aggravating problems with the current agriculture system. Once those are out of the way, the other strengths and weaknesses of the current system will be much more obvious. Right now, they're masked by the frustration that the system produces.

    Warning: This bug report contains information obtained by decompiling the agriculture system. Do not read if you are concerned about spoilers.


    As of 1.71, fertilizer (IC2 or plain bonemeal) and hydration cells are very broken. The water and nutrient storage values range from 0-200, but are stored in a signed byte, with a range of -128 to +127. This produces two extremely bad results:


    • Using a single fertilizer on a new crop tile is fine, as the nutrient storage becomes 100.
    • A second fertilizer will raise the nutrient storage to 200, which wraps around to -56, causing a permanent -2 penalty to nutrient score vs an unfertilized tile. Additional fertilizer will continue oscillating between positive and negative until it reaches a value between 101 and 127; on a new crop tile, this happens after 14 consecutive uses.
    • Using a hydration cell is even worse, as it sets the water storage to 200 directly, again wrapping around to -56 and causing a -2 penalty. Additional uses consume 256 water from the cell, but do not alter the water storage. Using a water cell or bucket will reset the water storage to +10.


    The basic fix is simple: make the value for both storage types unsigned. Additional work may be required to handle NBT save/load; I haven't looked.



    Edit: Confirmed that this is still present in 1.71.