Skip to content

Commit

Permalink
Updated to 1.21.4
Browse files Browse the repository at this point in the history
  • Loading branch information
MattiDragon committed Dec 11, 2024
1 parent 9590738 commit 88d7f9b
Show file tree
Hide file tree
Showing 47 changed files with 180 additions and 79 deletions.
20 changes: 9 additions & 11 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '1.7-SNAPSHOT'
id 'fabric-loom' version '1.9-SNAPSHOT'
id 'maven-publish'
}

Expand All @@ -11,7 +11,7 @@ group project.maven_group
base.archivesName = project.archives_base_name

repositories {
maven { url "https://kneelawk.com/maven/" }
maven { url "https://maven.kneelawk.com/releases/" }
maven { url "https://maven.alexiil.uk/" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://maven.blamejared.com" }
Expand Down Expand Up @@ -45,6 +45,12 @@ dependencies {
runtimeOnly files("src/main/generated")
}

fabricApi.configureDataGeneration {
client = true
createSourceSet = true
addToResources = false
}

loom {
// Apply datagen at runtime
mods.register("extended_drawers") {
Expand All @@ -53,16 +59,8 @@ loom {
modFiles.from file("src/main/generated")
}

runs.register("datagen") {
inherit runs.server
name "Data Generation"
vmArg "-Dfabric-api.datagen"
vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}"
vmArg "-Dfabric-api.datagen.strict-validation"

runs.datagen {
ideConfigGenerated = true

runDir "build/datagen/"
}
}

Expand Down
2 changes: 1 addition & 1 deletion changelog/4.0.0+1.21.2.md → changelog/4.0.1+1.21.4.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
* Updated to 1.21.2
* Updated to 1.21.4
* Marked as beta due to using hacks to make graphlib work on newer versions
14 changes: 7 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
org.gradle.jvmargs=-Xmx1G

minecraft_version=1.21.2
yarn_mappings=1.21.2+build.1
loader_version=0.16.7
minecraft_version=1.21.4
yarn_mappings=1.21.4+build.1
loader_version=0.16.9

mod_version=4.0.0
maven_group=io.github.mattidragon
archives_base_name=ExtendedDrawers

fabric_version=0.106.1+1.21.2
fabric_version=0.111.0+1.21.4
graphlib_version=2.0.0+1.21
patchouli_version=1.20.1-81-FABRIC
yacl_version=3.6.1+1.21.2
modmenu_version=12.0.0-beta.1
configtoolkit_version=1.1.1
yacl_version=3.6.2+1.21.4
modmenu_version=13.0.0-beta.1
configtoolkit_version=1.1.2
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
5 changes: 4 additions & 1 deletion gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
2 changes: 2 additions & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
import net.minecraft.client.render.LightmapTextureManager;
import net.minecraft.client.render.OverlayTexture;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.item.Items;
import net.minecraft.screen.PlayerScreenHandler;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
Expand Down Expand Up @@ -311,7 +311,8 @@ public void init(Option<Float> smallItemScale, Option<Float> largeItemScale, Opt
public int render(DrawContext context, int x, int y, int renderWidth, float tickDelta) {
if (!initialized) return 0;

var atlas = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
@SuppressWarnings("deprecation")
var atlas = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);
var size = renderWidth / 3;
var config = ExtendedDrawers.CONFIG.get();
var client = config.client();
Expand Down Expand Up @@ -387,7 +388,8 @@ public void close() {
private record IconRenderer(Identifier id) implements ImageRenderer {
@Override
public int render(DrawContext graphics, int x, int y, int renderWidth, float tickDelta) {
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
@SuppressWarnings("deprecation")
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);
var sprite = blockAtlas.apply(id);

graphics.drawSpriteStretched(RenderLayer::getGuiTextured, sprite, x + renderWidth / 3, y, renderWidth / 3, renderWidth / 3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,17 @@
import net.minecraft.block.enums.BlockFace;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.item.ItemModelManager;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.render.OverlayTexture;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.item.ItemRenderState;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ModelTransformationMode;
import net.minecraft.screen.PlayerScreenHandler;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.RotationAxis;
Expand All @@ -34,11 +35,12 @@ public abstract class AbstractDrawerBlockEntityRenderer<T extends BlockEntity> i
private static final Quaternionf ITEM_LIGHT_ROTATION_3D = RotationAxis.POSITIVE_X.rotationDegrees(-15).mul(RotationAxis.POSITIVE_Y.rotationDegrees(15));
private static final Quaternionf ITEM_LIGHT_ROTATION_FLAT = RotationAxis.POSITIVE_X.rotationDegrees(-45);

private final ItemRenderer itemRenderer;
private final ItemModelManager itemModelManager;
private final TextRenderer textRenderer;
private final ItemRenderState itemRenderState = new ItemRenderState();

public AbstractDrawerBlockEntityRenderer(ItemRenderer itemRenderer, TextRenderer textRenderer) {
this.itemRenderer = itemRenderer;
public AbstractDrawerBlockEntityRenderer(ItemModelManager itemModelManager, TextRenderer textRenderer) {
this.itemModelManager = itemModelManager;
this.textRenderer = textRenderer;
}

Expand All @@ -47,7 +49,7 @@ public AbstractDrawerBlockEntityRenderer(ItemRenderer itemRenderer, TextRenderer
*/
public static AbstractDrawerBlockEntityRenderer<BlockEntity> createRendererTool() {
var client = MinecraftClient.getInstance();
return new AbstractDrawerBlockEntityRenderer<>(client.getItemRenderer(), client.textRenderer) {
return new AbstractDrawerBlockEntityRenderer<>(client.getItemModelManager(), client.textRenderer) {
@Override
public void render(BlockEntity entity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {
}
Expand Down Expand Up @@ -78,7 +80,9 @@ protected void renderHiddenOverlay(boolean small, int light, int overlay, Matrix
matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(90));
matrices.translate(-0.5, 0, -0.5);

var sprite = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).apply(ExtendedDrawers.id("block/drawer_hidden_overlay"));
@SuppressWarnings("deprecation")
var sprite = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE)
.apply(ExtendedDrawers.id("block/drawer_hidden_overlay"));

var consumer = vertexConsumers.getBuffer(RenderLayer.getCutout());

Expand Down Expand Up @@ -148,22 +152,22 @@ public void renderItem(ItemVariant item, boolean small, int light, MatrixStack m
matrices.peek().getPositionMatrix().mul(new Matrix4f().scale(1, 1, 0.01f));

var stack = item.toStack();
var model = itemRenderer.getModel(stack, world, null, seed);
itemModelManager.update(itemRenderState, stack, ModelTransformationMode.GUI, false, world, null, seed);

// Copy existing light configuration
var lights = new Vector3f[2];
System.arraycopy(RenderSystemAccess.getShaderLightDirections(), 0, lights, 0, 2);

// Set up gui lighting
if (model.isSideLit()) {
if (itemRenderState.isSideLit()) {
matrices.peek().getNormalMatrix().rotate(ITEM_LIGHT_ROTATION_3D);
DiffuseLighting.enableGuiDepthLighting();
} else {
matrices.peek().getNormalMatrix().rotate(ITEM_LIGHT_ROTATION_FLAT);
DiffuseLighting.disableGuiDepthLighting();
}

itemRenderer.renderItem(stack, ModelTransformationMode.GUI, false, matrices, vertexConsumers, light, OverlayTexture.DEFAULT_UV, model);
itemRenderState.render(matrices, vertexConsumers, light, OverlayTexture.DEFAULT_UV);

// Restore light configuration
System.arraycopy(lights, 0, RenderSystemAccess.getShaderLightDirections(), 0, 2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.PlayerScreenHandler;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec2f;
import net.minecraft.util.math.Vec3d;
Expand All @@ -25,7 +25,7 @@

public class CompactingDrawerBlockEntityRenderer extends AbstractDrawerBlockEntityRenderer<CompactingDrawerBlockEntity> {
public CompactingDrawerBlockEntityRenderer(BlockEntityRendererFactory.Context context) {
super(context.getItemRenderer(), context.getTextRenderer());
super(context.getItemModelManager(), context.getTextRenderer());
}

@Override
Expand Down Expand Up @@ -79,7 +79,8 @@ public void render(CompactingDrawerBlockEntity drawer, float tickDelta, MatrixSt
private void renderIcons(CompactingDrawerBlockEntity drawer, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {
var icons = new ArrayList<Sprite>();
var config = ExtendedDrawers.CONFIG.get().client().icons();
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
@SuppressWarnings("deprecation")
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);

if (drawer.storage.isLocked()) icons.add(blockAtlas.apply(config.lockedIcon()));
if (drawer.storage.isVoiding()) icons.add(blockAtlas.apply(config.voidingIcon()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.PlayerScreenHandler;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

Expand All @@ -20,7 +20,7 @@

public class DrawerBlockEntityRenderer extends AbstractDrawerBlockEntityRenderer<DrawerBlockEntity> {
public DrawerBlockEntityRenderer(BlockEntityRendererFactory.Context context) {
super(context.getItemRenderer(), context.getTextRenderer());
super(context.getItemModelManager(), context.getTextRenderer());
}

@Override
Expand Down Expand Up @@ -72,7 +72,8 @@ public void render(DrawerBlockEntity drawer, float tickDelta, MatrixStack matric
private void renderSlot(DrawerSlot storage, boolean small, int light, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int seed, int overlay, BlockPos pos, World world) {
var icons = new ArrayList<Sprite>();
var config = ExtendedDrawers.CONFIG.get().client().icons();
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
@SuppressWarnings("deprecation")
var blockAtlas = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE);

if (storage.isLocked()) icons.add(blockAtlas.apply(config.lockedIcon()));
if (storage.isVoiding()) icons.add(blockAtlas.apply(config.voidingIcon()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.PlayerScreenHandler;
import org.jetbrains.annotations.Nullable;

import java.util.List;
import java.util.Objects;

public class ShadowDrawerBlockEntityRenderer extends AbstractDrawerBlockEntityRenderer<ShadowDrawerBlockEntity> {
public ShadowDrawerBlockEntityRenderer(BlockEntityRendererFactory.Context context) {
super(context.getItemRenderer(), context.getTextRenderer());
super(context.getItemModelManager(), context.getTextRenderer());
}

@Override
Expand All @@ -39,8 +39,9 @@ public void render(ShadowDrawerBlockEntity drawer, float tickDelta, MatrixStack

light = WorldRenderer.getLightmapCoordinates(Objects.requireNonNull(drawer.getWorld()), drawer.getPos().offset(dir));

@SuppressWarnings("deprecation")
List<Sprite> icons = drawer.isHidden() ? List.of(MinecraftClient.getInstance()
.getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE)
.getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE)
.apply(ExtendedDrawers.CONFIG.get().client().icons().hiddenIcon())) : List.of();
@Nullable
String amount = String.valueOf(drawer.countCache);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

import io.github.mattidragon.extendeddrawers.registry.ModBlocks;
import io.github.mattidragon.extendeddrawers.registry.ModItems;
import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
import net.minecraft.block.Block;
import net.minecraft.block.enums.BlockFace;
import net.minecraft.data.client.*;
import net.minecraft.client.data.*;
import net.minecraft.state.property.Properties;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Direction;
Expand All @@ -19,11 +19,11 @@ class DrawersModelProvider extends FabricModelProvider {
public DrawersModelProvider(FabricDataOutput output) {
super(output);
}

@Override
public void generateBlockStateModels(BlockStateModelGenerator generator) {
generator.registerSimpleCubeAll(ModBlocks.ACCESS_POINT);
generator.registerSingleton(ModBlocks.CONNECTOR, TextureMap.all(id("block/drawer_base")), Models.CUBE_ALL);
generator.registerSingleton(ModBlocks.CONNECTOR, block -> TexturedModel.getCubeAll(id("block/drawer_base")));

registerDrawerModel(ModBlocks.SINGLE_DRAWER, generator);
registerDrawerModel(ModBlocks.DOUBLE_DRAWER, generator);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import io.github.mattidragon.extendeddrawers.registry.ModItems;
import io.github.mattidragon.extendeddrawers.registry.ModTags;
import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags;
import net.minecraft.data.server.recipe.ComplexRecipeJsonBuilder;
import net.minecraft.data.server.recipe.RecipeExporter;
import net.minecraft.data.server.recipe.RecipeGenerator;
import net.minecraft.data.recipe.ComplexRecipeJsonBuilder;
import net.minecraft.data.recipe.RecipeExporter;
import net.minecraft.data.recipe.RecipeGenerator;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraft.recipe.Ingredient;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
import net.minecraft.data.server.recipe.RecipeExporter;
import net.minecraft.data.server.recipe.RecipeGenerator;
import net.minecraft.data.recipe.RecipeExporter;
import net.minecraft.data.recipe.RecipeGenerator;
import net.minecraft.registry.RegistryWrapper;

import java.util.concurrent.CompletableFuture;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import org.jetbrains.annotations.Nullable;

public class ExtendedDrawersDatagen implements DataGeneratorEntrypoint {
@Override
Expand All @@ -15,4 +16,9 @@ public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) {
pack.addProvider((output, future) -> new DrawersItemTagProvider(output, future, blockTagProvider));
pack.addProvider(ReadmeDataProvider::new);
}

@Override
public @Nullable String getEffectiveModId() {
return "extended_drawers";
}
}
10 changes: 10 additions & 0 deletions src/datagen/resources/fabric.mod.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"id": "extended_drawers_datagen",
"version": "1",
"schemaVersion": 1,
"entrypoints": {
"fabric-datagen": [
"io.github.mattidragon.extendeddrawers.datagen.ExtendedDrawersDatagen"
]
}
}
Loading

0 comments on commit 88d7f9b

Please sign in to comment.