mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-15 07:33:41 +01:00
Playtest III
- Can now scroll in the clipboard screen to cycle between pages - Fixed schematic checklist putting too many entries on a single page - Fixed funnels losing filters when changing between types - Fixed smoothed sloped tracks not working across multiple chained slopes - Improved location transitions of node locations in-between smoothed sloped tracks - Fixed track placement allowing an s-bend between two sloped track pieces in specific arrangements - Updated Crushing Wheel obj file
This commit is contained in:
parent
bdf9584633
commit
7374c9c059
19 changed files with 410 additions and 348 deletions
|
@ -260,8 +260,8 @@ public class RollerMovementBehaviour extends BlockBreakingMovementBehaviour {
|
||||||
};
|
};
|
||||||
rollerScout.travel(train.graph, lengthWiseOffset + 1, steering);
|
rollerScout.travel(train.graph, lengthWiseOffset + 1, steering);
|
||||||
|
|
||||||
rollerScout.traversalCallback =
|
rollerScout.traversalCallback = (edge, coords) -> TrackPaverV2.pave(heightProfile, train.graph, edge,
|
||||||
(edge, coords) -> TrackPaverV2.pave(heightProfile, edge, coords.getFirst(), coords.getSecond());
|
coords.getFirst(), coords.getSecond());
|
||||||
rollerScout.travel(train.graph, distanceToTravel, steering);
|
rollerScout.travel(train.graph, distanceToTravel, steering);
|
||||||
|
|
||||||
for (Couple<Integer> entry : heightProfile.keys())
|
for (Couple<Integer> entry : heightProfile.keys())
|
||||||
|
|
|
@ -8,6 +8,7 @@ import java.util.Set;
|
||||||
|
|
||||||
import com.simibubi.create.content.logistics.trains.BezierConnection;
|
import com.simibubi.create.content.logistics.trains.BezierConnection;
|
||||||
import com.simibubi.create.content.logistics.trains.TrackEdge;
|
import com.simibubi.create.content.logistics.trains.TrackEdge;
|
||||||
|
import com.simibubi.create.content.logistics.trains.TrackGraph;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
import com.simibubi.create.foundation.utility.Iterate;
|
||||||
import com.simibubi.create.foundation.utility.Pair;
|
import com.simibubi.create.foundation.utility.Pair;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
@ -20,7 +21,7 @@ import net.minecraft.world.phys.Vec3;
|
||||||
|
|
||||||
public class TrackPaverV2 {
|
public class TrackPaverV2 {
|
||||||
|
|
||||||
public static void pave(PaveTask task, TrackEdge edge, double from, double to) {
|
public static void pave(PaveTask task, TrackGraph graph, TrackEdge edge, double from, double to) {
|
||||||
if (edge.isTurn()) {
|
if (edge.isTurn()) {
|
||||||
paveCurve(task, edge.getTurn(), from, to);
|
paveCurve(task, edge.getTurn(), from, to);
|
||||||
return;
|
return;
|
||||||
|
@ -34,7 +35,7 @@ public class TrackPaverV2 {
|
||||||
Vec3 direction = VecHelper.clampComponentWise(diff, 1);
|
Vec3 direction = VecHelper.clampComponentWise(diff, 1);
|
||||||
int extent = (int) Math.round((to - from) / direction.length());
|
int extent = (int) Math.round((to - from) / direction.length());
|
||||||
double length = edge.getLength();
|
double length = edge.getLength();
|
||||||
BlockPos pos = new BlockPos(edge.getPosition(Mth.clamp(from, 1 / 16f, length - 1 / 16f) / length)
|
BlockPos pos = new BlockPos(edge.getPosition(graph, Mth.clamp(from, 1 / 16f, length - 1 / 16f) / length)
|
||||||
.subtract(0, 0.5, 0));
|
.subtract(0, 0.5, 0));
|
||||||
|
|
||||||
paveStraight(task, pos, direction, extent);
|
paveStraight(task, pos, direction, extent);
|
||||||
|
|
|
@ -323,6 +323,12 @@ public class ClipboardScreen extends AbstractSimiScreen {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean mouseScrolled(double pMouseX, double pMouseY, double pDelta) {
|
||||||
|
changePage(pDelta < 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers) {
|
public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers) {
|
||||||
if (pKeyCode == 266) {
|
if (pKeyCode == 266) {
|
||||||
|
|
|
@ -129,7 +129,8 @@ public abstract class AbstractFunnelBlock extends Block implements IBE<FunnelBlo
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) {
|
public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean isMoving) {
|
||||||
IBE.onRemove(state, world, pos, newState);
|
if (state.getBlock() != newState.getBlock() && !isFunnel(newState) || !newState.hasBlockEntity())
|
||||||
|
IBE.onRemove(state, world, pos, newState);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,6 +4,8 @@ import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgeData;
|
import com.simibubi.create.content.logistics.trains.management.edgePoint.EdgeData;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
@ -48,7 +50,7 @@ public class TrackEdge {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 getDirection(boolean fromFirst) {
|
public Vec3 getDirection(boolean fromFirst) {
|
||||||
return getPosition(fromFirst ? 0.25f : 1).subtract(getPosition(fromFirst ? 0 : 0.75f))
|
return getPosition(null, fromFirst ? 0.25f : 1).subtract(getPosition(null, fromFirst ? 0 : 0.75f))
|
||||||
.normalize();
|
.normalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,8 +58,8 @@ public class TrackEdge {
|
||||||
double length = getLength();
|
double length = getLength();
|
||||||
double step = .5f / length;
|
double step = .5f / length;
|
||||||
t /= length;
|
t /= length;
|
||||||
Vec3 ahead = getPosition(Math.min(1, t + step));
|
Vec3 ahead = getPosition(null, Math.min(1, t + step));
|
||||||
Vec3 behind = getPosition(Math.max(0, t - step));
|
Vec3 behind = getPosition(null, Math.max(0, t - step));
|
||||||
return ahead.subtract(behind)
|
return ahead.subtract(behind)
|
||||||
.normalize();
|
.normalize();
|
||||||
}
|
}
|
||||||
|
@ -83,9 +85,60 @@ public class TrackEdge {
|
||||||
return !tooFar && isTurn() ? turn.incrementT(currentT, distance) : currentT + distance;
|
return !tooFar && isTurn() ? turn.incrementT(currentT, distance) : currentT + distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 getPosition(double t) {
|
public Vec3 getPosition(@Nullable TrackGraph trackGraph, double t) {
|
||||||
return isTurn() ? turn.getPosition(Mth.clamp(t, 0, 1))
|
if (isTurn())
|
||||||
: VecHelper.lerp((float) t, node1.location.getLocation(), node2.location.getLocation());
|
return turn.getPosition(Mth.clamp(t, 0, 1));
|
||||||
|
if (trackGraph != null && (node1.location.yOffsetPixels != 0 || node2.location.yOffsetPixels != 0)) {
|
||||||
|
Vec3 positionSmoothed = getPositionSmoothed(trackGraph, t);
|
||||||
|
if (positionSmoothed != null)
|
||||||
|
return positionSmoothed;
|
||||||
|
}
|
||||||
|
return VecHelper.lerp((float) t, node1.location.getLocation(), node2.location.getLocation());
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vec3 getNormal(@Nullable TrackGraph trackGraph, double t) {
|
||||||
|
if (isTurn())
|
||||||
|
return turn.getNormal(Mth.clamp(t, 0, 1));
|
||||||
|
if (trackGraph != null && (node1.location.yOffsetPixels != 0 || node2.location.yOffsetPixels != 0)) {
|
||||||
|
Vec3 normalSmoothed = getNormalSmoothed(trackGraph, t);
|
||||||
|
if (normalSmoothed != null)
|
||||||
|
return normalSmoothed;
|
||||||
|
}
|
||||||
|
return node1.getNormal();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public Vec3 getPositionSmoothed(TrackGraph trackGraph, double t) {
|
||||||
|
Vec3 node1Location = null;
|
||||||
|
Vec3 node2Location = null;
|
||||||
|
for (TrackEdge trackEdge : trackGraph.getConnectionsFrom(node1)
|
||||||
|
.values())
|
||||||
|
if (trackEdge.isTurn())
|
||||||
|
node1Location = trackEdge.getPosition(trackGraph, 0);
|
||||||
|
for (TrackEdge trackEdge : trackGraph.getConnectionsFrom(node2)
|
||||||
|
.values())
|
||||||
|
if (trackEdge.isTurn())
|
||||||
|
node2Location = trackEdge.getPosition(trackGraph, 0);
|
||||||
|
if (node1Location == null || node2Location == null)
|
||||||
|
return null;
|
||||||
|
return VecHelper.lerp((float) t, node1Location, node2Location);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public Vec3 getNormalSmoothed(TrackGraph trackGraph, double t) {
|
||||||
|
Vec3 node1Normal = null;
|
||||||
|
Vec3 node2Normal = null;
|
||||||
|
for (TrackEdge trackEdge : trackGraph.getConnectionsFrom(node1)
|
||||||
|
.values())
|
||||||
|
if (trackEdge.isTurn())
|
||||||
|
node1Normal = trackEdge.getNormal(trackGraph, 0);
|
||||||
|
for (TrackEdge trackEdge : trackGraph.getConnectionsFrom(node2)
|
||||||
|
.values())
|
||||||
|
if (trackEdge.isTurn())
|
||||||
|
node2Normal = trackEdge.getNormal(trackGraph, 0);
|
||||||
|
if (node1Normal == null || node2Normal == null)
|
||||||
|
return null;
|
||||||
|
return VecHelper.lerp(0.5f, node1Normal, node2Normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<double[]> getIntersection(TrackNode node1, TrackNode node2, TrackEdge other, TrackNode other1,
|
public Collection<double[]> getIntersection(TrackNode node1, TrackNode node2, TrackEdge other, TrackNode other1,
|
||||||
|
@ -123,7 +176,7 @@ public class TrackEdge {
|
||||||
for (int i = 0; i < turn.getSegmentCount(); i++) {
|
for (int i = 0; i < turn.getSegmentCount(); i++) {
|
||||||
double tOffset = t;
|
double tOffset = t;
|
||||||
t += .5;
|
t += .5;
|
||||||
seg2 = getPosition(t / getLength());
|
seg2 = getPosition(null, t / getLength());
|
||||||
double[] intersection = VecHelper.intersectRanged(seg1, w1, seg2, w2, Axis.Y);
|
double[] intersection = VecHelper.intersectRanged(seg1, w1, seg2, w2, Axis.Y);
|
||||||
seg1 = seg2;
|
seg1 = seg2;
|
||||||
if (intersection == null)
|
if (intersection == null)
|
||||||
|
@ -146,7 +199,7 @@ public class TrackEdge {
|
||||||
for (int i = 0; i < turn.getSegmentCount(); i++) {
|
for (int i = 0; i < turn.getSegmentCount(); i++) {
|
||||||
double tOffset = t;
|
double tOffset = t;
|
||||||
t += .5;
|
t += .5;
|
||||||
seg2 = getPosition(t / getLength());
|
seg2 = getPosition(null, t / getLength());
|
||||||
|
|
||||||
Vec3 otherSeg1 = w1;
|
Vec3 otherSeg1 = w1;
|
||||||
Vec3 otherSeg2 = null;
|
Vec3 otherSeg2 = null;
|
||||||
|
@ -155,7 +208,7 @@ public class TrackEdge {
|
||||||
for (int j = 0; j < other.turn.getSegmentCount(); j++) {
|
for (int j = 0; j < other.turn.getSegmentCount(); j++) {
|
||||||
double uOffset = u;
|
double uOffset = u;
|
||||||
u += .5;
|
u += .5;
|
||||||
otherSeg2 = other.getPosition(u / other.getLength());
|
otherSeg2 = other.getPosition(null, u / other.getLength());
|
||||||
|
|
||||||
double[] intersection = VecHelper.intersectRanged(seg1, otherSeg1, seg2, otherSeg2, Axis.Y);
|
double[] intersection = VecHelper.intersectRanged(seg1, otherSeg1, seg2, otherSeg2, Axis.Y);
|
||||||
otherSeg1 = otherSeg2;
|
otherSeg1 = otherSeg2;
|
||||||
|
@ -174,10 +227,6 @@ public class TrackEdge {
|
||||||
return intersections;
|
return intersections;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 getNormal(TrackNode node1, TrackNode node2, double t) {
|
|
||||||
return isTurn() ? turn.getNormal(Mth.clamp(t, 0, 1)) : node1.getNormal();
|
|
||||||
}
|
|
||||||
|
|
||||||
public CompoundTag write(DimensionPalette dimensions) {
|
public CompoundTag write(DimensionPalette dimensions) {
|
||||||
CompoundTag baseCompound = isTurn() ? turn.write(BlockPos.ZERO) : new CompoundTag();
|
CompoundTag baseCompound = isTurn() ? turn.write(BlockPos.ZERO) : new CompoundTag();
|
||||||
baseCompound.put("Signals", edgeData.write(dimensions));
|
baseCompound.put("Signals", edgeData.write(dimensions));
|
||||||
|
|
|
@ -71,8 +71,8 @@ public class TrackGraphVisualizer {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
Vec3 yOffset = new Vec3(0, (other.hashCode() > hashCode ? 6 : 5) / 64f, 0);
|
Vec3 yOffset = new Vec3(0, (other.hashCode() > hashCode ? 6 : 5) / 64f, 0);
|
||||||
Vec3 startPoint = edge.getPosition(0);
|
Vec3 startPoint = edge.getPosition(graph, 0);
|
||||||
Vec3 endPoint = edge.getPosition(1);
|
Vec3 endPoint = edge.getPosition(graph, 1);
|
||||||
|
|
||||||
if (!edge.isTurn()) {
|
if (!edge.isTurn()) {
|
||||||
|
|
||||||
|
@ -91,11 +91,13 @@ public class TrackGraphVisualizer {
|
||||||
group = allGroups.get(boundary.getGroup(node));
|
group = allGroups.get(boundary.getGroup(node));
|
||||||
|
|
||||||
if (group != null)
|
if (group != null)
|
||||||
outliner.showLine(Pair.of(boundary, edge),
|
outliner
|
||||||
edge.getPosition(prev + (prev == 0 ? 0 : 1 / 16f / length))
|
.showLine(Pair.of(boundary, edge),
|
||||||
.add(yOffset),
|
edge.getPosition(graph, prev + (prev == 0 ? 0 : 1 / 16f / length))
|
||||||
edge.getPosition((prev = boundary.getLocationOn(edge) / length) - 1 / 16f / length)
|
.add(yOffset),
|
||||||
.add(yOffset))
|
edge.getPosition(graph,
|
||||||
|
(prev = boundary.getLocationOn(edge) / length) - 1 / 16f / length)
|
||||||
|
.add(yOffset))
|
||||||
.colored(group.color.get())
|
.colored(group.color.get())
|
||||||
.lineWidth(width);
|
.lineWidth(width);
|
||||||
|
|
||||||
|
@ -104,7 +106,7 @@ public class TrackGraphVisualizer {
|
||||||
if (prevBoundary != null) {
|
if (prevBoundary != null) {
|
||||||
group = allGroups.get(prevBoundary.getGroup(other));
|
group = allGroups.get(prevBoundary.getGroup(other));
|
||||||
if (group != null)
|
if (group != null)
|
||||||
outliner.showLine(edge, edge.getPosition(prev + 1 / 16f / length)
|
outliner.showLine(edge, edge.getPosition(graph, prev + 1 / 16f / length)
|
||||||
.add(yOffset), endPoint.add(yOffset))
|
.add(yOffset), endPoint.add(yOffset))
|
||||||
.colored(group.color.get())
|
.colored(group.color.get())
|
||||||
.lineWidth(width);
|
.lineWidth(width);
|
||||||
|
@ -154,16 +156,18 @@ public class TrackGraphVisualizer {
|
||||||
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
||||||
double f = i * 1f / turn.getSegmentCount();
|
double f = i * 1f / turn.getSegmentCount();
|
||||||
double position = f * turn.getLength();
|
double position = f * turn.getLength();
|
||||||
Vec3 current = edge.getPosition(f);
|
Vec3 current = edge.getPosition(graph, f);
|
||||||
|
|
||||||
if (previous != null) {
|
if (previous != null) {
|
||||||
if (currentBoundary != null && position > currentBoundaryPosition) {
|
if (currentBoundary != null && position > currentBoundaryPosition) {
|
||||||
current = edge.getPosition((currentBoundaryPosition - width) / turn.getLength());
|
current =
|
||||||
|
edge.getPosition(graph, (currentBoundaryPosition - width) / turn.getLength());
|
||||||
outliner
|
outliner
|
||||||
.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
||||||
.colored(currentColour)
|
.colored(currentColour)
|
||||||
.lineWidth(width);
|
.lineWidth(width);
|
||||||
current = edge.getPosition((currentBoundaryPosition + width) / turn.getLength());
|
current =
|
||||||
|
edge.getPosition(graph, (currentBoundaryPosition + width) / turn.getLength());
|
||||||
previous = current;
|
previous = current;
|
||||||
UUID newId = currentBoundary.getGroup(other);
|
UUID newId = currentBoundary.getGroup(other);
|
||||||
if (newId != null && allGroups.containsKey(newId))
|
if (newId != null && allGroups.containsKey(newId))
|
||||||
|
@ -197,7 +201,7 @@ public class TrackGraphVisualizer {
|
||||||
Vec3 previous = null;
|
Vec3 previous = null;
|
||||||
BezierConnection turn = edge.getTurn();
|
BezierConnection turn = edge.getTurn();
|
||||||
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
||||||
Vec3 current = edge.getPosition(i * 1f / turn.getSegmentCount());
|
Vec3 current = edge.getPosition(graph, i * 1f / turn.getSegmentCount());
|
||||||
if (previous != null)
|
if (previous != null)
|
||||||
outliner.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
outliner.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
||||||
.colored(singleEdgeGroup.color.get())
|
.colored(singleEdgeGroup.color.get())
|
||||||
|
@ -262,9 +266,9 @@ public class TrackGraphVisualizer {
|
||||||
|
|
||||||
yOffset = new Vec3(0, (other.hashCode() > hashCode ? 6 : 4) / 16f, 0);
|
yOffset = new Vec3(0, (other.hashCode() > hashCode ? 6 : 4) / 16f, 0);
|
||||||
if (!edge.isTurn()) {
|
if (!edge.isTurn()) {
|
||||||
CreateClient.OUTLINER.showLine(edge, edge.getPosition(0)
|
CreateClient.OUTLINER.showLine(edge, edge.getPosition(graph, 0)
|
||||||
.add(yOffset),
|
.add(yOffset),
|
||||||
edge.getPosition(1)
|
edge.getPosition(graph, 1)
|
||||||
.add(yOffset))
|
.add(yOffset))
|
||||||
.colored(graph.color)
|
.colored(graph.color)
|
||||||
.lineWidth(1 / 16f);
|
.lineWidth(1 / 16f);
|
||||||
|
@ -274,7 +278,7 @@ public class TrackGraphVisualizer {
|
||||||
Vec3 previous = null;
|
Vec3 previous = null;
|
||||||
BezierConnection turn = edge.getTurn();
|
BezierConnection turn = edge.getTurn();
|
||||||
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
for (int i = 0; i <= turn.getSegmentCount(); i++) {
|
||||||
Vec3 current = edge.getPosition(i * 1f / turn.getSegmentCount());
|
Vec3 current = edge.getPosition(graph, i * 1f / turn.getSegmentCount());
|
||||||
if (previous != null)
|
if (previous != null)
|
||||||
CreateClient.OUTLINER
|
CreateClient.OUTLINER
|
||||||
.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
.showLine(Pair.of(edge, previous), previous.add(yOffset), current.add(yOffset))
|
||||||
|
|
|
@ -16,8 +16,6 @@ import java.util.function.Function;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.minecraft.server.MinecraftServer;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.mutable.MutableDouble;
|
import org.apache.commons.lang3.mutable.MutableDouble;
|
||||||
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
||||||
|
@ -37,6 +35,7 @@ import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.nbt.Tag;
|
import net.minecraft.nbt.Tag;
|
||||||
import net.minecraft.resources.ResourceKey;
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.server.level.ServerLevel;
|
import net.minecraft.server.level.ServerLevel;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
|
@ -334,12 +333,14 @@ public class Carriage {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (dimension.equals(otherDimension)) {
|
if (dimension.equals(otherDimension)) {
|
||||||
dce.rotationAnchors = leadingBogey.points.map(TravellingPoint::getPosition);
|
dce.rotationAnchors = leadingBogey.points.map(tp -> tp.getPosition(train.graph));
|
||||||
} else {
|
} else {
|
||||||
dce.rotationAnchors.setFirst(leadingBogey.points.getFirst() == point ? point.getPosition()
|
dce.rotationAnchors
|
||||||
: pivoted(dce, dimension, point, leadingWheelSpacing));
|
.setFirst(leadingBogey.points.getFirst() == point ? point.getPosition(train.graph)
|
||||||
dce.rotationAnchors.setSecond(leadingBogey.points.getSecond() == point ? point.getPosition()
|
: pivoted(dce, dimension, point, leadingWheelSpacing));
|
||||||
: pivoted(dce, dimension, point, leadingWheelSpacing));
|
dce.rotationAnchors
|
||||||
|
.setSecond(leadingBogey.points.getSecond() == point ? point.getPosition(train.graph)
|
||||||
|
: pivoted(dce, dimension, point, leadingWheelSpacing));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -363,7 +364,7 @@ public class Carriage {
|
||||||
TrackNodeLocation pivot = dce.findPivot(dimension, start == getLeadingPoint());
|
TrackNodeLocation pivot = dce.findPivot(dimension, start == getLeadingPoint());
|
||||||
if (pivot == null)
|
if (pivot == null)
|
||||||
return null;
|
return null;
|
||||||
Vec3 startVec = start.getPosition();
|
Vec3 startVec = start.getPosition(train.graph);
|
||||||
Vec3 portalVec = pivot.getLocation()
|
Vec3 portalVec = pivot.getLocation()
|
||||||
.add(0, 1, 0);
|
.add(0, 1, 0);
|
||||||
return VecHelper.lerp((float) (offset / startVec.distanceTo(portalVec)), startVec, portalVec);
|
return VecHelper.lerp((float) (offset / startVec.distanceTo(portalVec)), startVec, portalVec);
|
||||||
|
|
|
@ -79,8 +79,8 @@ public class CarriageBogey {
|
||||||
yRot = -90 + entity.yaw;
|
yRot = -90 + entity.yaw;
|
||||||
xRot = 0;
|
xRot = 0;
|
||||||
} else {
|
} else {
|
||||||
Vec3 positionVec = leading().getPosition();
|
Vec3 positionVec = leading().getPosition(carriage.train.graph);
|
||||||
Vec3 coupledVec = trailing().getPosition();
|
Vec3 coupledVec = trailing().getPosition(carriage.train.graph);
|
||||||
double diffX = positionVec.x - coupledVec.x;
|
double diffX = positionVec.x - coupledVec.x;
|
||||||
double diffY = positionVec.y - coupledVec.y;
|
double diffY = positionVec.y - coupledVec.y;
|
||||||
double diffZ = positionVec.z - coupledVec.z;
|
double diffZ = positionVec.z - coupledVec.z;
|
||||||
|
@ -112,8 +112,8 @@ public class CarriageBogey {
|
||||||
return 0;
|
return 0;
|
||||||
if (carriage.train.derailed)
|
if (carriage.train.derailed)
|
||||||
return 0;
|
return 0;
|
||||||
return type.getWheelPointSpacing() - leading().getPosition()
|
return type.getWheelPointSpacing() - leading().getPosition(carriage.train.graph)
|
||||||
.distanceTo(trailing().getPosition());
|
.distanceTo(trailing().getPosition(carriage.train.graph));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -121,9 +121,9 @@ public class CarriageBogey {
|
||||||
if (leading().edge == null)
|
if (leading().edge == null)
|
||||||
return null;
|
return null;
|
||||||
return points.getFirst()
|
return points.getFirst()
|
||||||
.getPosition()
|
.getPosition(carriage.train.graph)
|
||||||
.add(points.getSecond()
|
.add(points.getSecond()
|
||||||
.getPosition())
|
.getPosition(carriage.train.graph))
|
||||||
.scale(.5);
|
.scale(.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -589,8 +589,8 @@ public class Train {
|
||||||
if (!dimension.equals(trailingPoint.node1.getLocation().dimension))
|
if (!dimension.equals(trailingPoint.node1.getLocation().dimension))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Vec3 start = (speed < 0 ? trailingPoint : leadingPoint).getPosition();
|
Vec3 start = (speed < 0 ? trailingPoint : leadingPoint).getPosition(graph);
|
||||||
Vec3 end = (speed < 0 ? leadingPoint : trailingPoint).getPosition();
|
Vec3 end = (speed < 0 ? leadingPoint : trailingPoint).getPosition(graph);
|
||||||
|
|
||||||
Pair<Train, Vec3> collision = findCollidingTrain(level, start, end, this, dimension);
|
Pair<Train, Vec3> collision = findCollidingTrain(level, start, end, this, dimension);
|
||||||
if (collision == null)
|
if (collision == null)
|
||||||
|
@ -632,8 +632,8 @@ public class Train {
|
||||||
if (!otherDimension.equals(dimension))
|
if (!otherDimension.equals(dimension))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
Vec3 start2 = otherLeading.getPosition();
|
Vec3 start2 = otherLeading.getPosition(train.graph);
|
||||||
Vec3 end2 = otherTrailing.getPosition();
|
Vec3 end2 = otherTrailing.getPosition(train.graph);
|
||||||
if (betweenBits) {
|
if (betweenBits) {
|
||||||
end2 = start2;
|
end2 = start2;
|
||||||
start2 = lastPoint;
|
start2 = lastPoint;
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class TrainMigration {
|
||||||
|
|
||||||
public TrainMigration(TravellingPoint point) {
|
public TrainMigration(TravellingPoint point) {
|
||||||
double t = point.position / point.edge.getLength();
|
double t = point.position / point.edge.getLength();
|
||||||
fallback = point.edge.getPosition(t);
|
fallback = point.edge.getPosition(null, t);
|
||||||
curve = point.edge.isTurn();
|
curve = point.edge.isTurn();
|
||||||
positionOnOldEdge = point.position;
|
positionOnOldEdge = point.position;
|
||||||
locations = Couple.create(point.node1.getLocation(), point.node2.getLocation());
|
locations = Couple.create(point.node1.getLocation(), point.node2.getLocation());
|
||||||
|
|
|
@ -189,7 +189,7 @@ public class TrainRelocator {
|
||||||
List<Vec3> recordedVecs = new ArrayList<>();
|
List<Vec3> recordedVecs = new ArrayList<>();
|
||||||
Consumer<TravellingPoint> recorder = tp -> {
|
Consumer<TravellingPoint> recorder = tp -> {
|
||||||
recordedLocations.add(Pair.of(Couple.create(tp.node1, tp.node2), tp.position));
|
recordedLocations.add(Pair.of(Couple.create(tp.node1, tp.node2), tp.position));
|
||||||
recordedVecs.add(tp.getPosition());
|
recordedVecs.add(tp.getPosition(graph));
|
||||||
};
|
};
|
||||||
ITrackSelector steer = probe.steer(SteerDirection.NONE, track.getUpNormal(level, pos, blockState));
|
ITrackSelector steer = probe.steer(SteerDirection.NONE, track.getUpNormal(level, pos, blockState));
|
||||||
MutableBoolean blocked = new MutableBoolean(false);
|
MutableBoolean blocked = new MutableBoolean(false);
|
||||||
|
|
|
@ -394,15 +394,14 @@ public class TravellingPoint {
|
||||||
.get(node2);
|
.get(node2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 getPosition() {
|
public Vec3 getPosition(@Nullable TrackGraph trackGraph) {
|
||||||
return getPositionWithOffset(0);
|
return getPositionWithOffset(trackGraph, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Vec3 getPositionWithOffset(double offset) {
|
public Vec3 getPositionWithOffset(@Nullable TrackGraph trackGraph, double offset) {
|
||||||
double t = (position + offset) / edge.getLength();
|
double t = (position + offset) / edge.getLength();
|
||||||
return edge.getPosition(t)
|
return edge.getPosition(trackGraph, t)
|
||||||
.add(edge.getNormal(node1, node2, t)
|
.add(edge.getNormal(trackGraph, t));
|
||||||
.scale(1));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void migrateTo(List<GraphLocation> locations) {
|
public void migrateTo(List<GraphLocation> locations) {
|
||||||
|
|
|
@ -58,8 +58,6 @@ public class TrackBlockEntityTilt {
|
||||||
for (BezierConnection bezierConnection : blockEntity.connections.values()) {
|
for (BezierConnection bezierConnection : blockEntity.connections.values()) {
|
||||||
if (bezierConnection.starts.getFirst().y == bezierConnection.starts.getSecond().y)
|
if (bezierConnection.starts.getFirst().y == bezierConnection.starts.getSecond().y)
|
||||||
continue;
|
continue;
|
||||||
if (bezierConnection.axes.getSecond().y != 0)
|
|
||||||
continue;
|
|
||||||
Vec3 normedAxis = bezierConnection.axes.getFirst()
|
Vec3 normedAxis = bezierConnection.axes.getFirst()
|
||||||
.normalize();
|
.normalize();
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ public class TrackPlacement {
|
||||||
info.end1Extent = (int) Math.round((dist + 1) / axis1.length());
|
info.end1Extent = (int) Math.round((dist + 1) / axis1.length());
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (!Mth.equal(ascend, 0))
|
if (!Mth.equal(ascend, 0) || normedAxis1.y != 0)
|
||||||
return info.withMessage("ascending_s_curve");
|
return info.withMessage("ascending_s_curve");
|
||||||
|
|
||||||
double targetT = u <= 1 ? 3 : u * 2;
|
double targetT = u <= 1 ? 3 : u * 2;
|
||||||
|
|
|
@ -205,7 +205,7 @@ public class MaterialChecklist {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Item item : completed) {
|
for (Item item : completed) {
|
||||||
if (itemsWritten == MAX_ENTRIES_PER_PAGE) {
|
if (itemsWritten == MAX_ENTRIES_PER_CLIPBOARD_PAGE) {
|
||||||
itemsWritten = 0;
|
itemsWritten = 0;
|
||||||
currentPage.add(new ClipboardEntry(true, Components.literal(">>>")
|
currentPage.add(new ClipboardEntry(true, Components.literal(">>>")
|
||||||
.withStyle(ChatFormatting.DARK_GREEN)));
|
.withStyle(ChatFormatting.DARK_GREEN)));
|
||||||
|
|
|
@ -13,5 +13,5 @@ map_Kd #axis
|
||||||
newmtl m_axis_top
|
newmtl m_axis_top
|
||||||
map_Kd #axis_top
|
map_Kd #axis_top
|
||||||
|
|
||||||
newmtl m_spruce_log_top.001
|
newmtl m_spruce_log_top
|
||||||
map_Kd #spruce_log_top
|
map_Kd #spruce_log_top
|
||||||
|
|
|
@ -1,141 +1,141 @@
|
||||||
# Blender 3.4.1
|
# Blender 3.5.0
|
||||||
# www.blender.org
|
# www.blender.org
|
||||||
mtllib crushing_wheel.mtl
|
mtllib crushing_wheel.mtl
|
||||||
o Cube.003
|
o Cube.004
|
||||||
v 0.882683 0.125000 1.423879
|
v 0.882683 0.120000 1.423879
|
||||||
v -0.207106 0.125000 -0.207107
|
v -0.207106 0.120000 -0.207107
|
||||||
v -0.353554 0.125000 0.853552
|
v -0.353554 0.120000 0.853552
|
||||||
v 0.146446 0.125000 1.353553
|
v 0.146446 0.120000 1.353553
|
||||||
v -0.207107 0.125000 1.207106
|
v -0.207107 0.120000 1.207106
|
||||||
v 0.499999 0.125000 1.500000
|
v 0.499999 0.120000 1.500000
|
||||||
v 1.353553 0.125000 0.853554
|
v 1.353553 0.120000 0.853554
|
||||||
v 0.625000 0.000000 0.375000
|
v 0.625000 0.000000 0.375000
|
||||||
v 0.375000 0.000000 0.375000
|
v 0.375000 0.000000 0.375000
|
||||||
v 0.625000 0.000000 0.625000
|
v 0.625000 0.000000 0.625000
|
||||||
v 0.375000 0.000000 0.625000
|
v 0.375000 0.000000 0.625000
|
||||||
v 0.375000 0.500000 0.375000
|
v 0.375000 0.495000 0.375000
|
||||||
v 0.625000 0.500000 0.375000
|
v 0.625000 0.495000 0.375000
|
||||||
v 0.625000 0.500000 0.625000
|
v 0.625000 0.495000 0.625000
|
||||||
v 0.375000 0.500000 0.625000
|
v 0.375000 0.495000 0.625000
|
||||||
v 1.423879 0.875000 0.500000
|
v 1.423879 0.880000 0.500000
|
||||||
v 1.423880 0.875000 0.117317
|
v 1.423880 0.880000 0.117317
|
||||||
v 0.853554 0.875000 -0.353553
|
v 0.853554 0.880000 -0.353553
|
||||||
v 0.882684 0.875000 -0.423880
|
v 0.882684 0.880000 -0.423880
|
||||||
v 0.500000 0.875000 -0.500000
|
v 0.500000 0.880000 -0.500000
|
||||||
v -0.153281 0.875000 -0.153282
|
v -0.153281 0.880000 -0.153282
|
||||||
v -0.353554 0.875000 0.853552
|
v -0.353554 0.880000 0.853552
|
||||||
v -0.500000 0.875000 0.499999
|
v -0.500000 0.880000 0.499999
|
||||||
v -0.423880 0.875000 0.499999
|
v -0.423880 0.880000 0.499999
|
||||||
v -0.423880 0.875000 0.882683
|
v -0.423880 0.880000 0.882682
|
||||||
v 0.117317 0.875000 -0.423880
|
v 0.117317 0.880000 -0.423880
|
||||||
v -0.353553 0.875000 0.146446
|
v -0.353553 0.880000 0.146446
|
||||||
v -0.423879 0.875000 0.117316
|
v -0.423879 0.880000 0.117316
|
||||||
v 0.625000 1.000000 0.375000
|
v 0.625000 1.000000 0.375000
|
||||||
v 0.375000 1.000000 0.375000
|
v 0.375000 1.000000 0.375000
|
||||||
v 0.625000 1.000000 0.625000
|
v 0.625000 1.000000 0.625000
|
||||||
v 0.375000 1.000000 0.625000
|
v 0.375000 1.000000 0.625000
|
||||||
v 0.117316 0.125000 1.500000
|
v 0.117316 0.120000 1.500000
|
||||||
v 0.529130 0.125000 1.570326
|
v 0.529130 0.120000 1.570326
|
||||||
v 0.117316 0.125000 1.423879
|
v 0.117316 0.120000 1.423879
|
||||||
v 0.499999 0.875000 1.423879
|
v 0.499999 0.880000 1.423879
|
||||||
v 0.117316 0.875000 1.500000
|
v 0.117316 0.880000 1.500000
|
||||||
v 0.499999 0.875000 1.500000
|
v 0.499999 0.880000 1.500000
|
||||||
v 0.117316 0.875000 1.423879
|
v 0.117316 0.880000 1.423879
|
||||||
v 0.853553 0.875000 1.353553
|
v 0.853553 0.880000 1.353553
|
||||||
v 0.529130 0.875000 1.570326
|
v 0.529130 0.880000 1.570326
|
||||||
v 0.882683 0.875000 1.423879
|
v 0.882683 0.880000 1.423879
|
||||||
v 0.936508 0.125000 1.477705
|
v 0.936508 0.120000 1.477705
|
||||||
v 1.277432 0.125000 1.236237
|
v 1.277432 0.120000 1.236237
|
||||||
v 1.207106 0.125000 1.207107
|
v 1.207106 0.120000 1.207107
|
||||||
v 1.423879 0.125000 0.882684
|
v 1.423879 0.120000 0.882684
|
||||||
v 1.153281 0.875000 1.153282
|
v 1.153281 0.880000 1.153282
|
||||||
v 0.936508 0.875000 1.477705
|
v 0.936508 0.880000 1.477705
|
||||||
v 1.207106 0.875000 1.207107
|
v 1.207106 0.880000 1.207107
|
||||||
v 1.353553 0.875000 0.853554
|
v 1.353553 0.880000 0.853554
|
||||||
v 1.277432 0.875000 1.236237
|
v 1.277432 0.880000 1.236237
|
||||||
v 1.423879 0.875000 0.882684
|
v 1.423879 0.880000 0.882684
|
||||||
v 1.570326 0.125000 0.470871
|
v 1.570326 0.120000 0.470871
|
||||||
v 1.500000 0.125000 0.882684
|
v 1.500000 0.120000 0.882684
|
||||||
v 1.500000 0.125000 0.500001
|
v 1.500000 0.120000 0.500001
|
||||||
v 1.353553 0.125000 0.146447
|
v 1.353553 0.120000 0.146447
|
||||||
v 1.423879 0.125000 0.117317
|
v 1.423879 0.120000 0.117317
|
||||||
v 1.500000 0.875000 0.882684
|
v 1.500000 0.880000 0.882684
|
||||||
v 1.500000 0.875000 0.500001
|
v 1.500000 0.880000 0.500001
|
||||||
v 1.570326 0.875000 0.470871
|
v 1.570326 0.880000 0.470871
|
||||||
v 1.477705 0.125000 0.063492
|
v 1.477705 0.120000 0.063492
|
||||||
v 1.207107 0.125000 -0.207106
|
v 1.207107 0.120000 -0.207106
|
||||||
v 0.853554 0.125000 -0.353553
|
v 0.853554 0.120000 -0.353553
|
||||||
v 1.236237 0.125000 -0.277432
|
v 1.236237 0.120000 -0.277432
|
||||||
v 0.882684 0.125000 -0.423879
|
v 0.882684 0.120000 -0.423879
|
||||||
v 1.236237 0.875000 -0.277432
|
v 1.236237 0.880000 -0.277432
|
||||||
v 1.153282 0.875000 -0.153281
|
v 1.153282 0.880000 -0.153281
|
||||||
v 1.477705 0.875000 0.063492
|
v 1.477705 0.880000 0.063492
|
||||||
v 0.500001 0.125000 -0.423879
|
v 0.500001 0.120000 -0.423879
|
||||||
v 0.882684 0.125000 -0.500000
|
v 0.882684 0.120000 -0.500000
|
||||||
v 0.500001 0.125000 -0.500000
|
v 0.500001 0.120000 -0.500000
|
||||||
v 0.146447 0.125000 -0.353553
|
v 0.146447 0.120000 -0.353553
|
||||||
v 0.470870 0.125000 -0.570326
|
v 0.470870 0.120000 -0.570326
|
||||||
v 0.117317 0.125000 -0.423879
|
v 0.117317 0.120000 -0.423879
|
||||||
v 0.882684 0.875000 -0.500000
|
v 0.882684 0.880000 -0.500000
|
||||||
v 0.470870 0.875000 -0.570326
|
v 0.470870 0.880000 -0.570326
|
||||||
v -0.153281 0.125000 -0.153282
|
v -0.153281 0.120000 -0.153282
|
||||||
v 0.063492 0.125000 -0.477705
|
v 0.063492 0.120000 -0.477705
|
||||||
v -0.353553 0.125000 0.146446
|
v -0.353553 0.120000 0.146446
|
||||||
v -0.277433 0.125000 -0.236237
|
v -0.277433 0.120000 -0.236237
|
||||||
v 0.063492 0.875000 -0.477705
|
v 0.063492 0.880000 -0.477705
|
||||||
v -0.277433 0.875000 -0.236237
|
v -0.277433 0.880000 -0.236237
|
||||||
v -0.423879 0.125000 0.500000
|
v -0.423879 0.120000 0.500000
|
||||||
v -0.500000 0.125000 0.117317
|
v -0.500000 0.120000 0.117317
|
||||||
v -0.423879 0.125000 0.117316
|
v -0.423879 0.120000 0.117316
|
||||||
v -0.570326 0.125000 0.529130
|
v -0.570326 0.120000 0.529130
|
||||||
v -0.500000 0.875000 0.117317
|
v -0.500000 0.880000 0.117316
|
||||||
v -0.570326 0.875000 0.529130
|
v -0.570326 0.880000 0.529130
|
||||||
v -0.477705 0.125000 0.936509
|
v -0.477705 0.120000 0.936509
|
||||||
v -0.236236 0.125000 1.277433
|
v -0.236236 0.120000 1.277433
|
||||||
v -0.153281 0.875000 1.153281
|
v -0.153281 0.880000 1.153281
|
||||||
v -0.477705 0.875000 0.936509
|
v -0.477705 0.880000 0.936509
|
||||||
v -0.207106 0.875000 1.207107
|
v -0.207106 0.880000 1.207107
|
||||||
v 0.146447 0.875000 1.353553
|
v 0.146447 0.880000 1.353553
|
||||||
v -0.236236 0.875000 1.277433
|
v -0.236236 0.880000 1.277433
|
||||||
v 0.853553 0.125000 1.353553
|
v 0.853553 0.120000 1.353553
|
||||||
v 0.500000 0.125000 0.500000
|
v 0.500000 0.120000 0.500000
|
||||||
v 0.500000 0.125000 1.423879
|
v 0.500000 0.120000 1.423879
|
||||||
v 1.423879 0.125000 0.500000
|
v 1.423879 0.120000 0.500000
|
||||||
v 1.153281 0.125000 -0.153281
|
v 1.153281 0.120000 -0.153281
|
||||||
v -0.500000 0.125000 0.499999
|
v -0.500000 0.120000 0.499999
|
||||||
v -0.423880 0.125000 0.882682
|
v -0.423880 0.120000 0.882682
|
||||||
v -0.153282 0.125000 1.153281
|
v -0.153282 0.120000 1.153281
|
||||||
v 1.153281 0.125000 1.153281
|
v 1.153281 0.120000 1.153281
|
||||||
v -0.030330 0.125000 -0.030331
|
v -0.030330 0.120000 -0.030331
|
||||||
v -0.250000 0.125000 0.810659
|
v -0.250000 0.120000 0.810659
|
||||||
v 1.250000 0.125000 0.500000
|
v 1.250000 0.120000 0.500000
|
||||||
v 0.500000 0.125000 -0.250000
|
v 0.500000 0.120000 -0.250000
|
||||||
v -0.030331 0.125000 1.030330
|
v -0.030331 0.120000 1.030330
|
||||||
v 0.810661 0.125000 -0.250000
|
v 0.810661 0.120000 -0.250000
|
||||||
v 1.030330 0.125000 1.030330
|
v 1.030330 0.120000 1.030330
|
||||||
v -0.250000 0.125000 0.189339
|
v -0.250000 0.120000 0.189339
|
||||||
v 1.250000 0.125000 0.810660
|
v 1.250000 0.120000 0.810660
|
||||||
v 0.189339 0.125000 1.250000
|
v 0.189339 0.120000 1.250000
|
||||||
v 1.030330 0.125000 -0.030330
|
v 1.030330 0.120000 -0.030330
|
||||||
v 0.810660 0.125000 1.250000
|
v 0.810660 0.120000 1.250000
|
||||||
v 1.250000 0.125000 0.189340
|
v 1.250000 0.120000 0.189340
|
||||||
v 0.189340 0.125000 -0.250000
|
v 0.189340 0.120000 -0.250000
|
||||||
v -0.250000 0.125000 0.500000
|
v -0.250000 0.120000 0.500000
|
||||||
v 0.500000 0.125000 1.250000
|
v 0.500000 0.120000 1.250000
|
||||||
v 0.500000 0.875000 0.500000
|
v 0.500000 0.880000 0.500000
|
||||||
v -0.207106 0.875000 -0.207107
|
v -0.207106 0.880000 -0.207107
|
||||||
v 0.146447 0.875000 -0.353554
|
v 0.146447 0.880000 -0.353554
|
||||||
v 1.353553 0.875000 0.146447
|
v 1.353553 0.880000 0.146447
|
||||||
v 1.207107 0.875000 -0.207106
|
v 1.207107 0.880000 -0.207106
|
||||||
v 0.500000 0.875000 -0.423879
|
v 0.500000 0.880000 -0.423879
|
||||||
v 1.250000 0.875000 0.500000
|
v 1.250000 0.880000 0.500000
|
||||||
v 1.030330 0.875000 1.030330
|
v 1.030330 0.880000 1.030330
|
||||||
v -0.250000 0.875000 0.189339
|
v -0.250000 0.880000 0.189339
|
||||||
v 1.030330 0.875000 -0.030330
|
v 1.030330 0.880000 -0.030330
|
||||||
v 0.810660 0.875000 1.250000
|
v 0.810660 0.880000 1.250000
|
||||||
v 1.250000 0.875000 0.189340
|
v 1.250000 0.880000 0.189340
|
||||||
v 0.189340 0.875000 -0.250000
|
v 0.189340 0.880000 -0.250000
|
||||||
v 0.500000 0.875000 1.250000
|
v 0.500000 0.880000 1.250000
|
||||||
v 0.750000 0.937500 0.750000
|
v 0.750000 0.937500 0.750000
|
||||||
v 0.250000 0.937500 0.750000
|
v 0.250000 0.937500 0.750000
|
||||||
v 0.250000 0.062500 0.750000
|
v 0.250000 0.062500 0.750000
|
||||||
|
@ -144,110 +144,110 @@ v 0.750000 0.937500 0.250000
|
||||||
v 0.750000 0.062500 0.250000
|
v 0.750000 0.062500 0.250000
|
||||||
v 0.250000 0.937500 0.250000
|
v 0.250000 0.937500 0.250000
|
||||||
v 0.250000 0.062500 0.250000
|
v 0.250000 0.062500 0.250000
|
||||||
v 1.062500 0.125000 0.732995
|
v 1.062500 0.120000 0.732995
|
||||||
v 0.897747 0.125000 0.897748
|
v 0.897747 0.120000 0.897748
|
||||||
v 0.897748 0.125000 0.102252
|
v 0.897748 0.120000 0.102252
|
||||||
v 0.732995 0.125000 1.062500
|
v 0.732995 0.120000 1.062500
|
||||||
v 0.267005 0.125000 -0.062500
|
v 0.267005 0.120000 -0.062500
|
||||||
v 0.500000 0.125000 1.062500
|
v 0.500000 0.120000 1.062500
|
||||||
v 1.062500 0.125000 0.267005
|
v 1.062500 0.120000 0.267005
|
||||||
v 0.102252 0.125000 0.102252
|
v 0.102252 0.120000 0.102252
|
||||||
v -0.062500 0.125000 0.500000
|
v -0.062500 0.120000 0.500000
|
||||||
v -0.062500 0.125000 0.732995
|
v -0.062500 0.120000 0.732995
|
||||||
v 1.062500 0.125000 0.500000
|
v 1.062500 0.120000 0.500000
|
||||||
v 0.102252 0.125000 0.897747
|
v 0.102252 0.120000 0.897747
|
||||||
v -0.062500 0.125000 0.267004
|
v -0.062500 0.120000 0.267004
|
||||||
v 0.500000 0.125000 -0.062500
|
v 0.500000 0.120000 -0.062500
|
||||||
v 0.267004 0.125000 1.062500
|
v 0.267004 0.120000 1.062500
|
||||||
v 0.732996 0.125000 -0.062500
|
v 0.732996 0.120000 -0.062500
|
||||||
v 1.250000 0.875000 0.810659
|
v 1.250000 0.880000 0.810659
|
||||||
v -0.250000 0.875000 0.500000
|
v -0.250000 0.880000 0.500000
|
||||||
v 0.500000 0.875000 -0.250000
|
v 0.500000 0.880000 -0.250000
|
||||||
v -0.030330 0.875000 1.030330
|
v -0.030330 0.880000 1.030330
|
||||||
v -0.250000 0.875000 0.810660
|
v -0.250000 0.880000 0.810660
|
||||||
v -0.030330 0.875000 -0.030330
|
v -0.030330 0.880000 -0.030330
|
||||||
v 0.189340 0.875000 1.250000
|
v 0.189340 0.880000 1.250000
|
||||||
v 0.810660 0.875000 -0.250000
|
v 0.810660 0.880000 -0.250000
|
||||||
v -0.062500 0.875000 0.732995
|
v -0.062500 0.880000 0.732995
|
||||||
v 0.102253 0.875000 0.897748
|
v 0.102253 0.880000 0.897748
|
||||||
v 0.102252 0.875000 0.102252
|
v 0.102252 0.880000 0.102252
|
||||||
v 0.267005 0.875000 1.062500
|
v 0.267005 0.880000 1.062500
|
||||||
v 0.732995 0.875000 -0.062500
|
v 0.732995 0.880000 -0.062500
|
||||||
v 0.500000 0.875000 1.062500
|
v 0.500000 0.880000 1.062500
|
||||||
v -0.062500 0.875000 0.267005
|
v -0.062500 0.880000 0.267005
|
||||||
v 0.897748 0.875000 0.102252
|
v 0.897748 0.880000 0.102252
|
||||||
v 1.062500 0.875000 0.500000
|
v 1.062500 0.880000 0.500000
|
||||||
v 1.062500 0.875000 0.732995
|
v 1.062500 0.880000 0.732995
|
||||||
v -0.062500 0.875000 0.500000
|
v -0.062500 0.880000 0.500000
|
||||||
v 0.897748 0.875000 0.897747
|
v 0.897748 0.880000 0.897747
|
||||||
v 1.062500 0.875000 0.267004
|
v 1.062500 0.880000 0.267004
|
||||||
v 0.500000 0.875000 -0.062500
|
v 0.500000 0.880000 -0.062500
|
||||||
v 0.732996 0.875000 1.062500
|
v 0.732996 0.880000 1.062499
|
||||||
v 0.267004 0.875000 -0.062500
|
v 0.267004 0.880000 -0.062500
|
||||||
v -0.423879 0.124000 0.117316
|
v -0.423879 0.119000 0.117316
|
||||||
v -0.423879 0.124000 0.500000
|
v -0.423879 0.119000 0.500000
|
||||||
v -0.500000 0.124000 0.117317
|
v -0.500000 0.119000 0.117317
|
||||||
v 0.117316 0.124000 1.500000
|
v 0.117316 0.119000 1.500000
|
||||||
v 0.499999 0.124000 1.500000
|
v 0.499999 0.119000 1.500000
|
||||||
v 0.882683 0.124000 1.423879
|
v 0.882683 0.119000 1.423879
|
||||||
v 0.936508 0.124000 1.477705
|
v 0.936508 0.119000 1.477705
|
||||||
v -0.477705 0.124000 0.936509
|
v -0.477705 0.119000 0.936509
|
||||||
v -0.207107 0.124000 1.207106
|
v -0.207107 0.119000 1.207106
|
||||||
v -0.423880 0.124000 0.882682
|
v -0.423880 0.119000 0.882682
|
||||||
v -0.153282 0.124000 1.153281
|
v -0.153282 0.119000 1.153281
|
||||||
v 1.423879 0.124000 0.882684
|
v 1.423879 0.119000 0.882684
|
||||||
v 1.423879 0.124000 0.500000
|
v 1.423879 0.119000 0.500000
|
||||||
v 1.423879 0.124000 0.117317
|
v 1.423879 0.119000 0.117317
|
||||||
v 1.153281 0.124000 -0.153281
|
v 1.153281 0.119000 -0.153281
|
||||||
v 0.500000 0.124000 1.423879
|
v 0.500000 0.119000 1.423879
|
||||||
v 1.500000 0.124000 0.500001
|
v 1.500000 0.119000 0.500001
|
||||||
v 0.117317 0.124000 -0.423879
|
v 0.117317 0.119000 -0.423879
|
||||||
v -0.153281 0.124000 -0.153282
|
v -0.153281 0.119000 -0.153282
|
||||||
v -0.207106 0.124000 -0.207107
|
v -0.207106 0.119000 -0.207107
|
||||||
v 0.117316 0.124000 1.423879
|
v 0.117316 0.119000 1.423879
|
||||||
v 1.153281 0.124000 1.153281
|
v 1.153281 0.119000 1.153281
|
||||||
v 1.207106 0.124000 1.207107
|
v 1.207106 0.119000 1.207107
|
||||||
v 1.500000 0.124000 0.882684
|
v 1.500000 0.119000 0.882684
|
||||||
v 1.477705 0.124000 0.063492
|
v 1.477705 0.119000 0.063492
|
||||||
v 1.207107 0.124000 -0.207106
|
v 1.207107 0.119000 -0.207106
|
||||||
v 0.882684 0.124000 -0.423879
|
v 0.882684 0.119000 -0.423879
|
||||||
v 0.500001 0.124000 -0.423879
|
v 0.500001 0.119000 -0.423879
|
||||||
v 0.882684 0.124000 -0.500000
|
v 0.882684 0.119000 -0.500000
|
||||||
v 0.500001 0.124000 -0.500000
|
v 0.500001 0.119000 -0.500000
|
||||||
v 0.063492 0.124000 -0.477705
|
v 0.063492 0.119000 -0.477705
|
||||||
v -0.500000 0.124000 0.499999
|
v -0.500000 0.119000 0.499999
|
||||||
v 0.117317 0.876000 -0.423880
|
v 0.117317 0.881000 -0.423880
|
||||||
v -0.153281 0.876000 -0.153282
|
v -0.153281 0.881000 -0.153282
|
||||||
v -0.423879 0.876000 0.117316
|
v -0.423879 0.881000 0.117316
|
||||||
v -0.423880 0.876000 0.499999
|
v -0.423880 0.881000 0.499999
|
||||||
v -0.500000 0.876000 0.499999
|
v -0.500000 0.881000 0.499999
|
||||||
v 0.117316 0.876000 1.423879
|
v 0.117316 0.881000 1.423879
|
||||||
v 0.499999 0.876000 1.423879
|
v 0.499999 0.881000 1.423879
|
||||||
v 0.117316 0.876000 1.500000
|
v 0.117316 0.881000 1.500000
|
||||||
v 0.499999 0.876000 1.500000
|
v 0.499999 0.881000 1.500000
|
||||||
v 1.500000 0.876000 0.882684
|
v 1.500000 0.881000 0.882684
|
||||||
v 1.500000 0.876000 0.500001
|
v 1.500000 0.881000 0.500001
|
||||||
v -0.207106 0.876000 -0.207107
|
v -0.207106 0.881000 -0.207107
|
||||||
v 0.882684 0.876000 -0.423880
|
v 0.882684 0.881000 -0.423880
|
||||||
v 0.500000 0.876000 -0.423879
|
v 0.500000 0.881000 -0.423879
|
||||||
v 0.500000 0.876000 -0.500000
|
v 0.500000 0.881000 -0.500000
|
||||||
v 1.423879 0.876000 0.882684
|
v 1.423879 0.881000 0.882684
|
||||||
v 1.423879 0.876000 0.500000
|
v 1.423879 0.881000 0.500000
|
||||||
v -0.423880 0.876000 0.882683
|
v -0.423880 0.881000 0.882682
|
||||||
v -0.153281 0.876000 1.153281
|
v -0.153281 0.881000 1.153281
|
||||||
v -0.207106 0.876000 1.207107
|
v -0.207106 0.881000 1.207107
|
||||||
v 0.882683 0.876000 1.423879
|
v 0.882683 0.881000 1.423879
|
||||||
v 1.153281 0.876000 1.153282
|
v 1.153281 0.881000 1.153282
|
||||||
v 0.936508 0.876000 1.477705
|
v 0.936508 0.881000 1.477705
|
||||||
v 1.207106 0.876000 1.207107
|
v 1.207106 0.881000 1.207107
|
||||||
v 1.423880 0.876000 0.117317
|
v 1.423880 0.881000 0.117317
|
||||||
v 1.153282 0.876000 -0.153281
|
v 1.153282 0.881000 -0.153281
|
||||||
v 1.477705 0.876000 0.063492
|
v 1.477705 0.881000 0.063492
|
||||||
v 1.207107 0.876000 -0.207106
|
v 1.207107 0.881000 -0.207106
|
||||||
v 0.882684 0.876000 -0.500000
|
v 0.882684 0.881000 -0.500000
|
||||||
v 0.063492 0.876000 -0.477705
|
v 0.063492 0.881000 -0.477705
|
||||||
v -0.500000 0.876000 0.117317
|
v -0.500000 0.881000 0.117316
|
||||||
v -0.477705 0.876000 0.936509
|
v -0.477705 0.881000 0.936509
|
||||||
vn -0.5774 -0.5774 -0.5774
|
vn -0.5774 -0.5774 -0.5774
|
||||||
vn 0.5774 -0.5774 -0.5774
|
vn 0.5774 -0.5774 -0.5774
|
||||||
vn 0.5774 -0.5774 0.5774
|
vn 0.5774 -0.5774 0.5774
|
||||||
|
@ -267,15 +267,20 @@ vn -0.9239 -0.0000 0.3827
|
||||||
vn 0.3827 -0.0000 0.9239
|
vn 0.3827 -0.0000 0.9239
|
||||||
vn -0.0000 -0.0000 1.0000
|
vn -0.0000 -0.0000 1.0000
|
||||||
vn 1.0000 -0.0000 -0.0000
|
vn 1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.7071 0.0001 0.7071
|
||||||
vn -0.3827 -0.0000 0.9239
|
vn -0.3827 -0.0000 0.9239
|
||||||
vn 0.9239 -0.0000 0.3827
|
vn 0.9239 -0.0000 0.3827
|
||||||
vn 0.9239 -0.0000 -0.3827
|
vn 0.9239 -0.0000 -0.3827
|
||||||
vn 0.3827 -0.0000 -0.9239
|
vn 0.3827 -0.0000 -0.9239
|
||||||
vn -0.3827 -0.0000 -0.9239
|
vn -0.3827 -0.0000 -0.9239
|
||||||
vn -0.0000 -0.0000 -1.0000
|
vn -0.0000 -0.0000 -1.0000
|
||||||
|
vn 0.7071 0.0001 0.7071
|
||||||
vn -0.9239 -0.0000 -0.3827
|
vn -0.9239 -0.0000 -0.3827
|
||||||
vn -0.5774 0.5773 0.5774
|
vn -0.0000 -0.0002 1.0000
|
||||||
vn 0.5774 -0.5774 0.5773
|
vn -0.7071 -0.0001 0.7071
|
||||||
|
vn 0.7071 -0.0001 -0.7071
|
||||||
|
vn -0.0000 -0.0001 -1.0000
|
||||||
|
vn -0.7071 -0.0001 -0.7071
|
||||||
vt 0.437500 0.062500
|
vt 0.437500 0.062500
|
||||||
vt 0.437500 0.125000
|
vt 0.437500 0.125000
|
||||||
vt 0.691341 0.961940
|
vt 0.691341 0.961940
|
||||||
|
@ -914,19 +919,6 @@ vt 1.000000 0.875000
|
||||||
vt 1.000000 0.875000
|
vt 1.000000 0.875000
|
||||||
vt 0.000000 0.875000
|
vt 0.000000 0.875000
|
||||||
vt 0.000000 1.000000
|
vt 0.000000 1.000000
|
||||||
s 1
|
|
||||||
usemtl m_axis
|
|
||||||
f 9/27/1 11/33/4 15/41/5 12/35/6
|
|
||||||
f 11/34/4 10/30/3 14/39/7 15/42/5
|
|
||||||
f 10/31/3 8/24/2 13/37/8 14/40/7
|
|
||||||
f 8/25/2 9/28/1 12/36/6 13/38/8
|
|
||||||
f 30/84/9 12/35/6 15/41/5 32/90/10
|
|
||||||
f 32/91/10 15/42/5 14/39/7 31/87/11
|
|
||||||
f 31/88/11 14/40/7 13/37/8 29/81/12
|
|
||||||
f 29/82/12 13/38/8 12/36/6 30/85/9
|
|
||||||
usemtl m_axis_top
|
|
||||||
f 9/26/1 8/23/2 10/29/3 11/32/4
|
|
||||||
f 30/83/9 32/89/10 31/86/11 29/80/12
|
|
||||||
s 0
|
s 0
|
||||||
usemtl crushing_wheel_insert
|
usemtl crushing_wheel_insert
|
||||||
f 57/163/5 100/266/5 197/503/5 196/499/5
|
f 57/163/5 100/266/5 197/503/5 196/499/5
|
||||||
|
@ -1065,9 +1057,9 @@ f 179/455/15 174/443/15 121/314/15
|
||||||
f 169/432/15 173/441/15 121/314/15
|
f 169/432/15 173/441/15 121/314/15
|
||||||
f 83/229/18 101/270/18 214/550/18 184/467/18
|
f 83/229/18 101/270/18 214/550/18 184/467/18
|
||||||
f 98/264/19 6/19/19 187/475/19 198/505/19
|
f 98/264/19 6/19/19 187/475/19 198/505/19
|
||||||
f 35/99/25 98/264/25 198/505/25 203/518/25
|
f 35/99/26 98/264/26 198/505/26 203/518/26
|
||||||
f 100/266/6 62/179/6 208/533/6 197/503/6
|
f 100/266/6 62/179/6 208/533/6 197/503/6
|
||||||
f 99/265/25 55/158/25 199/508/25 195/498/25
|
f 99/265/26 55/158/26 199/508/26 195/498/26
|
||||||
f 102/273/8 103/275/8 193/493/8 192/490/8
|
f 102/273/8 103/275/8 193/493/8 192/490/8
|
||||||
f 1/3/6 104/276/6 204/521/6 188/478/6
|
f 1/3/6 104/276/6 204/521/6 188/478/6
|
||||||
f 74/210/7 77/216/7 201/513/7 200/511/7
|
f 74/210/7 77/216/7 201/513/7 200/511/7
|
||||||
|
@ -1075,20 +1067,34 @@ f 65/187/18 69/195/18 210/538/18 209/535/18
|
||||||
f 77/216/5 2/8/5 202/516/5 201/513/5
|
f 77/216/5 2/8/5 202/516/5 201/513/5
|
||||||
f 104/276/8 45/129/8 205/524/8 204/521/8
|
f 104/276/8 45/129/8 205/524/8 204/521/8
|
||||||
f 103/275/7 5/16/7 191/488/7 193/493/7
|
f 103/275/7 5/16/7 191/488/7 193/493/7
|
||||||
f 49/140/8 47/134/8 236/609/8 238/615/8
|
f 49/140/31 47/134/31 236/609/31 238/615/31
|
||||||
f 16/43/13 52/148/13 230/593/13 231/596/13
|
f 16/43/13 52/148/13 230/593/13 231/596/13
|
||||||
f 91/249/8 25/69/8 232/599/8 233/601/8
|
f 91/249/8 25/69/8 232/599/8 233/601/8
|
||||||
f 122/318/5 21/58/5 216/555/5 226/583/5
|
f 122/318/5 21/58/5 216/555/5 226/583/5
|
||||||
f 59/169/25 16/43/25 231/596/25 225/579/25
|
f 59/169/32 16/43/32 231/596/32 225/579/32
|
||||||
f 93/255/7 91/249/7 233/601/7 234/604/7
|
f 93/255/7 91/249/7 233/601/7 234/604/7
|
||||||
f 67/192/5 17/46/5 239/617/5 240/620/5
|
f 67/192/5 17/46/5 239/617/5 240/620/5
|
||||||
f 21/58/7 26/73/7 215/553/7 216/555/7
|
f 21/58/7 26/73/7 215/553/7 216/555/7
|
||||||
f 36/101/25 39/110/25 220/565/25 221/568/25
|
f 36/101/26 39/110/26 220/565/26 221/568/26
|
||||||
f 24/65/19 28/79/19 217/558/19 218/560/19
|
f 24/65/19 28/79/19 217/558/19 218/560/19
|
||||||
f 23/64/18 24/65/18 218/560/18 219/563/18
|
f 23/64/18 24/65/18 218/560/18 219/563/18
|
||||||
f 125/326/6 67/192/6 240/620/6 242/626/6
|
f 125/326/6 67/192/6 240/620/6 242/626/6
|
||||||
f 47/134/6 42/120/6 235/607/6 236/609/6
|
f 47/134/33 42/120/33 235/607/33 236/609/33
|
||||||
f 38/107/19 36/101/19 221/568/19 223/574/19
|
f 38/107/19 36/101/19 221/568/19 223/574/19
|
||||||
|
s 1
|
||||||
|
usemtl m_axis
|
||||||
|
f 9/27/1 11/33/4 15/41/5 12/35/6
|
||||||
|
f 11/34/4 10/30/3 14/39/7 15/42/5
|
||||||
|
f 10/31/3 8/24/2 13/37/8 14/40/7
|
||||||
|
f 8/25/2 9/28/1 12/36/6 13/38/8
|
||||||
|
f 30/84/9 12/35/6 15/41/5 32/90/10
|
||||||
|
f 32/91/10 15/42/5 14/39/7 31/87/11
|
||||||
|
f 31/88/11 14/40/7 13/37/8 29/81/12
|
||||||
|
f 29/82/12 13/38/8 12/36/6 30/85/9
|
||||||
|
usemtl m_axis_top
|
||||||
|
f 9/26/1 8/23/2 10/29/3 11/32/4
|
||||||
|
f 30/83/9 32/89/10 31/86/11 29/80/12
|
||||||
|
s 0
|
||||||
usemtl crushing_wheel_plates
|
usemtl crushing_wheel_plates
|
||||||
f 33/93/13 37/103/13 39/111/13 35/100/13
|
f 33/93/13 37/103/13 39/111/13 35/100/13
|
||||||
f 6/17/14 96/261/14 1/1/14 34/94/14
|
f 6/17/14 96/261/14 1/1/14 34/94/14
|
||||||
|
@ -1099,54 +1105,54 @@ f 34/96/17 1/2/17 42/118/17 41/116/17
|
||||||
f 6/20/18 38/106/18 37/102/18 33/92/18
|
f 6/20/18 38/106/18 37/102/18 33/92/18
|
||||||
f 43/122/5 48/135/5 42/119/5 1/4/5
|
f 43/122/5 48/135/5 42/119/5 1/4/5
|
||||||
f 45/126/14 7/21/14 46/130/14 44/123/14
|
f 45/126/14 7/21/14 46/130/14 44/123/14
|
||||||
f 42/119/5 48/135/5 237/610/5 235/605/5
|
f 42/119/20 48/135/20 237/610/20 235/605/20
|
||||||
f 49/137/15 51/143/15 52/146/15 50/141/15
|
f 49/137/15 51/143/15 52/146/15 50/141/15
|
||||||
f 44/124/20 51/144/20 49/138/20 45/127/20
|
f 44/124/21 51/144/21 49/138/21 45/127/21
|
||||||
f 44/125/21 46/131/21 52/147/21 51/145/21
|
f 44/125/22 46/131/22 52/147/22 51/145/22
|
||||||
f 45/128/7 49/139/7 48/136/7 43/121/7
|
f 45/128/7 49/139/7 48/136/7 43/121/7
|
||||||
f 54/153/18 58/165/18 52/149/18 46/132/18
|
f 54/153/18 58/165/18 52/149/18 46/132/18
|
||||||
f 54/153/18 46/132/18 194/494/18 206/525/18
|
f 54/153/18 46/132/18 194/494/18 206/525/18
|
||||||
f 55/155/14 56/159/14 57/161/14 53/150/14
|
f 55/155/14 56/159/14 57/161/14 53/150/14
|
||||||
f 59/167/15 60/171/15 17/44/15 124/321/15
|
f 59/167/15 60/171/15 17/44/15 124/321/15
|
||||||
f 53/151/17 60/172/17 59/168/17 55/156/17
|
f 53/151/17 60/172/17 59/168/17 55/156/17
|
||||||
f 53/152/22 57/162/22 17/45/22 60/173/22
|
f 53/152/23 57/162/23 17/45/23 60/173/23
|
||||||
f 55/157/19 59/170/19 58/166/19 54/154/19
|
f 55/157/19 59/170/19 58/166/19 54/154/19
|
||||||
f 61/175/7 68/194/7 17/47/7 57/164/7
|
f 61/175/7 68/194/7 17/47/7 57/164/7
|
||||||
f 55/157/19 54/154/19 206/526/19 199/506/19
|
f 55/157/19 54/154/19 206/526/19 199/506/19
|
||||||
f 62/176/14 63/180/14 65/185/14 64/182/14
|
f 62/176/14 63/180/14 65/185/14 64/182/14
|
||||||
f 19/52/19 75/211/19 243/627/19 227/584/19
|
f 19/52/19 75/211/19 243/627/19 227/584/19
|
||||||
f 125/323/15 66/189/15 19/50/15 18/48/15
|
f 125/323/15 66/189/15 19/50/15 18/48/15
|
||||||
f 64/183/21 66/190/21 125/324/21 62/177/21
|
f 64/183/22 66/190/22 125/324/22 62/177/22
|
||||||
f 64/184/23 65/186/23 19/51/23 66/191/23
|
f 64/184/24 65/186/24 19/51/24 66/191/24
|
||||||
f 62/178/8 125/325/8 68/193/8 61/174/8
|
f 62/178/8 125/325/8 68/193/8 61/174/8
|
||||||
f 70/197/19 75/211/19 19/52/19 65/188/19
|
f 70/197/19 75/211/19 19/52/19 65/188/19
|
||||||
f 71/198/14 72/202/14 74/207/14 73/204/14
|
f 71/198/14 72/202/14 74/207/14 73/204/14
|
||||||
f 92/251/5 93/254/5 234/602/5 246/637/5
|
f 92/251/5 93/254/5 234/602/5 246/637/5
|
||||||
f 20/54/15 76/213/15 26/70/15 123/319/15
|
f 20/54/15 76/213/15 26/70/15 123/319/15
|
||||||
f 73/205/22 76/214/22 20/55/22 71/199/22
|
f 73/205/23 76/214/23 20/55/23 71/199/23
|
||||||
f 73/206/24 74/208/24 26/71/24 76/215/24
|
f 73/206/25 74/208/25 26/71/25 76/215/25
|
||||||
f 71/201/25 20/56/25 75/212/25 70/196/25
|
f 71/201/26 20/56/26 75/212/26 70/196/26
|
||||||
f 78/217/8 81/225/8 26/72/8 74/209/8
|
f 78/217/8 81/225/8 26/72/8 74/209/8
|
||||||
f 78/217/8 74/209/8 200/509/8 213/545/8
|
f 78/217/8 74/209/8 200/509/8 213/545/8
|
||||||
f 2/5/14 79/219/14 85/232/14 80/221/14
|
f 2/5/14 79/219/14 85/232/14 80/221/14
|
||||||
f 48/136/7 49/139/7 238/613/7 237/611/7
|
f 48/136/27 49/139/27 238/613/27 237/611/27
|
||||||
f 122/315/15 82/226/15 28/76/15 27/74/15
|
f 122/315/15 82/226/15 28/76/15 27/74/15
|
||||||
f 80/222/23 82/227/23 122/316/23 2/6/23
|
f 80/222/24 82/227/24 122/316/24 2/6/24
|
||||||
f 80/223/26 85/233/26 28/77/26 82/228/26
|
f 80/223/28 85/233/28 28/77/28 82/228/28
|
||||||
f 2/7/6 122/317/6 81/224/6 78/218/6
|
f 2/7/6 122/317/6 81/224/6 78/218/6
|
||||||
f 84/230/25 87/240/25 28/78/25 85/235/25
|
f 84/230/26 87/240/26 28/78/26 85/235/26
|
||||||
f 2/7/6 78/218/6 213/546/6 202/514/6
|
f 2/7/6 78/218/6 213/546/6 202/514/6
|
||||||
f 101/267/14 3/9/14 102/271/14 86/236/14
|
f 101/267/14 3/9/14 102/271/14 86/236/14
|
||||||
f 75/212/25 20/56/25 229/590/25 243/628/25
|
f 75/212/26 20/56/26 229/590/26 243/628/26
|
||||||
f 23/61/15 88/241/15 25/66/15 22/59/15
|
f 23/61/15 88/241/15 25/66/15 22/59/15
|
||||||
f 86/237/24 88/242/24 23/62/24 101/268/24
|
f 86/237/25 88/242/25 23/62/25 101/268/25
|
||||||
f 86/238/16 102/272/16 25/67/16 88/243/16
|
f 86/238/16 102/272/16 25/67/16 88/243/16
|
||||||
f 101/269/13 23/63/13 87/239/13 84/231/13
|
f 101/269/13 23/63/13 87/239/13 84/231/13
|
||||||
f 89/244/6 92/250/6 25/68/6 102/274/6
|
f 89/244/6 92/250/6 25/68/6 102/274/6
|
||||||
f 5/13/14 4/11/14 35/97/14 90/246/14
|
f 5/13/14 4/11/14 35/97/14 90/246/14
|
||||||
f 93/252/15 95/258/15 39/108/15 94/256/15
|
f 93/252/15 95/258/15 39/108/15 94/256/15
|
||||||
f 90/247/26 95/259/26 93/253/26 5/14/26
|
f 90/247/28 95/259/28 93/253/28 5/14/28
|
||||||
f 90/248/20 35/98/20 39/109/20 95/260/20
|
f 90/248/21 35/98/21 39/109/21 95/260/21
|
||||||
f 5/15/5 93/254/5 92/251/5 89/245/5
|
f 5/15/5 93/254/5 92/251/5 89/245/5
|
||||||
f 203/517/14 198/504/14 187/474/14 186/471/14
|
f 203/517/14 198/504/14 187/474/14 186/471/14
|
||||||
f 188/477/14 204/520/14 205/522/14 189/480/14
|
f 188/477/14 204/520/14 205/522/14 189/480/14
|
||||||
|
@ -1156,18 +1162,18 @@ f 209/534/14 210/537/14 212/543/14 211/539/14
|
||||||
f 200/510/14 201/512/14 202/515/14 213/547/14
|
f 200/510/14 201/512/14 202/515/14 213/547/14
|
||||||
f 183/464/14 184/466/14 214/548/14 185/468/14
|
f 183/464/14 184/466/14 214/548/14 185/468/14
|
||||||
f 192/489/14 193/492/14 191/486/14 190/483/14
|
f 192/489/14 193/492/14 191/486/14 190/483/14
|
||||||
f 84/230/25 85/235/25 183/465/25 185/469/25
|
f 84/230/26 85/235/26 183/465/26 185/469/26
|
||||||
f 101/269/13 84/231/13 185/470/13 214/549/13
|
f 101/269/13 84/231/13 185/470/13 214/549/13
|
||||||
f 62/178/8 61/174/8 207/529/8 208/532/8
|
f 62/178/8 61/174/8 207/529/8 208/532/8
|
||||||
f 61/175/7 57/164/7 196/501/7 207/530/7
|
f 61/175/7 57/164/7 196/501/7 207/530/7
|
||||||
f 6/20/18 33/92/18 186/472/18 187/476/18
|
f 6/20/29 33/92/29 186/472/29 187/476/29
|
||||||
f 33/93/13 35/100/13 203/519/13 186/473/13
|
f 33/93/13 35/100/13 203/519/13 186/473/13
|
||||||
f 89/244/6 102/274/6 192/491/6 190/484/6
|
f 89/244/6 102/274/6 192/491/6 190/484/6
|
||||||
f 45/128/7 43/121/7 189/481/7 205/523/7
|
f 45/128/7 43/121/7 189/481/7 205/523/7
|
||||||
f 43/122/5 1/4/5 188/479/5 189/482/5
|
f 43/122/5 1/4/5 188/479/5 189/482/5
|
||||||
f 71/201/25 70/196/25 211/540/25 212/544/25
|
f 71/201/26 70/196/26 211/540/26 212/544/26
|
||||||
f 70/197/19 65/188/19 209/536/19 211/541/19
|
f 70/197/19 65/188/19 209/536/19 211/541/19
|
||||||
f 5/15/5 89/245/5 190/485/5 191/487/5
|
f 5/15/30 89/245/30 190/485/30 191/487/30
|
||||||
f 220/564/15 222/569/15 223/572/15 221/567/15
|
f 220/564/15 222/569/15 223/572/15 221/567/15
|
||||||
f 235/606/15 237/612/15 238/614/15 236/608/15
|
f 235/606/15 237/612/15 238/614/15 236/608/15
|
||||||
f 230/592/15 224/575/15 225/578/15 231/595/15
|
f 230/592/15 224/575/15 225/578/15 231/595/15
|
||||||
|
@ -1181,16 +1187,16 @@ f 52/149/18 58/165/18 224/576/18 230/594/18
|
||||||
f 26/72/8 81/225/8 244/632/8 215/552/8
|
f 26/72/8 81/225/8 244/632/8 215/552/8
|
||||||
f 87/239/13 23/63/13 219/562/13 245/634/13
|
f 87/239/13 23/63/13 219/562/13 245/634/13
|
||||||
f 58/166/19 59/170/19 225/580/19 224/577/19
|
f 58/166/19 59/170/19 225/580/19 224/577/19
|
||||||
f 28/78/25 87/240/25 245/635/25 217/557/25
|
f 28/78/26 87/240/26 245/635/26 217/557/26
|
||||||
f 68/193/8 125/325/8 242/625/8 241/622/8
|
f 68/193/8 125/325/8 242/625/8 241/622/8
|
||||||
f 37/102/18 38/106/18 223/573/18 222/570/18
|
f 37/102/18 38/106/18 223/573/18 222/570/18
|
||||||
f 17/47/7 68/194/7 241/623/7 239/618/7
|
f 17/47/7 68/194/7 241/623/7 239/618/7
|
||||||
f 39/111/13 37/103/13 222/571/13 220/566/13
|
f 39/111/13 37/103/13 222/571/13 220/566/13
|
||||||
s 1
|
s 1
|
||||||
usemtl m_spruce_log_top.001
|
usemtl m_spruce_log_top
|
||||||
f 135/346/11 136/349/27 137/352/4 138/355/28
|
f 135/346/11 136/349/10 137/352/4 138/355/3
|
||||||
f 139/358/12 135/347/11 138/356/28 140/361/2
|
f 139/358/12 135/347/11 138/356/3 140/361/2
|
||||||
f 141/364/9 139/359/12 140/362/2 142/367/1
|
f 141/364/9 139/359/12 140/362/2 142/367/1
|
||||||
f 136/350/27 141/365/9 142/368/1 137/353/4
|
f 136/350/10 141/365/9 142/368/1 137/353/4
|
||||||
f 142/369/1 140/363/2 138/357/28 137/354/4
|
f 142/369/1 140/363/2 138/357/3 137/354/4
|
||||||
f 136/351/27 135/348/11 139/360/12 141/366/9
|
f 136/351/10 135/348/11 139/360/12 141/366/9
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
{
|
{
|
||||||
"__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)",
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"stonecutter_saw": "minecraft:block/stonecutter_saw",
|
"stonecutter_saw": "minecraft:block/stonecutter_saw",
|
||||||
"stonecutter_saw_reversed" : "create:block/saw_reversed"
|
"stonecutter_saw_reversed" : "create:block/saw_reversed"
|
||||||
},
|
},
|
||||||
"parent": "create:block/block",
|
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"name": "Blade",
|
"name": "Blade",
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{
|
{
|
||||||
"__comment": "Model generated using MrCrayfish's Model Creator (https://mrcrayfish.com/tools?id=mc)",
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"stonecutter_saw": "minecraft:block/stonecutter_saw",
|
"stonecutter_saw": "minecraft:block/stonecutter_saw",
|
||||||
"stonecutter_saw_reversed" : "create:block/saw_reversed"
|
"stonecutter_saw_reversed" : "create:block/saw_reversed"
|
||||||
|
|
Loading…
Reference in a new issue