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.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
Review

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

Diamant Blöcke ausschließen wäre gut.
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;