Git Product home page Git Product logo

polyconfig's Introduction

PolyConfig

PolyConfig is a mod allowing you to configure PolyMc. It uses PolyMc's api internally.

version 1

// Just mentioning a block will fill in the defaults for it, effectively prioritizing it
block "test:prioritized_block"

// Simple replacement
block "test:test_block" {
    replace "minecraft:glass"
}

// Simple replacement with a specific state
block "test:test_block2" {
    replace "minecraft:redstone_lamp" lit=true
}

// Unless specified otherwise, properties from the modded block will be copied over into the vanilla block
block "test:rope_ladder" {
    replace "minecraft:ladder"
}

// Pick from a specific group. The first one entered will be tried first
block "test:other_block" {
    replace (group)"noteblock"
    replace (group)"tripwire"
}

// You can match blocks with a regex
// Blocks that are explicitely declared will always override those declared with a regex
block "test:(other_)?block" {
    replace "stone"
}

// You can filter that specific group (TODO)
block "test:some_other_block" {
    replace (group)"leaves" waterlogged=false distance="5.."
}

block "test:some_kind_of_plant" {
    // You can merge specific values to avoid generating a block for all of them. You can use the argument to specify which one of these is the canonical one, which will be used to retrieve the resources.
    merge age="0..2"
    merge age="3.." 6
    // You can use any regex for string type properties. * will also be recognized
    merge direction="*"
    // Eliding any "replace" statement will leave PolyMc to generate it
}

// You can specify different replace entries per source state.
block "test:my_slab" {
    state type="top|double" {
        replace "minecraft:white_stained_glass"
    }
    state type="bottom" {
        replace (group)"tripwire"
    }
}

// You can also configure entities
entity "test:my_test_entity" {
    base "minecraft:zombie"
    name "yeet"
}

entity "test:my_test_entity_2" {
    base "minecraft:zombie"
    name null
}

// And you can also configure items, if you need to
item "test:magic_sword" {
    replacement "minecraft:diamond_sword" 
    enchanted true 
    rarity "uncommon" 
    lore (literal)"A very cool sword that makes explosions or smth like that"
}

item "test:combustable_powder" {
    replacement (group)"fuels" // Items can also have groups, for those a random item out of the group will be picked
}

polyconfig's People

Contributors

theepicblock avatar patbox avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.