Structure fix
This commit is contained in:
parent
310369cbb3
commit
2d53cedb90
8 changed files with 35 additions and 83 deletions
|
@ -49,10 +49,11 @@ public class SplineHelper {
|
|||
for (int i = 1; i < count; i++) {
|
||||
Vector3f pos = spline.get(i);
|
||||
float delta = (float) (i - 1) / max;
|
||||
SDFLine line = new SDFLine(placerFunction)
|
||||
SDF line = new SDFLine()
|
||||
.setRadius(MathHelper.lerp(delta, radius1, radius2))
|
||||
.setStart(start.getX(), start.getY(), start.getZ())
|
||||
.setEnd(pos.getX(), pos.getY(), pos.getZ());
|
||||
.setEnd(pos.getX(), pos.getY(), pos.getZ())
|
||||
.setBlock(placerFunction);
|
||||
result = result == null ? line : new SDFUnion().setSourceA(result).setSourceB(line);
|
||||
start = pos;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
package ru.betterend.util.sdf.primitive;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import ru.betterend.util.MHelper;
|
||||
|
||||
|
@ -13,18 +8,6 @@ public class SDFCapedCone extends SDFPrimitive {
|
|||
private float radius2;
|
||||
private float height;
|
||||
|
||||
public SDFCapedCone(Function<BlockPos, BlockState> placerFunction) {
|
||||
super(placerFunction);
|
||||
}
|
||||
|
||||
public SDFCapedCone(BlockState state) {
|
||||
super(state);
|
||||
}
|
||||
|
||||
public SDFCapedCone(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
public SDFCapedCone setRadius1(float radius) {
|
||||
this.radius1 = radius;
|
||||
return this;
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
package ru.betterend.util.sdf.primitive;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import ru.betterend.util.MHelper;
|
||||
|
||||
|
@ -12,18 +7,6 @@ public class SDFCapsule extends SDFPrimitive {
|
|||
private float radius;
|
||||
private float height;
|
||||
|
||||
public SDFCapsule(Function<BlockPos, BlockState> placerFunction) {
|
||||
super(placerFunction);
|
||||
}
|
||||
|
||||
public SDFCapsule(BlockState state) {
|
||||
super(state);
|
||||
}
|
||||
|
||||
public SDFCapsule(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
public SDFCapsule setRadius(float radius) {
|
||||
this.radius = radius;
|
||||
return this;
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
package ru.betterend.util.sdf.primitive;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import ru.betterend.util.MHelper;
|
||||
|
||||
|
@ -17,18 +12,6 @@ public class SDFLine extends SDFPrimitive {
|
|||
private float y2;
|
||||
private float z2;
|
||||
|
||||
public SDFLine(Function<BlockPos, BlockState> placerFunction) {
|
||||
super(placerFunction);
|
||||
}
|
||||
|
||||
public SDFLine(BlockState state) {
|
||||
super(state);
|
||||
}
|
||||
|
||||
public SDFLine(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
public SDFLine setRadius(float radius) {
|
||||
this.radius = radius;
|
||||
return this;
|
||||
|
|
|
@ -8,22 +8,25 @@ import net.minecraft.util.math.BlockPos;
|
|||
import ru.betterend.util.sdf.SDF;
|
||||
|
||||
public abstract class SDFPrimitive extends SDF {
|
||||
protected final Function<BlockPos, BlockState> placerFunction;
|
||||
protected Function<BlockPos, BlockState> placerFunction;
|
||||
|
||||
public SDFPrimitive(Function<BlockPos, BlockState> placerFunction) {
|
||||
public SDFPrimitive setBlock(Function<BlockPos, BlockState> placerFunction) {
|
||||
this.placerFunction = placerFunction;
|
||||
return this;
|
||||
}
|
||||
|
||||
public SDFPrimitive(BlockState state) {
|
||||
public SDFPrimitive setBlock(BlockState state) {
|
||||
this.placerFunction = (pos) -> {
|
||||
return state;
|
||||
};
|
||||
return this;
|
||||
}
|
||||
|
||||
public SDFPrimitive(Block block) {
|
||||
public SDFPrimitive setBlock(Block block) {
|
||||
this.placerFunction = (pos) -> {
|
||||
return block.getDefaultState();
|
||||
};
|
||||
return this;
|
||||
}
|
||||
|
||||
public BlockState getBlockState(BlockPos pos) {
|
||||
|
|
|
@ -1,27 +1,10 @@
|
|||
package ru.betterend.util.sdf.primitive;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import ru.betterend.util.MHelper;
|
||||
|
||||
public class SDFSphere extends SDFPrimitive {
|
||||
private float radius;
|
||||
|
||||
public SDFSphere(Function<BlockPos, BlockState> placerFunction) {
|
||||
super(placerFunction);
|
||||
}
|
||||
|
||||
public SDFSphere(BlockState state) {
|
||||
super(state);
|
||||
}
|
||||
|
||||
public SDFSphere(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
public SDFSphere setRadius(float radius) {
|
||||
this.radius = radius;
|
||||
return this;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue