diff --git a/gradle.properties b/gradle.properties index d15527d..89a8c32 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,15 +4,15 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.21 -yarn_mappings=1.21+build.2 -loader_version=0.15.11 +minecraft_version=1.21.5 +yarn_mappings=1.21.5+build.1 +loader_version=0.16.14 # Dependencies -fabric_version=0.100.1+1.21 +fabric_version=0.123.2+1.21.5 # Mod Properties mod_id=randomblockplacement -mod_version=1.0.0-1.21.0 +mod_version=1.0.0-1.21.5 maven_group=de.guntram.mcmod.randomblockplacement archives_base_name=RandomBlockPlacement \ No newline at end of file diff --git a/src/main/java/de/guntram/mcmod/randomblockplacement/RandomBlockPlacement.java b/src/main/java/de/guntram/mcmod/randomblockplacement/RandomBlockPlacement.java index 026e949..d2285a6 100644 --- a/src/main/java/de/guntram/mcmod/randomblockplacement/RandomBlockPlacement.java +++ b/src/main/java/de/guntram/mcmod/randomblockplacement/RandomBlockPlacement.java @@ -1,5 +1,6 @@ package de.guntram.mcmod.randomblockplacement; +import de.guntram.mcmod.randomblockplacement.mixins.PlayerInventoryAccessor; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; @@ -91,7 +92,7 @@ public void onPlayerInteract() { return; } PlayerInventory inventory = player.getInventory(); - int index = inventory.selectedSlot; + int index = ((PlayerInventoryAccessor) player.getInventory()).getSelectedSlot(); if (maxSlot >= PlayerInventory.getHotbarSize()) { maxSlot = PlayerInventory.getHotbarSize() - 1; } @@ -108,7 +109,7 @@ public void onPlayerInteract() { targetCount -= getBlockCount(inventory, targetSlot); targetSlot++; } - inventory.selectedSlot = targetSlot; + ((PlayerInventoryAccessor) player.getInventory()).setSelectedSlot(targetSlot); } } diff --git a/src/main/java/de/guntram/mcmod/randomblockplacement/mixins/PlayerInventoryAccessor.java b/src/main/java/de/guntram/mcmod/randomblockplacement/mixins/PlayerInventoryAccessor.java new file mode 100644 index 0000000..29ac9f0 --- /dev/null +++ b/src/main/java/de/guntram/mcmod/randomblockplacement/mixins/PlayerInventoryAccessor.java @@ -0,0 +1,15 @@ +package de.guntram.mcmod.randomblockplacement.mixins; + + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; +import net.minecraft.entity.player.PlayerInventory; + +@Mixin(PlayerInventory.class) +public interface PlayerInventoryAccessor { + @Accessor("selectedSlot") + int getSelectedSlot(); + + @Accessor("selectedSlot") + void setSelectedSlot(int slot); +} \ No newline at end of file diff --git a/src/main/resources/mixins.randomblockplacement.json b/src/main/resources/mixins.randomblockplacement.json index 94a21db..0f4ed0c 100644 --- a/src/main/resources/mixins.randomblockplacement.json +++ b/src/main/resources/mixins.randomblockplacement.json @@ -4,7 +4,8 @@ "refmap": "RandomBlockPlacement-refmap.json", "minVersion": "0.6", "client": [ - "PlayerInteractBlockMixin" + "PlayerInteractBlockMixin", + "PlayerInventoryAccessor" ], "injectors": { "defaultRequire": 1