Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Sostituire frasi con il java

    salve a tutti, sono un appassionato di giochi e possiedo un server di minecraft. minecraft è scritto in java quindi ho imparato grazie a questo sito le basi e i concetti più importanti! Stavo creando un "plugin" per il server dove se un giocatore scrive in chat una parolaccia essa viene sostituita con *****.

    ho provato diversi metodi ma nessuno ha funzionato.

    codice:
    String message = event.getMessage(); 
    message = message.replace("parolaccia", "p********a");
    
      event.setMessage(message);
    
    sapete aiutarmi?
    grazie in anticipo
    Ultima modifica di LeleFT; 04-06-2014 a 13:00 Motivo: Modificati tag QUOTE con tag CODE

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    il modo in cui hai utilizzato il metodo replace è corretto.
    Evidentemente si tratta di qualcosa collegato al server, a proposito del quale non so aiutarti.


  3. #3
    ciao, scusami ma ho provato 1000 modi ma nessuno che funziona

    package me.gamerover98;

    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.plugin.java.JavaPlugin;

    public class principale extends JavaPlugin {

    @Override
    public void onEnable() {
    getLogger().info("Magichat abilitato!");
    }

    @Override
    public void onDisable() {
    getLogger().info("Magichat disabilitato!");
    }




    public void playerChat(AsyncPlayerChatEvent e){

    String message = e.getMessage();
    message = message.replace("parolaccia", "p********a");


    e.setMessage(message);
    }
    }
    Non ci sono errori ma quando scrivo in chat la parola parolaccia non la censura. Non so come fare

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da gamerover98 Visualizza il messaggio
    codice:
    public void playerChat(AsyncPlayerChatEvent e){
    
    String message = e.getMessage();
    message = message.replace("parolaccia", "p********a");
    
    
    e.setMessage(message);
    }
    Non ci sono errori ma quando scrivo in chat la parola parolaccia non la censura. Non so come fare
    Di una cosa sono sicuro (e confermo quanto detto da minomic): l'uso di replace, cioè la tua riga

    message = message.replace("parolaccia", "p********a");

    è tecnicamente assolutamente corretta e non fa una "piega". E non avrei dubbi sul fatto che se tu verifichi in debug o stampi message, dopo il replace, in 'message' ogni occorrenza di "parolaccia" è sostituita.

    Su un'altra cosa invece ho molti dubbi e dovresti verificare bene tu. Sei sicuro che è corretto/sufficiente cambiare il message nell'oggetto evento AsyncPlayerChatEvent??
    Generalmente gli oggetti di evento sono creati al volo dal framework/libreria che li emette e servono giusto solo per notificare altre parti del programma. Non è affatto detto che poi il framework/libreria usi lo "stato" (alterato da te) di tale evento per i suoi scopi!
    Ti è chiara la questione/dubbio? Verifica.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Di una cosa sono sicuro (e confermo quanto detto da minomic): l'uso di replace, cioè la tua riga

    message = message.replace("parolaccia", "p********a");

    è tecnicamente assolutamente corretta e non fa una "piega". E non avrei dubbi sul fatto che se tu verifichi in debug o stampi message, dopo il replace, in 'message' ogni occorrenza di "parolaccia" è sostituita.

    Su un'altra cosa invece ho molti dubbi e dovresti verificare bene tu. Sei sicuro che è corretto/sufficiente cambiare il message nell'oggetto evento AsyncPlayerChatEvent??
    Generalmente gli oggetti di evento sono creati al volo dal framework/libreria che li emette e servono giusto solo per notificare altre parti del programma. Non è affatto detto che poi il framework/libreria usi lo "stato" (alterato da te) di tale evento per i suoi scopi!
    Ti è chiara la questione/dubbio? Verifica.
    AsyncPlayerChatEvent

    serve per richiamare la classe chat del player

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da gamerover98 Visualizza il messaggio
    AsyncPlayerChatEvent

    serve per richiamare la classe chat del player
    Mi spiace ... non so che dirti. Questo Bukkit non lo conosco, mai sentito prima. Ho giusto adesso cercato in rete ed ho trovato il sito e la documentazione Javadoc. Ma non ho tempo (nemmeno voglia scusa) di andare oltre ...

    Ho appena visto il javadoc di JavaPlugin che tu hai esteso. Non ha un metodo chiamato playerChat, quindi il tuo non è un override. Non è quindi un metodo di "callback" che lui (Bukkit) invoca per dirti qualcosa.
    Chi lo invoca ... non lo so. Tu altrove? (non si capisce dal codice postato). Chi crea AsyncPlayerChatEvent? Idem non lo so ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Mi spiace ... non so che dirti. Questo Bukkit non lo conosco, mai sentito prima. Ho giusto adesso cercato in rete ed ho trovato il sito e la documentazione Javadoc. Ma non ho tempo (nemmeno voglia scusa) di andare oltre ...

    Ho appena visto il javadoc di JavaPlugin che tu hai esteso. Non ha un metodo chiamato playerChat, quindi il tuo non è un override. Non è quindi un metodo di "callback" che lui (Bukkit) invoca per dirti qualcosa.
    Chi lo invoca ... non lo so. Tu altrove? (non si capisce dal codice postato). Chi crea AsyncPlayerChatEvent? Idem non lo so ....
    hei calma sono un novellino
    Ho capito poco di quello che hai detto, proverò a chiedere da qualche altra parte ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.