geforkt von SteamWar/BungeeCore
Add PollResult Command
Dieser Commit ist enthalten in:
Ursprung
8c3df0e1dd
Commit
8682bb9b66
@ -119,6 +119,7 @@ public class BungeeCore extends Plugin {
|
||||
new RankCommand();
|
||||
new IgnoreCommand();
|
||||
new UnIgnoreCommand();
|
||||
new PollresultCommand();
|
||||
|
||||
if(!EVENT_MODE){
|
||||
new WebregisterCommand();
|
||||
|
50
src/de/steamwar/bungeecore/commands/PollresultCommand.java
Normale Datei
50
src/de/steamwar/bungeecore/commands/PollresultCommand.java
Normale Datei
@ -0,0 +1,50 @@
|
||||
/*
|
||||
This file is a part of the SteamWar software.
|
||||
|
||||
Copyright (C) 2020 SteamWar.de-Serverteam
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package de.steamwar.bungeecore.commands;
|
||||
|
||||
import de.steamwar.bungeecore.Message;
|
||||
import de.steamwar.bungeecore.listeners.PollSystem;
|
||||
import de.steamwar.bungeecore.sql.PollAnswer;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class PollresultCommand extends BasicCommand {
|
||||
|
||||
public PollresultCommand() {
|
||||
super("pollresult", "bungeecore.pollresults");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(CommandSender sender, String[] strings) {
|
||||
if(!(sender instanceof ProxiedPlayer))
|
||||
return;
|
||||
ProxiedPlayer player = (ProxiedPlayer) sender;
|
||||
|
||||
Map<String, Integer> voted = PollAnswer.getCurrentResults();
|
||||
Message.send("POLLRESULT_HEADER", player, PollAnswer.getAllAnswered(), PollSystem.getQuestion());
|
||||
int i = 1;
|
||||
for (Map.Entry<String, Integer> e: voted.entrySet()) {
|
||||
Message.send("POLLRESULT_LIST", sender, i, e.getKey(), e.getValue());
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
@ -78,4 +78,8 @@ public class PollSystem extends BasicListener {
|
||||
public static int answers(){
|
||||
return answers.size();
|
||||
}
|
||||
|
||||
public static String getAnswer(int i) {
|
||||
return answers.get(i);
|
||||
}
|
||||
}
|
||||
|
@ -24,6 +24,8 @@ import de.steamwar.bungeecore.listeners.PollSystem;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class PollAnswer {
|
||||
|
||||
@ -53,6 +55,32 @@ public class PollAnswer {
|
||||
}
|
||||
}
|
||||
|
||||
public static Map<String, Integer> getCurrentResults() {
|
||||
ResultSet set = SQL.select("SELECT Count(UserID) AS Times, Answer FROM PollAnswer WHERE Question = ? GROUP BY Answer ORDER BY `Times` ASC", PollSystem.getQuestion());
|
||||
try {
|
||||
Map<String, Integer> retMap = new HashMap<>();
|
||||
while (set.next()) {
|
||||
retMap.put(PollSystem.getAnswer(set.getInt("Answer")), set.getInt("Times"));
|
||||
}
|
||||
return retMap;
|
||||
}catch (SQLException e) {
|
||||
BungeeCore.log("Unable to get PollAnswer", e);
|
||||
throw new SecurityException();
|
||||
}
|
||||
}
|
||||
|
||||
public static Integer getAllAnswered() {
|
||||
ResultSet set = SQL.select("SELECT Count(UserID) AS Times FROM PollAnswer");
|
||||
try {
|
||||
if(!set.next())
|
||||
throw new SecurityException("Could not get PollAnswers");
|
||||
return set.getInt("Times");
|
||||
}catch (SQLException e) {
|
||||
BungeeCore.log("Unable to get PollAnswer", e);
|
||||
throw new SecurityException();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasAnswered(){
|
||||
return answer != 0;
|
||||
}
|
||||
|
@ -53,3 +53,7 @@ HELP_BAU_TESTARENA=§8/§ebau testarena §8- §7Starte eine Testarena
|
||||
HELP_BAU_TESTARENA_HOVER=§eTestarena starten
|
||||
HELP_BAU_BAU=§8/§ehelp bau §8- §7Hilfe zu nützlichen Werkzeugen
|
||||
HELP_BAU_BAU_HOVER=§eNützliche Zusatzfunktionen
|
||||
|
||||
#PollresultCommand
|
||||
POLLRESULT_HEADER=§e§lEs haben {0} abgestimmt auf die Frage: §f{1}
|
||||
POLLRESULT_LIST=§e{0}. §7{1} mit {2} stimmen
|
In neuem Issue referenzieren
Einen Benutzer sperren