feat: multi version dev env #4
|
@ -12,12 +12,15 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v2
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: "temurin"
|
distribution: 'temurin'
|
||||||
java-version: 17
|
java-version: |
|
||||||
|
17
|
||||||
|
21
|
||||||
|
cache: 'gradle'
|
||||||
- name: Make Gradle Executable
|
- name: Make Gradle Executable
|
||||||
run: chmod +x ./gradlew
|
run: chmod +x ./gradlew
|
||||||
- name: Build with Gradle
|
- name: Build with Gradle
|
||||||
|
@ -25,4 +28,4 @@ jobs:
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: build/libs/*.jar
|
path: 'versions/**/build/libs/*.jar'
|
96
build.gradle
96
build.gradle
|
@ -1,96 +0,0 @@
|
||||||
plugins {
|
|
||||||
id 'fabric-loom' version '1.2-SNAPSHOT'
|
|
||||||
id 'maven-publish'
|
|
||||||
}
|
|
||||||
|
|
||||||
version = project.mod_version
|
|
||||||
group = project.maven_group
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
// Add repositories to retrieve artifacts from in here.
|
|
||||||
// You should only use this when depending on other mods because
|
|
||||||
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
|
|
||||||
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
|
|
||||||
// for more information about repositories.
|
|
||||||
|
|
||||||
maven {
|
|
||||||
name = "Modrinth"
|
|
||||||
url = "https://api.modrinth.com/maven"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
// To change the versions see the gradle.properties file
|
|
||||||
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
||||||
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
|
||||||
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
||||||
|
|
||||||
// Fabric API. This is technically optional, but you probably want it anyway.
|
|
||||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
||||||
|
|
||||||
modLocalRuntime("maven.modrinth:modmenu:${project.modmenu_version}")
|
|
||||||
}
|
|
||||||
|
|
||||||
loom {
|
|
||||||
accessWidenerPath = file("src/main/resources/cc.accesswidener")
|
|
||||||
}
|
|
||||||
|
|
||||||
processResources {
|
|
||||||
inputs.property "version", project.version
|
|
||||||
inputs.property "minecraft_version", project.minecraft_version
|
|
||||||
inputs.property "loader_version", project.loader_version
|
|
||||||
filteringCharset "UTF-8"
|
|
||||||
|
|
||||||
filesMatching("fabric.mod.json") {
|
|
||||||
expand "version": project.version,
|
|
||||||
"minecraft_version": project.minecraft_version,
|
|
||||||
"loader_version": project.loader_version
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def targetJavaVersion = 17
|
|
||||||
tasks.withType(JavaCompile).configureEach {
|
|
||||||
// ensure that the encoding is set to UTF-8, no matter what the system default is
|
|
||||||
// this fixes some edge cases with special characters not displaying correctly
|
|
||||||
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
|
|
||||||
// If Javadoc is generated, this must be specified in that task too.
|
|
||||||
it.options.encoding = "UTF-8"
|
|
||||||
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
|
|
||||||
it.options.release = targetJavaVersion
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
java {
|
|
||||||
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
|
|
||||||
if (JavaVersion.current() < javaVersion) {
|
|
||||||
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
|
|
||||||
}
|
|
||||||
archivesBaseName = project.archives_base_name
|
|
||||||
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
|
|
||||||
// if it is present.
|
|
||||||
// If you remove this line, sources will not be generated.
|
|
||||||
withSourcesJar()
|
|
||||||
}
|
|
||||||
|
|
||||||
jar {
|
|
||||||
from("LICENSE") {
|
|
||||||
rename { "${it}_${project.archivesBaseName}"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// configure the maven publication
|
|
||||||
publishing {
|
|
||||||
publications {
|
|
||||||
mavenJava(MavenPublication) {
|
|
||||||
from components.java
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
|
|
||||||
repositories {
|
|
||||||
// Add repositories to publish to here.
|
|
||||||
// Notice: This block does NOT have the same function as the block in the top level.
|
|
||||||
// The repositories here will be used for publishing your artifact, not for
|
|
||||||
// retrieving dependencies.
|
|
||||||
}
|
|
||||||
}
|
|
86
build.gradle.kts
Normal file
86
build.gradle.kts
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
import dev.deftu.gradle.utils.*
|
||||||
|
|
||||||
|
import dev.deftu.gradle.tools.minecraft.CurseRelation
|
||||||
|
import dev.deftu.gradle.tools.minecraft.CurseRelationType
|
||||||
|
import com.modrinth.minotaur.dependencies.DependencyType
|
||||||
|
import com.modrinth.minotaur.dependencies.ModDependency
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
java
|
||||||
|
|
||||||
|
id("dev.deftu.gradle.multiversion")
|
||||||
|
id("dev.deftu.gradle.tools")
|
||||||
|
id("dev.deftu.gradle.tools.resources")
|
||||||
|
id("dev.deftu.gradle.tools.minecraft.api")
|
||||||
|
id("dev.deftu.gradle.tools.minecraft.loom")
|
||||||
|
id("dev.deftu.gradle.tools.publishing.maven")
|
||||||
|
id("dev.deftu.gradle.tools.minecraft.releases")
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven("https://api.modrinth.com/maven")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
if (mcData.isFabric) {
|
||||||
|
modImplementation("net.fabricmc.fabric-api:fabric-api:${mcData.dependencies.fabric.fabricApiVersion}")
|
||||||
|
modImplementation(mcData.dependencies.fabric.modMenuDependency)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loom {
|
||||||
|
accessWidenerPath = file("../../src/main/resources/cc.accesswidener")
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
base.archivesName.set(modData.id)
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
if (isLoomPresent()) {
|
||||||
|
named<org.gradle.jvm.tasks.Jar>("remapJar") {
|
||||||
|
archiveBaseName.set(modData.id)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
named<Jar>("jar") {
|
||||||
|
archiveBaseName.set(modData.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
minecraft {
|
||||||
|
accessTransformer = file("../../src/main/resources/META-INF/accesstransformer.cfg")
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
toolkitReleases {
|
||||||
|
detectVersionType.set(true)
|
||||||
|
|
||||||
|
rootProject.file("changelogs/${modData.version}.md").let { file ->
|
||||||
|
if (file.exists())
|
||||||
|
changelogFile.set(file)
|
||||||
|
}
|
||||||
|
|
||||||
|
modrinth {
|
||||||
|
projectId.set("Fs6mB0ic")
|
||||||
|
|
||||||
|
if (mcData.loader == ModLoader.FABRIC) {
|
||||||
|
dependencies.addAll(listOf(
|
||||||
|
ModDependency("P7dR8mSH", DependencyType.REQUIRED), // Fabric API
|
||||||
|
ModDependency("mOgUt4GM", DependencyType.OPTIONAL) // Mod Menu
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
curseforge {
|
||||||
|
projectId.set("901062")
|
||||||
|
|
||||||
|
if (mcData.loader == ModLoader.FABRIC) {
|
||||||
|
relations.addAll(listOf(
|
||||||
|
CurseRelation("fabric-api", CurseRelationType.REQUIRED), // Fabric API
|
||||||
|
CurseRelation("modmenu", CurseRelationType.OPTIONAL) // Mod Menu
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
changelogs/2.0.0-rc.1.md
Normal file
12
changelogs/2.0.0-rc.1.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
The mod has been revived from the dead!
|
||||||
|
|
||||||
|
### New
|
||||||
|
|
||||||
|
* 1.21 Support
|
||||||
|
* !! Enchantment books are missing from the tools tab.
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
1. Added Missing Items
|
||||||
|
* Pottery Sherds
|
||||||
|
* Smithing Templates
|
||||||
|
2. Fixed The Brewing Tab Icon
|
|
@ -1,20 +1,7 @@
|
||||||
# Done to increase the memory available to gradle.
|
# Done to increase the memory available to gradle.
|
||||||
org.gradle.jvmargs=-Xmx1G
|
org.gradle.jvmargs=-Xmx2G
|
||||||
|
|
||||||
# Fabric Properties
|
mod.name=Cluttered Creative
|
||||||
# check these on https://modmuss50.me/fabric.html
|
mod.id=cc
|
||||||
minecraft_version=1.20.3
|
mod.version=2.0.0-rc.1
|
||||||
yarn_mappings=1.20.3+build.1
|
mod.group=me.theclashfruit
|
||||||
loader_version=0.15.1
|
|
||||||
|
|
||||||
# Mod Properties
|
|
||||||
mod_version = 1.0.0+mc1.20.3
|
|
||||||
maven_group = me.theclashfruit
|
|
||||||
archives_base_name = cc
|
|
||||||
|
|
||||||
# Dependencies
|
|
||||||
# check this on https://modmuss50.me/fabric.html
|
|
||||||
fabric_version=0.91.1+1.20.3
|
|
||||||
|
|
||||||
# Local Dev Mods
|
|
||||||
modmenu_version=9.0.0-pre.1
|
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|
23
root.gradle.kts
Normal file
23
root.gradle.kts
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
plugins {
|
||||||
|
id("dev.deftu.gradle.multiversion-root")
|
||||||
|
}
|
||||||
|
|
||||||
|
preprocess {
|
||||||
|
val fabric_1_21 = createNode("1.21-fabric", 1210, "yarn")
|
||||||
|
val fabric_1_20_6 = createNode("1.20.6-fabric", 1206, "yarn")
|
||||||
|
val fabric_1_20_5 = createNode("1.20.5-fabric", 1205, "yarn")
|
||||||
|
val fabric_1_20_4 = createNode("1.20.4-fabric", 1204, "yarn")
|
||||||
|
val fabric_1_20_3 = createNode("1.20.3-fabric", 1203, "yarn")
|
||||||
|
val fabric_1_20_2 = createNode("1.20.2-fabric", 1202, "yarn")
|
||||||
|
val fabric_1_20_1 = createNode("1.20.1-fabric", 1201, "yarn")
|
||||||
|
val fabric_1_20 = createNode("1.20-fabric", 1200, "yarn")
|
||||||
|
|
||||||
|
fabric_1_21.link(fabric_1_20_6)
|
||||||
|
//fabric_1_20_6.link(fabric_1_20_5)
|
||||||
|
fabric_1_20_6.link(fabric_1_20_4)
|
||||||
|
//fabric_1_20_5.link(fabric_1_20_4)
|
||||||
|
fabric_1_20_4.link(fabric_1_20_3)
|
||||||
|
fabric_1_20_3.link(fabric_1_20_2)
|
||||||
|
fabric_1_20_2.link(fabric_1_20_1)
|
||||||
|
fabric_1_20_1.link(fabric_1_20)
|
||||||
|
}
|
|
@ -1,9 +0,0 @@
|
||||||
pluginManagement {
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
name = 'Fabric'
|
|
||||||
url = 'https://maven.fabricmc.net/'
|
|
||||||
}
|
|
||||||
gradlePluginPortal()
|
|
||||||
}
|
|
||||||
}
|
|
44
settings.gradle.kts
Normal file
44
settings.gradle.kts
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
maven("https://maven.deftu.dev/releases")
|
||||||
|
maven("https://maven.fabricmc.net")
|
||||||
|
maven("https://maven.architectury.dev/")
|
||||||
|
maven("https://maven.minecraftforge.net")
|
||||||
|
maven("https://maven.neoforged.net/releases")
|
||||||
|
maven("https://repo.essential.gg/repository/maven-public")
|
||||||
|
maven("https://server.bbkr.space/artifactory/libs-release/")
|
||||||
|
maven("https://jitpack.io/")
|
||||||
|
|
||||||
|
maven("https://maven.deftu.dev/snapshots")
|
||||||
|
mavenLocal()
|
||||||
|
|
||||||
|
gradlePluginPortal()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id("dev.deftu.gradle.multiversion-root") version("2.2.3")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val projectName: String = "Cluttered Creative"
|
||||||
|
|
||||||
|
rootProject.name = projectName
|
||||||
|
rootProject.buildFileName = "root.gradle.kts"
|
||||||
|
|
||||||
|
listOf(
|
||||||
|
"1.20-fabric",
|
||||||
|
"1.20.1-fabric",
|
||||||
|
"1.20.2-fabric",
|
||||||
|
"1.20.3-fabric",
|
||||||
|
"1.20.4-fabric",
|
||||||
|
//"1.20.5-fabric",
|
||||||
|
"1.20.6-fabric",
|
||||||
|
"1.21-fabric",
|
||||||
|
).forEach { version ->
|
||||||
|
include(":$version")
|
||||||
|
project(":$version").apply {
|
||||||
|
projectDir = file("versions/$version")
|
||||||
|
buildFileName = "../../build.gradle.kts"
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,6 +9,6 @@ public class ClutteredCreative implements ModInitializer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
|
LOGGER.info("ClutteredCreative has been initialized!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
package me.theclashfruit.cc.client;
|
|
||||||
|
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
|
||||||
|
|
||||||
public class ClutteredCreativeClient implements ClientModInitializer {
|
|
||||||
@Override
|
|
||||||
public void onInitializeClient() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,7 +1,6 @@
|
||||||
package me.theclashfruit.cc.mixin;
|
package me.theclashfruit.cc.mixin;
|
||||||
|
|
||||||
import net.minecraft.enchantment.Enchantment;
|
import net.minecraft.enchantment.Enchantment;
|
||||||
import net.minecraft.enchantment.EnchantmentTarget;
|
|
||||||
import net.minecraft.item.Instrument;
|
import net.minecraft.item.Instrument;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemGroup;
|
import net.minecraft.item.ItemGroup;
|
||||||
|
@ -12,6 +11,12 @@ import net.minecraft.registry.tag.TagKey;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||||
|
|
||||||
|
//#if MC >= 1.20.6
|
||||||
|
import net.minecraft.resource.featuretoggle.FeatureSet;
|
||||||
|
//#elseif MC < 1.20.5
|
||||||
|
//$$ import net.minecraft.enchantment.EnchantmentTarget;
|
||||||
|
//#endif
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@Mixin(ItemGroups.class)
|
@Mixin(ItemGroups.class)
|
||||||
|
@ -21,13 +26,42 @@ public interface ItemGroupsInterfaceMixin {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#if MC >= 1.20.6
|
||||||
@Invoker("addPotions")
|
@Invoker("addPotions")
|
||||||
static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper<Potion> registryWrapper, Item item, ItemGroup.StackVisibility visibility) {
|
static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper<Potion> registryWrapper, Item item, ItemGroup.StackVisibility stackVisibility, FeatureSet featureSet) {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
|
//#elseif MC >= 1.20.5
|
||||||
|
//$$ @Invoker("addPotions")
|
||||||
|
//$$ static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper<Potion> registryWrapper, Item item, ItemGroup.StackVisibility visibility) {
|
||||||
|
//$$ throw new AssertionError();
|
||||||
|
//$$ }
|
||||||
|
//#else
|
||||||
|
//$$ @Invoker("addPotions")
|
||||||
|
//$$ static void invokeAddPotions(ItemGroup.Entries entries, RegistryWrapper<Potion> registryWrapper, Item item, ItemGroup.StackVisibility visibility) {
|
||||||
|
//$$ throw new AssertionError();
|
||||||
|
//$$ }
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#if MC >= 1.21
|
||||||
@Invoker("addMaxLevelEnchantedBooks")
|
@Invoker("addMaxLevelEnchantedBooks")
|
||||||
static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper<Enchantment> registryWrapper, Set<EnchantmentTarget> enchantmentTargets, ItemGroup.StackVisibility visibility) {
|
static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper<Enchantment> registryWrapper, ItemGroup.StackVisibility visibility) {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
|
//#elseif MC >= 1.20.6
|
||||||
|
//$$ @Invoker("addMaxLevelEnchantedBooks")
|
||||||
|
//$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper<Enchantment> registryWrapper, Set<TagKey<Item>> set, ItemGroup.StackVisibility stackVisibility, FeatureSet featureSet) {
|
||||||
|
//$$ throw new AssertionError();
|
||||||
|
//$$ }
|
||||||
|
//#elseif MC >= 1.20.5
|
||||||
|
//$$ @Invoker("addMaxLevelEnchantedBooks")
|
||||||
|
//$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper<Enchantment> registryWrapper, Set<TagKey<Item>> enchantmentTargets, ItemGroup.StackVisibility visibility) {
|
||||||
|
//$$ throw new AssertionError();
|
||||||
|
//$$ }
|
||||||
|
//#else
|
||||||
|
//$$ @Invoker("addMaxLevelEnchantedBooks")
|
||||||
|
//$$ static void invokeAddMaxLevelEnchantedBooks(ItemGroup.Entries entries, RegistryWrapper<Enchantment> registryWrapper, Set<EnchantmentTarget> enchantmentTargets, ItemGroup.StackVisibility visibility) {
|
||||||
|
//$$ throw new AssertionError();
|
||||||
|
//$$ }
|
||||||
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,22 +2,28 @@ package me.theclashfruit.cc.mixin;
|
||||||
|
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.enchantment.EnchantmentLevelEntry;
|
import net.minecraft.enchantment.EnchantmentLevelEntry;
|
||||||
import net.minecraft.enchantment.EnchantmentTarget;
|
|
||||||
import net.minecraft.enchantment.Enchantments;
|
import net.minecraft.enchantment.Enchantments;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.potion.PotionUtil;
|
|
||||||
import net.minecraft.potion.Potions;
|
import net.minecraft.potion.Potions;
|
||||||
import net.minecraft.registry.Registry;
|
import net.minecraft.registry.Registry;
|
||||||
import net.minecraft.registry.RegistryKey;
|
import net.minecraft.registry.RegistryKey;
|
||||||
import net.minecraft.registry.RegistryKeys;
|
import net.minecraft.registry.RegistryKeys;
|
||||||
import net.minecraft.registry.tag.InstrumentTags;
|
import net.minecraft.registry.tag.InstrumentTags;
|
||||||
|
import net.minecraft.registry.tag.ItemTags;
|
||||||
|
import net.minecraft.registry.tag.TagKey;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.village.raid.Raid;
|
import net.minecraft.village.raid.Raid;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.*;
|
||||||
import org.spongepowered.asm.mixin.Overwrite;
|
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
|
||||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||||
|
|
||||||
|
//#if MC >= 1.20.6
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.component.type.PotionContentsComponent;
|
||||||
|
//#else
|
||||||
|
//$$ import net.minecraft.enchantment.EnchantmentTarget;
|
||||||
|
//$$ import net.minecraft.potion.PotionUtil;
|
||||||
|
//#endif
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -58,12 +64,25 @@ public class ItemGroupsMixin {
|
||||||
.type(ItemGroup.Type.HOTBAR)
|
.type(ItemGroup.Type.HOTBAR)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
//#if MC >= 1.21
|
||||||
|
@Unique
|
||||||
|
private static final Identifier INVENTORY_TAB_TEXTURE_ID = ItemGroup.getTabTextureId("inventory");
|
||||||
|
@Unique
|
||||||
|
private static final Identifier ITEM_SEARCH_TAB_TEXTURE_ID = ItemGroup.getTabTextureId("item_search");
|
||||||
|
//#endif
|
||||||
|
|
||||||
@Unique
|
@Unique
|
||||||
private static final ItemGroup inventoryGroup = ItemGroup
|
private static final ItemGroup inventoryGroup = ItemGroup
|
||||||
.create(ItemGroup.Row.BOTTOM, 6)
|
.create(ItemGroup.Row.BOTTOM, 6)
|
||||||
.displayName(Text.translatable("itemGroup.inventory"))
|
.displayName(Text.translatable("itemGroup.inventory"))
|
||||||
.icon(() -> new ItemStack(Blocks.CHEST))
|
.icon(() -> new ItemStack(Blocks.CHEST))
|
||||||
.texture("inventory.png")
|
.texture(
|
||||||
|
//#if MC >= 1.21
|
||||||
|
INVENTORY_TAB_TEXTURE_ID
|
||||||
|
//#else
|
||||||
|
//$$ "inventory.png"
|
||||||
|
//#endif
|
||||||
|
)
|
||||||
.noRenderedName()
|
.noRenderedName()
|
||||||
.special()
|
.special()
|
||||||
.type(ItemGroup.Type.INVENTORY)
|
.type(ItemGroup.Type.INVENTORY)
|
||||||
|
@ -91,7 +110,13 @@ public class ItemGroupsMixin {
|
||||||
|
|
||||||
content.addAll(itemGroupSet);
|
content.addAll(itemGroupSet);
|
||||||
})
|
})
|
||||||
.texture("item_search.png")
|
.texture(
|
||||||
|
//#if MC >= 1.21
|
||||||
|
ITEM_SEARCH_TAB_TEXTURE_ID
|
||||||
|
//#else
|
||||||
|
//$$ "item_search.png"
|
||||||
|
//#endif
|
||||||
|
)
|
||||||
.special()
|
.special()
|
||||||
.type(ItemGroup.Type.SEARCH)
|
.type(ItemGroup.Type.SEARCH)
|
||||||
.build();
|
.build();
|
||||||
|
@ -902,7 +927,12 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.GREEN_BANNER);
|
content.add(Items.GREEN_BANNER);
|
||||||
content.add(Items.RED_BANNER);
|
content.add(Items.RED_BANNER);
|
||||||
content.add(Items.BLACK_BANNER);
|
content.add(Items.BLACK_BANNER);
|
||||||
content.add(Raid.getOminousBanner());
|
|
||||||
|
//#if MC >= 1.20.6
|
||||||
|
content.add(Raid.getOminousBanner(displayContext.lookup().getWrapperOrThrow(RegistryKeys.BANNER_PATTERN)));
|
||||||
|
//#else
|
||||||
|
//$$ content.add(Raid.getOminousBanner());
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.END_CRYSTAL);
|
content.add(Items.END_CRYSTAL);
|
||||||
|
|
||||||
|
@ -967,7 +997,7 @@ public class ItemGroupsMixin {
|
||||||
|
|
||||||
Registry.register(
|
Registry.register(
|
||||||
registry,
|
registry,
|
||||||
REDSTONE,
|
ItemGroupsMixin.REDSTONE,
|
||||||
ItemGroup
|
ItemGroup
|
||||||
.create(ItemGroup.Row.TOP, 2)
|
.create(ItemGroup.Row.TOP, 2)
|
||||||
.type(ItemGroup.Type.CATEGORY)
|
.type(ItemGroup.Type.CATEGORY)
|
||||||
|
@ -1132,7 +1162,12 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.BEACON);
|
content.add(Items.BEACON);
|
||||||
content.add(Items.TURTLE_EGG);
|
content.add(Items.TURTLE_EGG);
|
||||||
content.add(Items.CONDUIT);
|
content.add(Items.CONDUIT);
|
||||||
content.add(Items.SCUTE);
|
|
||||||
|
//#if MC >= 1.20
|
||||||
|
content.add(Items.TURTLE_SCUTE);
|
||||||
|
//#else
|
||||||
|
//$$ content.add(Items.SCUTE);
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.COAL);
|
content.add(Items.COAL);
|
||||||
content.add(Items.CHARCOAL);
|
content.add(Items.CHARCOAL);
|
||||||
|
@ -1361,6 +1396,7 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.FROGSPAWN);
|
content.add(Items.FROGSPAWN);
|
||||||
content.add(Items.ECHO_SHARD);
|
content.add(Items.ECHO_SHARD);
|
||||||
|
|
||||||
|
//#if MC >= 1.20
|
||||||
content.add(Items.ANGLER_POTTERY_SHERD);
|
content.add(Items.ANGLER_POTTERY_SHERD);
|
||||||
content.add(Items.ARCHER_POTTERY_SHERD);
|
content.add(Items.ARCHER_POTTERY_SHERD);
|
||||||
content.add(Items.ARMS_UP_POTTERY_SHERD);
|
content.add(Items.ARMS_UP_POTTERY_SHERD);
|
||||||
|
@ -1381,6 +1417,7 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.SHELTER_POTTERY_SHERD);
|
content.add(Items.SHELTER_POTTERY_SHERD);
|
||||||
content.add(Items.SKULL_POTTERY_SHERD);
|
content.add(Items.SKULL_POTTERY_SHERD);
|
||||||
content.add(Items.SNORT_POTTERY_SHERD);
|
content.add(Items.SNORT_POTTERY_SHERD);
|
||||||
|
//#endif
|
||||||
})
|
})
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
@ -1438,7 +1475,7 @@ public class ItemGroupsMixin {
|
||||||
|
|
||||||
Registry.register(
|
Registry.register(
|
||||||
registry,
|
registry,
|
||||||
TOOLS,
|
ItemGroupsMixin.TOOLS,
|
||||||
ItemGroup
|
ItemGroup
|
||||||
.create(ItemGroup.Row.BOTTOM, 2)
|
.create(ItemGroup.Row.BOTTOM, 2)
|
||||||
.type(ItemGroup.Type.CATEGORY)
|
.type(ItemGroup.Type.CATEGORY)
|
||||||
|
@ -1487,14 +1524,18 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.SPYGLASS);
|
content.add(Items.SPYGLASS);
|
||||||
content.add(Items.SHEARS);
|
content.add(Items.SHEARS);
|
||||||
|
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.EFFICIENCY, 5)));
|
//#if MC >= 1.20.6
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.SILK_TOUCH, 1)));
|
LOGGER.info("WHY TF 1.20.6 HAS TO FUCK SHIT UP? HOW DO I MAKE AN ENCHANTED BOOK???????????????");
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.UNBREAKING, 3)));
|
//#else
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.FORTUNE, 3)));
|
//$$ content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.EFFICIENCY, 5)));
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LUCK_OF_THE_SEA, 3)));
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.SILK_TOUCH, 1)));
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LURE, 3)));
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.UNBREAKING, 3)));
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.MENDING, 1)));
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.FORTUNE, 3)));
|
||||||
content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.VANISHING_CURSE, 1)));
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LUCK_OF_THE_SEA, 3)));
|
||||||
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.LURE, 3)));
|
||||||
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.MENDING, 1)));
|
||||||
|
//$$content.add(EnchantedBookItem.forEnchantment(new EnchantmentLevelEntry(Enchantments.VANISHING_CURSE, 1)));
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.LEAD);
|
content.add(Items.LEAD);
|
||||||
content.add(Items.NAME_TAG);
|
content.add(Items.NAME_TAG);
|
||||||
|
@ -1552,20 +1593,40 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.NETHERITE_LEGGINGS);
|
content.add(Items.NETHERITE_LEGGINGS);
|
||||||
content.add(Items.NETHERITE_BOOTS);
|
content.add(Items.NETHERITE_BOOTS);
|
||||||
|
|
||||||
EnumSet<EnchantmentTarget> set = EnumSet.allOf(EnchantmentTarget.class);
|
//#if MC >= 1.21
|
||||||
|
displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent((impl) -> {
|
||||||
displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent(wrapper -> {
|
ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, impl, ItemGroup.StackVisibility.PARENT_TAB_ONLY);
|
||||||
ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, wrapper, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY);
|
|
||||||
});
|
});
|
||||||
|
//#elseif MC >= 1.20.6
|
||||||
|
//$$ Set<TagKey<Item>> set = Set.of(ItemTags.FOOT_ARMOR_ENCHANTABLE, ItemTags.LEG_ARMOR_ENCHANTABLE, ItemTags.CHEST_ARMOR_ENCHANTABLE, ItemTags.HEAD_ARMOR_ENCHANTABLE, ItemTags.ARMOR_ENCHANTABLE, ItemTags.SWORD_ENCHANTABLE, ItemTags.SHARP_WEAPON_ENCHANTABLE, ItemTags.MACE_ENCHANTABLE, ItemTags.FIRE_ASPECT_ENCHANTABLE, ItemTags.WEAPON_ENCHANTABLE, ItemTags.MINING_ENCHANTABLE, ItemTags.MINING_LOOT_ENCHANTABLE, ItemTags.FISHING_ENCHANTABLE, ItemTags.TRIDENT_ENCHANTABLE, ItemTags.DURABILITY_ENCHANTABLE, ItemTags.BOW_ENCHANTABLE, ItemTags.EQUIPPABLE_ENCHANTABLE, ItemTags.CROSSBOW_ENCHANTABLE, ItemTags.VANISHING_ENCHANTABLE);
|
||||||
|
//$$
|
||||||
|
//$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent((impl) -> {
|
||||||
|
//$$ ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, impl, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY, displayContext.comp_1251());
|
||||||
|
//$$ });
|
||||||
|
//#else
|
||||||
|
//$$ EnumSet<EnchantmentTarget> set = EnumSet.allOf(EnchantmentTarget.class);
|
||||||
|
//$$
|
||||||
|
//$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.ENCHANTMENT).ifPresent(wrapper -> {
|
||||||
|
//$$ ItemGroupsInterfaceMixin.invokeAddMaxLevelEnchantedBooks(content, wrapper, set, ItemGroup.StackVisibility.PARENT_TAB_ONLY);
|
||||||
|
//$$ });
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.SPECTRAL_ARROW);
|
content.add(Items.SPECTRAL_ARROW);
|
||||||
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS));
|
|
||||||
|
//#if MC >= 1.20.6
|
||||||
|
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> {
|
||||||
|
ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251());
|
||||||
|
});
|
||||||
|
//#else
|
||||||
|
//$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.TIPPED_ARROW, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS));
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.SHIELD);
|
content.add(Items.SHIELD);
|
||||||
content.add(Items.TOTEM_OF_UNDYING);
|
content.add(Items.TOTEM_OF_UNDYING);
|
||||||
content.add(Items.TRIDENT);
|
content.add(Items.TRIDENT);
|
||||||
content.add(Items.CROSSBOW);
|
content.add(Items.CROSSBOW);
|
||||||
|
|
||||||
|
//#if MC >= 1.20
|
||||||
content.add(Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE);
|
content.add(Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE);
|
||||||
content.add(Items.SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE);
|
content.add(Items.SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE);
|
||||||
content.add(Items.VEX_ARMOR_TRIM_SMITHING_TEMPLATE);
|
content.add(Items.VEX_ARMOR_TRIM_SMITHING_TEMPLATE);
|
||||||
|
@ -1583,6 +1644,7 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.RIB_ARMOR_TRIM_SMITHING_TEMPLATE);
|
content.add(Items.RIB_ARMOR_TRIM_SMITHING_TEMPLATE);
|
||||||
content.add(Items.EYE_ARMOR_TRIM_SMITHING_TEMPLATE);
|
content.add(Items.EYE_ARMOR_TRIM_SMITHING_TEMPLATE);
|
||||||
content.add(Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE);
|
content.add(Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE);
|
||||||
|
//#endif
|
||||||
})
|
})
|
||||||
.build()
|
.build()
|
||||||
);
|
);
|
||||||
|
@ -1594,13 +1656,24 @@ public class ItemGroupsMixin {
|
||||||
.create(ItemGroup.Row.BOTTOM, 4)
|
.create(ItemGroup.Row.BOTTOM, 4)
|
||||||
.type(ItemGroup.Type.CATEGORY)
|
.type(ItemGroup.Type.CATEGORY)
|
||||||
.displayName(Text.translatable("itemGroup.brewing"))
|
.displayName(Text.translatable("itemGroup.brewing"))
|
||||||
.icon(() -> PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER))
|
.icon(() ->
|
||||||
.entries((displayContext, content) -> {
|
//#if MC >= 1.20.6
|
||||||
|
PotionContentsComponent.createStack(Items.POTION, Potions.WATER)
|
||||||
|
//#else
|
||||||
|
//$$ PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER)
|
||||||
|
//#endif
|
||||||
|
).entries((displayContext, content) -> {
|
||||||
content.add(Items.GHAST_TEAR);
|
content.add(Items.GHAST_TEAR);
|
||||||
|
|
||||||
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> {
|
//#if MC >= 1.20.6
|
||||||
ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> {
|
||||||
|
ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251());
|
||||||
});
|
});
|
||||||
|
//#else
|
||||||
|
//$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> {
|
||||||
|
//$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
||||||
|
//$$ });
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.GLASS_BOTTLE);
|
content.add(Items.GLASS_BOTTLE);
|
||||||
content.add(Items.FERMENTED_SPIDER_EYE);
|
content.add(Items.FERMENTED_SPIDER_EYE);
|
||||||
|
@ -1613,10 +1686,17 @@ public class ItemGroupsMixin {
|
||||||
content.add(Items.RABBIT_FOOT);
|
content.add(Items.RABBIT_FOOT);
|
||||||
content.add(Items.DRAGON_BREATH);
|
content.add(Items.DRAGON_BREATH);
|
||||||
|
|
||||||
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> {
|
//#if MC >= 1.20.6
|
||||||
ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent((impl) -> {
|
||||||
ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251());
|
||||||
|
ItemGroupsInterfaceMixin.invokeAddPotions(content, impl, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS, displayContext.comp_1251());
|
||||||
});
|
});
|
||||||
|
//#else
|
||||||
|
//$$ displayContext.lookup().getOptionalWrapper(RegistryKeys.POTION).ifPresent(wrapper -> {
|
||||||
|
//$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.SPLASH_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
||||||
|
//$$ ItemGroupsInterfaceMixin.invokeAddPotions(content, wrapper, Items.LINGERING_POTION, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS);
|
||||||
|
//$$ });
|
||||||
|
//#endif
|
||||||
|
|
||||||
content.add(Items.PHANTOM_MEMBRANE);
|
content.add(Items.PHANTOM_MEMBRANE);
|
||||||
})
|
})
|
||||||
|
|
1
src/main/resources/META-INF/accesstransformer.cfg
Normal file
1
src/main/resources/META-INF/accesstransformer.cfg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
public net.minecraft.world.item.CreativeModeTab.Builder type(Lnet/minecraft/world/item/CreativeModeTab.Type;)Lnet/minecraft/world/item/CreativeModeTab/Builder;
|
15
src/main/resources/META-INF/mods.toml
Normal file
15
src/main/resources/META-INF/mods.toml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
modLoader="javafml"
|
||||||
|
loaderVersion="[31,)"
|
||||||
|
issueTrackerURL="https://git.theclashfruit.me/TheClashFruit/ClutteredCreative/issues"
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
[[mods]]
|
||||||
|
modId="cc"
|
||||||
|
version="${mod_version}"
|
||||||
|
displayName="Cluttered Creative"
|
||||||
|
description="Bring back the old cluttered creative inventory."
|
||||||
|
authors="TheClashFruit"
|
||||||
|
logoFile="assets/cc/icon.png"
|
||||||
|
|
||||||
|
[[mixins]]
|
||||||
|
config = "cc.mixins.json"
|
15
src/main/resources/META-INF/neoforge.mods.toml
Normal file
15
src/main/resources/META-INF/neoforge.mods.toml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
modLoader="javafml"
|
||||||
|
loaderVersion="[1,)"
|
||||||
|
issueTrackerURL="https://git.theclashfruit.me/TheClashFruit/ClutteredCreative/issues"
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
[[mods]]
|
||||||
|
modId="cc"
|
||||||
|
version="${mod_version}"
|
||||||
|
displayName="Cluttered Creative"
|
||||||
|
description="Bring back the old cluttered creative inventory."
|
||||||
|
authors="TheClashFruit"
|
||||||
|
logoFile="assets/cc/icon.png"
|
||||||
|
|
||||||
|
[[mixins]]
|
||||||
|
config = "cc.mixins.json"
|
|
@ -1,3 +1,10 @@
|
||||||
accessWidener v1 named
|
accessWidener v1 named
|
||||||
|
|
||||||
|
accessible class net/minecraft/item/ItemGroup$StackVisibility
|
||||||
|
|
||||||
accessible method net/minecraft/item/ItemGroup$Builder type (Lnet/minecraft/item/ItemGroup$Type;)Lnet/minecraft/item/ItemGroup$Builder;
|
accessible method net/minecraft/item/ItemGroup$Builder type (Lnet/minecraft/item/ItemGroup$Type;)Lnet/minecraft/item/ItemGroup$Builder;
|
||||||
|
|
||||||
|
accessible field net/minecraft/item/ItemGroups INVENTORY Lnet/minecraft/registry/RegistryKey;
|
||||||
|
accessible field net/minecraft/item/ItemGroups HOTBAR Lnet/minecraft/registry/RegistryKey;
|
||||||
|
accessible field net/minecraft/item/ItemGroups SEARCH Lnet/minecraft/registry/RegistryKey;
|
||||||
|
accessible field net/minecraft/item/ItemGroups COMBAT Lnet/minecraft/registry/RegistryKey;
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"id": "cc",
|
"id": "cc",
|
||||||
"version": "${version}",
|
"version": "${mod_version}",
|
||||||
"name": "Cluttered Creative",
|
"name": "Cluttered Creative",
|
||||||
"description": "Bring back the old cluttered creative inventory.",
|
"description": "Bring back the old cluttered creative inventory.",
|
||||||
"authors": [
|
"authors": [
|
||||||
|
@ -16,9 +16,6 @@
|
||||||
"icon": "assets/cc/icon.png",
|
"icon": "assets/cc/icon.png",
|
||||||
"environment": "*",
|
"environment": "*",
|
||||||
"entrypoints": {
|
"entrypoints": {
|
||||||
"client": [
|
|
||||||
"me.theclashfruit.cc.client.ClutteredCreativeClient"
|
|
||||||
],
|
|
||||||
"main": [
|
"main": [
|
||||||
"me.theclashfruit.cc.ClutteredCreative"
|
"me.theclashfruit.cc.ClutteredCreative"
|
||||||
]
|
]
|
||||||
|
@ -28,9 +25,9 @@
|
||||||
],
|
],
|
||||||
"accessWidener" : "cc.accesswidener",
|
"accessWidener" : "cc.accesswidener",
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=${loader_version}",
|
"fabricloader": ">=0.15.1",
|
||||||
"fabric": "*",
|
"fabric": "*",
|
||||||
"minecraft": ">=${minecraft_version}"
|
"minecraft": "${mc_version}"
|
||||||
},
|
},
|
||||||
"custom": {
|
"custom": {
|
||||||
"modmenu": {
|
"modmenu": {
|
||||||
|
|
1
versions/mainProject
Normal file
1
versions/mainProject
Normal file
|
@ -0,0 +1 @@
|
||||||
|
1.21-fabric
|
Loading…
Reference in a new issue