More Broken
EnergonRelics/pipeline/head This commit looks good Details

This commit is contained in:
TheBrokenRail 2020-07-19 15:32:47 -04:00
parent 6d51dee9c7
commit 5a2b7c0d33
3 changed files with 14 additions and 47 deletions

View File

@ -79,18 +79,9 @@ public abstract class StructurePart<T> {
}
};
protected abstract int getHeight();
protected abstract int getWidth();
protected abstract int getDepth();
protected abstract void build(StructureContext context);
private Vec3d getOffset() {
return new Vec3d(getWidth() / 2f, getHeight() / 2f, getDepth() / 2f);
}
private Vec3d transform(Vec3d pos) {
pos = pos.subtract(getOffset());
for (Transformation transformation : transformations) {
pos = transformation.transform(pos);
}
@ -132,12 +123,10 @@ public abstract class StructurePart<T> {
}
public void place(World world, BlockPos pos) {
Vec3d offset = getOffset();
BlockPos offsetPos = new BlockPos(offset.getX(), offset.getY(), offset.getZ());
for (Map.Entry<Long, BlockState> entry : blocks.entrySet()) {
BlockState state = entry.getValue();
if (state.getBlock() != Blocks.VOID_AIR) {
BlockPos newPos = pos.add(BlockPos.fromLong(entry.getKey()).add(offsetPos));
BlockPos newPos = pos.add(BlockPos.fromLong(entry.getKey()));
world.removeBlockEntity(newPos);
world.setBlockState(newPos, state);
handleBlockPlace(world, newPos, state);

View File

@ -11,18 +11,11 @@ public class ResearchComplexHallwayPart extends BaseResearchComplexPart {
super(state, list);
}
@Override
protected int getWidth() {
return 7;
}
@Override
protected int getHeight() {
private int getHeight() {
return 6;
}
@Override
protected int getDepth() {
private int getDepth() {
return 3;
}

View File

@ -38,8 +38,8 @@ public class ResearchComplexStartPart extends BaseResearchComplexPart {
BlockState state = yOffset == 0 || yOffset == 5 ? bricks : air;
rect(4, yOffset, 0, 3, 1, getDepth(), state);
rect(0, yOffset, 4, getWidth(), 1, 3, state);
rect(0, yOffset, 0, 2, 1, 6, state);
rect(0, yOffset, 0, 6, 1, 2, state);
set(2, yOffset, 3, state);
set(3, yOffset, 2, state);
@ -79,14 +79,14 @@ public class ResearchComplexStartPart extends BaseResearchComplexPart {
}
private void buildReactor() {
set(5, 1, 5, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(6, 2, 5, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(5, 2, 5, EnergonRelics.REACTOR_CORE_BLOCK.getDefaultState());
set(4, 2, 5, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(5, 3, 5, EnergonRelics.REACTOR_INPUT_BLOCK.getDefaultState());
set(5, 2, 4, EnergonRelics.REACTOR_CONTROLLER_BLOCK.getDefaultState());
set(5, 1, 4, Blocks.LEVER.getDefaultState().with(LeverBlock.FACE, WallMountLocation.FLOOR));
set(5, 2, 6, EnergonRelics.THERMAL_GLASS_BLOCK.getDefaultState());
set(0, 1, 0, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(1, 2, 0, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(0, 2, 0, EnergonRelics.REACTOR_CORE_BLOCK.getDefaultState());
set(-1, 2, 0, EnergonRelics.THERMAL_CASING_BLOCK.getDefaultState());
set(0, 3, 0, EnergonRelics.REACTOR_INPUT_BLOCK.getDefaultState());
set(0, 2, 1, EnergonRelics.REACTOR_CONTROLLER_BLOCK.getDefaultState());
set(0, 1, 1, Blocks.LEVER.getDefaultState().with(LeverBlock.FACE, WallMountLocation.FLOOR));
set(0, 2, -1, EnergonRelics.THERMAL_GLASS_BLOCK.getDefaultState());
}
@Override
@ -96,27 +96,12 @@ public class ResearchComplexStartPart extends BaseResearchComplexPart {
for (int i = 0; i < 6; i++) {
buildBase(i);
}
part(context, 1, 0, getDepth(), new ResearchComplexHallwayPart(getState(), getTransformations()));
//part(context, 1, 0, getWidth() / 2, new ResearchComplexHallwayPart(getState(), getTransformations()));
});
buildReactor();
}
}
@Override
protected int getWidth() {
return 10;
}
@Override
protected int getHeight() {
return 6;
}
@Override
protected int getDepth() {
return 10;
}
@Override
protected void handleBlockPlace(World world, BlockPos pos, BlockState state) {
super.handleBlockPlace(world, pos, state);