Coder Social home page Coder Social logo

statement's Introduction

Statement

Library mod for the Quilt, NeoForge, Forge, and Fabric mod loaders that allows mod developers to modify blockstates of existing blocks.

Information for Players

Show/Hide Information for Players

Required Mods to Run

Show/Hide Required Mods

Playing on Fabric

Playing on Forge

  • Newest version of the Forge mod loader for whichever Minecraft version you're playing on

Playing on Quilt

Supported Minecraft Versions

Show/Hide Supported Minecraft Versions

Fabric/Quilt Versions

Supported Versions of Statement-x.y.z+1.14.4-1.20.4:
1.20.4, 1.20.2, 1.20.1, 1.19.4, 1.19.2, 1.18.2, 1.17.1, 1.16.5, 1.15.2, 1.14.4

NeoForge Versions

Supported Versions of Statement-x.y.z+1.20.4-neoforge:
1.20.4

Supported Versions of Statement-x.y.z+1.20.2-neoforge:
1.20.2

Forge Versions

Supported Versions of Statement-x.y.z+1.20.1-forge:
1.20.1

Supported Versions of Statement-x.y.z+1.19.4-forge:
1.19.4

Supported Versions of Statement-x.y.z+1.19.2-forge:
1.19.2

Supported Versions of Statement-x.y.z+1.18.2-forge:
1.18.2

Supported Versions of Statement-x.y.z+1.17.1-forge:
1.17.1

Supported Versions of Statement-x.y.z+1.16.5-forge:
1.16.5

Mod Features

Show/Hide Mod Features

Statement allows mod developers to:

  • Safely add and remove blockstate properties to/from existing blocks
  • Make new properties which would have a mutable collection of values that can be modified later
  • Perform the above points such that parts of vanilla that aren't coded with blockstate property mutability in mind don't break (e.g. certain parts of worldgen)
  • Have certain blockstates sync to the client as another type of blockstate (e.g. a property that only exists serverside)
  • Have certain blockstates' IDs be placed at the end of the blockstate ID list (prevents possible gaps in the ID list when combined with e.g. serverside properties)

Information for Developers

Show/Hide Information for Developers

Adding a Dependency

Show/Hide Dependency Information

Maven

Show/Hide Maven Information

To make use of Statement in your own mod, you'll first need to go to your
repositories block near the top of your build.gradle and add JitPack
to the bottom of the block like below:

// ...

repositories {
	// ... your other Maven repositories above, if any ...
	maven {
		url = "https://jitpack.io"
	}
}

dependencies {
	// ...
}

// ...

Mod Version and Dependency Configuration

Show/Hide Dependency Configuration Information

Now that a Maven repository is specified, add statement_version=x.y.z-w to your
gradle.properties, replacing x.y.z-w with one of the available version strings
from the list of release tags.

Lastly, in your build.gradle's dependencies block, add the corresponding line from below depending on your mod loader:

Developing for Quilt/Fabric with Loom

modApi("com.github.Virtuoel:Statement:${statement_version}", {
	exclude group: "net.fabricmc.fabric-api"
})

Developing for NeoForge with NeoGradle

implementation "com.github.Virtuoel:Statement:${statement_version}"

Developing for Forge with ForgeGradle

implementation fg.deobf("com.github.Virtuoel:Statement:${statement_version}")

Developing for Forge with Architectury Loom

modApi("com.github.Virtuoel:Statement:${statement_version}")

Fixing Mixins of Dependencies If Using ForgeGradle

Show/Hide Fix on ForgeGradle

If you're using Forge with ForgeGradle, make sure the mixingradle plugin is present
and applied:

Make sure the following line is present in your build.gradle's
buildscript { repositories {} } block.

maven { url = "https://repo.spongepowered.org/repository/maven-public/" }

Then make sure the following line is present in your build.gradle's
buildscript { dependencies {} } block.

classpath "org.spongepowered:mixingradle:0.7-SNAPSHOT"

Next, make sure the following line is present in your build.gradle.

apply plugin: "org.spongepowered.mixin"

Then regenerate your run configurations with genEclipseRuns, genIntellijRuns, or
genVSCodeRuns depending on your IDE.

Show/Hide Fix on Older ForgeGradle (4 and below)

If you're using Forge with ForgeGradle 4 or older, make sure refmap remapping is
enabled in your build.gradle's run configuration blocks.

Make sure the following lines are present in the client {}, server {}, and
data {} run configuration blocks.

property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

Then regenerate your run configurations with genEclipseRuns, genIntellijRuns, or
genVSCodeRuns depending on your IDE.

statement's People

Contributors

virtuoel 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.