changed player spawn position
This commit is contained in:
parent
179fa2e4d7
commit
3c25f5f079
@ -25,8 +25,8 @@ public class Playfield {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Pos getPlayerSpawnPosition() {
|
public Pos getPlayerSpawnPosition() {
|
||||||
// return this.lowerLeftCorner.add(6.5, 9+((double) 3/16), 20.5).withView(180, 0);
|
// return this.lowerLeftCorner.add(6, 9+((double) 3/16), 20).withView(180, 0);
|
||||||
return this.lowerLeftCorner.add(6.5, 9, 20.5).withView(180, 0);
|
return this.lowerLeftCorner.add(6, 9, 20).withView(180, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pos getTetrominoSpawnPosition() {
|
public Pos getTetrominoSpawnPosition() {
|
||||||
@ -80,6 +80,9 @@ public class Playfield {
|
|||||||
}
|
}
|
||||||
|
|
||||||
batch.setBlock(getPlayerSpawnPosition().sub(0, 1, 0), Block.STONE);
|
batch.setBlock(getPlayerSpawnPosition().sub(0, 1, 0), Block.STONE);
|
||||||
|
batch.setBlock(getPlayerSpawnPosition().sub(1, 1, 0), Block.STONE);
|
||||||
|
batch.setBlock(getPlayerSpawnPosition().sub(1, 1, 1), Block.STONE);
|
||||||
|
batch.setBlock(getPlayerSpawnPosition().sub(0, 1, 1), Block.STONE);
|
||||||
|
|
||||||
// batch.setBlock(getPlayerSpawnPosition(), Block.IRON_TRAPDOOR.withProperty("half", "bottom"));
|
// batch.setBlock(getPlayerSpawnPosition(), Block.IRON_TRAPDOOR.withProperty("half", "bottom"));
|
||||||
// batch.setBlock(getPlayerSpawnPosition().add(0, 1, 0), Block.IRON_TRAPDOOR.withProperty("half", "top"));
|
// batch.setBlock(getPlayerSpawnPosition().add(0, 1, 0), Block.IRON_TRAPDOOR.withProperty("half", "top"));
|
||||||
|
@ -10,6 +10,7 @@ import net.minestom.server.instance.block.Block;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class Tetromino {
|
public class Tetromino {
|
||||||
public final Shape shape;
|
public final Shape shape;
|
||||||
@ -18,6 +19,7 @@ public class Tetromino {
|
|||||||
private Pos position;
|
private Pos position;
|
||||||
private int[][] shapeArray;
|
private int[][] shapeArray;
|
||||||
private final static EntityType ghostEntityType = EntityType.FALLING_BLOCK;
|
private final static EntityType ghostEntityType = EntityType.FALLING_BLOCK;
|
||||||
|
private final UUID uuid;
|
||||||
|
|
||||||
public enum Shape {
|
public enum Shape {
|
||||||
I,
|
I,
|
||||||
@ -33,6 +35,7 @@ public class Tetromino {
|
|||||||
this.instance = instance;
|
this.instance = instance;
|
||||||
this.shape = shape;
|
this.shape = shape;
|
||||||
this.playfield = playfield;
|
this.playfield = playfield;
|
||||||
|
this.uuid = UUID.randomUUID();
|
||||||
|
|
||||||
switch (this.shape) {
|
switch (this.shape) {
|
||||||
case I -> shapeArray = new int[][]{{0, 0, 0, 0}, {1, 1, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}};
|
case I -> shapeArray = new int[][]{{0, 0, 0, 0}, {1, 1, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}};
|
||||||
@ -88,16 +91,29 @@ public class Tetromino {
|
|||||||
getBlockPositions().forEach(pos -> {
|
getBlockPositions().forEach(pos -> {
|
||||||
Entity ghostBlock = new Entity(ghostEntityType);
|
Entity ghostBlock = new Entity(ghostEntityType);
|
||||||
((FallingBlockMeta) ghostBlock.getEntityMeta()).setBlock(this.getGhostBlock());
|
((FallingBlockMeta) ghostBlock.getEntityMeta()).setBlock(this.getGhostBlock());
|
||||||
|
// ((BlockDisplayMeta) ghostBlock.getEntityMeta()).setBlockState(this.getGhostBlock());
|
||||||
ghostBlock.setNoGravity(true);
|
ghostBlock.setNoGravity(true);
|
||||||
ghostBlock.setGlowing(true);
|
ghostBlock.setGlowing(true);
|
||||||
ghostBlock.setInvisible(true);
|
|
||||||
ghostBlock.setInstance(this.instance, pos.sub(positionChange).add(0.5, 0, 0.5));
|
ghostBlock.setInstance(this.instance, pos.sub(positionChange).add(0.5, 0, 0.5));
|
||||||
|
// ghostBlock.setInstance(this.instance, pos.sub(positionChange).add(1, 0, 1));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getBlockPositions().forEach(pos -> this.instance.setBlock(pos, this.getColoredBlock()));
|
getBlockPositions().forEach(pos -> this.instance.setBlock(pos, this.getColoredBlock()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void drawAsEntities() {
|
||||||
|
getBlockPositions().forEach(pos -> {
|
||||||
|
Entity ghostBlock = new Entity(ghostEntityType);
|
||||||
|
((FallingBlockMeta) ghostBlock.getEntityMeta()).setBlock(this.getGhostBlock());
|
||||||
|
// ((BlockDisplayMeta) ghostBlock.getEntityMeta()).setBlockState(this.getGhostBlock());
|
||||||
|
ghostBlock.setNoGravity(true);
|
||||||
|
ghostBlock.setGlowing(true);
|
||||||
|
ghostBlock.setInstance(this.instance, pos.add(0.5, 0, 0.5));
|
||||||
|
// ghostBlock.setInstance(this.instance, pos.sub(positionChange).add(1, 0, 1));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public void remove() {
|
public void remove() {
|
||||||
this.getBlockPositions().forEach(pos -> this.instance.setBlock(pos, Block.AIR));
|
this.getBlockPositions().forEach(pos -> this.instance.setBlock(pos, Block.AIR));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user