mirror of
https://github.com/DRE2N/DungeonsXL.git
synced 2024-11-24 19:45:43 +01:00
Fix CommandSign
This commit is contained in:
parent
930045c263
commit
30096fe166
@ -12,6 +12,7 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
public class CommandSign extends DSign {
|
public class CommandSign extends DSign {
|
||||||
|
|
||||||
@ -55,18 +56,17 @@ public class CommandSign extends DSign {
|
|||||||
String[] attributes = lines[2].split(",");
|
String[] attributes = lines[2].split(",");
|
||||||
|
|
||||||
command = lines[1];
|
command = lines[1];
|
||||||
executor = attributes[0];
|
delay = IntegerUtil.parseInt(attributes[0]);
|
||||||
delay = IntegerUtil.parseInt(attributes[1]);
|
executor = attributes[1];
|
||||||
|
|
||||||
cCommand = CommandsXL.getPlugin().getCCommands().getCCommand(command);
|
cCommand = CommandsXL.getPlugin().getCCommands().getCCommand(command);
|
||||||
|
|
||||||
if (getTriggers().isEmpty()) {
|
if ( !getTriggers().isEmpty()) {
|
||||||
getSign().getBlock().setType(Material.AIR);
|
getSign().getBlock().setType(Material.AIR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
InteractTrigger trigger = InteractTrigger.getOrCreate(0, getSign().getBlock(), getGameWorld());
|
InteractTrigger trigger = InteractTrigger.getOrCreate(0, getSign().getBlock(), getGameWorld());
|
||||||
|
|
||||||
if (trigger != null) {
|
if (trigger != null) {
|
||||||
trigger.addListener(this);
|
trigger.addListener(this);
|
||||||
getTriggers().add(trigger);
|
getTriggers().add(trigger);
|
||||||
@ -82,15 +82,28 @@ public class CommandSign extends DSign {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPlayerTrigger(Player player) {
|
public boolean onPlayerTrigger(final Player player) {
|
||||||
if (executor.equalsIgnoreCase("Console")) {
|
if (executor.equalsIgnoreCase("Console")) {
|
||||||
new CCommandExecutorTask(player, cCommand, Bukkit.getConsoleSender(), true).runTaskLater(plugin, delay);
|
new CCommandExecutorTask(player, cCommand, Bukkit.getConsoleSender(), true).runTaskLater(plugin, delay * 20);
|
||||||
|
|
||||||
} else if (executor.equalsIgnoreCase("OP")) {
|
} else if (executor.equalsIgnoreCase("OP")) {
|
||||||
new CCommandExecutorTask(player, cCommand, player, true).runTaskLater(plugin, delay);
|
boolean isOp = player.isOp();
|
||||||
|
|
||||||
|
player.setOp(true);
|
||||||
|
|
||||||
|
new CCommandExecutorTask(player, cCommand, player, true).runTaskLater(plugin, delay * 20);
|
||||||
|
|
||||||
|
if ( !isOp) {
|
||||||
|
new BukkitRunnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
player.setOp(false);
|
||||||
|
}
|
||||||
|
}.runTaskLater(plugin, delay * 20 + 1);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
new CCommandExecutorTask(player, cCommand, player, false).runTaskLater(plugin, delay);
|
new CCommandExecutorTask(player, cCommand, player, false).runTaskLater(plugin, delay * 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user