Я пишу код Java для программного обеспечения сервера Minecraft под названием Spigot (spigotmc.org), и я только что написал это. Цель состоит в том, чтобы проверять каждую сторону переменной block
и проверять на стене знак, как вы можете видеть. Его нужно только найти. Затем он обновит его и еще много чего. Я знаю, что этот код можно упростить, но на данный момент я не вижу, как без создания целой новой функции для кода внутри условных выражений, чего я не хочу делать. Есть ли лучший способ написать это условное выражение?Как упростить этот Java-код?
// Get an attached sign
Block sign;
if ((sign = block.getRelative(BlockFace.NORTH)).getType() == Material.WALL_SIGN) {
org.bukkit.block.Sign data = (Sign) sign.getState();
data.setLine(1, "OFF");
data.update();
} else if ((sign = block.getRelative(BlockFace.EAST)).getType() == Material.WALL_SIGN) {
org.bukkit.block.Sign data = (Sign) sign.getState();
data.setLine(1, "OFF");
data.update();
} else if ((sign = block.getRelative(BlockFace.WEST)).getType() == Material.WALL_SIGN) {
org.bukkit.block.Sign data = (Sign) sign.getState();
data.setLine(1, "OFF");
data.update();
} else if ((sign = block.getRelative(BlockFace.SOUTH)).getType() == Material.WALL_SIGN) {
org.bukkit.block.Sign data = (Sign) sign.getState();
data.setLine(1, "OFF");
data.update();
}
Если ваш код *** работает ***, и вы просто просите о более эффективном/более простом способе его реализации, тогда вы должны задать этот вопрос на http: // codereview.stackexchange.com/, а не stackoverflow. – Pshemo
Да, я уверен, что это работает. :) спасибо – Pocketkid2