Skip to content

Instantly share code, notes, and snippets.

@gravityfox
Created December 1, 2015 10:26
Show Gist options
  • Save gravityfox/66b028fe2853a1fbe6d9 to your computer and use it in GitHub Desktop.
Save gravityfox/66b028fe2853a1fbe6d9 to your computer and use it in GitHub Desktop.
Just... what...
@Override
public Text getDetails(String arguments) {
TextBuilder builder = super.getDetails(arguments).builder();
builder.append(Texts.of("\n"));
builder.append(Texts.of(TextColors.GREEN,
TextActions.suggestCommand("/foxguard modify handler " + this.name + " group members add "),
TextActions.showText(Texts.of("Click to Add a Player(s) to Members")),
"Members: "));
try {
this.lock.readLock().lock();
for (User u : this.memberList) {
builder.append(Texts.of(TextColors.RESET,
TextActions.suggestCommand("/foxguard modify handler " + this.name + " group members remove " + u.getName()),
TextActions.showText(Texts.of("Click to Remove Player \"" + u.getName() + "\" from Members")),
u.getName())).append(Texts.of(" "));
}
builder.append(Texts.of("\n"));
builder.append(Texts.of(TextColors.GOLD,
TextActions.suggestCommand("/foxguard modify handler " + this.name + " set owners "),
TextActions.showText(Texts.of("Click to Set a Flag")),
"Owner permissions:\n"));
for (Flags f : this.ownerPermissions.keySet()) {
builder.append(
Texts.builder().append(Texts.of(" " + f.toString() + ": "))
.append(FGHelper.readableTristateText(ownerPermissions.get(f)))
.append(Texts.of("\n"))
.onClick(TextActions.suggestCommand("/foxguard modify handler " + this.name + " set owners " + f.flagName() + " "))
.onHover(TextActions.showText(Texts.of("Click to Change This Flag")))
.build()
);
}
builder.append(Texts.of(TextColors.GREEN,
TextActions.suggestCommand("/foxguard modify handler " + this.name + " set members "),
TextActions.showText(Texts.of("Click to Set a Flag")),
"Member permissions:\n"));
for (Flags f : this.memberPermissions.keySet()) {
builder.append(
Texts.builder().append(Texts.of(" " + f.toString() + ": "))
.append(FGHelper.readableTristateText(memberPermissions.get(f)))
.append(Texts.of("\n"))
.onClick(TextActions.suggestCommand("/foxguard modify handler " + this.name + " set members " + f.flagName() + " "))
.onHover(TextActions.showText(Texts.of("Click to Change This Flag")))
.build()
);
}
builder.append(Texts.of(TextColors.RED,
TextActions.suggestCommand("/foxguard modify handler " + this.name + " set default "),
TextActions.showText(Texts.of("Click to Set a Flag")),
"Default permissions:\n"));
for (Flags f : this.defaultPermissions.keySet()) {
builder.append(
Texts.builder().append(Texts.of(" " + f.toString() + ": "))
.append(FGHelper.readableTristateText(defaultPermissions.get(f)))
.append(Texts.of("\n"))
.onClick(TextActions.suggestCommand("/foxguard modify handler " + this.name + " set default " + f.flagName() + " "))
.onHover(TextActions.showText(Texts.of("Click to Change This Flag")))
.build()
);
}
builder.append(Texts.builder()
.append(Texts.of(TextColors.AQUA, "Passive setting: "))
.append(Texts.of(TextColors.RESET, this.passiveOption.toString()))
.onClick(TextActions.suggestCommand("/foxguard modify handler " + this.name + " passive "))
.onHover(TextActions.showText(Texts.of("Click to Change Passive Setting"))).build()
);
} finally {
this.lock.readLock().unlock();
}
return builder.build();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment