added SpaceSnake #5
@@ -11,7 +11,7 @@ import net.kyori.adventure.sound.Sound;
|
|||||||
import net.minestom.server.MinecraftServer;
|
import net.minestom.server.MinecraftServer;
|
||||||
import net.minestom.server.coordinate.Pos;
|
import net.minestom.server.coordinate.Pos;
|
||||||
import net.minestom.server.entity.*;
|
import net.minestom.server.entity.*;
|
||||||
import net.minestom.server.entity.metadata.display.BlockDisplayMeta;
|
import net.minestom.server.entity.metadata.other.FallingBlockMeta;
|
||||||
import net.minestom.server.event.entity.EntityTickEvent;
|
import net.minestom.server.event.entity.EntityTickEvent;
|
||||||
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
import net.minestom.server.event.player.PlayerBlockPlaceEvent;
|
||||||
import net.minestom.server.event.player.PlayerMoveEvent;
|
import net.minestom.server.event.player.PlayerMoveEvent;
|
||||||
@@ -140,8 +140,8 @@ public class SpaceSnake extends StatelessGame {
|
|||||||
|
|
||||||
private void spawnPowerUp() {
|
private void spawnPowerUp() {
|
||||||
Pos spawnPos = new Pos(this.posInBoundsW.get(), this.posInBoundsH.get(), this.posInBoundsW.get());
|
Pos spawnPos = new Pos(this.posInBoundsW.get(), this.posInBoundsH.get(), this.posInBoundsW.get());
|
||||||
Entity display = new Entity(EntityType.BLOCK_DISPLAY);
|
Entity display = new Entity(EntityType.FALLING_BLOCK);
|
||||||
((BlockDisplayMeta) display.getEntityMeta()).setBlockState(Block.DIAMOND_BLOCK);
|
((FallingBlockMeta) display.getEntityMeta()).setBlock(Block.DIAMOND_BLOCK);
|
||||||
display.setGlowing(true);
|
display.setGlowing(true);
|
||||||
display.setNoGravity(true);
|
display.setNoGravity(true);
|
||||||
display.setInstance(this, spawnPos);
|
display.setInstance(this, spawnPos);
|
||||||
@@ -149,7 +149,10 @@ public class SpaceSnake extends StatelessGame {
|
|||||||
display.eventNode().addListener(EntityTickEvent.class, onTick -> {
|
display.eventNode().addListener(EntityTickEvent.class, onTick -> {
|
||||||
MineTec marked this conversation as resolved
|
|||||||
Player player = this.getPlayers().stream()
|
Player player = this.getPlayers().stream()
|
||||||
.filter(p -> !this.getScore().hasResult(p))
|
.filter(p -> !this.getScore().hasResult(p))
|
||||||
.filter(p -> p.getDistance(onTick.getEntity()) < 2.5)
|
.filter(p -> p.getBoundingBox()
|
||||||
|
.grow(1, 1, 1)
|
||||||
|
.intersectBox(display.getPosition().sub(p.getPosition()), display.getBoundingBox())
|
||||||
|
)
|
||||||
.findAny()
|
.findAny()
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
if(player == null) return;
|
if(player == null) return;
|
||||||
|
Reference in New Issue
Block a user
Diamant Blöcke ausschließen wäre gut.