java - Minecraft plugin player name error -
i'm writing srm, , fine until server reset. when i'm writing sign , trying buy (region assigned sign) should send me message can't, , does, after server reset doesn't, , in both cases variables same... code:
package pl.maccraft.regs; import java.util.logging.logger; import net.milkbowl.vault.economy.economy; import org.bukkit.plugin.registeredserviceprovider; import org.bukkit.plugin.java.javaplugin; import org.bukkit.bukkit; import org.bukkit.chatcolor; import org.bukkit.material; 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.player.playerinteractevent; import com.sk89q.worldguard.bukkit.regioncontainer; import com.sk89q.worldguard.bukkit.worldguardplugin; import com.sk89q.worldguard.domains.defaultdomain; import com.sk89q.worldguard.protection.managers.regionmanager; import com.sk89q.worldguard.protection.regions.protectedregion; import org.bukkit.plugin.plugin; public final class egs extends javaplugin implements listener { private static final logger log = logger.getlogger("minecraft"); public static economy econ = null; @override public void onenable() { getserver().getpluginmanager().registerevents(this, this); getworldguard(); if (!setupeconomy() ) { log.severe(string.format("[%s] - disabled due no vault dependency found!", getdescription().getname())); getserver().getpluginmanager().disableplugin(this); return; } } private worldguardplugin getworldguard() { plugin plugin = getserver().getpluginmanager().getplugin("worldguard"); // worldguard may not loaded if (plugin == null || !(plugin instanceof worldguardplugin)) { return null; // maybe want throw exception instead } return (worldguardplugin) plugin; } private boolean setupeconomy() { if (getserver().getpluginmanager().getplugin("vault") == null) { return false; } registeredserviceprovider<economy> rsp = getserver().getservicesmanager().getregistration(economy.class); if (rsp == null) { return false; } econ = rsp.getprovider(); return econ != null; } @eventhandler public void playerinteract(playerinteractevent event){ player player = event.getplayer(); if(event.getaction() == org.bukkit.event.block.action.left_click_block){ block b = event.getclickedblock(); if (b.gettype() == (material.sign) || b.gettype() == (material.sign_post) || b.gettype() == (material.wall_sign)){ sign sign = (sign) b.getstate(); if (sign.getline(0).equals("[sell]")){ if (!sign.getline(1).isempty()){ regioncontainer container = getworldguard().getregioncontainer(); regionmanager regions = container.get(player.getworld()); if (regions != null) { protectedregion region = regions.getregion(sign.getline(1)); if (region != null) { defaultdomain owners = region.getowners(); if(owners.contains(player.getuniqueid())){ if (!sign.getline(2).isempty()){ bukkit.dispatchcommand(bukkit.getconsolesender(), "say stan:" + econ.getbalance(player)); event.setcancelled(true); player.sendmessage("to jest twój region"); sign.setline(0, chatcolor.dark_red + "[sprzedam]"); sign.setline(3, sign.getline(1)); sign.setline(1, player.getname()); sign.update(true); }else{ player.sendmessage("podaj cenę w trzeciej linii!"); } }else{ player.sendmessage("to nie jest twój region!"); }; } else { player.sendmessage("taki region nie istnieje!"); } } else { player.sendmessage("wystąpił błąd, który nie powinien się zdarzyć, powiadom o tym administrację!"); } }else{ player.sendmessage("podaj nazwę regionu w drugiej linii!"); } } } } if(event.getaction() == org.bukkit.event.block.action.right_click_block){ block b = event.getclickedblock(); if (b.gettype() == (material.sign) || b.gettype() == (material.sign_post) || b.gettype() == (material.wall_sign)){ sign sign = (sign) b.getstate(); if (sign.getline(0).equals(chatcolor.dark_red + "[sprzedam]")){ if (event.getplayer().getname() == sign.getline(1)){ player.sendmessage("nie możesz kupić własnej działki"); player.sendmessage(event.getplayer().getname() + " " + sign.getline(1)); }else{ player.sendmessage(event.getplayer().getname() + " " + sign.getline(1)); double si = double.valueof(sign.getline(2)); if(si <= econ.getbalance(player)){//to powinno byĆ wiĘksze lub rÓwne nie takie samo!!! regioncontainer container = getworldguard().getregioncontainer(); regionmanager regions = container.get(player.getworld()); if (regions != null) { protectedregion region = regions.getregion(sign.getline(3)); if (region != null) { bukkit.dispatchcommand(bukkit.getconsolesender(), "eco take " + player.getname() + " " + si); bukkit.dispatchcommand(bukkit.getconsolesender(), "eco give " + sign.getline(1) + " " + si); bukkit.dispatchcommand(bukkit.getconsolesender(), "rg removeowner " + sign.getline(3) + " " + sign.getline(1)); bukkit.dispatchcommand(bukkit.getconsolesender(), "rg addowner " + sign.getline(3) + " " + player.getname()); sign.setline(0, chatcolor.dark_red + "[sprzedane]"); player.sendmessage("kupiono działkę " + sign.getline(3) + " za " + si); sign.setline(1, event.getplayer().getname()); sign.setline(2, ""); sign.setline(3, ""); sign.update(true); } }else{ player.sendmessage("wystąpił błąd"); } }else{ player.sendmessage("nie masz wystarczająco dużo kasy!"); } } } } } } }
and console returns this:
[12:27:42] [server thread/info]: [0;35;1m[server[0;35;1m] stan:1000.0[m [12:28:17] [server thread/info]: console issued server command: /eco take 10anat10 1000.0 [12:28:17] [server thread/info]: [0;32;1m$1000 zostalo pobrane z [0;31;22m10anat10[m[0;32;1m konta. nowy stan konta: $0[m [12:28:17] [server thread/info]: console issued server command: /eco give 10anat10 1000.0 [12:28:17] [server thread/info]: [0;32;1m$1000 zostalo dodane konta [0;31;22m10anat10[m§. nowy stan konta: $1000.[m [12:28:17] [server thread/info]: [0;31;1mplease specify world -w world_name.[m [12:28:17] [server thread/info]: [0;31;1mplease specify world -w world_name.[m
i know don't specify world rg addowner , removeovner, isn't , there no more errors in logs... please me.
when change
if(event.getplayer().getname() == sign.getline(1)){
to
regioncontainer container = getworldguard().getregioncontainer(); regionmanager regions = container.get(player.getworld()); if(regions != null){ protectedregion region = regions.getregion(sign.getline(3)); defaultdomain owners = region.getowners(); if(owners.contains(player.getuniqueid())){
it acts intended.
Comments
Post a Comment