Create/src/main/java/com/simibubi/create/content/contraptions/render/ActorVisual.java
Jozufozu d28fd7e47b Touchups
- Bump flywheel version and remove #shouldReset
- Water wheels and belt tunnels now properly handle updates without
  resetting
- Fix flaps going crazy
2024-04-02 19:23:14 -07:00

50 lines
1.4 KiB
Java

package com.simibubi.create.content.contraptions.render;
import com.jozufozu.flywheel.api.instance.InstancerProvider;
import com.jozufozu.flywheel.api.visual.Visual;
import com.jozufozu.flywheel.api.visualization.VisualizationContext;
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.LightLayer;
public abstract class ActorVisual implements Visual {
protected final VisualizationContext visualizationContext;
protected final InstancerProvider instancerProvider;
protected final BlockAndTintGetter simulationWorld;
protected final MovementContext context;
private boolean deleted;
public ActorVisual(VisualizationContext visualizationContext, BlockAndTintGetter world, MovementContext context) {
this.visualizationContext = visualizationContext;
this.instancerProvider = visualizationContext.instancerProvider();
this.simulationWorld = world;
this.context = context;
}
public void tick() { }
public void beginFrame() { }
protected int localBlockLight() {
return simulationWorld.getBrightness(LightLayer.BLOCK, context.localPos);
}
@Override
public void update(float partialTick) {
}
protected abstract void _delete();
@Override
public final void delete() {
if (deleted) {
return;
}
_delete();
deleted = true;
}
}