diff --git a/build.gradle b/build.gradle index 71c1d44..62ad6d0 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } -version '0.2' +version '0.4' def jdaVersion = '3.8.3_460' diff --git a/shadowrun.cfg b/shadowrun.cfg new file mode 100644 index 0000000..f4ea671 --- /dev/null +++ b/shadowrun.cfg @@ -0,0 +1,16 @@ +#Sun Feb 24 19:48:19 CET 2019 +de.error=\ Irgend was dummes ist passiert beim Verstehen von %command% +de.resultText=\ %numberOfDice%w%diceart% %EdgeDice%\:\tErfolge\: %hits%\tMisserfolge\: %oneHits% +de.dice=w +de.error2=\ Irgendwas dummes ist passiert beim Verstehen von %command% +de.noNegativ=\ es darf kein Negativen Wurf geben +de.language= Ich schreibe nun Deutsch +de.emptyCommand=\ der %command% befehl ben\u00F6tigt einen Wert + +en.error=\ I don't understanding %command% +en.resultText=\ %numberOfDice%d%diceart% %EdgeDice%\:\tHit\: %hits%\tOnes\: %oneHits% +en.dice=d +en.error2=\ I don't understanding %command% +en.noNegativ=\ there must not be a negative throw +en.language= I write now English, maybe +en.emptyCommand=\ The %command% command need a Value diff --git a/src/main/java/Serenity/balance.java b/src/main/java/Serenity/balance.java index e050cee..ee2b194 100755 --- a/src/main/java/Serenity/balance.java +++ b/src/main/java/Serenity/balance.java @@ -18,12 +18,19 @@ public class balance extends ListenerAdapter { private String prefixPromote; private String prefixDegradation; private String prefixDetail; + private String prefixCow; + private String prefixCow2; public balance() { this.prefixPromote = "/konto"; this.prefixDegradation = "/pay "; this.prefixDetail = "/detail"; + + this.prefixCow = "/cow"; + this.prefixCow2 = "/Cattle"; + + } @Override @@ -31,6 +38,9 @@ public class balance extends ListenerAdapter { if (event.getMessage().getContentRaw().startsWith("!ende")) { // nur zum Debugen #todo muss wieder raus event.getJDA().shutdown(); } + if (event.getMessage().getContentRaw().startsWith(this.prefixCow) || event.getMessage().getContentRaw().startsWith(this.prefixCow2)) { // nur zum Debugen #todo muss wieder raus + event.getChannel().sendMessage("NO FUCKING COWS AND COW-LIKE ANIMALS ON THE SHIP!").queue(); + } if ((!event.getMessage().getContentRaw().startsWith(this.prefixPromote) && !event.getMessage().getContentRaw().startsWith(this.prefixDegradation) && !event.getMessage().getContentRaw().startsWith(this.prefixDetail)) || event.getChannelType() != ChannelType.TEXT) { diff --git a/src/main/java/Shadowrun/dice.java b/src/main/java/Shadowrun/dice.java index 3aa0e18..4d574f4 100755 --- a/src/main/java/Shadowrun/dice.java +++ b/src/main/java/Shadowrun/dice.java @@ -25,6 +25,9 @@ public class dice extends ListenerAdapter { private language langDe = new language("de"); private language langEn = new language("en"); + private language activLang; + + Map channelList = new HashMap(); @@ -42,6 +45,20 @@ public class dice extends ListenerAdapter { if(!channelList.containsKey(event.getChannel().getId())) { channelList.put(event.getChannel().getId(), "de"); + activLang = langDe; + } + else { + switch (channelList.get(event.getChannel().getId())) { + case "de": + activLang = langDe; + break; + case "en": + activLang = langEn; + break; + default: + activLang = langDe; + + } } User author = event.getAuthor(); if (!author.isBot()) { @@ -124,6 +141,8 @@ public class dice extends ListenerAdapter { */ private void roll(MessageReceivedEvent event) { + + EmbedBuilder outputBox = new EmbedBuilder(); int[] verteilung = new int[6]; @@ -143,11 +162,26 @@ public class dice extends ListenerAdapter { } String[] MsgParts = event.getMessage().getContentRaw().split(" ", 2); if(MsgParts.length < 2) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " der " + this.prefixSr + " befehl benötigt einen Wert").queue(); + String message = activLang.emptyCommand; + message = message.replace("%command%", this.prefixSr); + event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue(); return; } if(MsgParts[1].trim().matches(".*[^0-9].*")) { // es wurden andere zeichen als Zahlen gefunden + if(MsgParts[1].trim().toLowerCase().equals("de")) { + activLang = langDe; + channelList.put(event.getChannel().getId(), "de"); + event.getChannel().sendMessage(event.getMember().getAsMention() + activLang.language).queue(); + return; + } + else if(MsgParts[1].trim().toLowerCase().equals("en")) { + activLang = langEn; + channelList.put(event.getChannel().getId(), "en"); + event.getChannel().sendMessage(event.getMember().getAsMention() + activLang.language).queue(); + return; + } + if(MsgParts[1].trim().toLowerCase().replace(" ", "").matches("([0-9]*)[dw]([0-9].*)")) { // format besteh aus (Zahlen)d(Zahlen) oder (Zahlen)w(Zahlen) String[] diceInterpreter = MsgParts[1].trim().toLowerCase().replace(" ", "").split("[wd]"); try { @@ -156,12 +190,16 @@ public class dice extends ListenerAdapter { verteilung = new int[diceart]; } catch (NumberFormatException e) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim().toLowerCase()).queue(); + String message = activLang.error; + message = message.replace("%command%", MsgParts[1].trim().toLowerCase()); + event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue(); return; } } else { - event.getChannel().sendMessage(event.getMember().getAsMention() + " ich verstehe nicht was du von mir willst mit " + MsgParts[1].trim()).queue(); + String message = activLang.error; + message = message.replace("%command%", MsgParts[1].trim()); + event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue(); return; } } @@ -170,7 +208,9 @@ public class dice extends ListenerAdapter { numberOfDice = Integer.parseInt(MsgParts[1].trim().replace(" ", "")); } catch (NumberFormatException e) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim()).queue(); + String message = activLang.error; + message = message.replace("%command%", MsgParts[1].trim()); + event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue(); return; } } @@ -190,7 +230,8 @@ public class dice extends ListenerAdapter { if(numberOfDice <= 0) { - event.getChannel().sendMessage(event.getMember().getAsMention() + " es darf kein Negativen Wurf geben").queue(); + String message = activLang.noNegativ; + event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue(); return; } @@ -227,11 +268,15 @@ public class dice extends ListenerAdapter { outputBox.setColor(Color.green); } - String zusatz = ""; + String addition = ""; if(bonusEdegeDice > 0) { - zusatz = " + " + bonusEdegeDice + "d" + diceart; + addition = " + " + bonusEdegeDice + activLang.dice + diceart; } - outputBox.setTitle(event.getMember().getEffectiveName() + " " + numberOfDice + "d" + diceart + zusatz+ ":\tErfolge: " + String.valueOf(hits)+ "\tMisserfolge: " + String.valueOf(verteilung[0])); + + String message = activLang.resultText; + //%numberOfDice%%dice%%diceart% %EdgeDice%:\tErfolge: %hits%\tMisserfolge: %oneHits%"; + message = message.replace("%numberOfDice%", String.valueOf(numberOfDice)).replace("%diceart%", String.valueOf(diceart)).replace("%EdgeDice%", addition).replace("%hits%", String.valueOf(hits)).replace("%oneHits%", String.valueOf(verteilung[0])); + outputBox.setTitle(event.getMember().getEffectiveName() + " " + message); outputBox.setDescription("(" + result.toString().trim() + ")"); diff --git a/src/main/java/Shadowrun/language.java b/src/main/java/Shadowrun/language.java index 5d4d26c..dd1a584 100755 --- a/src/main/java/Shadowrun/language.java +++ b/src/main/java/Shadowrun/language.java @@ -12,7 +12,7 @@ public class language { public String error2 = " Irgend was dummes ist passiert beim Verstehen von %command%"; public String noNegativ = " es darf kein Negativen Wurf geben"; public String dice = "w"; - public String resultText = " %numberOfDice%%dice%%diceart% %EdgeDice%:\tErfolge: %hits%\tMisserfolge: %oneHits%"; + public String resultText = " %numberOfDice%w%diceart% %EdgeDice%:\tErfolge: %hits%\tMisserfolge: %oneHits%"; public language() { this.readConfig(); @@ -34,10 +34,10 @@ public class language { OutputStream output = null; Properties config = new Properties(); try { - File f = new File("config.cfg"); + File f = new File("shadowrun.cfg"); if (f.isFile() && f.canRead()) { - input = new FileInputStream("shadowrun.lang"); + input = new FileInputStream("shadowrun.cfg"); config.load(input); if(config.containsKey(lang + ".language")) this.language = config.getProperty(lang + ".language"); @@ -57,7 +57,7 @@ public class language { } else { - output = new FileOutputStream("config.cfg"); + output = new FileOutputStream("shadowrun.cfg"); config.setProperty(lang + ".language", this.language); config.setProperty(lang + ".emptyCommand", this.emptyCommand); config.setProperty(lang + ".error", this.error);