mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
More Flywheel fixes and clean up
- Remove BeltLighter - Replace AbstractPulleyVisual's usage of LightVolume with new LightCache - Remove Box, MutableBox, and LightVolume - Use AbstractBlockEntityVisual#relight without the pos parameter when possible - Use ExtraMemoryOps where appropriate - Remove unnecessary init methods - Organize imports
This commit is contained in:
parent
bbc30e41c7
commit
3071e46ddc
206 changed files with 713 additions and 1475 deletions
|
@ -6,12 +6,12 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.content.fluids.FluidTransportBehaviour;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package com.simibubi.create.compat.jei.category.animations;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
|
||||
public class AnimatedCrafter extends AnimatedKinetics {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.compat.jei.category.animations;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.gui.CustomLightingSettings;
|
||||
|
@ -8,6 +7,7 @@ import com.simibubi.create.foundation.gui.ILightingSettings;
|
|||
import com.simibubi.create.foundation.gui.element.GuiGameElement;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import mezz.jei.api.gui.drawable.IDrawable;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions;
|
|||
|
||||
import static com.simibubi.create.foundation.utility.AngleHelper.angleLerp;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllEntityTypes;
|
||||
import com.simibubi.create.content.contraptions.bearing.BearingContraption;
|
||||
|
@ -11,6 +10,7 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
|||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions;
|
|||
|
||||
import java.util.function.BiPredicate;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.util.UUID;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllEntityTypes;
|
||||
import com.simibubi.create.content.contraptions.bearing.StabilizedContraption;
|
||||
|
@ -22,6 +21,7 @@ import com.simibubi.create.foundation.utility.Couple;
|
|||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -7,7 +7,6 @@ import org.joml.Vector3f;
|
|||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
import dev.engine_room.flywheel.lib.instance.AbstractInstance;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
||||
public class ActorInstance extends AbstractInstance {
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.actors.contraptionControls;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllTags.AllItemTags;
|
||||
import com.simibubi.create.content.contraptions.actors.trainControls.ControlsBlock;
|
||||
|
@ -17,6 +16,7 @@ import com.simibubi.create.foundation.utility.VecHelper;
|
|||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.actors.contraptionControls;
|
|||
|
||||
import java.util.Random;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
|
@ -21,6 +20,7 @@ import com.simibubi.create.foundation.utility.DyeHelper;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
package com.simibubi.create.content.contraptions.actors.harvester;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
|
@ -13,6 +8,11 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
|
|
@ -4,8 +4,6 @@ import javax.annotation.Nullable;
|
|||
|
||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
|
@ -16,6 +14,8 @@ import com.simibubi.create.foundation.utility.VecHelper;
|
|||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
|
|
|
@ -2,13 +2,13 @@ package com.simibubi.create.content.contraptions.actors.psi;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.InstancerProvider;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package com.simibubi.create.content.contraptions.actors.psi;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
||||
public class PSIActorVisual extends ActorVisual {
|
||||
|
||||
private final PIInstance instance;
|
||||
|
|
|
@ -34,7 +34,7 @@ public class PSIVisual extends AbstractBlockEntityVisual<PortableStorageInterfac
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, instance.middle, instance.top);
|
||||
relight(instance.middle, instance.top);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,8 +4,6 @@ import java.util.Optional;
|
|||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
|
@ -16,6 +14,8 @@ import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
|||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
package com.simibubi.create.content.contraptions.actors.roller;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterActorVisual;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.actors.harvester.HarvesterActorVisual;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public class RollerActorVisual extends HarvesterActorVisual {
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.actors.roller;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
|
@ -16,6 +15,7 @@ import com.simibubi.create.foundation.utility.Iterate;
|
|||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
|
|
|
@ -9,8 +9,6 @@ import java.util.function.BiConsumer;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.actors.roller.RollerBlockEntity.RollingMode;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
|
@ -39,6 +37,8 @@ import com.simibubi.create.foundation.utility.VecHelper;
|
|||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.simibubi.create.content.contraptions.bearing;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
|
@ -10,6 +8,8 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -4,6 +4,12 @@ import java.util.function.Consumer;
|
|||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.BackHalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
@ -12,12 +18,6 @@ import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
|||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.BackHalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
|
@ -60,7 +60,7 @@ public class BearingVisual<B extends KineticBlockEntity & IBearingBlockEntity> e
|
|||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
super.updateLight(partialTick);
|
||||
relight(pos, topInstance);
|
||||
relight(topInstance);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,10 +2,6 @@ package com.simibubi.create.content.contraptions.bearing;
|
|||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
|
@ -15,6 +11,10 @@ import com.simibubi.create.foundation.render.AllInstanceTypes;
|
|||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
|
|
@ -2,12 +2,12 @@ package com.simibubi.create.content.contraptions.behaviour;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.contraptions.render.ContraptionMatrices;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.entity.item.ItemEntity;
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.chassis;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllSoundEvents;
|
||||
import com.simibubi.create.content.contraptions.glue.SuperGlueEntity;
|
||||
|
@ -12,6 +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 net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.contraptions.chassis;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
||||
|
@ -9,6 +8,7 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
|||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
|
|
|
@ -2,6 +2,9 @@ package com.simibubi.create.content.contraptions.chassis;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
@ -10,9 +13,6 @@ import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
|||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -67,7 +67,7 @@ public class StickerVisual extends AbstractBlockEntityVisual<StickerBlockEntity>
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, head);
|
||||
relight(head);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package com.simibubi.create.content.contraptions.elevator;
|
||||
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
|
||||
// TODO
|
||||
public class ElevatorPulleyVisual extends ShaftVisual<ElevatorPulleyBlockEntity> implements SimpleDynamicVisual {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.contraptions.gantry;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
|
@ -11,6 +10,7 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -2,6 +2,12 @@ package com.simibubi.create.content.contraptions.gantry;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
@ -9,12 +15,6 @@ import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
|||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -99,7 +99,7 @@ public class GantryCarriageVisual extends ShaftVisual<GantryCarriageBlockEntity>
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, gantryCogs, rotatingModel);
|
||||
relight(gantryCogs, rotatingModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.contraptions.minecart;
|
|||
|
||||
import static net.minecraft.util.Mth.lerp;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
@ -16,6 +15,7 @@ import com.simibubi.create.foundation.utility.Color;
|
|||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.renderer.LevelRenderer;
|
||||
|
|
|
@ -2,15 +2,6 @@ package com.simibubi.create.content.contraptions.pulley;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.foundation.utility.flywheel.box.MutableBox;
|
||||
import com.simibubi.create.foundation.utility.flywheel.light.LightVolume;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
|
@ -18,22 +9,36 @@ import com.simibubi.create.foundation.render.ConditionalInstance;
|
|||
import com.simibubi.create.foundation.render.GroupInstance;
|
||||
import com.simibubi.create.foundation.render.SelectInstance;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.math.MoreMath;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteArrayList;
|
||||
import it.unimi.dsi.fastutil.bytes.ByteList;
|
||||
import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
|
||||
import it.unimi.dsi.fastutil.longs.LongSet;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.SectionPos;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
|
||||
public abstract class AbstractPulleyVisual<T extends KineticBlockEntity> extends ShaftVisual<T> implements SimpleDynamicVisual {
|
||||
private final OrientedInstance coil;
|
||||
private final SelectInstance<OrientedInstance> magnet;
|
||||
private final GroupInstance<OrientedInstance> rope;
|
||||
private final ConditionalInstance<OrientedInstance> halfRope;
|
||||
|
||||
final OrientedInstance coil;
|
||||
final SelectInstance<OrientedInstance> magnet;
|
||||
final GroupInstance<OrientedInstance> rope;
|
||||
final ConditionalInstance<OrientedInstance> halfRope;
|
||||
|
||||
protected float offset;
|
||||
protected final Direction rotatingAbout;
|
||||
protected final Axis rotationAxis;
|
||||
|
||||
private final MutableBox volume = new MutableBox();
|
||||
private final LightVolume light;
|
||||
private final LightCache lightCache = new LightCache(1);
|
||||
|
||||
private float offset;
|
||||
|
||||
public AbstractPulleyVisual(VisualizationContext dispatcher, T blockEntity, float partialTick) {
|
||||
super(dispatcher, blockEntity, partialTick);
|
||||
|
@ -52,78 +57,7 @@ public abstract class AbstractPulleyVisual<T extends KineticBlockEntity> extends
|
|||
rope = new GroupInstance<>(getRopeModel());
|
||||
halfRope = new ConditionalInstance<>(getHalfRopeModel()).withCondition(this::shouldRenderHalfRope);
|
||||
|
||||
updateOffset(0);
|
||||
updateVolume();
|
||||
|
||||
light = new LightVolume(level, volume);
|
||||
light.initialize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beginFrame(DynamicVisual.Context ctx) {
|
||||
updateOffset(ctx.partialTick());
|
||||
coil.setRotation(rotationAxis.rotationDegrees(offset * 180))
|
||||
.setChanged();
|
||||
|
||||
int neededRopeCount = getNeededRopeCount();
|
||||
rope.resize(neededRopeCount);
|
||||
|
||||
magnet.update()
|
||||
.get()
|
||||
.ifPresent(data -> {
|
||||
int i = Math.max(0, Mth.floor(offset));
|
||||
short packed = light.getPackedLight(pos.getX(), pos.getY() - i, pos.getZ());
|
||||
data.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -offset, 0)
|
||||
.light(packed)
|
||||
.setChanged();
|
||||
});
|
||||
|
||||
halfRope.update()
|
||||
.get()
|
||||
.ifPresent(rope1 -> {
|
||||
float f = offset % 1;
|
||||
float halfRopeNudge = f > .75f ? f - 1 : f;
|
||||
|
||||
short packed = light.getPackedLight(pos.getX(), pos.getY(), pos.getZ());
|
||||
rope1.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -halfRopeNudge, 0)
|
||||
.light(packed)
|
||||
.setChanged();
|
||||
});
|
||||
|
||||
if (isRunning()) {
|
||||
int size = rope.size();
|
||||
int bottomY = pos.getY() - size;
|
||||
for (int i = 0; i < size; i++) {
|
||||
short packed = light.getPackedLight(pos.getX(), bottomY + i, pos.getZ());
|
||||
|
||||
rope.get(i)
|
||||
.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -offset + i + 1, 0)
|
||||
.light(packed)
|
||||
.setChanged();
|
||||
}
|
||||
} else {
|
||||
rope.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
super.updateLight(partialTick);
|
||||
light.copyLight(volume);
|
||||
relight(pos, coil);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void _delete() {
|
||||
super._delete();
|
||||
coil.delete();
|
||||
magnet.delete();
|
||||
rope.clear();
|
||||
halfRope.delete();
|
||||
light.delete();
|
||||
updateOffset(partialTick);
|
||||
}
|
||||
|
||||
protected abstract Instancer<OrientedInstance> getRopeModel();
|
||||
|
@ -140,27 +74,66 @@ public abstract class AbstractPulleyVisual<T extends KineticBlockEntity> extends
|
|||
|
||||
protected abstract boolean isRunning();
|
||||
|
||||
public boolean tickLightListener() {
|
||||
if (updateVolume()) {
|
||||
light.move(volume);
|
||||
return true;
|
||||
@Override
|
||||
public void beginFrame(DynamicVisual.Context ctx) {
|
||||
updateOffset(ctx.partialTick());
|
||||
coil.setRotation(rotationAxis.rotationDegrees(offset * 180))
|
||||
.setChanged();
|
||||
|
||||
int neededRopeCount = getNeededRopeCount();
|
||||
rope.resize(neededRopeCount);
|
||||
|
||||
magnet.update()
|
||||
.get()
|
||||
.ifPresent(data -> {
|
||||
int i = Math.max(0, Mth.floor(offset));
|
||||
int light = lightCache.getPackedLight(i);
|
||||
data.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -offset, 0)
|
||||
.light(light)
|
||||
.setChanged();
|
||||
});
|
||||
|
||||
halfRope.update()
|
||||
.get()
|
||||
.ifPresent(rope1 -> {
|
||||
float f = offset % 1;
|
||||
float halfRopeNudge = f > .75f ? f - 1 : f;
|
||||
|
||||
int light = lightCache.getPackedLight(0);
|
||||
rope1.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -halfRopeNudge, 0)
|
||||
.light(light)
|
||||
.setChanged();
|
||||
});
|
||||
|
||||
if (isRunning()) {
|
||||
int size = rope.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
int light = lightCache.getPackedLight(size - 1 - i);
|
||||
|
||||
rope.get(i)
|
||||
.setPosition(getVisualPosition())
|
||||
.nudgePosition(0, -offset + i + 1, 0)
|
||||
.light(light)
|
||||
.setChanged();
|
||||
}
|
||||
} else {
|
||||
rope.clear();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean updateVolume() {
|
||||
int length = Mth.ceil(offset) + 2;
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
super.updateLight(partialTick);
|
||||
relight(coil);
|
||||
|
||||
if (volume.sizeY() < length) {
|
||||
volume.assign(pos.below(length), pos);
|
||||
volume.fixMinMax();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
lightCache.update();
|
||||
}
|
||||
|
||||
private void updateOffset(float pt) {
|
||||
offset = getOffset(pt);
|
||||
lightCache.setSize(Mth.ceil(offset) + 2);
|
||||
}
|
||||
|
||||
private int getNeededRopeCount() {
|
||||
|
@ -188,4 +161,67 @@ public abstract class AbstractPulleyVisual<T extends KineticBlockEntity> extends
|
|||
rope.forEach(consumer);
|
||||
halfRope.forEach(consumer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void _delete() {
|
||||
super._delete();
|
||||
coil.delete();
|
||||
magnet.delete();
|
||||
rope.clear();
|
||||
halfRope.delete();
|
||||
}
|
||||
|
||||
private class LightCache {
|
||||
private final ByteList data;
|
||||
private final LongSet sections = new LongOpenHashSet();
|
||||
private final BlockPos.MutableBlockPos mutablePos = new BlockPos.MutableBlockPos();
|
||||
private int sectionCount;
|
||||
|
||||
public LightCache(int initialSize) {
|
||||
data = new ByteArrayList(initialSize);
|
||||
setSize(initialSize);
|
||||
}
|
||||
|
||||
public void setSize(int size) {
|
||||
if (size != data.size()) {
|
||||
data.size(size);
|
||||
|
||||
int sectionCount = MoreMath.ceilingDiv(size + 15 - pos.getY() + pos.getY() / 4 * 4, SectionPos.SECTION_SIZE);
|
||||
if (sectionCount != this.sectionCount) {
|
||||
this.sectionCount = sectionCount;
|
||||
sections.clear();
|
||||
int sectionX = SectionPos.blockToSectionCoord(pos.getX());
|
||||
int sectionY = SectionPos.blockToSectionCoord(pos.getY());
|
||||
int sectionZ = SectionPos.blockToSectionCoord(pos.getZ());
|
||||
for (int i = 0; i < sectionCount; i++) {
|
||||
sections.add(SectionPos.asLong(sectionX, sectionY - i, sectionZ));
|
||||
}
|
||||
lightSections.sections(sections);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void update() {
|
||||
mutablePos.set(pos);
|
||||
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
int blockLight = level.getBrightness(LightLayer.BLOCK, mutablePos);
|
||||
int skyLight = level.getBrightness(LightLayer.SKY, mutablePos);
|
||||
int light = ((skyLight << 4) & 0xF) | (blockLight & 0xF);
|
||||
data.set(i, (byte) light);
|
||||
mutablePos.move(Direction.DOWN);
|
||||
}
|
||||
}
|
||||
|
||||
public int getPackedLight(int offset) {
|
||||
if (offset < 0 || offset >= data.size()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int light = Byte.toUnsignedInt(data.getByte(offset));
|
||||
int blockLight = light & 0xF;
|
||||
int skyLight = (light >>> 4) & 0xF;
|
||||
return LightTexture.pack(blockLight, skyLight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,43 +1,50 @@
|
|||
package com.simibubi.create.content.contraptions.pulley;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlockEntity;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.fluids.hosePulley.HosePulleyBlockEntity;
|
||||
|
||||
public class HosePulleyVisual extends AbstractPulleyVisual<HosePulleyBlockEntity> {
|
||||
|
||||
public HosePulleyVisual(VisualizationContext dispatcher, HosePulleyBlockEntity blockEntity, float partialTick) {
|
||||
super(dispatcher, blockEntity, partialTick);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getRopeModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.HOSE));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getMagnetModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.HOSE_MAGNET));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getHalfMagnetModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.HOSE_HALF_MAGNET));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getCoilModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.HOSE_COIL, rotatingAbout));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getHalfRopeModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.HOSE_HALF));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float getOffset(float pt) {
|
||||
return blockEntity.getInterpolatedOffset(pt);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isRunning() {
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package com.simibubi.create.content.contraptions.pulley;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.AbstractContraptionEntity;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.util.Mth;
|
||||
|
|
|
@ -1,44 +1,52 @@
|
|||
package com.simibubi.create.content.contraptions.pulley;
|
||||
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.OrientedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
public class RopePulleyVisual extends AbstractPulleyVisual<PulleyBlockEntity> {
|
||||
public RopePulleyVisual(VisualizationContext context, PulleyBlockEntity blockEntity, float partialTick) {
|
||||
super(context, blockEntity, partialTick);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getRopeModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, VirtualRenderHelper.blockModel(AllBlocks.ROPE.getDefaultState()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getMagnetModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, VirtualRenderHelper.blockModel(AllBlocks.PULLEY_MAGNET.getDefaultState()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getHalfMagnetModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.ROPE_HALF_MAGNET));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getCoilModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.ROPE_COIL, rotatingAbout));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<OrientedInstance> getHalfRopeModel() {
|
||||
return instancerProvider.instancer(InstanceTypes.ORIENTED, Models.partial(AllPartialModels.ROPE_HALF));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float getOffset(float pt) {
|
||||
return PulleyRenderer.getBlockEntityOffset(pt, blockEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isRunning() {
|
||||
return PulleyRenderer.isPulleyRunning(blockEntity);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.simibubi.create.content.contraptions.render;
|
|||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllMovementBehaviours;
|
||||
|
@ -15,6 +13,8 @@ import com.simibubi.create.foundation.render.BlockEntityRenderHelper;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.culling.Frustum;
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.simibubi.create.content.contraptions.render;
|
|||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.ModelUtil;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.CreateClient;
|
||||
import com.simibubi.create.content.contraptions.Contraption;
|
||||
|
@ -14,6 +12,8 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBufferCache;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.ModelUtil;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
|
||||
import net.minecraft.client.renderer.block.ModelBlockRenderer;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package com.simibubi.create.content.contraptions.render;
|
||||
|
||||
import dev.engine_room.flywheel.api.event.ReloadLevelRendererEvent;
|
||||
import com.simibubi.create.content.contraptions.Contraption;
|
||||
import com.simibubi.create.foundation.utility.WorldAttached;
|
||||
|
||||
import dev.engine_room.flywheel.api.event.ReloadLevelRendererEvent;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
|
|
@ -70,7 +70,7 @@ public class ContraptionVisual<E extends AbstractContraptionEntity> extends Abst
|
|||
init(partialTick);
|
||||
}
|
||||
|
||||
public void init(float partialTick) {
|
||||
protected void init(float partialTick) {
|
||||
setEmbeddingMatrices(partialTick);
|
||||
|
||||
Contraption contraption = entity.getContraption();
|
||||
|
@ -99,8 +99,6 @@ public class ContraptionVisual<E extends AbstractContraptionEntity> extends Abst
|
|||
for (var actor : contraption.getActors()) {
|
||||
setupActor(actor, partialTick);
|
||||
}
|
||||
|
||||
updateLight(partialTick);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package com.simibubi.create.content.decoration.placard;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.decoration.slidingDoor;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
@ -11,6 +10,7 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.decoration.steamWhistle;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.decoration.steamWhistle.WhistleBlock.WhistleSize;
|
||||
|
@ -9,6 +8,7 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.equipment.armor;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
@ -10,6 +9,7 @@ import com.simibubi.create.foundation.render.SuperByteBuffer;
|
|||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package com.simibubi.create.content.equipment.armor;
|
||||
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
public class BacktankVisual extends SingleRotatingVisual<BacktankBlockEntity> {
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create.content.equipment.bell;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
|
|
@ -3,10 +3,10 @@ package com.simibubi.create.content.equipment.bell;
|
|||
import org.joml.Quaternionf;
|
||||
import org.joml.Vector3f;
|
||||
|
||||
import dev.engine_room.flywheel.lib.util.ShadersModHandler;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Axis;
|
||||
|
||||
import dev.engine_room.flywheel.lib.util.ShadersModHandler;
|
||||
import net.minecraft.client.Camera;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.client.particle.SimpleAnimatedParticle;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.simibubi.create.content.equipment.bell;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.simibubi.create.content.equipment.bell;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.simibubi.create.content.equipment.blueprint;
|
|||
|
||||
import org.joml.Matrix3f;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.equipment.blueprint.BlueprintEntity.BlueprintSection;
|
||||
|
@ -11,6 +9,8 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.Sheets;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.simibubi.create.content.equipment.extendoGrip;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -10,6 +8,8 @@ import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRendere
|
|||
import com.simibubi.create.foundation.item.render.PartialItemModelRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
package com.simibubi.create.content.equipment.extendoGrip;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.simibubi.create.content.equipment.potatoCannon;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -11,6 +9,8 @@ import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRendere
|
|||
import com.simibubi.create.foundation.item.render.PartialItemModelRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package com.simibubi.create.content.equipment.potatoCannon;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.content.equipment.zapper.ShootableGadgetRenderHandler;
|
||||
import com.simibubi.create.foundation.particle.AirParticleData;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.core.particles.ItemParticleOption;
|
||||
|
|
|
@ -2,10 +2,10 @@ package com.simibubi.create.content.equipment.potatoCannon;
|
|||
|
||||
import static com.simibubi.create.content.equipment.potatoCannon.PotatoProjectileRenderMode.entityRandom;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.equipment.symmetryWand;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -9,6 +8,7 @@ import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRendere
|
|||
import com.simibubi.create.foundation.item.render.PartialItemModelRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.util.Mth;
|
||||
|
|
|
@ -5,12 +5,12 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
|
|
|
@ -5,8 +5,8 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
|
|
|
@ -5,12 +5,12 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
|
|
|
@ -5,10 +5,10 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
|
|
@ -5,10 +5,10 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.util.List;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import com.mojang.blaze3d.platform.Window;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
|
@ -22,6 +21,7 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.KeyMapping;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
|
|
|
@ -2,6 +2,9 @@ package com.simibubi.create.content.equipment.toolbox;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
@ -11,9 +14,6 @@ import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
|||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class ToolBoxVisual extends AbstractBlockEntityVisual<ToolboxBlockEntity> implements SimpleDynamicVisual {
|
||||
|
@ -74,8 +74,8 @@ public class ToolBoxVisual extends AbstractBlockEntityVisual<ToolboxBlockEntity>
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, drawers);
|
||||
relight(pos, lid);
|
||||
relight(drawers);
|
||||
relight(lid);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -4,7 +4,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
|
@ -18,6 +17,7 @@ import com.simibubi.create.foundation.gui.widget.IconButton;
|
|||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.renderer.Rect2i;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.equipment.wrench;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -10,6 +9,7 @@ import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRendere
|
|||
import com.simibubi.create.foundation.item.render.PartialItemModelRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.equipment.zapper.terrainzapper;
|
|||
|
||||
import static java.lang.Math.max;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.Create;
|
||||
|
@ -11,6 +10,7 @@ import com.simibubi.create.foundation.item.render.CustomRenderedItemModel;
|
|||
import com.simibubi.create.foundation.item.render.PartialItemModelRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.fluids.drain;
|
|||
|
||||
import java.util.Random;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.content.fluids.transfer.GenericItemEmptying;
|
||||
|
@ -14,6 +13,7 @@ import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRende
|
|||
import com.simibubi.create.foundation.fluid.FluidRenderer;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.fluids.hosePulley;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.pulley.AbstractPulleyRenderer;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.simibubi.create.content.fluids.pipes;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.fluids.FluidPropagator;
|
||||
import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity.StraightPipeFluidTransportBehaviour;
|
||||
|
@ -13,6 +12,7 @@ import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringB
|
|||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.fluids.pipes.valve;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
|
@ -8,6 +7,7 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -2,6 +2,11 @@ package com.simibubi.create.content.fluids.pipes.valve;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
@ -9,11 +14,6 @@ import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
|||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
|
@ -72,7 +72,7 @@ public class FluidValveVisual extends ShaftVisual<FluidValveBlockEntity> impleme
|
|||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
super.updateLight(partialTick);
|
||||
relight(pos, pointer);
|
||||
relight(pointer);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.fluids.pump;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.fluids.spout;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour;
|
||||
|
@ -9,6 +8,7 @@ import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRender
|
|||
import com.simibubi.create.foundation.fluid.FluidRenderer;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.fluids.tank;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
@ -10,6 +9,7 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import java.util.List;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||
import com.simibubi.create.content.equipment.goggles.IHaveHoveringInformation;
|
||||
|
@ -28,6 +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 net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.resources.language.I18n;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.ICogWheel;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.ShaftBlock;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create.content.kinetics.base;
|
|||
|
||||
import org.joml.Vector3f;
|
||||
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
import dev.engine_room.flywheel.lib.instance.ColoredLitInstance;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
||||
public class KineticInstance extends ColoredLitInstance {
|
||||
|
|
|
@ -4,7 +4,6 @@ import org.joml.Vector3f;
|
|||
|
||||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class RotatingInstance extends KineticInstance {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
|
||||
public class ShaftVisual<T extends KineticBlockEntity> extends SingleRotatingVisual<T> {
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public class SingleRotatingVisual<T extends KineticBlockEntity> extends KineticB
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, rotatingModel);
|
||||
relight(rotatingModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -28,22 +28,15 @@ import com.simibubi.create.content.logistics.tunnel.BrassTunnelBlockEntity;
|
|||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
|
||||
import com.simibubi.create.foundation.utility.flywheel.box.Box;
|
||||
import com.simibubi.create.foundation.utility.flywheel.box.MutableBox;
|
||||
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.SectionPos;
|
||||
import net.minecraft.core.Vec3i;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.NbtUtils;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.LightLayer;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
|
@ -51,16 +44,12 @@ import net.minecraft.world.level.block.state.BlockState;
|
|||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.util.LazyOptional;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
public class BeltBlockEntity extends KineticBlockEntity {
|
||||
|
||||
public Map<Entity, TransportedEntityInfo> passengers;
|
||||
public Optional<DyeColor> color;
|
||||
public int beltLength;
|
||||
|
@ -75,9 +64,6 @@ public class BeltBlockEntity extends KineticBlockEntity {
|
|||
|
||||
public CompoundTag trackerUpdateTag;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public BeltLighter lighter;
|
||||
|
||||
public static enum CasingType {
|
||||
NONE, ANDESITE, BRASS;
|
||||
}
|
||||
|
@ -116,11 +102,6 @@ public class BeltBlockEntity extends KineticBlockEntity {
|
|||
if (!isController())
|
||||
return;
|
||||
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
|
||||
if (beltLength > 0 && lighter == null) {
|
||||
lighter = new BeltLighter();
|
||||
}
|
||||
});
|
||||
invalidateRenderBoundingBox();
|
||||
|
||||
getInventory().tick();
|
||||
|
@ -222,7 +203,6 @@ public class BeltBlockEntity extends KineticBlockEntity {
|
|||
|
||||
@Override
|
||||
protected void read(CompoundTag compound, boolean clientPacket) {
|
||||
int prevBeltLength = beltLength;
|
||||
super.read(compound, clientPacket);
|
||||
|
||||
if (compound.getBoolean("IsController"))
|
||||
|
@ -237,13 +217,6 @@ public class BeltBlockEntity extends KineticBlockEntity {
|
|||
trackerUpdateTag = compound;
|
||||
index = compound.getInt("Index");
|
||||
beltLength = compound.getInt("Length");
|
||||
if (prevBeltLength != beltLength) {
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
|
||||
if (lighter != null) {
|
||||
lighter.initializeLight();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (isController())
|
||||
|
@ -574,92 +547,6 @@ public class BeltBlockEntity extends KineticBlockEntity {
|
|||
return state != null && state.hasProperty(BeltBlock.PART) && state.getValue(BeltBlock.PART) == BeltPart.START;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide this behavior in an inner class to avoid loading LightListener on servers.
|
||||
*/
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
class BeltLighter {
|
||||
private byte[] light;
|
||||
|
||||
public BeltLighter() {
|
||||
initializeLight();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the number of belt segments represented by the lighter.
|
||||
* @return The number of segments.
|
||||
*/
|
||||
public int lightSegments() {
|
||||
return light == null ? 0 : light.length / 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the light value for a given segment.
|
||||
* @param segment The segment to get the light value for.
|
||||
* @return The light value.
|
||||
*/
|
||||
public int getPackedLight(int segment) {
|
||||
return light == null ? 0 : LightTexture.pack(light[segment * 2], light[segment * 2 + 1]);
|
||||
}
|
||||
|
||||
public Box getVolume() {
|
||||
BlockPos endPos = BeltHelper.getPositionForOffset(BeltBlockEntity.this, beltLength - 1);
|
||||
var bb = MutableBox.from(worldPosition, endPos);
|
||||
bb.fixMinMax();
|
||||
return bb;
|
||||
}
|
||||
|
||||
public void onLightUpdate(LightLayer type, SectionPos pos) {
|
||||
if (remove)
|
||||
return;
|
||||
if (level == null)
|
||||
return;
|
||||
|
||||
initializeLight();
|
||||
}
|
||||
|
||||
private void initializeLight() {
|
||||
light = new byte[beltLength * 2];
|
||||
|
||||
Vec3i vec = getBeltFacing().getNormal();
|
||||
BeltSlope slope = getBlockState().getValue(BeltBlock.SLOPE);
|
||||
int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0;
|
||||
|
||||
MutableBlockPos pos = new MutableBlockPos(controller.getX(), controller.getY(), controller.getZ());
|
||||
for (int i = 0; i < beltLength * 2; i += 2) {
|
||||
light[i] = (byte) level.getBrightness(LightLayer.BLOCK, pos);
|
||||
light[i + 1] = (byte) level.getBrightness(LightLayer.SKY, pos);
|
||||
pos.move(vec.getX(), verticality, vec.getZ());
|
||||
}
|
||||
}
|
||||
|
||||
private void updateBlockLight() {
|
||||
Vec3i vec = getBeltFacing().getNormal();
|
||||
BeltSlope slope = getBlockState().getValue(BeltBlock.SLOPE);
|
||||
int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0;
|
||||
|
||||
MutableBlockPos pos = new MutableBlockPos(controller.getX(), controller.getY(), controller.getZ());
|
||||
for (int i = 0; i < beltLength * 2; i += 2) {
|
||||
light[i] = (byte) level.getBrightness(LightLayer.BLOCK, pos);
|
||||
|
||||
pos.move(vec.getX(), verticality, vec.getZ());
|
||||
}
|
||||
}
|
||||
|
||||
private void updateSkyLight() {
|
||||
Vec3i vec = getBeltFacing().getNormal();
|
||||
BeltSlope slope = getBlockState().getValue(BeltBlock.SLOPE);
|
||||
int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0;
|
||||
|
||||
MutableBlockPos pos = new MutableBlockPos(controller.getX(), controller.getY(), controller.getZ());
|
||||
for (int i = 1; i < beltLength * 2; i += 2) {
|
||||
light[i] = (byte) level.getBrightness(LightLayer.SKY, pos);
|
||||
|
||||
pos.move(vec.getX(), verticality, vec.getZ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setCovered(boolean blockCoveringBelt) {
|
||||
if (blockCoveringBelt == covered)
|
||||
return;
|
||||
|
|
|
@ -3,11 +3,11 @@ package com.simibubi.create.content.kinetics.belt;
|
|||
import org.joml.Quaternionf;
|
||||
import org.joml.Quaternionfc;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
import com.simibubi.create.content.kinetics.base.KineticInstance;
|
||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
|
||||
public class BeltInstance extends KineticInstance {
|
||||
|
|
|
@ -3,9 +3,6 @@ package com.simibubi.create.content.kinetics.belt;
|
|||
import java.util.Random;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Axis;
|
||||
|
@ -24,11 +21,16 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
|||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.LevelRenderer;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.core.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.core.Vec3i;
|
||||
|
@ -192,6 +194,7 @@ public class BeltRenderer extends SafeBlockEntityRenderer<BeltBlockEntity> {
|
|||
int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0;
|
||||
boolean slopeAlongX = beltFacing
|
||||
.getAxis() == Direction.Axis.X;
|
||||
MutableBlockPos mutablePos = new MutableBlockPos();
|
||||
|
||||
boolean onContraption = be.getLevel() instanceof WrappedWorld;
|
||||
|
||||
|
@ -236,7 +239,15 @@ public class BeltRenderer extends SafeBlockEntityRenderer<BeltBlockEntity> {
|
|||
sideOffset *= -1;
|
||||
ms.translate(alongX ? sideOffset : 0, 0, alongX ? 0 : sideOffset);
|
||||
|
||||
int stackLight = onContraption ? light : getPackedLight(be, offset);
|
||||
int stackLight;
|
||||
if (onContraption) {
|
||||
stackLight = light;
|
||||
} else {
|
||||
int segment = (int) Math.floor(offset);
|
||||
mutablePos.set(be.getBlockPos()).move(directionVec.getX() * segment, verticality * segment, directionVec.getZ() * segment);
|
||||
stackLight = LevelRenderer.getLightColor(be.getLevel(), mutablePos);
|
||||
}
|
||||
|
||||
ItemRenderer itemRenderer = Minecraft.getInstance()
|
||||
.getItemRenderer();
|
||||
boolean renderUpright = BeltHelper.isItemUpright(transported.stack);
|
||||
|
@ -304,13 +315,4 @@ public class BeltRenderer extends SafeBlockEntityRenderer<BeltBlockEntity> {
|
|||
}
|
||||
ms.popPose();
|
||||
}
|
||||
|
||||
protected int getPackedLight(BeltBlockEntity controller, float beltPos) {
|
||||
int segment = (int) Math.floor(beltPos);
|
||||
if (controller.lighter == null || segment >= controller.lighter.lightSegments() || segment < 0)
|
||||
return 0;
|
||||
|
||||
return controller.lighter.getPackedLight(segment);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,17 +3,8 @@ package com.simibubi.create.content.kinetics.belt;
|
|||
import java.util.ArrayList;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.instance.FlatLit;
|
||||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.AbstractInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
|
@ -22,6 +13,14 @@ import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
|||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.AbstractInstance;
|
||||
import dev.engine_room.flywheel.lib.instance.FlatLit;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
|
@ -102,9 +101,9 @@ public class BeltVisual extends KineticBlockEntityVisual<BeltBlockEntity> {
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, keys.toArray(FlatLit[]::new));
|
||||
relight(keys.toArray(FlatLit[]::new));
|
||||
|
||||
if (pulleyKey != null) relight(pos, pulleyKey);
|
||||
if (pulleyKey != null) relight(pulleyKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.simibubi.create.content.kinetics.clock;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
|
@ -10,6 +9,7 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -3,9 +3,6 @@ package com.simibubi.create.content.kinetics.crafter;
|
|||
import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING;
|
||||
import static com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer.standardKineticRotationTransform;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.math.Axis;
|
||||
|
@ -20,6 +17,9 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
package com.simibubi.create.content.kinetics.crafter;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class ShaftlessCogwheelVisual extends SingleRotatingVisual<KineticBlockEntity> {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.simibubi.create.content.kinetics.crank;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.AllSoundEvents;
|
||||
|
@ -10,6 +8,8 @@ import com.simibubi.create.foundation.render.CachedBufferer;
|
|||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
|
|
@ -2,10 +2,10 @@ package com.simibubi.create.content.kinetics.crank;
|
|||
|
||||
import static net.minecraft.world.level.block.state.properties.BlockStateProperties.FACING;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
|
|
|
@ -69,7 +69,7 @@ public class HandCrankVisual extends KineticBlockEntityVisual<HandCrankBlockEnti
|
|||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
relight(pos, crank, rotatingModel);
|
||||
relight(crank, rotatingModel);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.simibubi.create.content.kinetics.crank;
|
|||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
|
@ -22,6 +21,7 @@ import com.simibubi.create.foundation.utility.Components;
|
|||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -3,12 +3,6 @@ package com.simibubi.create.content.kinetics.deployer;
|
|||
import static com.simibubi.create.content.kinetics.base.DirectionalAxisKineticBlock.AXIS_ALONG_FIRST_COORDINATE;
|
||||
import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
|
@ -24,6 +18,12 @@ import com.simibubi.create.foundation.utility.NBTHelper;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
|
|
@ -9,7 +9,6 @@ import java.util.UUID;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
|
@ -30,6 +29,7 @@ import com.simibubi.create.foundation.utility.NBTHelper;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.kinetics.deployer;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -8,8 +8,6 @@ import javax.annotation.Nullable;
|
|||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.content.contraptions.AbstractContraptionEntity;
|
||||
|
@ -34,6 +32,8 @@ import com.simibubi.create.foundation.utility.NBTHelper;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
|
|
|
@ -7,6 +7,11 @@ import java.util.function.Consumer;
|
|||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
import dev.engine_room.flywheel.api.visual.TickableVisual;
|
||||
|
@ -17,11 +22,6 @@ import dev.engine_room.flywheel.lib.model.Models;
|
|||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleTickableVisual;
|
||||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Vec3i;
|
||||
|
@ -88,7 +88,7 @@ public class DeployerVisual extends ShaftVisual<DeployerBlockEntity> implements
|
|||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
super.updateLight(partialTick);
|
||||
relight(pos, hand, pole);
|
||||
relight(hand, pole);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.simibubi.create.content.kinetics.drill;
|
|||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.contraptions.actors.ActorInstance;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
|
@ -13,6 +11,8 @@ import com.simibubi.create.foundation.utility.AngleHelper;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
|
|
@ -2,8 +2,6 @@ package com.simibubi.create.content.kinetics.drill;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
|
@ -13,6 +11,8 @@ import com.simibubi.create.foundation.damageTypes.CreateDamageSources;
|
|||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.kinetics.drill;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
|
|
|
@ -4,14 +4,14 @@ import static net.minecraft.world.level.block.state.properties.BlockStatePropert
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.util.Mth;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue