diff --git a/gradle.properties b/gradle.properties index cf58cf947..944938715 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,7 +23,7 @@ use_parchment = true # dependency versions registrate_version = MC1.20-1.3.3 flywheel_minecraft_version = 1.20.1 -flywheel_version = 1.0.0-beta-98 +flywheel_version = 1.0.0-beta-103 jei_minecraft_version = 1.20.1 jei_version = 15.2.0.22 curios_minecraft_version = 1.20.1 diff --git a/src/main/java/com/simibubi/create/AllPartialModels.java b/src/main/java/com/simibubi/create/AllPartialModels.java index c79d8b0c6..9a5b37c76 100644 --- a/src/main/java/com/simibubi/create/AllPartialModels.java +++ b/src/main/java/com/simibubi/create/AllPartialModels.java @@ -219,11 +219,11 @@ public class AllPartialModels { } private static PartialModel block(String path) { - return new PartialModel(Create.asResource("block/" + path)); + return PartialModel.of(Create.asResource("block/" + path)); } private static PartialModel entity(String path) { - return new PartialModel(Create.asResource("entity/" + path)); + return PartialModel.of(Create.asResource("entity/" + path)); } public static void init() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/actors/harvester/HarvesterActorVisual.java b/src/main/java/com/simibubi/create/content/contraptions/actors/harvester/HarvesterActorVisual.java index 412a0c41b..742739245 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/actors/harvester/HarvesterActorVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/actors/harvester/HarvesterActorVisual.java @@ -83,7 +83,7 @@ public class HarvesterActorVisual extends ActorVisual { @Override public void beginFrame() { - harvester.loadIdentity() + harvester.setIdentityTransform() .translate(context.localPos) .center() .rotateYDegrees(horizontalAngle) diff --git a/src/main/java/com/simibubi/create/content/contraptions/actors/psi/PIInstance.java b/src/main/java/com/simibubi/create/content/contraptions/actors/psi/PIInstance.java index e0ffab617..4f7e371cf 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/actors/psi/PIInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/actors/psi/PIInstance.java @@ -42,14 +42,14 @@ public class PIInstance { } public void beginFrame(float progress) { - middle.loadIdentity() + middle.setIdentityTransform() .translate(instancePos) .center() .rotateYDegrees(angleY) .rotateXDegrees(angleX) .uncenter(); - top.loadIdentity() + top.setIdentityTransform() .translate(instancePos) .center() .rotateYDegrees(angleY) diff --git a/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerActorVisual.java b/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerActorVisual.java index b14128a08..e692cd1ba 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerActorVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/actors/roller/RollerActorVisual.java @@ -27,7 +27,7 @@ public class RollerActorVisual extends HarvesterActorVisual { @Override public void beginFrame() { - harvester.loadIdentity() + harvester.setIdentityTransform() .translate(context.localPos) .center() .rotateYDegrees(horizontalAngle) @@ -38,7 +38,7 @@ public class RollerActorVisual extends HarvesterActorVisual { .rotateYDegrees(90) .setChanged(); - frame.loadIdentity() + frame.setIdentityTransform() .translate(context.localPos) .center() .rotateYDegrees(horizontalAngle + 180) diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java index 31e295b97..67edcfe3d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/BearingVisual.java @@ -41,8 +41,8 @@ public class BearingVisual e topInstance = instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(top)) .createInstance(); - topInstance.setPosition(getVisualPosition()) - .setRotation(blockOrientation) + topInstance.position(getVisualPosition()) + .rotation(blockOrientation) .setChanged(); } @@ -53,7 +53,7 @@ public class BearingVisual e rot.mul(blockOrientation); - topInstance.setRotation(rot) + topInstance.rotation(rot) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java index 5fdc2b273..81e11bfc6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/bearing/StabilizedBearingVisual.java @@ -42,8 +42,8 @@ public class StabilizedBearingVisual extends ActorVisual { .createInstance(); int blockLight = localBlockLight(); - topInstance.setPosition(movementContext.localPos) - .setRotation(blockOrientation) + topInstance.position(movementContext.localPos) + .rotation(blockOrientation) .light(blockLight, 0); shaft = instancerProvider.instancer(AllInstanceTypes.ROTATING, Models.partial(AllPartialModels.SHAFT_HALF, blockState.getValue(BlockStateProperties.FACING).getOpposite())) @@ -62,7 +62,7 @@ public class StabilizedBearingVisual extends ActorVisual { rotation.mul(blockOrientation); - topInstance.setRotation(rotation); + topInstance.rotation(rotation); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerBlockEntity.java b/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerBlockEntity.java index 9fb15efa3..131113c78 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerBlockEntity.java @@ -11,7 +11,7 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -70,7 +70,7 @@ public class StickerBlockEntity extends SmartBlockEntity { DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> playSound(false)); piston.chase(target, .4f, Chaser.LINEAR); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); } public boolean isAttachedToBlock() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerVisual.java b/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerVisual.java index d845f2249..d44a3e95d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/chassis/StickerVisual.java @@ -54,7 +54,7 @@ public class StickerVisual extends AbstractBlockEntityVisual } private void animateHead(float offset) { - head.loadIdentity() + head.setIdentityTransform() .translate(getVisualPosition()) .nudge(blockEntity.hashCode()) .center() diff --git a/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryCarriageVisual.java b/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryCarriageVisual.java index 7390bec61..4f1821990 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryCarriageVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/gantry/GantryCarriageVisual.java @@ -64,7 +64,7 @@ public class GantryCarriageVisual extends ShaftVisual } private void animateCogs(float cogAngle) { - gantryCogs.loadIdentity() + gantryCogs.setIdentityTransform() .translate(getVisualPosition()) .center() .rotateYDegrees(AngleHelper.horizontalAngle(facing)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java b/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java index a0d05e546..395dce1fe 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/pulley/AbstractPulleyVisual.java @@ -47,7 +47,7 @@ public abstract class AbstractPulleyVisual extends rotationAxis = Axis.of(rotatingAbout.step()); coil = getCoilModel().createInstance() - .setPosition(getVisualPosition()); + .position(getVisualPosition()); coil.setChanged(); magnet = new SelectInstance<>(this::getMagnetModelIndex); @@ -77,7 +77,7 @@ public abstract class AbstractPulleyVisual extends @Override public void beginFrame(DynamicVisual.Context ctx) { updateOffset(ctx.partialTick()); - coil.setRotation(rotationAxis.rotationDegrees(offset * 180)) + coil.rotation(rotationAxis.rotationDegrees(offset * 180)) .setChanged(); int neededRopeCount = getNeededRopeCount(); @@ -88,8 +88,8 @@ public abstract class AbstractPulleyVisual extends .ifPresent(data -> { int i = Math.max(0, Mth.floor(offset)); int light = lightCache.getPackedLight(i); - data.setPosition(getVisualPosition()) - .nudgePosition(0, -offset, 0) + data.position(getVisualPosition()) + .translatePosition(0, -offset, 0) .light(light) .setChanged(); }); @@ -101,8 +101,8 @@ public abstract class AbstractPulleyVisual extends float halfRopeNudge = f > .75f ? f - 1 : f; int light = lightCache.getPackedLight(0); - rope1.setPosition(getVisualPosition()) - .nudgePosition(0, -halfRopeNudge, 0) + rope1.position(getVisualPosition()) + .translatePosition(0, -halfRopeNudge, 0) .light(light) .setChanged(); }); @@ -113,8 +113,8 @@ public abstract class AbstractPulleyVisual extends int light = lightCache.getPackedLight(size - 1 - i); rope.get(i) - .setPosition(getVisualPosition()) - .nudgePosition(0, -offset + i + 1, 0) + .position(getVisualPosition()) + .translatePosition(0, -offset + i + 1, 0) .light(light) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java b/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java index a134681b9..6b3a038c9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java +++ b/src/main/java/com/simibubi/create/content/contraptions/render/ContraptionVisual.java @@ -38,6 +38,7 @@ import it.unimi.dsi.fastutil.longs.LongArraySet; import it.unimi.dsi.fastutil.longs.LongSet; import net.minecraft.core.BlockPos; import net.minecraft.core.SectionPos; +import net.minecraft.core.Vec3i; import net.minecraft.util.Mth; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.Level; @@ -65,7 +66,7 @@ public class ContraptionVisual extends Abst public ContraptionVisual(VisualizationContext ctx, E entity, float partialTick) { super(ctx, entity, partialTick); - embedding = ctx.createEmbedding(); + embedding = ctx.createEmbedding(Vec3i.ZERO); init(partialTick); } @@ -258,10 +259,6 @@ public class ContraptionVisual extends Abst actors.forEach(ActorVisual::delete); - if (model != null) { - model.delete(); - } - if (structure != null) { structure.delete(); } diff --git a/src/main/java/com/simibubi/create/content/equipment/extendoGrip/ExtendoGripItemRenderer.java b/src/main/java/com/simibubi/create/content/equipment/extendoGrip/ExtendoGripItemRenderer.java index a3c02e2ff..d1a928e19 100644 --- a/src/main/java/com/simibubi/create/content/equipment/extendoGrip/ExtendoGripItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/extendoGrip/ExtendoGripItemRenderer.java @@ -18,11 +18,11 @@ import net.minecraft.world.phys.Vec3; public class ExtendoGripItemRenderer extends CustomRenderedItemModelRenderer { - protected static final PartialModel COG = new PartialModel(Create.asResource("item/extendo_grip/cog")); - protected static final PartialModel THIN_SHORT = new PartialModel(Create.asResource("item/extendo_grip/thin_short")); - protected static final PartialModel WIDE_SHORT = new PartialModel(Create.asResource("item/extendo_grip/wide_short")); - protected static final PartialModel THIN_LONG = new PartialModel(Create.asResource("item/extendo_grip/thin_long")); - protected static final PartialModel WIDE_LONG = new PartialModel(Create.asResource("item/extendo_grip/wide_long")); + protected static final PartialModel COG = PartialModel.of(Create.asResource("item/extendo_grip/cog")); + protected static final PartialModel THIN_SHORT = PartialModel.of(Create.asResource("item/extendo_grip/thin_short")); + protected static final PartialModel WIDE_SHORT = PartialModel.of(Create.asResource("item/extendo_grip/wide_short")); + protected static final PartialModel THIN_LONG = PartialModel.of(Create.asResource("item/extendo_grip/thin_long")); + protected static final PartialModel WIDE_LONG = PartialModel.of(Create.asResource("item/extendo_grip/wide_long")); private static final Vec3 ROTATION_OFFSET = new Vec3(0, 1 / 2f, 1 / 2f); private static final Vec3 COG_ROTATION_OFFSET = new Vec3(0, 1 / 16f, 0); diff --git a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItemRenderer.java b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItemRenderer.java index 9ec1e33a6..22983f936 100644 --- a/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/potatoCannon/PotatoCannonItemRenderer.java @@ -23,7 +23,7 @@ import net.minecraft.world.item.ItemStack; public class PotatoCannonItemRenderer extends CustomRenderedItemModelRenderer { - protected static final PartialModel COG = new PartialModel(Create.asResource("item/potato_cannon/cog")); + protected static final PartialModel COG = PartialModel.of(Create.asResource("item/potato_cannon/cog")); @Override protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, diff --git a/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItemRenderer.java b/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItemRenderer.java index 4bb2fc38e..90b3a321d 100644 --- a/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/symmetryWand/SymmetryWandItemRenderer.java @@ -17,9 +17,9 @@ import net.minecraft.world.item.ItemStack; public class SymmetryWandItemRenderer extends CustomRenderedItemModelRenderer { - protected static final PartialModel BITS = new PartialModel(Create.asResource("item/wand_of_symmetry/bits")); - protected static final PartialModel CORE = new PartialModel(Create.asResource("item/wand_of_symmetry/core")); - protected static final PartialModel CORE_GLOW = new PartialModel(Create.asResource("item/wand_of_symmetry/core_glow")); + protected static final PartialModel BITS = PartialModel.of(Create.asResource("item/wand_of_symmetry/bits")); + protected static final PartialModel CORE = PartialModel.of(Create.asResource("item/wand_of_symmetry/core")); + protected static final PartialModel CORE_GLOW = PartialModel.of(Create.asResource("item/wand_of_symmetry/core_glow")); @Override protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, ItemDisplayContext transformType, diff --git a/src/main/java/com/simibubi/create/content/equipment/toolbox/ToolBoxVisual.java b/src/main/java/com/simibubi/create/content/equipment/toolbox/ToolBoxVisual.java index 347e8943e..c3d355740 100644 --- a/src/main/java/com/simibubi/create/content/equipment/toolbox/ToolBoxVisual.java +++ b/src/main/java/com/simibubi/create/content/equipment/toolbox/ToolBoxVisual.java @@ -51,7 +51,7 @@ public class ToolBoxVisual extends AbstractBlockEntityVisual float lidAngle = blockEntity.lid.getValue(partialTicks); float drawerOffset = blockEntity.drawers.getValue(partialTicks); - lid.loadIdentity() + lid.setIdentityTransform() .translate(getVisualPosition()) .center() .rotateYDegrees(-facing.toYRot()) @@ -62,7 +62,7 @@ public class ToolBoxVisual extends AbstractBlockEntityVisual .setChanged(); for (int offset : Iterate.zeroAndOne) { - drawers[offset].loadIdentity() + drawers[offset].setIdentityTransform() .translate(getVisualPosition()) .center() .rotateYDegrees(-facing.toYRot()) diff --git a/src/main/java/com/simibubi/create/content/equipment/wrench/WrenchItemRenderer.java b/src/main/java/com/simibubi/create/content/equipment/wrench/WrenchItemRenderer.java index e58f374be..f5863190e 100644 --- a/src/main/java/com/simibubi/create/content/equipment/wrench/WrenchItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/wrench/WrenchItemRenderer.java @@ -16,7 +16,7 @@ import net.minecraft.world.item.ItemStack; public class WrenchItemRenderer extends CustomRenderedItemModelRenderer { - protected static final PartialModel GEAR = new PartialModel(Create.asResource("item/wrench/gear")); + protected static final PartialModel GEAR = PartialModel.of(Create.asResource("item/wrench/gear")); @Override protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, ItemDisplayContext transformType, diff --git a/src/main/java/com/simibubi/create/content/equipment/zapper/terrainzapper/WorldshaperItemRenderer.java b/src/main/java/com/simibubi/create/content/equipment/zapper/terrainzapper/WorldshaperItemRenderer.java index 53a7cd259..3074f1277 100644 --- a/src/main/java/com/simibubi/create/content/equipment/zapper/terrainzapper/WorldshaperItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/equipment/zapper/terrainzapper/WorldshaperItemRenderer.java @@ -22,9 +22,9 @@ import net.minecraft.world.item.ItemStack; public class WorldshaperItemRenderer extends ZapperItemRenderer { - protected static final PartialModel CORE = new PartialModel(Create.asResource("item/handheld_worldshaper/core")); - protected static final PartialModel CORE_GLOW = new PartialModel(Create.asResource("item/handheld_worldshaper/core_glow")); - protected static final PartialModel ACCELERATOR = new PartialModel(Create.asResource("item/handheld_worldshaper/accelerator")); + protected static final PartialModel CORE = PartialModel.of(Create.asResource("item/handheld_worldshaper/core")); + protected static final PartialModel CORE_GLOW = PartialModel.of(Create.asResource("item/handheld_worldshaper/core_glow")); + protected static final PartialModel ACCELERATOR = PartialModel.of(Create.asResource("item/handheld_worldshaper/accelerator")); @Override protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, ItemDisplayContext transformType, diff --git a/src/main/java/com/simibubi/create/content/fluids/pipes/valve/FluidValveVisual.java b/src/main/java/com/simibubi/create/content/fluids/pipes/valve/FluidValveVisual.java index af5c78e85..120136561 100644 --- a/src/main/java/com/simibubi/create/content/fluids/pipes/valve/FluidValveVisual.java +++ b/src/main/java/com/simibubi/create/content/fluids/pipes/valve/FluidValveVisual.java @@ -59,7 +59,7 @@ public class FluidValveVisual extends ShaftVisual impleme float pointerRotation = Mth.lerp(value, 0, -90); settled = (value == 0 || value == 1) && blockEntity.pointer.settled(); - pointer.loadIdentity() + pointer.setIdentityTransform() .translate(getVisualPosition()) .center() .rotateYDegrees((float) yRot) diff --git a/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntity.java index ee228ccf6..f5bae223e 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/base/KineticBlockEntity.java @@ -27,7 +27,7 @@ import com.simibubi.create.foundation.sound.SoundScapes.AmbienceGroup; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.infrastructure.config.AllConfigs; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.ChatFormatting; import net.minecraft.client.resources.language.I18n; import net.minecraft.core.BlockPos; @@ -265,7 +265,7 @@ public class KineticBlockEntity extends SmartBlockEntity implements IHaveGoggleI effects.triggerOverStressedEffect(); if (clientPacket) - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); } public float getGeneratedSpeed() { @@ -578,7 +578,7 @@ public class KineticBlockEntity extends SmartBlockEntity implements IHaveGoggleI public void requestModelDataUpdate() { super.requestModelDataUpdate(); if (!this.remove) - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java index 203d8ee3e..59d1b099e 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/crank/HandCrankVisual.java @@ -48,7 +48,7 @@ public class HandCrankVisual extends KineticBlockEntityVisual implements float y = blockPos.getY() + ((float) facingVec.getY()) * distance; float z = blockPos.getZ() + ((float) facingVec.getZ()) * distance; - pole.setPosition(x, y, z).setChanged(); - hand.setPosition(x, y, z).setChanged(); + pole.position(x, y, z).setChanged(); + hand.position(x, y, z).setChanged(); } static void updateRotation(OrientedInstance pole, OrientedInstance hand, float yRot, float xRot, float zRot) { @@ -130,12 +130,12 @@ public class DeployerVisual extends ShaftVisual implements Quaternionf q = Axis.YP.rotationDegrees(yRot); q.mul(Axis.XP.rotationDegrees(xRot)); - hand.setRotation(q) + hand.rotation(q) .setChanged(); q.mul(Axis.ZP.rotationDegrees(zRot)); - pole.setRotation(q) + pole.rotation(q) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java index f66690ddf..81a60f868 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmBlockEntity.java @@ -25,7 +25,7 @@ import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.infrastructure.config.AllConfigs; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.SectionPos; @@ -552,7 +552,7 @@ public class ArmBlockEntity extends KineticBlockEntity implements ITransformable return; if (hadGoggles != goggles) - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); boolean ceiling = isOnCeiling(); if (interactionPointTagBefore == null || interactionPointTagBefore.size() != interactionPointTag.size()) diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java index dc8e5aae2..47e1e40e1 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/ArmVisual.java @@ -132,12 +132,12 @@ public class ArmVisual extends SingleRotatingVisual implements S ArmRenderer.transformLowerArm(msr, lowerArmAngle); lowerBody.setTransform(msLocal) - .color(color) + .colorRgb(color) .setChanged(); ArmRenderer.transformUpperArm(msr, upperArmAngle); upperBody.setTransform(msLocal) - .color(color) + .colorRgb(color) .setChanged(); ArmRenderer.transformHead(msr, headAngle); diff --git a/src/main/java/com/simibubi/create/content/kinetics/mixer/MixerVisual.java b/src/main/java/com/simibubi/create/content/kinetics/mixer/MixerVisual.java index 83275c57e..74aeb1c4e 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mixer/MixerVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mixer/MixerVisual.java @@ -65,8 +65,8 @@ public class MixerVisual extends EncasedCogVisual implements SimpleDynamicVisual } private void transformPole(float renderedHeadOffset) { - mixerPole.setPosition(getVisualPosition()) - .nudgePosition(0, -renderedHeadOffset, 0) + mixerPole.position(getVisualPosition()) + .translatePosition(0, -renderedHeadOffset, 0) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/kinetics/press/PressVisual.java b/src/main/java/com/simibubi/create/content/kinetics/press/PressVisual.java index b1779e109..e73394343 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/press/PressVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/press/PressVisual.java @@ -30,7 +30,7 @@ public class PressVisual extends ShaftVisual impleme Quaternionf q = Axis.YP .rotationDegrees(AngleHelper.horizontalAngle(blockState.getValue(MechanicalPressBlock.HORIZONTAL_FACING))); - pressHead.setRotation(q); + pressHead.rotation(q); transformModels(partialTick); } @@ -43,8 +43,8 @@ public class PressVisual extends ShaftVisual impleme private void transformModels(float pt) { float renderedHeadOffset = getRenderedHeadOffset(pt); - pressHead.setPosition(getVisualPosition()) - .nudgePosition(0, -renderedHeadOffset, 0) + pressHead.position(getVisualPosition()) + .translatePosition(0, -renderedHeadOffset, 0) .setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/kinetics/steamEngine/SteamEngineVisual.java b/src/main/java/com/simibubi/create/content/kinetics/steamEngine/SteamEngineVisual.java index b0d2e2270..ed592d199 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/steamEngine/SteamEngineVisual.java +++ b/src/main/java/com/simibubi/create/content/kinetics/steamEngine/SteamEngineVisual.java @@ -39,9 +39,9 @@ public class SteamEngineVisual extends AbstractBlockEntityVisual implements Si private void pivotPlate(float lidProgress) { float angle = lidProgress * 70; - EjectorRenderer.applyLidAngle(blockEntity, angle, plate.loadIdentity().translate(getVisualPosition())); + EjectorRenderer.applyLidAngle(blockEntity, angle, plate.setIdentityTransform().translate(getVisualPosition())); plate.setChanged(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlockEntity.java index 9aadd7ef6..733c8301d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/funnel/FunnelBlockEntity.java @@ -27,7 +27,7 @@ import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; import com.simibubi.create.infrastructure.config.AllConfigs; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; @@ -363,7 +363,7 @@ public class FunnelBlockEntity extends SmartBlockEntity implements IHaveHovering extractionCooldown = compound.getInt("TransferCooldown"); if (clientPacket) - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); } public void onTransfer(ItemStack stack) { diff --git a/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java index 6d1247597..9a932ce55 100644 --- a/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java @@ -19,7 +19,7 @@ import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.animation.LerpedFloat; import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; @@ -109,7 +109,7 @@ public class BeltTunnelBlockEntity extends SmartBlockEntity { sides.addAll(flaps.keySet()); super.read(compound, clientPacket); if (clientPacket) - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); } private LerpedFloat createChasingFlap() { diff --git a/src/main/java/com/simibubi/create/content/processing/burner/BlazeBurnerVisual.java b/src/main/java/com/simibubi/create/content/processing/burner/BlazeBurnerVisual.java index 62967b120..32f6971b9 100644 --- a/src/main/java/com/simibubi/create/content/processing/burner/BlazeBurnerVisual.java +++ b/src/main/java/com/simibubi/create/content/processing/burner/BlazeBurnerVisual.java @@ -137,7 +137,7 @@ public class BlazeBurnerVisual extends AbstractBlockEntityVisual buttons; diff --git a/src/main/java/com/simibubi/create/content/trains/bogey/BogeyRenderer.java b/src/main/java/com/simibubi/create/content/trains/bogey/BogeyRenderer.java index 8b9ded293..8c01ad8e5 100644 --- a/src/main/java/com/simibubi/create/content/trains/bogey/BogeyRenderer.java +++ b/src/main/java/com/simibubi/create/content/trains/bogey/BogeyRenderer.java @@ -7,9 +7,9 @@ import java.util.Map; import java.util.stream.IntStream; import org.jetbrains.annotations.Nullable; -import org.joml.Matrix3f; -import org.joml.Matrix4f; -import org.joml.Quaternionf; +import org.joml.Matrix3fc; +import org.joml.Matrix4fc; +import org.joml.Quaternionfc; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; @@ -304,7 +304,7 @@ public abstract class BogeyRenderer { */ private String keyFromModel(PartialModel partialModel) { - return partialModel.getLocation().toString(); + return partialModel.modelLocation().toString(); } /** @@ -348,7 +348,7 @@ public abstract class BogeyRenderer { public BogeyModelData setEmptyTransform() { if (this.transform instanceof TransformedInstance model) - model.setEmptyTransform() + model.setZeroTransform() .setChanged(); return this; } @@ -367,19 +367,19 @@ public abstract class BogeyRenderer { } @Override - public BogeyModelData mulPose(Matrix4f pose) { + public BogeyModelData mulPose(Matrix4fc pose) { this.transform.mulPose(pose); return this; } @Override - public BogeyModelData mulNormal(Matrix3f normal) { + public BogeyModelData mulNormal(Matrix3fc normal) { this.transform.mulNormal(normal); return this; } @Override - public BogeyModelData rotate(Quaternionf quaternion) { + public BogeyModelData rotate(Quaternionfc quaternion) { this.transform.rotate(quaternion); return this; } @@ -391,7 +391,7 @@ public abstract class BogeyRenderer { } @Override - public BogeyModelData translate(double x, double y, double z) { + public BogeyModelData translate(float x, float y, float z) { this.transform.translate(x, y, z); return this; } diff --git a/src/main/java/com/simibubi/create/content/trains/track/TrackBlockEntity.java b/src/main/java/com/simibubi/create/content/trains/track/TrackBlockEntity.java index 9c9f1806c..43e8a7d09 100644 --- a/src/main/java/com/simibubi/create/content/trains/track/TrackBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/trains/track/TrackBlockEntity.java @@ -22,7 +22,7 @@ import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour import com.simibubi.create.foundation.utility.Pair; import com.simibubi.create.foundation.utility.VecHelper; -import dev.engine_room.flywheel.api.visualization.VisualizationManager; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction.Axis; import net.minecraft.core.registries.Registries; @@ -225,7 +225,7 @@ public class TrackBlockEntity extends SmartBlockEntity implements ITransformable level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), 16); } - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationManager.queueUpdate(this)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> VisualizationHelper.queueUpdate(this)); if (hasInteractableConnections()) registerToCurveInteraction(); diff --git a/src/main/java/com/simibubi/create/content/trains/track/TrackMaterialFactory.java b/src/main/java/com/simibubi/create/content/trains/track/TrackMaterialFactory.java index 7e69bf3ed..d5d705464 100644 --- a/src/main/java/com/simibubi/create/content/trains/track/TrackMaterialFactory.java +++ b/src/main/java/com/simibubi/create/content/trains/track/TrackMaterialFactory.java @@ -100,9 +100,9 @@ public class TrackMaterialFactory { DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { String namespace = id.getNamespace(); String prefix = "block/track/" + id.getPath() + "/"; - tieModel = new PartialModel(new ResourceLocation(namespace, prefix + "tie")); - leftSegmentModel = new PartialModel(new ResourceLocation(namespace, prefix + "segment_left")); - rightSegmentModel = new PartialModel(new ResourceLocation(namespace, prefix + "segment_right")); + tieModel = PartialModel.of(new ResourceLocation(namespace, prefix + "tie")); + leftSegmentModel = PartialModel.of(new ResourceLocation(namespace, prefix + "segment_left")); + rightSegmentModel = PartialModel.of(new ResourceLocation(namespace, prefix + "segment_right")); }); return this; } diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java b/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java index a1c4c7da2..8f61275bd 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateBlockEntityBuilder.java @@ -13,7 +13,7 @@ import com.tterrag.registrate.builders.BuilderCallback; import com.tterrag.registrate.util.OneTimeEventReceiver; import com.tterrag.registrate.util.nullness.NonNullSupplier; -import dev.engine_room.flywheel.lib.visual.SimpleBlockEntityVisualizer; +import dev.engine_room.flywheel.lib.visualization.SimpleBlockEntityVisualizer; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateEntityBuilder.java b/src/main/java/com/simibubi/create/foundation/data/CreateEntityBuilder.java index c9109d9e4..944508939 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateEntityBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateEntityBuilder.java @@ -10,7 +10,7 @@ import com.tterrag.registrate.builders.EntityBuilder; import com.tterrag.registrate.util.OneTimeEventReceiver; import com.tterrag.registrate.util.nullness.NonNullSupplier; -import dev.engine_room.flywheel.lib.visual.SimpleEntityVisualizer; +import dev.engine_room.flywheel.lib.visualization.SimpleEntityVisualizer; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; diff --git a/src/main/java/com/simibubi/create/foundation/render/AllInstanceTypes.java b/src/main/java/com/simibubi/create/foundation/render/AllInstanceTypes.java index dde9646d1..7d1b430bb 100644 --- a/src/main/java/com/simibubi/create/foundation/render/AllInstanceTypes.java +++ b/src/main/java/com/simibubi/create/foundation/render/AllInstanceTypes.java @@ -34,10 +34,10 @@ public class AllInstanceTypes { .vector("axis", FloatRepr.NORMALIZED_BYTE, 3) .build()) .writer((ptr, instance) -> { - MemoryUtil.memPutByte(ptr, instance.r); - MemoryUtil.memPutByte(ptr + 1, instance.g); - MemoryUtil.memPutByte(ptr + 2, instance.b); - MemoryUtil.memPutByte(ptr + 3, instance.a); + MemoryUtil.memPutByte(ptr, instance.red); + MemoryUtil.memPutByte(ptr + 1, instance.green); + MemoryUtil.memPutByte(ptr + 2, instance.blue); + MemoryUtil.memPutByte(ptr + 3, instance.alpha); ExtraMemoryOps.put2x16(ptr + 4, instance.light); ExtraMemoryOps.put2x16(ptr + 8, instance.overlay); MemoryUtil.memPutFloat(ptr + 12, instance.x); @@ -67,10 +67,10 @@ public class AllInstanceTypes { .scalar("scrollMult", FloatRepr.FLOAT) .build()) .writer((ptr, instance) -> { - MemoryUtil.memPutByte(ptr, instance.r); - MemoryUtil.memPutByte(ptr + 1, instance.g); - MemoryUtil.memPutByte(ptr + 2, instance.b); - MemoryUtil.memPutByte(ptr + 3, instance.a); + MemoryUtil.memPutByte(ptr, instance.red); + MemoryUtil.memPutByte(ptr + 1, instance.green); + MemoryUtil.memPutByte(ptr + 2, instance.blue); + MemoryUtil.memPutByte(ptr + 3, instance.alpha); ExtraMemoryOps.put2x16(ptr + 4, instance.light); ExtraMemoryOps.put2x16(ptr + 8, instance.overlay); MemoryUtil.memPutFloat(ptr + 12, instance.x); @@ -104,10 +104,10 @@ public class AllInstanceTypes { .vector("scale", FloatRepr.FLOAT, 2) .build()) .writer((ptr, instance) -> { - MemoryUtil.memPutByte(ptr, instance.r); - MemoryUtil.memPutByte(ptr + 1, instance.g); - MemoryUtil.memPutByte(ptr + 2, instance.b); - MemoryUtil.memPutByte(ptr + 3, instance.a); + MemoryUtil.memPutByte(ptr, instance.red); + MemoryUtil.memPutByte(ptr + 1, instance.green); + MemoryUtil.memPutByte(ptr + 2, instance.blue); + MemoryUtil.memPutByte(ptr + 3, instance.alpha); ExtraMemoryOps.put2x16(ptr + 4, instance.light); ExtraMemoryOps.put2x16(ptr + 8, instance.overlay); MemoryUtil.memPutFloat(ptr + 12, instance.x); diff --git a/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java b/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java index 47cf0ebe8..43fd54a93 100644 --- a/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java +++ b/src/main/java/com/simibubi/create/foundation/render/BlockEntityRenderHelper.java @@ -16,7 +16,7 @@ import com.simibubi.create.infrastructure.config.AllConfigs; import dev.engine_room.flywheel.api.visualization.VisualizationManager; import dev.engine_room.flywheel.lib.transform.TransformStack; -import dev.engine_room.flywheel.lib.visual.VisualizationHelper; +import dev.engine_room.flywheel.lib.visualization.VisualizationHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.MultiBufferSource; @@ -50,7 +50,7 @@ public class BlockEntityRenderHelper { Iterator iterator = customRenderBEs.iterator(); while (iterator.hasNext()) { BlockEntity blockEntity = iterator.next(); - if (VisualizationManager.supportsVisualization(world) && VisualizationHelper.shouldSkipRender(blockEntity)) + if (VisualizationManager.supportsVisualization(world) && VisualizationHelper.skipVanillaRender(blockEntity)) continue; BlockEntityRenderer renderer = Minecraft.getInstance().getBlockEntityRenderDispatcher().getRenderer(blockEntity); diff --git a/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java b/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java index 6c61512ff..1f77d787c 100644 --- a/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java +++ b/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java @@ -2,8 +2,10 @@ package com.simibubi.create.foundation.render; import org.jetbrains.annotations.Nullable; import org.joml.Matrix3f; +import org.joml.Matrix3fc; import org.joml.Matrix4f; -import org.joml.Quaternionf; +import org.joml.Matrix4fc; +import org.joml.Quaternionfc; import org.joml.Vector3f; import org.joml.Vector3fc; import org.joml.Vector4f; @@ -220,19 +222,21 @@ public class SuperByteBuffer implements TransformStack { } @Override - public SuperByteBuffer rotate(Quaternionf quaternion) { - transforms.mulPose(quaternion); + public SuperByteBuffer rotate(Quaternionfc quaternion) { + var last = transforms.last(); + last.pose().rotate(quaternion); + last.normal().rotate(quaternion); return this; } @Override - public SuperByteBuffer translate(double x, double y, double z) { + public SuperByteBuffer translate(float x, float y, float z) { transforms.translate(x, y, z); return this; } @Override - public SuperByteBuffer mulPose(Matrix4f pose) { + public SuperByteBuffer mulPose(Matrix4fc pose) { transforms.last() .pose() .mul(pose); @@ -240,7 +244,7 @@ public class SuperByteBuffer implements TransformStack { } @Override - public SuperByteBuffer mulNormal(Matrix3f normal) { + public SuperByteBuffer mulNormal(Matrix3fc normal) { transforms.last() .normal() .mul(normal); diff --git a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java index 731a38e3f..4927bb423 100644 --- a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java +++ b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java @@ -80,7 +80,7 @@ public class DebugInformation { .getVersion() .toString()) .orElse("None")) - .put("Flywheel Backend", () -> Backend.REGISTRY.getIdOrThrow(BackendManager.getBackend()).toString()) + .put("Flywheel Backend", () -> Backend.REGISTRY.getIdOrThrow(BackendManager.currentBackend()).toString()) .put("OpenGL Renderer", GlUtil::getRenderer) .put("OpenGL Version", GlUtil::getOpenGLVersion) .put("Graphics Mode", () -> Minecraft.getInstance().options.graphicsMode().toString())