Ini-Funktion hinzugefügt
This commit is contained in:
@ -31,7 +31,7 @@ public class dice extends ListenerAdapter {
|
|||||||
private language activLang;
|
private language activLang;
|
||||||
|
|
||||||
|
|
||||||
Map<String, String> channelList = new HashMap<String, String>();
|
private Map<String, String> channelList = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public dice() {
|
public dice() {
|
||||||
@ -139,8 +139,6 @@ public class dice extends ListenerAdapter {
|
|||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
System.out.println("problem: " + e.getMessage());
|
System.out.println("problem: " + e.getMessage());
|
||||||
} finally {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -151,8 +149,6 @@ public class dice extends ListenerAdapter {
|
|||||||
*/
|
*/
|
||||||
private void roll(MessageReceivedEvent event) {
|
private void roll(MessageReceivedEvent event) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
EmbedBuilder outputBox = new EmbedBuilder();
|
EmbedBuilder outputBox = new EmbedBuilder();
|
||||||
|
|
||||||
int[] verteilung = new int[6];
|
int[] verteilung = new int[6];
|
||||||
@ -224,19 +220,6 @@ public class dice extends ListenerAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if(MsgParts[1].trim().toLowerCase().replace(" ", "").matches("^([0-9]*\\+)?[0-9]*([dw][0-9]*)?(\\+[0-9]*)?")) { // format besteh aus (Zahlen)+(Zahlen)d(Zahlen) oder (Zahlen)d(Zahlen)+(Zahlen)
|
|
||||||
String[] diceInterpreter = MsgParts[1].trim().toLowerCase().replace(" ", "").split("\\+");
|
|
||||||
try {
|
|
||||||
diceart = Integer.parseInt(diceInterpreter[1]);
|
|
||||||
numberOdDice = Integer.parseInt(diceInterpreter[0]);
|
|
||||||
}
|
|
||||||
catch (NumberFormatException e) {
|
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim().toLowerCase()).queue();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(numberOfDice <= 0) {
|
if(numberOfDice <= 0) {
|
||||||
@ -255,7 +238,7 @@ public class dice extends ListenerAdapter {
|
|||||||
}
|
}
|
||||||
verteilung[dice1]++;
|
verteilung[dice1]++;
|
||||||
if((dice1 >= 4) || (dice1 == 0))
|
if((dice1 >= 4) || (dice1 == 0))
|
||||||
result.append("**" + (dice1+1) + "**");
|
result.append("**").append(dice1+1).append("**");
|
||||||
else
|
else
|
||||||
result.append(dice1+1);
|
result.append(dice1+1);
|
||||||
result.append(" ");
|
result.append(" ");
|
||||||
@ -265,16 +248,16 @@ public class dice extends ListenerAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(hits == 0 && glitches == false) { // kein Erfolg, kein Patzer
|
if(hits == 0 && !glitches) { // kein Erfolg, kein Patzer
|
||||||
outputBox.setColor(Color.gray);
|
outputBox.setColor(Color.gray);
|
||||||
}
|
}
|
||||||
else if(hits == 0 && glitches == true) { // kriischer Patzer
|
else if(hits == 0 && glitches) { // kritischer Patzer
|
||||||
outputBox.setColor(Color.red);
|
outputBox.setColor(Color.red);
|
||||||
}
|
}
|
||||||
else if(glitches == true) { // Patzer
|
else if(glitches) { // Patzer
|
||||||
outputBox.setColor(Color.yellow);
|
outputBox.setColor(Color.yellow);
|
||||||
}
|
}
|
||||||
else { // Efolg
|
else { // Erfolg
|
||||||
outputBox.setColor(Color.green);
|
outputBox.setColor(Color.green);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -304,8 +287,6 @@ public class dice extends ListenerAdapter {
|
|||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
System.out.println("problem: " + e.getMessage());
|
System.out.println("problem: " + e.getMessage());
|
||||||
} finally {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -313,15 +294,16 @@ public class dice extends ListenerAdapter {
|
|||||||
|
|
||||||
EmbedBuilder outputBox = new EmbedBuilder();
|
EmbedBuilder outputBox = new EmbedBuilder();
|
||||||
|
|
||||||
int[] verteilung = new int[6];
|
|
||||||
int dice1;
|
int dice1;
|
||||||
int numberOfDice = 1;
|
int numberOfDice = 1;
|
||||||
int diceart = 6;
|
int diceart = 6;
|
||||||
|
int iniBase = 0;
|
||||||
|
int ini = 0;
|
||||||
StringBuilder result = new StringBuilder("");
|
StringBuilder result = new StringBuilder("");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String[] MsgParts = event.getMessage().getContentRaw().split(" ", 2);
|
String[] MsgParts = event.getMessage().getContentRaw().split(" ", 2);
|
||||||
if(MsgParts.length < 2) {
|
if(MsgParts.length < 2) { // Leerer Befehl
|
||||||
String message = activLang.emptyCommand;
|
String message = activLang.emptyCommand;
|
||||||
message = message.replace("%command%", this.prefixIni);
|
message = message.replace("%command%", this.prefixIni);
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
||||||
@ -344,37 +326,38 @@ public class dice extends ListenerAdapter {
|
|||||||
|
|
||||||
|
|
||||||
String[] iniParts = MsgParts[1].trim().toLowerCase().split("\\+", 2);
|
String[] iniParts = MsgParts[1].trim().toLowerCase().split("\\+", 2);
|
||||||
if(iniParts.length == 1) {
|
messageInterpreter mI = new messageInterpreter(event, activLang);
|
||||||
|
if(iniParts.length == 1) { // Nachricht hat kein + Zeichen
|
||||||
|
mI.inputInterpreter(iniParts[0]);
|
||||||
|
if(mI.isNum()) {
|
||||||
|
numberOfDice = mI.getIntResult();
|
||||||
|
}
|
||||||
|
else if(mI.isDice()) {
|
||||||
|
diceart = mI.getDiceart();
|
||||||
|
numberOfDice = mI.getNumberOfDice();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
mI.inputInterpreter(iniParts[0]); // Vor dem +
|
||||||
|
if(mI.isNum()) {
|
||||||
|
iniBase = mI.getIntResult();
|
||||||
|
}
|
||||||
|
else if(mI.isDice()) {
|
||||||
|
iniBase = mI.getNumberOfDice();
|
||||||
|
}
|
||||||
|
|
||||||
|
mI.inputInterpreter(iniParts[1]); // Nach dem +
|
||||||
|
if(mI.isNum()) {
|
||||||
|
numberOfDice = mI.getIntResult();
|
||||||
|
}
|
||||||
|
else if(mI.isDice()) {
|
||||||
|
diceart = mI.getDiceart();
|
||||||
|
numberOfDice = mI.getNumberOfDice();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(true) {
|
|
||||||
this.inputInterpreter(event, iniParts[0]);
|
|
||||||
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 {
|
|
||||||
diceart = Integer.parseInt(diceInterpreter[1]);
|
|
||||||
numberOfDice = Integer.parseInt(diceInterpreter[0]);
|
|
||||||
verteilung = new int[diceart];
|
|
||||||
}
|
|
||||||
catch (NumberFormatException e) {
|
|
||||||
String message = activLang.error;
|
|
||||||
message = message.replace("%command%", MsgParts[1].trim().toLowerCase());
|
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
String message = activLang.error;
|
|
||||||
message = message.replace("%command%", MsgParts[1].trim());
|
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
try {
|
try {
|
||||||
@ -387,20 +370,6 @@ public class dice extends ListenerAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if(MsgParts[1].trim().toLowerCase().replace(" ", "").matches("^([0-9]*\\+)?[0-9]*([dw][0-9]*)?(\\+[0-9]*)?")) { // format besteh aus (Zahlen)+(Zahlen)d(Zahlen) oder (Zahlen)d(Zahlen)+(Zahlen)
|
|
||||||
String[] diceInterpreter = MsgParts[1].trim().toLowerCase().replace(" ", "").split("\\+");
|
|
||||||
try {
|
|
||||||
diceart = Integer.parseInt(diceInterpreter[1]);
|
|
||||||
numberOdDice = Integer.parseInt(diceInterpreter[0]);
|
|
||||||
}
|
|
||||||
catch (NumberFormatException e) {
|
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + " Irgent was dummes ist passiert beim Verstehen von " + MsgParts[1].trim().toLowerCase()).queue();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(numberOfDice <= 0) {
|
if(numberOfDice <= 0) {
|
||||||
String message = activLang.noNegativ;
|
String message = activLang.noNegativ;
|
||||||
@ -409,24 +378,23 @@ public class dice extends ListenerAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ini += iniBase;
|
||||||
for(int i = 0; i < numberOfDice; i++) {
|
for(int i = 0; i < numberOfDice; i++) {
|
||||||
dice1 = new Random().nextInt(diceart);
|
dice1 = new Random().nextInt(diceart);
|
||||||
|
|
||||||
verteilung[dice1]++;
|
|
||||||
result.append(dice1+1).append(" ");
|
result.append(dice1+1).append(" ");
|
||||||
|
ini += (dice1+1);
|
||||||
}
|
}
|
||||||
outputBox.setColor(new Color(104, 34, 139));
|
outputBox.setColor(new Color(104, 34, 139));
|
||||||
|
|
||||||
|
|
||||||
String addition = "";
|
String message = "%iniBase%+%numberOfDice%w%diceart%\tIni: %ini%"; //activLang.resultText;
|
||||||
|
|
||||||
String message = activLang.resultText;
|
|
||||||
//%numberOfDice%%dice%%diceart% %EdgeDice%:\tErfolge: %hits%\tMisserfolge: %oneHits%";
|
//%numberOfDice%%dice%%diceart% %EdgeDice%:\tErfolge: %hits%\tMisserfolge: %oneHits%";
|
||||||
message = message.replace("%numberOfDice%", String.valueOf(numberOfDice)).replace("%diceart%", String.valueOf(diceart)).replace("%EdgeDice%", addition);
|
message = message.replace("%numberOfDice%", String.valueOf(numberOfDice)).replace("%diceart%", String.valueOf(diceart))
|
||||||
|
.replace("%iniBase%", String.valueOf(iniBase)).replace("%ini%", String.valueOf(ini));
|
||||||
outputBox.setTitle(event.getMember().getEffectiveName() + " " + message);
|
outputBox.setTitle(event.getMember().getEffectiveName() + " " + message);
|
||||||
|
|
||||||
|
|
||||||
outputBox.setDescription("(" + result.toString().trim() + ")");
|
outputBox.setDescription(String.valueOf(iniBase) + " + (" + result.toString().trim().replace(" ", "+") + ")");
|
||||||
|
|
||||||
event.getChannel().sendMessage(outputBox.build()).queue();
|
event.getChannel().sendMessage(outputBox.build()).queue();
|
||||||
|
|
||||||
@ -434,10 +402,11 @@ public class dice extends ListenerAdapter {
|
|||||||
catch (NumberFormatException e) {
|
catch (NumberFormatException e) {
|
||||||
event.getChannel().sendMessage("Nope").queue();
|
event.getChannel().sendMessage("Nope").queue();
|
||||||
}
|
}
|
||||||
|
catch (IllegalArgumentException e) {
|
||||||
|
event.getChannel().sendMessage(e.getMessage()).queue();
|
||||||
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
System.out.println("problem: " + e.getMessage());
|
System.out.println("problem: " + e.getMessage());
|
||||||
} finally {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -460,28 +429,5 @@ public class dice extends ListenerAdapter {
|
|||||||
event.getChannel().sendMessage(quotes[dice%6]).queue();
|
event.getChannel().sendMessage(quotes[dice%6]).queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void inputInterpreter(MessageReceivedEvent event, String Input) {
|
|
||||||
Scanner sc = new Scanner(Input.trim());
|
|
||||||
Integer diceart = 6;
|
|
||||||
Integer numberOfDice = 1;
|
|
||||||
|
|
||||||
if(sc.hasNextInt()) { // ist eine Zahl
|
|
||||||
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
if (Input.trim().toLowerCase().replace(" ", "").matches("([0-9]*)[dw]([0-9].*)")) { // format besteh aus (Zahlen)d(Zahlen) oder (Zahlen)w(Zahlen)
|
|
||||||
String[] diceInterpreter = Input.trim().toLowerCase().replace(" ", "").split("[wd]");
|
|
||||||
try {
|
|
||||||
diceart = Integer.parseInt(diceInterpreter[1]);
|
|
||||||
numberOfDice = Integer.parseInt(diceInterpreter[0]);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
String message = activLang.error;
|
|
||||||
message = message.replace("%command%", Input.trim().toLowerCase());
|
|
||||||
event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
90
src/main/java/Shadowrun/messageInterpreter.java
Normal file
90
src/main/java/Shadowrun/messageInterpreter.java
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package Shadowrun;
|
||||||
|
|
||||||
|
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class messageInterpreter {
|
||||||
|
|
||||||
|
private Integer diceart = 6;
|
||||||
|
private Integer numberOfDice = 1;
|
||||||
|
private Integer typ = 0;
|
||||||
|
private Integer intResult = 0;
|
||||||
|
|
||||||
|
private language activLang;
|
||||||
|
private MessageReceivedEvent event;
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getDiceart() {
|
||||||
|
return diceart;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getNumberOfDice() {
|
||||||
|
return numberOfDice;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIntResult() {
|
||||||
|
return intResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isNum() {
|
||||||
|
if(typ == 1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDice() {
|
||||||
|
if(typ == 2) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param event JDA Event
|
||||||
|
* @param activLang Aktive Sprache
|
||||||
|
*/
|
||||||
|
public messageInterpreter(MessageReceivedEvent event, language activLang) {
|
||||||
|
this.event = event;
|
||||||
|
this.activLang = activLang;
|
||||||
|
}
|
||||||
|
private void reset() {
|
||||||
|
diceart = 6;
|
||||||
|
numberOfDice = 1;
|
||||||
|
typ = 0;
|
||||||
|
intResult = 0;
|
||||||
|
}
|
||||||
|
public void inputInterpreter(String Input) {
|
||||||
|
reset();
|
||||||
|
Scanner sc = new Scanner(Input.trim());
|
||||||
|
|
||||||
|
if(sc.hasNextInt()) { // ist eine Zahl
|
||||||
|
typ = 1;
|
||||||
|
intResult = Integer.parseInt(Input.trim());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (Input.trim().toLowerCase().replace(" ", "").matches("([0-9]*)[dw]([0-9].*)")) { // format besteh aus (Zahlen)d(Zahlen) oder (Zahlen)w(Zahlen)
|
||||||
|
String[] diceInterpreter = Input.trim().toLowerCase().replace(" ", "").split("[wd]");
|
||||||
|
try {
|
||||||
|
diceart = Integer.parseInt(diceInterpreter[1]);
|
||||||
|
numberOfDice = Integer.parseInt(diceInterpreter[0]);
|
||||||
|
typ = 2;
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
String message = activLang.error;
|
||||||
|
message = message.replace("%command%", Input.trim().toLowerCase());
|
||||||
|
//event.getChannel().sendMessage(event.getMember().getAsMention() + message).queue();
|
||||||
|
typ = -1;
|
||||||
|
throw new IllegalArgumentException( message );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
String message = activLang.error;
|
||||||
|
message = message.replace("%command%", Input.trim().toLowerCase());
|
||||||
|
typ = -1;
|
||||||
|
throw new IllegalArgumentException( message );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user