Croparia-IF

Croparia-IF

Mod

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

Client and server Game MechanicsTechnologyUtility

38.6k downloads
8 followers
Follow Save

croparia-if-1.21.4-fabric-1.0.2-a

Changelog

NOTE⚠️: Breaking changes are present. You may need to clear your config files & data generators to avoid issues.

Gameplay:

  • Unify translations for elemental things.
  • Fix compatibility issues with Tom's Simple Storage.
  • Fix REI issue on server side.
  • Fix crash on duplicate crops.
  • Fix crop command not working.

Technical:

  • (Extracted) Placeholder API
    • Extracted from Generator API, allow placeholders to be defined conveniently.
    • Originally, placeholder can only be defined each time with non-structured string. Now it is redesigned with OOP style.
      • For example, previously you need to define a placeholder or an ID like this:
        static Placeholder<ResourceLocation> ID = Placeholder.of("\\{my_id}", id -> id.toString());
        static Placeholder<ResourceLocation> ID_NAMESPACE = Placeholder.of("\\{my_id_namespace}", id -> id.toString());
        static Placeholder<ResourceLocation> ID_PATH = Placeholder.of("\\{my_id_path}", id -> id.toString());
        
        static void foo() {
            ResourceLocation myId = new ResourceLocation("example", "my_entry");
            String id = ID.replace("{my_id}", myId);
            String namespace = ID.replace("{my_id_namespace}", myId);
            String path = ID.replace("{my_id_path}", myId);
        }
        
        Now you can define it like this:
        static Placeholder<MyEntry> PLACEHOLDER = Placeholder.build(node -> node.then(
            Pattern.compile("id"), TypeMapper.of(entry -> entry.getId()), Placeholder.ID
        ));
        
        static void foo() {
            MyEntry entry = new MyEntry(ResourceLocation.parse("example:my_entry"));
            String id = PLACEHOLDER.replace("{id}", entry);
            String namespace = PLACEHOLDER.replace("{id.namespace}", entry);
            String path = PLACEHOLDER.replace("{id.path}", entry);
        }
        
    • The old placeholders are removed, you can use the new place.holder style instead.
  • (Update) Generator API
    • Updated to use the new Placeholder API.
    • AggregatedGenerator now supports accumulative mode, just like the LangGenerator.
  • (Update) Element API
    • Element is back to enum.
  • (Update) Codec API
    • Fix MultiFieldCodec encoding.
    • TestedFieldCodec is removed, MutilFieldCodec now calls TestedCodec directly.

Files

croparia-if-1.21.4-fabric-1.0.2-a.jar(1.63 MiB) Primary Download