mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-01-13 15:56:38 +01:00
On track to stability
- Fix track visuals not appearing when first placed - Fix blaze burner's heads appearing at 0,0,0 until you look at them - Bump flywheel version to fix crash when breaking blocks
This commit is contained in:
parent
cdc41b18cc
commit
b6da803886
3 changed files with 24 additions and 15 deletions
|
@ -23,7 +23,7 @@ use_parchment = true
|
|||
# dependency versions
|
||||
registrate_version = MC1.20-1.3.3
|
||||
flywheel_minecraft_version = 1.20.1
|
||||
flywheel_version = 1.0.0-beta-134
|
||||
flywheel_version = 1.0.0-beta-136
|
||||
jei_minecraft_version = 1.20.1
|
||||
jei_version = 15.10.0.39
|
||||
curios_minecraft_version = 1.20.1
|
||||
|
|
|
@ -77,6 +77,8 @@ public class BlazeBurnerVisual extends AbstractBlockEntityVisual<BlazeBurnerBloc
|
|||
smallRods = null;
|
||||
largeRods = null;
|
||||
}
|
||||
|
||||
animate(partialTick);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -90,7 +92,11 @@ public class BlazeBurnerVisual extends AbstractBlockEntityVisual<BlazeBurnerBloc
|
|||
return;
|
||||
}
|
||||
|
||||
float animation = blockEntity.headAnimation.getValue(ctx.partialTick()) * .175f;
|
||||
animate(ctx.partialTick());
|
||||
}
|
||||
|
||||
private void animate(float partialTicks) {
|
||||
float animation = blockEntity.headAnimation.getValue(partialTicks) * .175f;
|
||||
|
||||
boolean validBlockAbove = animation > 0.125f;
|
||||
|
||||
|
@ -135,7 +141,7 @@ public class BlazeBurnerVisual extends AbstractBlockEntityVisual<BlazeBurnerBloc
|
|||
float offset = Mth.sin((float) ((renderTick / 16f) % (2 * Math.PI))) / offsetMult;
|
||||
float headY = offset - (animation * .75f);
|
||||
|
||||
float horizontalAngle = AngleHelper.rad(blockEntity.headAngle.getValue(ctx.partialTick()));
|
||||
float horizontalAngle = AngleHelper.rad(blockEntity.headAngle.getValue(partialTicks));
|
||||
|
||||
head.setIdentityTransform()
|
||||
.translate(getVisualPosition())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.simibubi.create.content.trains.track;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
@ -31,16 +32,12 @@ import net.minecraft.world.level.LightLayer;
|
|||
|
||||
public class TrackVisual extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
||||
|
||||
private final List<BezierTrackVisual> visuals;
|
||||
private final List<BezierTrackVisual> visuals = new ArrayList<>();
|
||||
|
||||
public TrackVisual(VisualizationContext context, TrackBlockEntity track, float partialTick) {
|
||||
super(context, track, partialTick);
|
||||
|
||||
visuals = blockEntity.connections.values()
|
||||
.stream()
|
||||
.map(this::createInstance)
|
||||
.filter(Objects::nonNull)
|
||||
.toList();
|
||||
collectConnections();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -49,13 +46,22 @@ public class TrackVisual extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
return;
|
||||
|
||||
_delete();
|
||||
|
||||
collectConnections();
|
||||
|
||||
lightSections.sections(collectLightSections());
|
||||
}
|
||||
|
||||
private void collectConnections() {
|
||||
blockEntity.connections.values()
|
||||
.stream()
|
||||
.map(this::createInstance)
|
||||
.filter(Objects::nonNull)
|
||||
.forEach(visuals::add);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLight(float partialTick) {
|
||||
if (visuals == null)
|
||||
return;
|
||||
visuals.forEach(BezierTrackVisual::updateLight);
|
||||
}
|
||||
|
||||
|
@ -68,9 +74,8 @@ public class TrackVisual extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
|
||||
@Override
|
||||
public void _delete() {
|
||||
if (visuals == null)
|
||||
return;
|
||||
visuals.forEach(BezierTrackVisual::delete);
|
||||
visuals.clear();
|
||||
}
|
||||
|
||||
public LongSet collectLightSections() {
|
||||
|
@ -102,8 +107,6 @@ public class TrackVisual extends AbstractBlockEntityVisual<TrackBlockEntity> {
|
|||
|
||||
@Override
|
||||
public void collectCrumblingInstances(Consumer<Instance> consumer) {
|
||||
if (visuals == null)
|
||||
return;
|
||||
for (BezierTrackVisual instance : visuals) {
|
||||
instance.collectCrumblingInstances(consumer);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue