Posts by Devidian

A small new update is available now!

    So, musste ein paar Versionen überspringen, war noch nicht getestet und dann hab ich doch wieder neue features eingebaut .... jetzt läuft es aber soweit es soll....


    Wichtigste Neuerung: Man kann jetzt mit dem DiscordBot (immer noch optional) auch bidirektional chatten (Ähnlich wie beim GlobalIntercom nur halt auf den Server und den LOCAL chat beschränkt)


    Wer DiscordBot UND GlobalIntercom verwendet, muss GlobalIntercom mindestens auf Version 0.7.2 upgraden. Wer es nicht verwendet, braucht es auch nicht.


    ENGLISH:


    Kleines Update


    Code
    ### Version 0.7.2:
    - Hinzugefügt: öffentliche methode zum Prüfen ob ein ChatEvent eine GI Nachricht ist
    ### Version 0.7.1:
    - Behoben: null pointer exception onDisable()

    Ist nur zwingend wenn ihr gleichzeitig mein Discord Plugin verwendet, dies wird mit der nächsten Version die neu hinzugefügte Methode anragen falls beide Plugins installiert sind.



    EN: This small fix update is only mandatory for those using my other Plugin "Discord Plugin" too, because the DP will need the API Method with the next update if both Plugins are installed at the same time.

    Ist auch für SP ;) sehe ich nur gerade zufällig. Sprache ist aktuell nur englisch was die statischen texte an geht - die sind aber auch nicht so wichtig.

    Hallo @red51,


    soweit ich gelesen habe sollen NPC's im kommenden Update nur in chunks spawnen die von Spielern nicht bearbeitet/verändert wurden. Könnt ihr bitte daran denken, in die API sowas wie ein Chunk.isDirty einzubauen ?
    Und als zweites am besten (wenn möglich) einen chunk.reset() um chunks zurückzusetzen (im Prinzip müßte man den chunk nur löschen und vom Spiel neu generieren lassen)


    Viele Grüße,
    Devidian

    I understand, so another idea, if there is a way to check for Plugin A like (IF B INSTALLED THEN) i could get around my issue.


    My Plugin B (GlobalIntercom - see Plugin Forum) uses the prefix # to determine that the following text goes into the "Global chat", so you might think i could just ignore messages that begin with # but there is also an optional switch that can be turned on that the Plugin remembers your last chat. For example:


    >Hello (local chat)
    >#Hello global (global chat)
    >Everybody okay? (global chat)
    >#%Can someone help me build?(local chat #% is a switch back to local)
    >i don't know where to start from (local chat)
    ...


    So even if Plugin A knows # is a prefix of Plugin B, it could not get the switch state, because there is A) a server flag for the default and B) a player override of this flag.


    My idea now:


    Plugin A -> onChat -> isBinstalled?B::getCurrentChatOf(message) -> if(chat!=local) => ignore


    Would this be possible? Without adding a dependency to A - it should run standalone if B is not installed

    Hi there,


    maybe anyone has an idea for my problem. I have 2 Plugins that modify the chat / read the chat. Let's call them A and B. Plugin A is just a chat reader and consumes chat-input to send it to another location. Plugin B reads the chat too but in some cases re-routes the chat to another location if there was a certain prefix in the chat and then cancels the event, so no further chat Plugin should read this. The Problem is that Plugin A is loaded before Plugin B and so always reads the chat before it's getting processed and filtered by Plugin B.


    How can i guarantee that if - and only if - Plugin B is installed, it is always loaded before Plugin A but does not depend on it.


    ###################################


    Hallo zusammen,


    vielleicht hat einer von euch eine Idee zu meinem Problem. Ich habe jetzt 2 Plugins die den Chat lesen bzw. modifizieren. Nennen wir sie hier mal Plugin A und B. A ist nur ein chat Leser und sendet den chat ungefiltert "woanders" hin. Plugin B liest den chat auch aber routet den chat in manchen Fällen um wenn die nachricht mit einem speziellen präfix beginnt und beendet die event kette dann so das diesen chat (eigentlich) kein weiteres Plugin verarbeiten kann. Das Problem ist, das Plugin A immer vor Plugin B geladen wird und somit den chat liest bevor er von Plugin B ausgewertet und gefiltert wurde.


    Wie kann ich garantieren das wenn - und nur wenn - Plugin B installiert ist, dieses immer zuerst geladen wird ohne eine Abhängigkeit zwischen beiden zu haben.


    Viele Grüße,
    Devidian

    Hallo,


    ich habe eben auf meinem Server ein bischen Grass entfernt und gesetzt und so, eine ganze Weile lang (Renaturisierung an meinem Straßenprojekt)


    Weil sich die Buttons nicht klicken ließen habe ich einen screen gemacht:



    Dazu die errorlog Datei: errorlog_1547300099254.log


    Und weil ich auf meinem Server war, hier auch die letzten log Einträge um dieses Ereignis:


    Sure, that sounds like the best idea ;) If you add an event for this i could add it to my communications plugins and the servers could report it then by himself maybe (or check and save which player causes this - if the player causes this on different servers he may be a hacker and could be banned automatically for example :D )

    Code: update.log
    ### Version 0.9.1
    - Neuer Discord Befehl: `/restart` setzt das restart flag falls Spieler online sind oder macht einen shutdown falls nicht.
    - Neuer Discord Befehl: `!online` Zeigt eine Liste mit Spielern die online sind
    - Neuer Discord Befehl: `!help` Zeigt eine Liste mit Kommandos die über Discord verfügbar sind
    - Behoben: Plugin update Überwachung war fehlerhaft

    Die ersten neuen Kommandos sind hinzugefügt

    Sounds for me like this problem is connected to the problem that items disappear if you SHIFT a stackable item into a box and back. Maybe you can try this and check if this is the cause?

    Wenn ein onEnable getriggert wird, geht das Plugin davon aus das der Server gerade gestartet wurde. Bei onDisable geht das Plugin davon aus das der Server neu gestartet wird bzw. ein shutdown bekommt.


    Auf meinem Server mache ich einen harten neustart über systemd aktuell, da wird zum Beispiel nur ein onEnable gefeuert weil der Server nicht sauber einen shutdown bekommt und somit auch kein onDisable gefeuert wird. Das war mal eben so eine kurze Lösung von mir über nen cronjob, muss das noch mal sauber machen... :D

    Klar, wie gesagt der bot kann die webhooks selber verwalten, die Schriftfarbe des bots lässt sich aber nicht ändern zumindest nicht für jede Nachricht explizit nur allgemein. Und für den Webhook lässt sich die Farbe wohl gar nicht ändern, zumindest habe ich weder in der Discord API noch in der JavaCord API etwas gefunden. Wenn du konkreten code hast der das kann, wäre ich dankbar wenn du mir diesen zukommen lässt :D


    Das mit dem Screenshot funktioniert nur wenn @red51 das dann demnächst in die API einbaut. Ansonsten werden die WebHooks so oder so drin bleiben, da ich nicht von jedem verlangen möchte sich einen DiscordBot anlegen zu müssen. Das Plugin soll weiterhin die bisherigen features anbieten können. Sobald die Möglichkeit der Screenshots gegeben ist, wird es auf die ein oder andere weise implementiert werden. Evtl baue ich eine option ein damit der Bot die webhooks selber verwaltet aber halt nur als option, der direkte webhook weg sollte als fallback immer erhalten bleiben.


    Der Bot ist halt nur wichtig um auch Nachrichten zum Server zu senden.


    Bezüglich Zeichen muss man auch so drauf achten (vermute ich) denn wenn ich dem Bot sage der User heißt ##kein@Plan wird es sicher eine exception geben mit "InvalidInput" oder so, hab es nicht getestet oder er schneidet einfach ab.

    Verstehe ich nicht @Silverridge, mit dem JavaCord hast du einen vollwertigen DiscordBot, da brauchst du keinen Gateway. Die WebHooks bleiben trotzdem, weil selbst wenn ich die entfernen würde, würde ich mit JavaCord webhooks erstellen die es dann zum posten benutzt, weil man beim posten über einen Bot den Namen nicht ändern kann, zumindest habe ich dafür nichts in der API gefunden. Du kannst nur bei einem Webhook den Author Quasi anpassen. Das mache ich auch bei meinem Global Intercom so. Dort ist der Bot ja auf dem "Gateway" wenn man so will und nicht im Plugin selber. Trotzdem verwendet dieser zum posten der Nachrichten einen WebHook den er selbst erstellt hat um dann die Nachrichten bzw. dessen Author anzupassen.


    Man kann jetzt also "alles" machen. Sagt mir einfach welche API Befehle ihr ins Discord gemapped haben wollt und ich füge sie ein. Werde heute Abend selbst ein paar einbauen, was mir gerade so in den Sinn kommt.