diff --git a/gameserver/src/main/java/brainwine/gameserver/entity/player/Player.java b/gameserver/src/main/java/brainwine/gameserver/entity/player/Player.java index d457793..903d7dc 100644 --- a/gameserver/src/main/java/brainwine/gameserver/entity/player/Player.java +++ b/gameserver/src/main/java/brainwine/gameserver/entity/player/Player.java @@ -193,7 +193,7 @@ public class Player extends Entity implements CommandExecutor { */ public void onZoneChanged() { // TODO handle spawns better - MetaBlock spawn = zone.getRandomZoneTeleporter(); + MetaBlock spawn = zone.getRandomSpawnBlock(); if(spawn == null) { x = zone.getWidth() / 2; diff --git a/gameserver/src/main/java/brainwine/gameserver/zone/Zone.java b/gameserver/src/main/java/brainwine/gameserver/zone/Zone.java index 2cbff78..bb76757 100644 --- a/gameserver/src/main/java/brainwine/gameserver/zone/Zone.java +++ b/gameserver/src/main/java/brainwine/gameserver/zone/Zone.java @@ -614,9 +614,9 @@ public class Zone { return metaBlocks; } - public MetaBlock getRandomZoneTeleporter() { - List zoneTeleporters = getMetaBlocksWithUse(ItemUseType.ZONE_TELEPORT); - return zoneTeleporters.isEmpty() ? null : zoneTeleporters.get((int)(Math.random() * zoneTeleporters.size())); + public MetaBlock getRandomSpawnBlock() { + List spawnBlocks = getMetaBlocksWhere(block -> block.getItem().getId() == 891 || block.getItem().getId() == 934); + return spawnBlocks.isEmpty() ? null : spawnBlocks.get((int)(Math.random() * spawnBlocks.size())); } public Collection getMetaBlocks() {