minecraft - I need to know how to test if a value is not equal to multiple strings java -
how do this? want test if sign line 2 (1) equal "closed" or "open" , if not want please specify if open or closed says if type open or closed || not work...
package me.mcmatt.shops; import org.bukkit.chatcolor; import org.bukkit.material; import org.bukkit.sound; import org.bukkit.block.block; import org.bukkit.block.sign; import org.bukkit.entity.player; import org.bukkit.event.eventhandler; import org.bukkit.event.listener; import org.bukkit.event.block.action; import org.bukkit.event.block.signchangeevent; import org.bukkit.event.player.playerinteractevent; public class signs implements listener { @eventhandler public void onsignchange(signchangeevent e) { if (e.getline(0).equalsignorecase("[shop]")) { block attached = e.getblock().getrelative(0, -1, 0); string name = e.getplayer().getdisplayname(); if (!(attached.gettype() == material.chest)) e.getplayer().sendmessage(chatcolor.red + "please place shop on chest!"); else { if (!e.getplayer().haspermission("shops.create")) e.getplayer().sendmessage(chatcolor.red + "you don't have permission create shop! (shops.create)"); else { if (!e.getline(1).equalsignorecase("open") || (!e.getline(1).equalsignorecase("closed"))) { e.getplayer().sendmessage(chatcolor.red + "you must specify if shop open or closed on second line!"); } else { sign o = (sign) e.getblock().getstate(); string p = o.getline(1); e.setline(0, "§9[shop]"); e.setline(1, "§4" + name + "'s"); e.setline(2, "§4shop"); e.setline(3, p); e.getplayer().sendmessage(chatcolor.green + "shop created!"); e.getplayer().playsound(e.getplayer().getlocation(), sound.level_up, 10, 10); } } } } } @eventhandler public void onplayerinteract(playerinteractevent e) { if (e.getaction().equals(action.right_click_block)) { player p = e.getplayer(); block b = e.getclickedblock(); material m = b.gettype(); if (!(m == material.sign_post)) { return; } else { sign sign = (sign) e.getclickedblock().getstate(); if ((sign.getline(0).equalsignorecase("§9[shop]"))) { p.sendmessage("i right clicked sign!"); } } } } }
you can create list of strings want compare with, , use list.contains
method:
if (!arrays.aslist("open", "closed").contains(e.getline(1).tolowercase()) {...
Comments
Post a Comment