diff --git a/build.gradle b/build.gradle index 12be06d56..6cdf8f5fd 100644 --- a/build.gradle +++ b/build.gradle @@ -13,8 +13,8 @@ def ENV = System.getenv() class Globals { static def baseVersion = "0.3.2" - static def mcVersion = "19w37a" - static def yarnVersion = "+build.1" + static def mcVersion = "19w38b" + static def yarnVersion = "+build.3" } import org.apache.commons.codec.digest.DigestUtils diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java index 51995b6bc..fef738b1d 100644 --- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java +++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java @@ -60,7 +60,7 @@ public class FabricCreativeGuiComponents { if (this.visible) { MinecraftClient minecraftClient = MinecraftClient.getInstance(); - minecraftClient.getTextureManager().bindTexture(BUTTON_TEX); + minecraftClient.getTextureManager().method_22813(BUTTON_TEX); RenderSystem.disableLighting(); RenderSystem.color4f(1F, 1F, 1F, 1F); this.blit(this.x, this.y, (type == Type.NEXT ? 12 : 0), (active ? 0 : 12), 12, 12); diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java index f551a1e53..c0619ba67 100644 --- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java +++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPool.java @@ -16,9 +16,9 @@ package net.fabricmc.fabric.api.loot.v1; +import net.minecraft.class_4570; import net.minecraft.world.loot.LootPool; import net.minecraft.world.loot.LootTableRange; -import net.minecraft.world.loot.condition.LootCondition; import net.minecraft.world.loot.entry.LootEntry; import net.minecraft.world.loot.function.LootFunction; @@ -33,7 +33,7 @@ public interface FabricLootPool { return (LootPool) this; } List<LootEntry> getEntries(); - List<LootCondition> getConditions(); + List<class_4570> getConditions(); List<LootFunction> getFunctions(); LootTableRange getRollsRange(); } diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java index 156e59970..456e533dc 100644 --- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java +++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/FabricLootPoolBuilder.java @@ -17,9 +17,9 @@ package net.fabricmc.fabric.api.loot.v1; import net.fabricmc.fabric.mixin.loot.LootPoolBuilderHooks; +import net.minecraft.class_4570; import net.minecraft.world.loot.LootPool; import net.minecraft.world.loot.LootTableRange; -import net.minecraft.world.loot.condition.LootCondition; import net.minecraft.world.loot.entry.LootEntry; import net.minecraft.world.loot.function.LootFunction; @@ -45,7 +45,7 @@ public class FabricLootPoolBuilder extends LootPool.Builder { } @Override - public FabricLootPoolBuilder withCondition(LootCondition.Builder condition) { + public FabricLootPoolBuilder withCondition(class_4570.Builder condition) { super.method_356(condition); return this; } @@ -61,7 +61,7 @@ public class FabricLootPoolBuilder extends LootPool.Builder { return this; } - public FabricLootPoolBuilder withCondition(LootCondition condition) { + public FabricLootPoolBuilder withCondition(class_4570 condition) { extended.getConditions().add(condition); return this; } diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/LootPoolBuilderHooks.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/LootPoolBuilderHooks.java index 52868eb25..da588f1c6 100644 --- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/LootPoolBuilderHooks.java +++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/LootPoolBuilderHooks.java @@ -16,8 +16,8 @@ package net.fabricmc.fabric.mixin.loot; +import net.minecraft.class_4570; import net.minecraft.world.loot.LootPool; -import net.minecraft.world.loot.condition.LootCondition; import net.minecraft.world.loot.entry.LootEntry; import net.minecraft.world.loot.function.LootFunction; import org.spongepowered.asm.mixin.Mixin; @@ -30,7 +30,7 @@ public interface LootPoolBuilderHooks { @Accessor List<LootEntry> getEntries(); @Accessor - List<LootCondition> getConditions(); + List<class_4570> getConditions(); @Accessor List<LootFunction> getFunctions(); } diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootPool.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootPool.java index f78e3fce1..dd431c4b2 100644 --- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootPool.java +++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootPool.java @@ -17,9 +17,9 @@ package net.fabricmc.fabric.mixin.loot; import net.fabricmc.fabric.api.loot.v1.FabricLootPool; +import net.minecraft.class_4570; import net.minecraft.world.loot.LootPool; import net.minecraft.world.loot.LootTableRange; -import net.minecraft.world.loot.condition.LootCondition; import net.minecraft.world.loot.entry.LootEntry; import net.minecraft.world.loot.function.LootFunction; import org.spongepowered.asm.mixin.Final; @@ -34,7 +34,7 @@ import java.util.List; public abstract class MixinLootPool implements FabricLootPool { @Shadow @Final private LootEntry[] entries; - @Shadow @Final private LootCondition[] conditions; + @Shadow @Final private class_4570[] conditions; @Shadow @Final private LootFunction[] functions; @@ -44,7 +44,7 @@ public abstract class MixinLootPool implements FabricLootPool { } @Override - public List<LootCondition> getConditions() { + public List<class_4570> getConditions() { return Arrays.asList(conditions); } diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/RegistrySyncManager.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/RegistrySyncManager.java index ab27fac98..4b8439ba2 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/RegistrySyncManager.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/RegistrySyncManager.java @@ -69,7 +69,7 @@ public final class RegistrySyncManager { if (accept) { try { - context.getTaskQueue().executeFuture(() -> { + context.getTaskQueue().supply(() -> { if (compound == null) { errorHandler.accept(new RemapException("Received null compound tag in sync packet!")); return null; diff --git a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/FabricBakedModel.java b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/FabricBakedModel.java index 3186b05e1..96dd66bb9 100644 --- a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/FabricBakedModel.java +++ b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/FabricBakedModel.java @@ -26,7 +26,7 @@ import net.minecraft.client.render.block.BlockModelRenderer; import net.minecraft.client.render.model.BakedModel; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Interface for baked models that output meshes with enhanced rendering features. @@ -91,7 +91,7 @@ public interface FabricBakedModel { * Will not be thread-safe. Do not cache or retain a reference. * @param context Accepts model output. */ - void emitBlockQuads(ExtendedBlockView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context); + void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context); /** * This method will be called during item rendering to generate both the static and diff --git a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/ForwardingBakedModel.java b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/ForwardingBakedModel.java index 5eb70a3de..c2fd61683 100644 --- a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/ForwardingBakedModel.java +++ b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/api/renderer/v1/model/ForwardingBakedModel.java @@ -31,7 +31,7 @@ import net.minecraft.client.texture.Sprite; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Base class for specialized model implementations that need to wrap other baked models. @@ -42,7 +42,7 @@ public abstract class ForwardingBakedModel implements BakedModel, FabricBakedMod protected BakedModel wrapped; @Override - public void emitBlockQuads(ExtendedBlockView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { + public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { ((FabricBakedModel)wrapped).emitBlockQuads(blockView, state, pos, randomSupplier, context); } diff --git a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/impl/renderer/DamageModel.java b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/impl/renderer/DamageModel.java index e49a540c1..b528453bd 100644 --- a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/impl/renderer/DamageModel.java +++ b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/impl/renderer/DamageModel.java @@ -29,7 +29,7 @@ import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.texture.Sprite; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Specialized model wrapper that implements a general-purpose @@ -49,7 +49,7 @@ public class DamageModel extends ForwardingBakedModel { } @Override - public void emitBlockQuads(ExtendedBlockView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { + public void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { context.pushTransform(damageTransform); ((FabricBakedModel)wrapped).emitBlockQuads(blockView, state, pos, randomSupplier, context); context.popTransform(); diff --git a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBakedModel.java b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBakedModel.java index c73aa8cbb..4005dc8bf 100644 --- a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBakedModel.java +++ b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBakedModel.java @@ -20,7 +20,7 @@ import java.util.Random; import java.util.function.Supplier; import net.fabricmc.fabric.api.renderer.v1.render.RenderContext; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; import org.spongepowered.asm.mixin.Mixin; import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel; @@ -40,7 +40,7 @@ public interface MixinBakedModel extends FabricBakedModel { } @Override - public default void emitBlockQuads(ExtendedBlockView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { + public default void emitBlockQuads(BlockRenderView blockView, BlockState state, BlockPos pos, Supplier<Random> randomSupplier, RenderContext context) { context.fallbackConsumer().accept((BakedModel)this); } diff --git a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBlockRenderManager.java b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBlockRenderManager.java index a3cece23c..471739c94 100644 --- a/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBlockRenderManager.java +++ b/fabric-renderer-api-v1/src/main/java/net/fabricmc/fabric/mixin/renderer/client/MixinBlockRenderManager.java @@ -35,7 +35,7 @@ import net.minecraft.client.render.block.BlockRenderManager; import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.texture.Sprite; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Implements hook for block-breaking render. @@ -63,7 +63,7 @@ public abstract class MixinBlockRenderManager { */ @Inject(method = "tesselateDamage", cancellable = true, at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/render/block/BlockModels;getModel(Lnet/minecraft/block/BlockState;)Lnet/minecraft/client/render/model/BakedModel;")) - private void hookTesselateDamage(BlockState blockState, BlockPos blockPos, Sprite sprite, ExtendedBlockView blockView, CallbackInfo ci) { + private void hookTesselateDamage(BlockState blockState, BlockPos blockPos, Sprite sprite, BlockRenderView blockView, CallbackInfo ci) { MutablePair<DamageModel, BakedModel> damageState = DAMAGE_STATE.get(); if(damageState.right != null && !((FabricBakedModel)damageState.right).isVanillaAdapter()) { damageState.left.prepare(damageState.right, sprite, blockState, blockPos); diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/AoCalculator.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/AoCalculator.java index 1aef49bcc..4b79b6fd1 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/AoCalculator.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/AoCalculator.java @@ -45,7 +45,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3i; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Adaptation of inner, non-static class in BlockModelRenderer that serves same purpose. @@ -147,7 +147,7 @@ public class AoCalculator { vanillaCalc.compute(blockInfo, quad, vanillaAo, vanillaLight); for (int i = 0; i < 4; i++) { - if (light[i] != vanillaLight[i] || !MathHelper.equalsApproximate(ao[i], vanillaAo[i])) { + if (light[i] != vanillaLight[i] || !MathHelper.approximatelyEquals(ao[i], vanillaAo[i])) { LOGGER.info(String.format("Mismatch for %s @ %s", blockInfo.blockState.toString(), blockInfo.blockPos.toString())); LOGGER.info(String.format("Flags = %d, LightFace = %s", quad.geometryFlags(), quad.lightFace().toString())); LOGGER.info(String.format(" Old Multiplier: %.2f, %.2f, %.2f, %.2f", @@ -234,9 +234,9 @@ public class AoCalculator { */ private AoFaceData gatherInsetFace(QuadViewImpl quad, int vertexIndex, Direction lightFace) { final float w1 = AoFace.get(lightFace).depthFunc.apply(quad, vertexIndex); - if(MathHelper.equalsApproximate(w1, 0)) { + if(MathHelper.approximatelyEquals(w1, 0)) { return computeFace(lightFace, true); - } else if(MathHelper.equalsApproximate(w1, 1)) { + } else if(MathHelper.approximatelyEquals(w1, 1)) { return computeFace(lightFace, false); } else { final float w0 = 1 - w1; @@ -271,7 +271,7 @@ public class AoCalculator { int maxSky = 0, maxBlock = 0; final float x = normal.getX(); - if(!MathHelper.equalsApproximate(0f, x)) { + if(!MathHelper.approximatelyEquals(0f, x)) { final Direction face = x > 0 ? Direction.EAST : Direction.WEST; final AoFaceData fd = gatherInsetFace(quad, i, face); AoFace.get(face).weightFunc.apply(quad, i, w); @@ -288,7 +288,7 @@ public class AoCalculator { } final float y = normal.getY(); - if(!MathHelper.equalsApproximate(0f, y)) { + if(!MathHelper.approximatelyEquals(0f, y)) { final Direction face = y > 0 ? Direction.UP: Direction.DOWN; final AoFaceData fd = gatherInsetFace(quad, i, face); AoFace.get(face).weightFunc.apply(quad, i, w); @@ -305,7 +305,7 @@ public class AoCalculator { } final float z = normal.getZ(); - if(!MathHelper.equalsApproximate(0f, z)) { + if(!MathHelper.approximatelyEquals(0f, z)) { final Direction face = z > 0 ? Direction.SOUTH: Direction.NORTH; final AoFaceData fd = gatherInsetFace(quad, i, face); AoFace.get(face).weightFunc.apply(quad, i, w); @@ -341,7 +341,7 @@ public class AoCalculator { if((completionFlags & mask) == 0) { completionFlags |= mask; - final ExtendedBlockView world = blockInfo.blockView; + final BlockRenderView world = blockInfo.blockView; final BlockPos pos = blockInfo.blockPos; final BlockPos.Mutable lightPos = this.lightPos; final BlockPos.Mutable searchPos = this.searchPos; @@ -366,16 +366,16 @@ public class AoCalculator { // but it was actually mis-sampling and causing visible artifacts in certain situation searchPos.set(lightPos).setOffset(aoFace.neighbors[0]);//.setOffset(lightFace); if(!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace); - final boolean isClear0 = world.getBlockState(searchPos).getLightSubtracted(world, searchPos) == 0; + final boolean isClear0 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0; searchPos.set(lightPos).setOffset(aoFace.neighbors[1]);//.setOffset(lightFace); if(!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace); - final boolean isClear1 = world.getBlockState(searchPos).getLightSubtracted(world, searchPos) == 0; + final boolean isClear1 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0; searchPos.set(lightPos).setOffset(aoFace.neighbors[2]);//.setOffset(lightFace); if(!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace); - final boolean isClear2 = world.getBlockState(searchPos).getLightSubtracted(world, searchPos) == 0; + final boolean isClear2 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0; searchPos.set(lightPos).setOffset(aoFace.neighbors[3]);//.setOffset(lightFace); if(!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace); - final boolean isClear3 = world.getBlockState(searchPos).getLightSubtracted(world, searchPos) == 0; + final boolean isClear3 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0; // c = corner - values at corners of face int cLight0, cLight1, cLight2, cLight3; diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/VanillaAoCalc.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/VanillaAoCalc.java index b4a2f5cf6..fa719f246 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/VanillaAoCalc.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/aocalc/VanillaAoCalc.java @@ -30,7 +30,7 @@ import net.minecraft.util.SystemUtil; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.Vec3i; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Copy of vanilla AoCalculator modified to output to use parameterized @@ -55,7 +55,7 @@ public class VanillaAoCalc { apply(blockInfo.blockView, blockInfo.blockState, blockInfo.blockPos, quad.lightFace(), aoBounds, bits, ao, brightness); } - private void apply(ExtendedBlockView blockView, BlockState blockState, BlockPos blockPos, Direction side, + private void apply(BlockRenderView blockView, BlockState blockState, BlockPos blockPos, Direction side, float[] aoBounds, BitSet bits, float[] ao, int brightness[]) { BlockPos lightPos = bits.get(0) ? blockPos.offset(side) : blockPos; NeighborData neighborData = NeighborData.getData(side); @@ -73,13 +73,13 @@ public class VanillaAoCalc { int int_4 = brightnessFunc.applyAsInt(mpos); float float_4 = aoFunc.apply(mpos); mpos.set((Vec3i)lightPos).setOffset(neighborData.faces[0]).setOffset(side); - boolean boolean_1 = blockView.getBlockState(mpos).getLightSubtracted(blockView, mpos) == 0; + boolean boolean_1 = blockView.getBlockState(mpos).getOpacity(blockView, mpos) == 0; mpos.set((Vec3i)lightPos).setOffset(neighborData.faces[1]).setOffset(side); - boolean boolean_2 = blockView.getBlockState(mpos).getLightSubtracted(blockView, mpos) == 0; + boolean boolean_2 = blockView.getBlockState(mpos).getOpacity(blockView, mpos) == 0; mpos.set((Vec3i)lightPos).setOffset(neighborData.faces[2]).setOffset(side); - boolean boolean_3 = blockView.getBlockState(mpos).getLightSubtracted(blockView, mpos) == 0; + boolean boolean_3 = blockView.getBlockState(mpos).getOpacity(blockView, mpos) == 0; mpos.set((Vec3i)lightPos).setOffset(neighborData.faces[3]).setOffset(side); - boolean boolean_4 = blockView.getBlockState(mpos).getLightSubtracted(blockView, mpos) == 0; + boolean boolean_4 = blockView.getBlockState(mpos).getOpacity(blockView, mpos) == 0; float float_6; int int_6; if (!boolean_3 && !boolean_1) { @@ -303,7 +303,7 @@ public class VanillaAoCalc { } } - public static void updateShape(ExtendedBlockView extendedBlockView_1, BlockState blockState_1, BlockPos blockPos_1, int[] ints_1, Direction direction_1, float[] floats_1, BitSet bitSet_1) { + public static void updateShape(BlockRenderView extendedBlockView_1, BlockState blockState_1, BlockPos blockPos_1, int[] ints_1, Direction direction_1, float[] floats_1, BitSet bitSet_1) { float float_1 = 32.0F; float float_2 = 32.0F; float float_3 = 32.0F; diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/helper/GeometryHelper.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/helper/GeometryHelper.java index e51543e70..ae74d2dcc 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/helper/GeometryHelper.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/helper/GeometryHelper.java @@ -16,7 +16,7 @@ package net.fabricmc.indigo.renderer.helper; -import static net.minecraft.util.math.MathHelper.equalsApproximate; +import static net.minecraft.util.math.MathHelper.approximatelyEquals; import net.fabricmc.fabric.api.renderer.v1.mesh.QuadView; import net.minecraft.client.render.model.BakedQuad; @@ -77,9 +77,9 @@ public abstract class GeometryHelper { } int i = face.getAxis().ordinal(); final float val = quad.posByIndex(0, i); - return equalsApproximate(val, quad.posByIndex(1, i)) - && equalsApproximate(val, quad.posByIndex(2, i)) - && equalsApproximate(val, quad.posByIndex(3, i)); + return approximatelyEquals(val, quad.posByIndex(1, i)) + && approximatelyEquals(val, quad.posByIndex(2, i)) + && approximatelyEquals(val, quad.posByIndex(3, i)); } /** diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinBlockModelRenderer.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinBlockModelRenderer.java index 15359cbb8..7dd424c6d 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinBlockModelRenderer.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinBlockModelRenderer.java @@ -32,7 +32,7 @@ import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.block.BlockModelRenderer; import net.minecraft.client.render.model.BakedModel; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; @Mixin(BlockModelRenderer.class) public abstract class MixinBlockModelRenderer { @@ -40,7 +40,7 @@ public abstract class MixinBlockModelRenderer { private final ThreadLocal<BlockRenderContext> CONTEXTS = ThreadLocal.withInitial(BlockRenderContext::new); @Inject(at = @At("HEAD"), method = "tesselate", cancellable = true) - private void hookTesselate(ExtendedBlockView blockView, BakedModel model, BlockState state, BlockPos pos, BufferBuilder buffer, boolean checkSides, Random rand, long seed, CallbackInfoReturnable<Boolean> ci) { + private void hookTesselate(BlockRenderView blockView, BakedModel model, BlockState state, BlockPos pos, BufferBuilder buffer, boolean checkSides, Random rand, long seed, CallbackInfoReturnable<Boolean> ci) { if(!((FabricBakedModel)model).isVanillaAdapter()) { BlockRenderContext context = CONTEXTS.get(); if(!context.isCallingVanilla()) { diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinChunkRenderer.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinChunkRenderer.java index 9c62ef55e..5905304fb 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinChunkRenderer.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/mixin/MixinChunkRenderer.java @@ -41,7 +41,7 @@ import net.minecraft.client.render.chunk.ChunkRenderData; import net.minecraft.client.render.chunk.ChunkRenderTask; import net.minecraft.client.render.chunk.ChunkRenderer; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Implements the main hooks for terrain rendering. Attempts to tread @@ -101,21 +101,21 @@ public abstract class MixinChunkRenderer implements AccessChunkRenderer{ * This is the hook that actually implements the rendering API for terrain rendering.<p> * * It's unusual to have a @Redirect in a Fabric library, but in this case - * it is our explicit intention that {@link BlockRenderManager#tesselateBlock(BlockState, BlockPos, ExtendedBlockView, BufferBuilder, Random)} + * it is our explicit intention that {@link BlockRenderManager#tesselateBlock(BlockState, BlockPos, BlockRenderView, BufferBuilder, Random)} * does not execute for models that will be rendered by our renderer.<p> * * Any mod that wants to redirect this specific call is likely also a renderer, in which case this * renderer should not be present, or the mod should probably instead be relying on the renderer API * which was specifically created to provide for enhanced terrain rendering.<p> * - * Note also that {@link BlockRenderManager#tesselateBlock(BlockState, BlockPos, ExtendedBlockView, BufferBuilder, Random)} + * Note also that {@link BlockRenderManager#tesselateBlock(BlockState, BlockPos, BlockRenderView, BufferBuilder, Random)} * IS called if the block render type is something other than {@link BlockRenderType#MODEL}. * Normally this does nothing but will allow mods to create rendering hooks that are * driven off of render type. (Not recommended or encouraged, but also not prevented.) */ @Redirect(method = "rebuildChunk", require = 1, - at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/BlockRenderManager;tesselateBlock(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/ExtendedBlockView;Lnet/minecraft/client/render/BufferBuilder;Ljava/util/Random;)Z")) - private boolean hookChunkBuildTesselate(BlockRenderManager renderManager, BlockState blockState, BlockPos blockPos, ExtendedBlockView blockView, BufferBuilder bufferBuilder, Random random) { + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/BlockRenderManager;tesselateBlock(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/client/render/BufferBuilder;Ljava/util/Random;)Z")) + private boolean hookChunkBuildTesselate(BlockRenderManager renderManager, BlockState blockState, BlockPos blockPos, BlockRenderView blockView, BufferBuilder bufferBuilder, Random random) { if(blockState.getRenderType() == BlockRenderType.MODEL) { final BakedModel model = renderManager.getModel(blockState); if (Indigo.ALWAYS_TESSELATE_INDIGO || !((FabricBakedModel) model).isVanillaAdapter()) { diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderContext.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderContext.java index 690ea9778..a51405ec2 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderContext.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderContext.java @@ -34,7 +34,7 @@ import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.block.BlockModelRenderer; import net.minecraft.client.render.model.BakedModel; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Context for non-terrain block rendering. @@ -66,7 +66,7 @@ public class BlockRenderContext extends AbstractRenderContext implements RenderC } private float aoLevel(BlockPos pos) { - final ExtendedBlockView blockView = blockInfo.blockView; + final BlockRenderView blockView = blockInfo.blockView; return blockView == null ? 1f : AoLuminanceFix.INSTANCE.apply(blockView, pos); } @@ -75,7 +75,7 @@ public class BlockRenderContext extends AbstractRenderContext implements RenderC return fabricBuffer; } - public boolean tesselate(BlockModelRenderer vanillaRenderer, ExtendedBlockView blockView, BakedModel model, BlockState state, BlockPos pos, BufferBuilder buffer, long seed) { + public boolean tesselate(BlockModelRenderer vanillaRenderer, BlockRenderView blockView, BakedModel model, BlockState state, BlockPos pos, BufferBuilder buffer, long seed) { this.vanillaRenderer = vanillaRenderer; this.fabricBuffer = (AccessBufferBuilder) buffer; this.seed = seed; diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderInfo.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderInfo.java index a6d8e209e..c604d7776 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderInfo.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/BlockRenderInfo.java @@ -25,7 +25,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.color.block.BlockColors; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Holds, manages and provides access to the block/world related state @@ -37,7 +37,7 @@ import net.minecraft.world.ExtendedBlockView; public class BlockRenderInfo { private final BlockColors blockColorMap = MinecraftClient.getInstance().getBlockColorMap(); public final Random random = new Random(); - public ExtendedBlockView blockView; + public BlockRenderView blockView; public BlockPos blockPos; public BlockState blockState; public long seed; @@ -55,7 +55,7 @@ public class BlockRenderInfo { return result; }; - public void setBlockView(ExtendedBlockView blockView) { + public void setBlockView(BlockRenderView blockView) { this.blockView = blockView; } diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/ChunkRenderInfo.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/ChunkRenderInfo.java index 5c3441ab6..93c4c9de0 100644 --- a/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/ChunkRenderInfo.java +++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/indigo/renderer/render/ChunkRenderInfo.java @@ -33,7 +33,7 @@ import net.minecraft.client.render.chunk.ChunkRenderer; import net.minecraft.client.render.chunk.ChunkRendererRegion; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Holds, manages and provides access to the chunk-related state @@ -73,7 +73,7 @@ public class ChunkRenderInfo { ChunkRenderTask chunkTask; ChunkRenderData chunkData; ChunkRenderer chunkRenderer; - ExtendedBlockView blockView; + BlockRenderView blockView; boolean [] resultFlags; private final AccessBufferBuilder[] buffers = new AccessBufferBuilder[4]; @@ -183,7 +183,7 @@ public class ChunkRenderInfo { } /** - * Cached values for {@link BlockState#getBlockBrightness(ExtendedBlockView, BlockPos)}. + * Cached values for {@link BlockState#getBlockBrightness(BlockRenderView, BlockPos)}. * See also the comments for {@link #brightnessCache}. */ int cachedBrightness(BlockPos pos) { diff --git a/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/api/rendering/data/v1/RenderAttachedBlockView.java b/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/api/rendering/data/v1/RenderAttachedBlockView.java index 8aded15e9..b4b5f794a 100644 --- a/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/api/rendering/data/v1/RenderAttachedBlockView.java +++ b/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/api/rendering/data/v1/RenderAttachedBlockView.java @@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.rendering.data.v1; import net.minecraft.block.entity.BlockEntity; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * BlockView-extending interface to be used by {@link net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel} for dynamic model @@ -49,7 +49,7 @@ import net.minecraft.world.ExtendedBlockView; * This interface is only guaranteed to be present in the client environment. */ // XXX can not link net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel -public interface RenderAttachedBlockView extends ExtendedBlockView { +public interface RenderAttachedBlockView extends BlockRenderView { /** * For models associated with Block Entities that implement {@link RenderAttachmentBlockEntity} * this will be the most recent value provided by that implementation for the given block position.<p> diff --git a/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/mixin/rendering/data/MixinViewableWorld.java b/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/mixin/rendering/data/MixinViewableWorld.java index 461150c3e..279f18a04 100644 --- a/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/mixin/rendering/data/MixinViewableWorld.java +++ b/fabric-rendering-data-attachment-v1/src/main/java/net/fabricmc/fabric/mixin/rendering/data/MixinViewableWorld.java @@ -17,11 +17,11 @@ package net.fabricmc.fabric.mixin.rendering.data; import net.fabricmc.fabric.api.rendering.data.v1.RenderAttachedBlockView; -import net.minecraft.world.ViewableWorld; +import net.minecraft.world.BlockRenderView; import org.spongepowered.asm.mixin.Mixin; -/** Make {@link ViewableWorld} implement {@link RenderAttachedBlockView}. */ -@Mixin(ViewableWorld.class) +/** Make {@link BlockRenderView} implement {@link RenderAttachedBlockView}. */ +@Mixin(BlockRenderView.class) public interface MixinViewableWorld extends RenderAttachedBlockView { } diff --git a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/api/client/render/fluid/v1/FluidRenderHandler.java b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/api/client/render/fluid/v1/FluidRenderHandler.java index 9672d5a3e..e4005c7a3 100644 --- a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/api/client/render/fluid/v1/FluidRenderHandler.java +++ b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/api/client/render/fluid/v1/FluidRenderHandler.java @@ -19,7 +19,7 @@ package net.fabricmc.fabric.api.client.render.fluid.v1; import net.minecraft.client.texture.Sprite; import net.minecraft.fluid.FluidState; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; /** * Interface for handling the rendering of a FluidState. @@ -38,7 +38,7 @@ public interface FluidRenderHandler { * @return An array of size two: the first entry contains the "still" sprite, * while the second entry contains the "flowing" sprite. */ - Sprite[] getFluidSprites(/* Nullable */ ExtendedBlockView view, /* Nullable */ BlockPos pos, FluidState state); + Sprite[] getFluidSprites(/* Nullable */ BlockRenderView view, /* Nullable */ BlockPos pos, FluidState state); /** * Get the tint color for a fluid being rendered at a given position. @@ -51,7 +51,7 @@ public interface FluidRenderHandler { * @param state The current state of the fluid. * @return The tint color of the fluid. */ - default int getFluidColor(ExtendedBlockView view, BlockPos pos, FluidState state) { + default int getFluidColor(BlockRenderView view, BlockPos pos, FluidState state) { return -1; } } diff --git a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRenderHandlerRegistryImpl.java b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRenderHandlerRegistryImpl.java index 8f20b5326..cebf84486 100644 --- a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRenderHandlerRegistryImpl.java +++ b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRenderHandlerRegistryImpl.java @@ -24,7 +24,7 @@ import net.minecraft.fluid.Fluid; import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; import net.minecraft.world.biome.Biomes; import java.util.IdentityHashMap; @@ -56,12 +56,12 @@ public class FluidRenderHandlerRegistryImpl implements FluidRenderHandlerRegistr public void onFluidRendererReload(Sprite[] waterSprites, Sprite[] lavaSprites) { FluidRenderHandler waterHandler = new FluidRenderHandler() { @Override - public Sprite[] getFluidSprites(ExtendedBlockView view, BlockPos pos, FluidState state) { + public Sprite[] getFluidSprites(BlockRenderView view, BlockPos pos, FluidState state) { return waterSprites; } @Override - public int getFluidColor(ExtendedBlockView view, BlockPos pos, FluidState state) { + public int getFluidColor(BlockRenderView view, BlockPos pos, FluidState state) { if (view != null && pos != null) { return BiomeColors.getWaterColor(view, pos); } else { @@ -73,7 +73,7 @@ public class FluidRenderHandlerRegistryImpl implements FluidRenderHandlerRegistr //noinspection Convert2Lambda FluidRenderHandler lavaHandler = new FluidRenderHandler() { @Override - public Sprite[] getFluidSprites(ExtendedBlockView view, BlockPos pos, FluidState state) { + public Sprite[] getFluidSprites(BlockRenderView view, BlockPos pos, FluidState state) { return lavaSprites; } }; diff --git a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRendererHookContainer.java b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRendererHookContainer.java index 4e9792f2e..9c219d2b0 100644 --- a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRendererHookContainer.java +++ b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/impl/client/render/fluid/FluidRendererHookContainer.java @@ -19,10 +19,10 @@ package net.fabricmc.fabric.impl.client.render.fluid; import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler; import net.minecraft.fluid.FluidState; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; public class FluidRendererHookContainer { - public ExtendedBlockView view; + public BlockRenderView view; public BlockPos pos; public FluidState state; public FluidRenderHandler handler; diff --git a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/mixin/client/render/fluid/MixinFluidRenderer.java b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/mixin/client/render/fluid/MixinFluidRenderer.java index 8b3557fcf..2bd6714f7 100644 --- a/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/mixin/client/render/fluid/MixinFluidRenderer.java +++ b/fabric-rendering-fluids-v1/src/main/java/net/fabricmc/fabric/mixin/client/render/fluid/MixinFluidRenderer.java @@ -25,7 +25,7 @@ import net.minecraft.client.texture.Sprite; import net.minecraft.fluid.FluidState; import net.minecraft.tag.FluidTags; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ExtendedBlockView; +import net.minecraft.world.BlockRenderView; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -49,7 +49,7 @@ public class MixinFluidRenderer { } @Inject(at = @At("HEAD"), method = "tesselate", cancellable = true) - public void tesselate(ExtendedBlockView view, BlockPos pos, BufferBuilder bufferBuilder, FluidState state, CallbackInfoReturnable<Boolean> info) { + public void tesselate(BlockRenderView view, BlockPos pos, BufferBuilder bufferBuilder, FluidState state, CallbackInfoReturnable<Boolean> info) { FluidRendererHookContainer ctr = fabric_renderHandler.get(); FluidRenderHandler handler = FluidRenderHandlerRegistryImpl.INSTANCE.getOverride(state.getFluid()); if (handler == null) { @@ -69,7 +69,7 @@ public class MixinFluidRenderer { } @Inject(at = @At("RETURN"), method = "tesselate") - public void tesselateReturn(ExtendedBlockView view, BlockPos pos, BufferBuilder bufferBuilder, FluidState state, CallbackInfoReturnable<Boolean> info) { + public void tesselateReturn(BlockRenderView view, BlockPos pos, BufferBuilder bufferBuilder, FluidState state, CallbackInfoReturnable<Boolean> info) { fabric_renderHandler.get().clear(); }