added SpaceSnake #5

Merged
MineTec merged 8 commits from develop-spaceSnake into develop 2025-10-15 20:11:37 +00:00
Showing only changes of commit 41028e3389 - Show all commits

View File

@@ -11,7 +11,7 @@ import net.kyori.adventure.sound.Sound;
import net.minestom.server.MinecraftServer;
import net.minestom.server.coordinate.Pos;
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.player.PlayerBlockPlaceEvent;
import net.minestom.server.event.player.PlayerMoveEvent;
@@ -140,8 +140,8 @@ public class SpaceSnake extends StatelessGame {
private void spawnPowerUp() {
Pos spawnPos = new Pos(this.posInBoundsW.get(), this.posInBoundsH.get(), this.posInBoundsW.get());
Entity display = new Entity(EntityType.BLOCK_DISPLAY);
((BlockDisplayMeta) display.getEntityMeta()).setBlockState(Block.DIAMOND_BLOCK);
Entity display = new Entity(EntityType.FALLING_BLOCK);
((FallingBlockMeta) display.getEntityMeta()).setBlock(Block.DIAMOND_BLOCK);
display.setGlowing(true);
display.setNoGravity(true);
display.setInstance(this, spawnPos);
@@ -149,7 +149,10 @@ public class SpaceSnake extends StatelessGame {
display.eventNode().addListener(EntityTickEvent.class, onTick -> {
MineTec marked this conversation as resolved
Review

Diamant Blöcke ausschließen wäre gut.

Diamant Blöcke ausschließen wäre gut.
Player player = this.getPlayers().stream()
.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()
.orElse(null);
if(player == null) return;