Merge branch 'fabric/1.21'

Changed files
+612 -13
assets
gradle
src
main
java
xyz
naomieow
resources
assets
ibo
resourcepacks
ibo
data
minecraft
worldgen
structure_set
legacy
data
minecraft
worldgen
structure_set
versions
+5
.gitignore
··· 1 + .idea 2 + build 3 + .gradle 4 + run 5 + .gitattributes
assets/.gitkeep

This is a binary file and will not be displayed.

assets/logo.png src/main/resources/assets/ibo/icon.png
+91
build.gradle.kts
··· 1 + plugins { 2 + id("fabric-loom") version "1.7-SNAPSHOT" 3 + id("maven-publish") 4 + } 5 + 6 + 7 + class ModData { 8 + val id = property("mod.id").toString() 9 + val name = property("mod.name").toString() 10 + val version = property("mod.version").toString() 11 + val group = property("mod.group").toString() 12 + } 13 + 14 + class ModDeps { 15 + operator fun get(name: String) = property("deps.$name").toString() 16 + } 17 + 18 + val mod = ModData() 19 + val deps = ModDeps() 20 + val mcVersion = stonecutter.current.version 21 + 22 + version = "${mod.version}+$mcVersion" 23 + group = mod.group 24 + base { archivesName.set(mod.id) } 25 + 26 + loom { 27 + splitEnvironmentSourceSets() 28 + 29 + mods { 30 + create("template") { 31 + sourceSet(sourceSets["main"]) 32 + sourceSet(sourceSets["client"]) 33 + } 34 + } 35 + } 36 + 37 + repositories { 38 + mavenCentral() 39 + } 40 + 41 + dependencies { 42 + fun fapi(vararg modules: String) { 43 + modules.forEach { fabricApi.module(it, deps["fapi"]) } 44 + } 45 + 46 + minecraft("com.mojang:minecraft:${deps["minecraft_run"]}") 47 + mappings("net.fabricmc:yarn:${deps["yarn_mappings"]}:v2") 48 + modImplementation("net.fabricmc:fabric-loader:${deps["fabric_loader"]}") 49 + modImplementation("net.fabricmc.fabric-api:fabric-api:${deps["fabric_api"]}") 50 + vineflowerDecompilerClasspath("org.vineflower:vineflower:1.10.1") 51 + 52 + } 53 + 54 + java { 55 + withSourcesJar() 56 + val java = if (stonecutter.compare(mcVersion, "1.20.6") >= 0) JavaVersion.VERSION_21 else JavaVersion.VERSION_17 57 + targetCompatibility = java 58 + sourceCompatibility = java 59 + } 60 + 61 + tasks.processResources { 62 + inputs.property("id", mod.id) 63 + inputs.property("name", mod.name) 64 + inputs.property("version", mod.version) 65 + inputs.property("minecraft", deps["minecraft"]) 66 + inputs.property("incendium", deps["incendium"]) 67 + 68 + val map = mapOf( 69 + "id" to mod.id, 70 + "name" to mod.name, 71 + "version" to mod.version, 72 + "minecraft" to deps["minecraft"], 73 + "incendium" to deps["incendium"], 74 + ) 75 + 76 + filesMatching("fabric.mod.json") { expand(map) } 77 + } 78 + 79 + tasks.register<Copy>("buildAndCollect") { 80 + group = "build" 81 + from(tasks.remapJar.get().archiveFile) 82 + into(rootProject.layout.buildDirectory.file("libs/${mod.version}")) 83 + dependsOn("build") 84 + } 85 + 86 + if (stonecutter.current.isActive) { 87 + rootProject.tasks.register("buildActive") { 88 + group = "project" 89 + dependsOn(tasks.named("build")) 90 + } 91 + }
data/minecraft/worldgen/structure_set/nether_complexes.json src/main/resources/resourcepacks/ibo/data/minecraft/worldgen/structure_set/nether_complexes.json
+18
gradle.properties
··· 1 + # Done to increase the memory available to gradle. 2 + org.gradle.jvmargs=-Xmx1G 3 + org.gradle.parallel=true 4 + 5 + # Mod Details 6 + mod.id=ibo 7 + mod.name=Incendium Biomes Only 8 + mod.version=2.0.0 9 + mod.group=xyz.naomieow 10 + 11 + # Global deps 12 + deps.fabric_loader=0.15.11 13 + 14 + # Versioned deps 15 + deps.minecraft=[VERSIONED] 16 + deps.minecraft_run=[VERSIONED] 17 + deps.fabric_api=[VERSIONED] 18 + deps.yarn_mappings=[VERSIONED]
gradle/wrapper/gradle-wrapper.jar

This is a binary file and will not be displayed.

+6
gradle/wrapper/gradle-wrapper.properties
··· 1 + distributionBase=GRADLE_USER_HOME 2 + distributionPath=wrapper/dists 3 + distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip 4 + networkTimeout=10000 5 + zipStoreBase=GRADLE_USER_HOME 6 + zipStorePath=wrapper/dists
+245
gradlew
··· 1 + #!/bin/sh 2 + 3 + # 4 + # Copyright © 2015-2021 the original authors. 5 + # 6 + # Licensed under the Apache License, Version 2.0 (the "License"); 7 + # you may not use this file except in compliance with the License. 8 + # You may obtain a copy of the License at 9 + # 10 + # https://www.apache.org/licenses/LICENSE-2.0 11 + # 12 + # Unless required by applicable law or agreed to in writing, software 13 + # distributed under the License is distributed on an "AS IS" BASIS, 14 + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 + # See the License for the specific language governing permissions and 16 + # limitations under the License. 17 + # 18 + 19 + ############################################################################## 20 + # 21 + # Gradle start up script for POSIX generated by Gradle. 22 + # 23 + # Important for running: 24 + # 25 + # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 26 + # noncompliant, but you have some other compliant shell such as ksh or 27 + # bash, then to run this script, type that shell name before the whole 28 + # command line, like: 29 + # 30 + # ksh Gradle 31 + # 32 + # Busybox and similar reduced shells will NOT work, because this script 33 + # requires all of these POSIX shell features: 34 + # * functions; 35 + # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 36 + # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 37 + # * compound commands having a testable exit status, especially «case»; 38 + # * various built-in commands including «command», «set», and «ulimit». 39 + # 40 + # Important for patching: 41 + # 42 + # (2) This script targets any POSIX shell, so it avoids extensions provided 43 + # by Bash, Ksh, etc; in particular arrays are avoided. 44 + # 45 + # The "traditional" practice of packing multiple parameters into a 46 + # space-separated string is a well documented source of bugs and security 47 + # problems, so this is (mostly) avoided, by progressively accumulating 48 + # options in "$@", and eventually passing that to Java. 49 + # 50 + # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 51 + # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 52 + # see the in-line comments for details. 53 + # 54 + # There are tweaks for specific operating systems such as AIX, CygWin, 55 + # Darwin, MinGW, and NonStop. 56 + # 57 + # (3) This script is generated from the Groovy template 58 + # https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 59 + # within the Gradle project. 60 + # 61 + # You can find Gradle at https://github.com/gradle/gradle/. 62 + # 63 + ############################################################################## 64 + 65 + # Attempt to set APP_HOME 66 + 67 + # Resolve links: $0 may be a link 68 + app_path=$0 69 + 70 + # Need this for daisy-chained symlinks. 71 + while 72 + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 73 + [ -h "$app_path" ] 74 + do 75 + ls=$( ls -ld "$app_path" ) 76 + link=${ls#*' -> '} 77 + case $link in #( 78 + /*) app_path=$link ;; #( 79 + *) app_path=$APP_HOME$link ;; 80 + esac 81 + done 82 + 83 + # This is normally unused 84 + # shellcheck disable=SC2034 85 + APP_BASE_NAME=${0##*/} 86 + APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit 87 + 88 + # Use the maximum available, or set MAX_FD != -1 to use that value. 89 + MAX_FD=maximum 90 + 91 + warn () { 92 + echo "$*" 93 + } >&2 94 + 95 + die () { 96 + echo 97 + echo "$*" 98 + echo 99 + exit 1 100 + } >&2 101 + 102 + # OS specific support (must be 'true' or 'false'). 103 + cygwin=false 104 + msys=false 105 + darwin=false 106 + nonstop=false 107 + case "$( uname )" in #( 108 + CYGWIN* ) cygwin=true ;; #( 109 + Darwin* ) darwin=true ;; #( 110 + MSYS* | MINGW* ) msys=true ;; #( 111 + NONSTOP* ) nonstop=true ;; 112 + esac 113 + 114 + CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 115 + 116 + 117 + # Determine the Java command to use to start the JVM. 118 + if [ -n "$JAVA_HOME" ] ; then 119 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 120 + # IBM's JDK on AIX uses strange locations for the executables 121 + JAVACMD=$JAVA_HOME/jre/sh/java 122 + else 123 + JAVACMD=$JAVA_HOME/bin/java 124 + fi 125 + if [ ! -x "$JAVACMD" ] ; then 126 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 127 + 128 + Please set the JAVA_HOME variable in your environment to match the 129 + location of your Java installation." 130 + fi 131 + else 132 + JAVACMD=java 133 + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 134 + 135 + Please set the JAVA_HOME variable in your environment to match the 136 + location of your Java installation." 137 + fi 138 + 139 + # Increase the maximum file descriptors if we can. 140 + if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 141 + case $MAX_FD in #( 142 + max*) 143 + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 144 + # shellcheck disable=SC3045 145 + MAX_FD=$( ulimit -H -n ) || 146 + warn "Could not query maximum file descriptor limit" 147 + esac 148 + case $MAX_FD in #( 149 + '' | soft) :;; #( 150 + *) 151 + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 152 + # shellcheck disable=SC3045 153 + ulimit -n "$MAX_FD" || 154 + warn "Could not set maximum file descriptor limit to $MAX_FD" 155 + esac 156 + fi 157 + 158 + # Collect all arguments for the java command, stacking in reverse order: 159 + # * args from the command line 160 + # * the main class name 161 + # * -classpath 162 + # * -D...appname settings 163 + # * --module-path (only if needed) 164 + # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 165 + 166 + # For Cygwin or MSYS, switch paths to Windows format before running java 167 + if "$cygwin" || "$msys" ; then 168 + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 169 + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 170 + 171 + JAVACMD=$( cygpath --unix "$JAVACMD" ) 172 + 173 + # Now convert the arguments - kludge to limit ourselves to /bin/sh 174 + for arg do 175 + if 176 + case $arg in #( 177 + -*) false ;; # don't mess with options #( 178 + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 179 + [ -e "$t" ] ;; #( 180 + *) false ;; 181 + esac 182 + then 183 + arg=$( cygpath --path --ignore --mixed "$arg" ) 184 + fi 185 + # Roll the args list around exactly as many times as the number of 186 + # args, so each arg winds up back in the position where it started, but 187 + # possibly modified. 188 + # 189 + # NB: a `for` loop captures its iteration list before it begins, so 190 + # changing the positional parameters here affects neither the number of 191 + # iterations, nor the values presented in `arg`. 192 + shift # remove old arg 193 + set -- "$@" "$arg" # push replacement arg 194 + done 195 + fi 196 + 197 + 198 + # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 199 + DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 200 + 201 + # Collect all arguments for the java command; 202 + # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of 203 + # shell script including quotes and variable substitutions, so put them in 204 + # double quotes to make sure that they get re-expanded; and 205 + # * put everything else in single quotes, so that it's not re-expanded. 206 + 207 + set -- \ 208 + "-Dorg.gradle.appname=$APP_BASE_NAME" \ 209 + -classpath "$CLASSPATH" \ 210 + org.gradle.wrapper.GradleWrapperMain \ 211 + "$@" 212 + 213 + # Stop when "xargs" is not available. 214 + if ! command -v xargs >/dev/null 2>&1 215 + then 216 + die "xargs is not available" 217 + fi 218 + 219 + # Use "xargs" to parse quoted args. 220 + # 221 + # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 222 + # 223 + # In Bash we could simply go: 224 + # 225 + # readarray ARGS < <( xargs -n1 <<<"$var" ) && 226 + # set -- "${ARGS[@]}" "$@" 227 + # 228 + # but POSIX shell has neither arrays nor command substitution, so instead we 229 + # post-process each arg (as a line of input to sed) to backslash-escape any 230 + # character that might be a shell metacharacter, then use eval to reverse 231 + # that process (while maintaining the separation between arguments), and wrap 232 + # the whole thing up as a single "set" statement. 233 + # 234 + # This will of course break if any of these variables contains a newline or 235 + # an unmatched quote. 236 + # 237 + 238 + eval "set -- $( 239 + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 240 + xargs -n1 | 241 + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 242 + tr '\n' ' ' 243 + )" '"$@"' 244 + 245 + exec "$JAVACMD" "$@"
+92
gradlew.bat
··· 1 + @rem 2 + @rem Copyright 2015 the original author or authors. 3 + @rem 4 + @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 + @rem you may not use this file except in compliance with the License. 6 + @rem You may obtain a copy of the License at 7 + @rem 8 + @rem https://www.apache.org/licenses/LICENSE-2.0 9 + @rem 10 + @rem Unless required by applicable law or agreed to in writing, software 11 + @rem distributed under the License is distributed on an "AS IS" BASIS, 12 + @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 + @rem See the License for the specific language governing permissions and 14 + @rem limitations under the License. 15 + @rem 16 + 17 + @if "%DEBUG%"=="" @echo off 18 + @rem ########################################################################## 19 + @rem 20 + @rem Gradle startup script for Windows 21 + @rem 22 + @rem ########################################################################## 23 + 24 + @rem Set local scope for the variables with windows NT shell 25 + if "%OS%"=="Windows_NT" setlocal 26 + 27 + set DIRNAME=%~dp0 28 + if "%DIRNAME%"=="" set DIRNAME=. 29 + @rem This is normally unused 30 + set APP_BASE_NAME=%~n0 31 + set APP_HOME=%DIRNAME% 32 + 33 + @rem Resolve any "." and ".." in APP_HOME to make it shorter. 34 + for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 35 + 36 + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 37 + set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 38 + 39 + @rem Find java.exe 40 + if defined JAVA_HOME goto findJavaFromJavaHome 41 + 42 + set JAVA_EXE=java.exe 43 + %JAVA_EXE% -version >NUL 2>&1 44 + if %ERRORLEVEL% equ 0 goto execute 45 + 46 + echo. 47 + echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 48 + echo. 49 + echo Please set the JAVA_HOME variable in your environment to match the 50 + echo location of your Java installation. 51 + 52 + goto fail 53 + 54 + :findJavaFromJavaHome 55 + set JAVA_HOME=%JAVA_HOME:"=% 56 + set JAVA_EXE=%JAVA_HOME%/bin/java.exe 57 + 58 + if exist "%JAVA_EXE%" goto execute 59 + 60 + echo. 61 + echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 62 + echo. 63 + echo Please set the JAVA_HOME variable in your environment to match the 64 + echo location of your Java installation. 65 + 66 + goto fail 67 + 68 + :execute 69 + @rem Setup the command line 70 + 71 + set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 72 + 73 + 74 + @rem Execute Gradle 75 + "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 76 + 77 + :end 78 + @rem End local scope for the variables with windows NT shell 79 + if %ERRORLEVEL% equ 0 goto mainEnd 80 + 81 + :fail 82 + rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 + rem the _cmd.exe /c_ return code! 84 + set EXIT_CODE=%ERRORLEVEL% 85 + if %EXIT_CODE% equ 0 set EXIT_CODE=1 86 + if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 87 + exit /b %EXIT_CODE% 88 + 89 + :mainEnd 90 + if "%OS%"=="Windows_NT" endlocal 91 + 92 + :omega
+9 -13
pack.mcmeta src/main/resources/resourcepacks/legacy/pack.mcmeta
··· 1 1 { 2 2 "pack": { 3 - "pack_format": 48, 3 + "pack_format": 10, 4 4 "description": "Disables everything but biomes in Incendium" 5 5 }, 6 6 "filter": { 7 7 "block": [ 8 8 { 9 9 "namespace": "incendium", 10 - "path": "function/.*" 10 + "path": "functions/.*" 11 11 }, 12 12 { 13 13 "namespace": "incendium", 14 - "path": "structure/.*" 14 + "path": "structures/.*" 15 15 }, 16 16 { 17 17 "namespace": "incendium", 18 - "path": "advancement/.*" 18 + "path": "advancements/.*" 19 19 }, 20 20 { 21 21 "namespace": "incendium", 22 - "path": "loot_table/.*" 22 + "path": "loot_tables/.*" 23 23 }, 24 24 { 25 25 "namespace": "incendium", 26 - "path": "item_modifier/.*" 26 + "path": "item_modifiers/.*" 27 27 }, 28 28 { 29 29 "namespace": "incendium", 30 - "path": "predicate/.*" 30 + "path": "predicates/.*" 31 31 }, 32 32 { 33 33 "namespace": "incendium", 34 - "path": "recipe/.*" 34 + "path": "recipes/.*" 35 35 }, 36 36 { 37 37 "namespace": "incendium", ··· 44 44 { 45 45 "namespace": "incendium", 46 46 "path": "worldgen/template_pool/.*" 47 - }, 48 - { 49 - "namespace": "incendium", 50 - "path": "worldgen/structure/.*" 51 47 } 52 48 ] 53 49 } 54 - } 50 + }
+28
settings.gradle.kts
··· 1 + import dev.kikugie.stonecutter.StonecutterSettings 2 + 3 + pluginManagement { 4 + repositories { 5 + mavenCentral() 6 + gradlePluginPortal() 7 + maven("https://maven.fabricmc.net/") 8 + maven("https://maven.kikugie.dev/releases") 9 + } 10 + } 11 + 12 + plugins { 13 + id("dev.kikugie.stonecutter") version "0.4.3" 14 + } 15 + 16 + 17 + extensions.configure<StonecutterSettings> { 18 + kotlinController = true 19 + centralScript = "build.gradle.kts" 20 + 21 + shared { 22 + versions("1.19", "1.21") 23 + } 24 + 25 + create(rootProject) 26 + } 27 + 28 + rootProject.name = "ibo"
+31
src/main/java/xyz/naomieow/ibo/IboMod.java
··· 1 + package xyz.naomieow.ibo; 2 + 3 + import net.fabricmc.api.ModInitializer; 4 + 5 + import net.fabricmc.fabric.api.resource.ResourceManagerHelper; 6 + import net.fabricmc.fabric.api.resource.ResourcePackActivationType; 7 + import net.fabricmc.loader.api.FabricLoader; 8 + import net.minecraft.util.Identifier; 9 + 10 + public class IboMod implements ModInitializer { 11 + 12 + public static Identifier getIdentifier(String namespace, String path) { 13 + //? if >=1.21 { 14 + /*return Identifier.of(namespace, path); 15 + *///?} else 16 + return new Identifier(namespace, path); 17 + } 18 + 19 + @Override 20 + public void onInitialize() { 21 + FabricLoader.getInstance().getModContainer("ibo").ifPresent((modContainer -> ResourceManagerHelper.registerBuiltinResourcePack( 22 + //? if >=1.21 { 23 + /*getIdentifier("ibo", "ibo"), 24 + *///?} else 25 + getIdentifier("ibo", "legacy"), 26 + modContainer, 27 + "Incendium Biomes Only", 28 + ResourcePackActivationType.ALWAYS_ENABLED 29 + ))); 30 + } 31 + }
+30
src/main/resources/fabric.mod.json
··· 1 + { 2 + "schemaVersion": 1, 3 + "id": "${id}", 4 + "version": "${version}", 5 + "name": "${name}", 6 + "description": "Disables everything but biomes in Incendium", 7 + "authors": [ 8 + "Naomi Roberts <mia@naomieow.xyz>" 9 + ], 10 + "contact": { 11 + "email": "support@naomieow.xyz", 12 + "homepage": "https://modrinth.com/datapack/ibo", 13 + "sources": "https://codeberg.org/naomi/ibo", 14 + "issues": "https://codeberg.org/naomi/ibo/issues" 15 + }, 16 + "license": "LGPL-v3", 17 + "environment": "*", 18 + "entrypoints": { 19 + "main": [ 20 + "xyz.naomieow.ibo.IboMod" 21 + ] 22 + }, 23 + "mixins": [], 24 + "depends": { 25 + "fabricloader": ">=0.15", 26 + "minecraft": "${minecraft}", 27 + "fabric": "*", 28 + "incendium": "${incendium}" 29 + } 30 + }
+18
src/main/resources/resourcepacks/ibo/pack.mcmeta
··· 1 + { 2 + "pack": { 3 + "pack_format": 48, 4 + "description": "Disables everything but biomes in Incendium" 5 + }, 6 + "filter": { 7 + "block": [ 8 + { 9 + "namespace": "^incendium$", 10 + "path": "^(function|structure|advancement|loot_table|item_modifier|predicate|recipe)/.*$" 11 + }, 12 + { 13 + "namespace": "^incendium$", 14 + "path": "^worldgen/(structure|structure_set|template_pool)/.*$" 15 + } 16 + ] 17 + } 18 + }
src/main/resources/resourcepacks/ibo/pack.png

This is a binary file and will not be displayed.

+18
src/main/resources/resourcepacks/legacy/data/minecraft/worldgen/structure_set/nether_complexes.json
··· 1 + { 2 + "placement": { 3 + "type": "minecraft:random_spread", 4 + "salt": 30084232, 5 + "separation": 4, 6 + "spacing": 27 7 + }, 8 + "structures": [ 9 + { 10 + "structure": "minecraft:fortress", 11 + "weight": 2 12 + }, 13 + { 14 + "structure": "minecraft:bastion_remnant", 15 + "weight": 3 16 + } 17 + ] 18 + }
src/main/resources/resourcepacks/legacy/pack.png

This is a binary file and will not be displayed.

+11
stonecutter.gradle.kts
··· 1 + plugins { 2 + id("dev.kikugie.stonecutter") 3 + } 4 + stonecutter active "1.19" /* [SC] DO NOT EDIT */ 5 + 6 + stonecutter registerChiseled tasks.register("chiseledBuild", stonecutter.chiseled) { 7 + group = "project" 8 + ofTask("build") 9 + } 10 + 11 + stonecutter.configureEach {}
+5
versions/1.19/gradle.properties
··· 1 + deps.minecraft=>=1.19- <1.21- 2 + deps.minecraft_run=1.19 3 + deps.fabric_api=0.58.0+1.19 4 + deps.yarn_mappings=1.19+build.4 5 + deps.incendium=>=5.1.0
+5
versions/1.21/gradle.properties
··· 1 + deps.minecraft=>=1.21 2 + deps.minecraft_run=1.21 3 + deps.fabric_api=0.101.2+1.21 4 + deps.yarn_mappings=1.21+build.9 5 + deps.incendium=5.4.0