You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

kingoflo

User / Kunde

  • "kingoflo" started this thread

Posts: 2

  • Send private message

1

Wednesday, November 14th 2018, 3:45pm

toLowerCase problem

Hallo.
Und zwar habe ich ein Problem mit meinem WortFilter.
Ich wollte einen WortFilter programmieren, was an sich auch funktioniert, aber der toLowerCase funktioniert nicht.
Heisst, wenn ich wörter zB. in Caps schreibe greift das Plugin nicht ein, nur wenn ich es genauso eintrage, wie es in der ArrayList steht.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package de.cratox.zyyrooo;

import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;

public class WortFilter
  implements Listener
{
  @EventHandler
  public void on(AsyncPlayerChatEvent e)
  {
    Player p = e.getPlayer();
    List<String> blocked = new ArrayList<String>();
    blocked.add("Schwanz");
    for (String block : blocked) {
      if (e.getMessage().contains(block))
      {
        e.getMessage().toLowerCase();
        e.setCancelled(true);
        
        p.sendMessage(main.pre + "§cBitte achte auf deine Wortwahl §7(§c" + block + "§7)");
        for (Player all : Bukkit.getOnlinePlayers()) {
          if (all.hasPermission("system.wortfilter.getmessage")) {
            all.sendMessage(main.pre + "Der Spieler §c" + p.getDisplayName() + " §7hat versucht §c" + block + " §7zu schreiben");
          }
        }
      }
    }
  }
}


Vielen Dank für die Bemühungen :)

MortalMatty

User / Kunde

  • "MortalMatty" is male

Posts: 26

Thanks: 3

  • Send private message

2

Wednesday, November 14th 2018, 6:37pm

Schau dir diese Zeile an:

Java source code

1
blocked.add("Schwanz");



Wenn du die Nachricht des Spielers zu Kleinbuchstaben konvertierst, musst du die Wörter, die du in der ArrayList abspeicherst auch in Kleinbuchstaben schreiben.
Alternativ kannst du einfach auf die Wörter aus deiner ArrayList auch die .toLowerCase() Methode anwende :)
4e 69 65 20 47 6c c3 bc 63 6b 20 3a 28

kingoflo

User / Kunde

  • "kingoflo" started this thread

Posts: 2

  • Send private message

3

Saturday, November 17th 2018, 6:40pm

Vielen Dank für deine Hilfe.
Ich habe es jetzt so gelöst:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package de.cratox.zyyrooo;

import java.util.ArrayList;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;

public class WortFilter
  implements Listener
{
  @EventHandler
  public void on(AsyncPlayerChatEvent e)
  {
    Player p = e.getPlayer();
    
    List<String> blocked = new ArrayList<String>();
    blocked.add("SCHWANZ");
    for (String block : blocked) {
    	
      if (e.getMessage().toUpperCase().contains(block))
      {
    	  e.setCancelled(true);
        
        p.sendMessage(Main.pre + "§cBitte achte auf deine Wortwahl §7(§c" + block + "§7)");
        for (Player all : Bukkit.getOnlinePlayers()) {
          if (all.hasPermission("system.wortfilter.getmessage")) {
            all.sendMessage(Main.pre + "Der Spieler §c" + p.getDisplayName() + " §7hat versucht §c" + block + " §7zu schreiben");
          }
        }
      }
    }
  }
}

Sebi_Zocer

User / Kunde

  • "Sebi_Zocer" is male

Posts: 229

Location: Privat

Occupation: Privat

  • Send private message

4

Monday, November 19th 2018, 7:28am

Ich würde dir eher zu dem raten, was MortalMatty vorgeschlagen hat:

Java source code

1
if(e.getMessage().toUpperChase().contains(block.toUppderChase)){


Dann ist es egal, wie du das Wort speicherst und kannst es auch richtig schreiben ohne Caps.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net

Similar threads