Skip to content

Instantly share code, notes, and snippets.

View gravityfox's full-sized avatar
🦊
Sleepy Foxchee

Mike Liu gravityfox

🦊
Sleepy Foxchee
View GitHub Profile
@gravityfox
gravityfox / AdvCmdParse.java
Created January 1, 2016 09:53
One command parser to rule them all.
public ParseResult parse2() throws CommandException {
ParseResult parseResult = new ParseResult();
boolean inQuote = false;
// Regex Pattern for identifying arguments and flags. It respects quotation marks and escape characters.
Pattern pattern = Pattern.compile(regex);
// Check for unclosed quotes
{
String toStrip = arguments;
while (true) {
@gravityfox
gravityfox / FoxGuardMain.java
Created December 1, 2015 10:34
For Gabizou
public static ReadWriteLock getNewLock() {
if (FGConfigManager.getInstance().threadSafe()) {
return new ReentrantReadWriteLock();
} else {
return new ReadWriteLock() {
private final Lock lock = new Lock() {
@Override
public void lock() {
@gravityfox
gravityfox / SimpleHandler.java
Created December 1, 2015 10:26
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();