Croparia-IF

Croparia-IF

Mod

Adding crops that can grow many kinds of materials, plus tons of customizable features.

Client and server Game MechanicsTechnologyUtility

5,435 downloads
8 followers
Follow Save
Filter loader...
Filter versions...
Filter channels...

BREAKING CHANGES IS INCLUDED

Gameplay:

  • Add elemental soaking, which allows players to transform a block near an elemental stone into another.
  • Ritual recipe can upgrade enchantments of items.
  • Add sound effects for recipes.
  • Some directories are renamed/moved, you may need to reset config to make it work.
  • Modify some of the recipes.
  • Elemental liquid buckets are renamed from "xxx_bucket" to "bucket_xxx", may result in item-missing.
  • Elemental items are renamed from "elemental_xxx" to "gem_xxx", may result in item-missing.

Dev:

  • (Modify) Generator API
    • PackHandler is less bound to this mod and can be instantiated & registered anywhere. See example.
    • Almost everything is generated via Generator API now. Including crops and elements' recipes, tags, lang, item & block models, etc.
    • Generator files are now more generically formatted and can be compiled into JSON with DgCompiler. A generator file should be ended with .cdg (abbreviated from "croparia data generator").
    • The registry to be iterated is now specifiable via @registry={id}. See example and available built-in registries.
    • If you want to add your own built-in generators in your mod, place your .cdg files under src/main/resources/data-generators/{namespace}/{path}/ so that Croparia will try move them under {packhandler_root}/generators (Non-override). Namespace and path are derived from the id of a PackHandler.
    • 3 generator types are provided: croparia:default(default), croparia:composite and croparia:lang, can be specified via @type={type}.
  • (Modify) Element API
    • Automatically register bucket, fluid, potion and liquid block when instantiating an element. See usage.
    • Supports Generator API.
  • (Modify) Crop API
    • File format is renewed.
    • Crop type is only used to specify the texture of crops, and is not limited to a set of values.
    • Supports Generator API.
  • (Modify) Recipe API
    • Now use custom recipe entries that support SlotDisplay to provide better consistency of recipe format.
    • TypedSerializer and DisplayableRecipe allow developers to handle registries in a more generic way. See example.
  • (Modify) Recipe Wizard
    • Support custom recipe wizard templates located at {pack_path}/recipe_wizard/, using the format of .cdg.
    • Match specific template via block pointed with @block={block_input}.
  • (New) Json API
    • Used to conveniently build JSON via Java. See example.
  • (New) Codec API
    • Allows extending codecs
    • Allows multiple codecs for 1 field name, or multiple field names for 1 codec.

TODO:

  • Complete recipe wizard templates.
  • fix recipe error in dedicated server
  • Change injection points of datapack gen
  • Add compat crops
  • Add tags for elematilius related
  • Add dedicated recipe for dragon egg seed
  • Prefill data generator "crop_block_loot_table" with extra pool, users may edit roll to let it drop extra seeds (clear config/croparia/generators/crop_block_loot_table and reload if not present)
  • Fix greenhouse placement
  • Fix botanypots generator (clear config/croparia/generators/botanypots.crop to make it effective)
  • Data generator do not remove indents now
  • Fix typo in CreateCommand
  • Add more compat crops
  • Fix generated textures not working on 1.21.1
  • Fix null value cannot be set to crop type in CropModifier
  • Optimize command syntax for /croparia create
  • Remove redundant translations
  • Crop with invalid name will not be registered

Details

Licensed MIT
Published 2 years ago
Updated 18 hours ago