Build correctly for 1.21

This commit is contained in:
Adam Macdonald 2024-07-21 13:41:04 +01:00
parent 737656c28d
commit f3631bdedc
8 changed files with 54 additions and 72 deletions

View File

@ -1,38 +1,37 @@
// https://github.com/FabricMC/fabric-example-mod/blob/9b028bdcd43190d4f848d5898b89177de6776535/build.gradle#L1
plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'fabric-loom' version '1.7-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
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.
// ...
}
loom {
splitEnvironmentSourceSets()
mods {
"hotbarreplace" {
sourceSet sourceSets.main
// sourceSet sourceSets.client
}
}
}
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}"
// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
}
processResources {
@ -44,36 +43,31 @@ processResources {
}
tasks.withType(JavaCompile).configureEach {
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
it.options.release = 17
it.options.release = 21
}
java {
// 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()
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
rename { "${it}_${project.base.archivesName.get()}"}
}
}
// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
create("mavenJava", MavenPublication) {
artifactId = project.archives_base_name
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.
// ...
}
}

View File

@ -1,19 +1,16 @@
# https://github.com/FabricMC/fabric-example-mod/blob/9b028bdcd43190d4f848d5898b89177de6776535/gradle.properties#L1
# Done to increase the memory available to gradle.
# Done to increase the memory available to Gradle
org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true
# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.20.4
yarn_mappings=1.20.4+build.3
loader_version=0.15.6
minecraft_version=1.21
yarn_mappings=1.21+build.9
loader_version=0.15.11
# Mod Properties
mod_version = 0.1.2
maven_group = io.github.twokilohertz.hotbarreplace
maven_group = xyz.twokilohertz
archives_base_name = HotbarReplace
# Dependencies
fabric_version=0.95.1+1.20.4
fabric_version=0.100.7+1.21

View File

@ -1,14 +1,3 @@
/*
* This file was generated by the Gradle 'init' task.
*
* The settings file is used to specify which projects to include in your build.
*
* Detailed information about configuring a multi-project build in Gradle can be found
* in the user manual at https://docs.gradle.org/8.0.2/userguide/multi_project_builds.html
*/
// https://github.com/FabricMC/fabric-example-mod/blob/9b028bdcd43190d4f848d5898b89177de6776535/settings.gradle#L1
pluginManagement {
repositories {
maven {

View File

@ -1,6 +1,6 @@
package io.github.twokilohertz.hotbarreplace;
package xyz.twokilohertz;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.api.ClientModInitializer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
@ -15,13 +15,13 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class HotbarReplace implements ModInitializer {
public class HotbarReplace implements ClientModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("hotbarreplace");
private static final MinecraftClient client = MinecraftClient.getInstance();
private static final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
@Override
public void onInitialize() {
public void onInitializeClient() {
LOGGER.info("HotbarReplace v0.1.2 initialised");
}
@ -31,7 +31,7 @@ public class HotbarReplace implements ModInitializer {
if (player.isSpectator())
return;
// Creative inventories don't run out of anyway
// Creative inventories don't run out of blocks anyway
if (player.getAbilities().creativeMode)
return;

View File

@ -1,4 +1,4 @@
package io.github.twokilohertz.hotbarreplace.mixin;
package xyz.twokilohertz.mixin;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import io.github.twokilohertz.hotbarreplace.HotbarReplace;
import xyz.twokilohertz.HotbarReplace;
@Mixin(BlockItem.class)
public class BlockItemMixin {

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -14,19 +14,22 @@
},
"license": "MIT",
"icon": "assets/hotbarreplace/icon.png",
"environment": "*",
"environment": "client",
"entrypoints": {
"main": [
"io.github.twokilohertz.hotbarreplace.HotbarReplace"
"client": [
"xyz.twokilohertz.HotbarReplace"
]
},
"mixins": [
"hotbarreplace.mixins.json"
{
"config": "hotbarreplace.mixins.json",
"environment": "client"
}
],
"depends": {
"fabricloader": ">=0.15.6",
"fabric-api": "*",
"minecraft": "~1.20",
"java": ">=17"
"fabricloader": ">=0.15.11",
"minecraft": "~1.21",
"java": ">=21",
"fabric-api": "*"
}
}
}

View File

@ -1,8 +1,7 @@
{
"required": true,
"minVersion": "0.8",
"package": "io.github.twokilohertz.hotbarreplace.mixin",
"compatibilityLevel": "JAVA_17",
"package": "xyz.twokilohertz.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [],
"client": [
"BlockItemMixin"
@ -10,4 +9,4 @@
"injectors": {
"defaultRequire": 1
}
}
}