Skip to content

Commit

Permalink
1.5-R13 - Msg and Reply commands - A lot of Bug Fixes and New Features
Browse files Browse the repository at this point in the history
  • Loading branch information
CroaBeast committed Jan 22, 2022
1 parent ba70b46 commit 3485738
Show file tree
Hide file tree
Showing 19 changed files with 436 additions and 183 deletions.
26 changes: 24 additions & 2 deletions pom.xml
Expand Up @@ -6,7 +6,7 @@

<groupId>me.croabeast</groupId>
<artifactId>SIR_Plugin</artifactId>
<version>1.5-R4</version>
<version>1.5-R13</version>
<packaging>jar</packaging>

<name>SIR_Plugin</name> <!--Simple In-game Receptionist-->
Expand Down Expand Up @@ -43,6 +43,28 @@
</configuration>
</execution>
</executions>

<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/*.MF</exclude>
<exclude>META-INF/*.md</exclude>
</excludes>
</filter>
</filters>

<relocations>
<relocation>
<pattern>io.papermc.lib</pattern>
<shadedPattern>me.croabeast.paperlib</shadedPattern>
</relocation>
</relocations>
</configuration>
</plugin>

<plugin>
Expand Down Expand Up @@ -181,7 +203,7 @@
<dependency>
<groupId>com.github.LeonMangler</groupId>
<artifactId>SuperVanish</artifactId>
<version>6.2.6-2</version>
<version>6.2.6-4</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
21 changes: 15 additions & 6 deletions src/main/java/me/croabeast/sircore/Application.java
Expand Up @@ -9,10 +9,10 @@
import org.bukkit.event.*;
import org.bukkit.plugin.*;
import org.bukkit.plugin.java.*;
import org.bukkit.scheduler.*;
import org.jetbrains.annotations.*;

import java.util.*;
import java.util.stream.Stream;

public final class Application extends JavaPlugin {

Expand All @@ -27,6 +27,7 @@ public final class Application extends JavaPlugin {
private Amender amender;

private FilesUtils files;
private Executor executor;

public String PLUGIN_VERSION, MC_FORK;
public int MC_VERSION;
Expand All @@ -53,7 +54,7 @@ public void onEnable() {
amender = new Amender(this);

init.startMetrics(); // The bStats method for Metrics class
new Executor(this); // Register the main cmd for the plugin
executor = new Executor(this); // Register the main cmd for the plugin

pluginHeader();
recorder.rawRecord(
Expand All @@ -68,23 +69,28 @@ public void onEnable() {

reporter.startTask();
recorder.doRecord("&7The announcement task has been started.");

init.loadAdvances();
init.loadAdvances(true);

recorder.doRecord("",
"&7SIR " + PLUGIN_VERSION + " was&a loaded&7 in " +
(System.currentTimeMillis() - start) + " ms."
);
recorder.rawRecord("");

amender.initUpdater(null);
new BukkitRunnable() {
@Override
public void run() {
amender.initUpdater(null);
}
}.runTaskLater(this, 20);
}

@Override
public void onDisable() {
pluginHeader();

init.unloadAdvances();
utils.getLoggedPlayers().clear();
init.unloadAdvances(false);
reporter.cancelTask();

recorder.doRecord(
Expand Down Expand Up @@ -158,6 +164,9 @@ public Amender getAmender() {
public Reporter getReporter() {
return reporter;
}
public Executor getExecutor() {
return executor;
}

public Plugin getPlugin(String name) {
return Bukkit.getPluginManager().getPlugin(name);
Expand Down
56 changes: 33 additions & 23 deletions src/main/java/me/croabeast/sircore/Initializer.java
@@ -1,6 +1,6 @@
package me.croabeast.sircore;

import com.google.common.collect.Lists;
import com.google.common.collect.*;
import github.scarsz.discordsrv.*;
import github.scarsz.discordsrv.dependencies.jda.api.entities.*;
import me.croabeast.sircore.hooks.ReflectKeys;
Expand All @@ -21,14 +21,14 @@ public class Initializer {
public static Permission Perms;

public int LISTENERS = 0;
private boolean disabledAdvs = false;

public boolean HAS_PAPI, HAS_VAULT, DISCORD, HAS_LOGIN, HAS_VANISH,
authMe, userLogin, hasCMI, essentials, srVanish, prVanish;

protected List<String> LOGIN_HOOKS = new ArrayList<>(),
VANISH_HOOKS = new ArrayList<>();

private List<Advancement> advancements = new ArrayList<>();
protected HashMap<Advancement, ReflectKeys> keys = new HashMap<>();

public Initializer(Application main) {
Expand Down Expand Up @@ -128,11 +128,10 @@ public void setPluginHooks() {
);
else recorder.doRecord("" +
"&cInvalid SERVER_ID, change it ASAP",
"&7After that, use &b/sir reload"
"&7After that, use &b/sir reload &7command"
);
}

// Login hook
recorder.doRecord("", "&bChecking if a login plugin is enabled...");

if (LOGIN_HOOKS.size() == 1) {
Expand Down Expand Up @@ -169,9 +168,9 @@ public void setPluginHooks() {
public void registerListeners() {
recorder.doRecord("", "&bLoading all the listeners...");

new PlayerListener(main);
new JoinQuitPlayer(main);
new MOTDListener(main);
new FormatListener(main);
new ChatListener(main);
new Advancements(main);

if (HAS_LOGIN) new LoginListener(main);
Expand All @@ -181,29 +180,31 @@ public void registerListeners() {
}

@SuppressWarnings("deprecation")
public void loadAdvances() {
public void loadAdvances(boolean debug) {
if (main.MC_VERSION < 12) return;
if (!advancements.isEmpty()) advancements.clear();
if (!keys.isEmpty()) keys.clear();

long time = System.currentTimeMillis();
recorder.doRecord("", "&bLoading all the advancements...");

for (World world : main.getServer().getWorlds()) {
if (main.MC_VERSION == 12) {
world.setGameRuleValue("ANNOUNCE_ADVANCEMENTS", "false");
continue;
if (debug) recorder.doRecord("", "&bLoading all the advancements...");

if (main.getConfig().getBoolean("advances.enabled") && !disabledAdvs) {
disabledAdvs = true;
for (World world : main.getServer().getWorlds()) {
if (main.MC_VERSION == 12) {
world.setGameRuleValue("ANNOUNCE_ADVANCEMENTS", "false");
continue;
}
world.setGameRule(GameRule.ANNOUNCE_ADVANCEMENTS, false);
}
world.setGameRule(GameRule.ANNOUNCE_ADVANCEMENTS, false);
recorder.doRecord("&eAll worlds have default advancements disabled.");
}

List<Advancement> tasks = new ArrayList<>(), goals = new ArrayList<>(),
List<Advancement>
tasks = new ArrayList<>(), goals = new ArrayList<>(),
challenges = new ArrayList<>(), errors = new ArrayList<>(),
keys = new ArrayList<>();

advancements = Lists.newArrayList(main.getServer().advancementIterator());

for (Advancement adv : advancements) {
for (Advancement adv : getAdvancements()) {
this.keys.put(adv, new ReflectKeys(adv));

String key = main.getTextUtils().stringKey(adv.getKey().toString());
Expand Down Expand Up @@ -254,16 +255,20 @@ else if (type.matches("(?i)GOAL")) {
String error = errors.size() == 0 ? null : "&7Unknowns: &c" + errors.size() +
"&7. Check your advances.yml file!!!";

recorder.doRecord("" +
if (debug) recorder.doRecord("" +
"&7Tasks: &a" + tasks.size() + "&7 - Goals: &b" + goals.size() + "&7 - " +
"&7Challenges: &d" + challenges.size(), error, // I HATE EMPTY SPACES AAA
"&7Registered advancements in &e" + (System.currentTimeMillis() - time) + "&7 ms."
);
}

@SuppressWarnings("deprecation")
public void unloadAdvances() {
public void unloadAdvances(boolean load) {
if (main.MC_VERSION < 12) return;
if (main.getConfig().getBoolean("advances.enabled") && load) return;

if (!disabledAdvs) return;
disabledAdvs = false;

for (World world : main.getServer().getWorlds()) {
if (main.MC_VERSION == 12) {
Expand All @@ -272,6 +277,8 @@ public void unloadAdvances() {
}
world.setGameRule(GameRule.ANNOUNCE_ADVANCEMENTS, true);
}

recorder.doRecord("&eAll worlds have default advancements enabled.");
}

private void showPluginInfo(String name) {
Expand Down Expand Up @@ -301,7 +308,10 @@ public Guild discordServer() {
}

public List<Advancement> getAdvancements() {
return advancements;
return Lists.newArrayList(main.getServer().advancementIterator());
}

public HashMap<Advancement, ReflectKeys> getKeys() {
return keys;
}
public HashMap<Advancement, ReflectKeys> getKeys() { return keys; }
}
43 changes: 37 additions & 6 deletions src/main/java/me/croabeast/sircore/command/Completer.java
Expand Up @@ -17,9 +17,11 @@ public class Completer {
public Completer(Application main) {
this.main = main;

registerCmptr("announcer", announcerCompleter());
registerCmptr("sir", sirCompleter());
registerCmptr("print", printCompleter());
registerCmptr("announcer", announcerCmptr());
registerCmptr("sir", sirCmptr());
registerCmptr("print", printCmptr());
registerCmptr("msg", msgCmptr());
registerCmptr("reply", replyCmptr());
}

private void registerCmptr(String name, TabCompleter completer) {
Expand All @@ -40,7 +42,11 @@ private List<String> resultTab(String... args) {
return resultTab(Arrays.asList(args));
}

private TabCompleter announcerCompleter() {
private List<String> onlinePlayers() {
return main.everyPlayer().stream().map(Player::getName).collect(Collectors.toList());
}

private TabCompleter announcerCmptr() {
return (sender, command, alias, args) -> {
this.args = args;

Expand All @@ -56,15 +62,15 @@ private TabCompleter announcerCompleter() {
};
}

private TabCompleter sirCompleter() {
private TabCompleter sirCmptr() {
return (sender, command, alias, args) -> {
this.args = args;
if (args.length == 1) return resultTab("reload", "help", "support");
return new ArrayList<>();
};
}

private TabCompleter printCompleter() {
private TabCompleter printCmptr() {
return (sender, command, alias, args) -> {
this.args = args;

Expand All @@ -88,4 +94,29 @@ private TabCompleter printCompleter() {
return new ArrayList<>();
};
}

private TabCompleter msgCmptr() {
return (sender, command, alias, args) -> {
this.args = args;

if (args.length == 1)
return resultTab(onlinePlayers());
if (args.length == 2) return resultTab("<message>");

return new ArrayList<>();
};
}

private TabCompleter replyCmptr() {
return (sender, command, alias, args) -> {
this.args = args;
boolean notPlayer = main.getExecutor().getReceivers().isEmpty();

if (args.length == 1)
return notPlayer ? resultTab(onlinePlayers()) : resultTab("<message>");
if (args.length == 2 && notPlayer) return resultTab("<message>");

return new ArrayList<>();
};
}
}

0 comments on commit 3485738

Please sign in to comment.