From b085daec42f577cdecc44c3c722c516718217360 Mon Sep 17 00:00:00 2001 From: carm Date: Thu, 28 May 2020 14:37:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=A0=E9=80=81=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/listeners/RespawnListener.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/2b2t-common/src/main/java/org/cn2b2t/common/listeners/RespawnListener.java b/2b2t-common/src/main/java/org/cn2b2t/common/listeners/RespawnListener.java index 247a247..8ce2585 100644 --- a/2b2t-common/src/main/java/org/cn2b2t/common/listeners/RespawnListener.java +++ b/2b2t-common/src/main/java/org/cn2b2t/common/listeners/RespawnListener.java @@ -2,6 +2,7 @@ package org.cn2b2t.common.listeners; import org.bukkit.Bukkit; import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Biome; import org.bukkit.entity.Player; @@ -59,10 +60,26 @@ public class RespawnListener implements Listener { && locBiome != Biome.DEEP_OCEAN && locBiome != Biome.RIVER && locBiome != Biome.DESERT - && locBiome != Biome.DESERT_HILLS) { - return loc; + && locBiome != Biome.DESERT_HILLS + && !canReplace(loc.getBlock().getType())) { + return loc.add(0, 1, 0); } } } + public boolean canReplace(Material material) { + switch (material) { + case WATER: + case LAVA: + case STATIONARY_WATER: + case STATIONARY_LAVA: + case AIR: + return true; + default: + return false; + + } + + } + }