Mit Hilfe von DeepLearning habe ich eine Software erstellt, die Sätze zum Spiel vorliest, während ich Micra spiele.
↓ So ein Typ
Da es schwierig ist, sie zu einem Artikel zu kombinieren, werde ich ihn in mehrere Artikel aufteilen. In diesem Abschnitt wird der Anwendungsteil ** ** </ font> beschrieben.
Verwenden Sie Minecraft, um festzustellen, ob sich Zombies in der Nähe befinden. Wenn es einen Zombie gibt, zeigen Sie den Text an, der sich auf den Zombie bezieht.
(Informationen zum Vorbereiten des Textes finden Sie in einem anderen Artikel.)
Minecraft hat einen Mod von Freiwilligen. Mit Mods hast du viel Freiheit, dein Spiel zu modifizieren.
Mit MCreator können Sie sofort mit der Mod-Produktion beginnen. Für einfache Änderungen müssen Sie nicht einmal Code schreiben.
Minecraft Mod ist in Java geschrieben.
Raspberry Jam Mod(mcpi) Sie können Minecraft von Python aus bedienen. Sie können viele Dinge tun. Der Teil, um Spielinformationen zu erhalten, ist jedoch schwierig.
Schauen Sie sich den Code in [mcpi] an (https://github.com/martinohanlon/mcpi). Es scheint, dass sie über [Socket-Kommunikation] kommunizieren (https://qiita.com/megadreams14/items/32a3eed4661e55419e1c). Es scheint, dass Sie den Hafen angeben und zur Schule gehen können.
Die Python-Seite Ändert die Verbindungsklasse von mcpi
Die Java-Seite schreibt durch Drücken
Schließlich Mod-Implementierung. Ich habe MCreator 1.9.1 verwendet.
Durch das Erstellen eines neuen Arbeitsbereichs mit MCreator wird eine Mod-Vorlage erstellt.
Sie können neue Befehle mit der GUI erstellen. Erstellen Sie einen leeren Befehl. --Schreiben Sie die Funktion "executeProcedure" von etwas wie hogehogeCommandExecuted.
Packen Sie, was Sie in einer anderen Funktion tun möchten.
Sockel vorbereiten
Weiter zum Erfassen / Senden / Empfangen von Daten
Wenn Sie einen Befehl ausführen, führen Sie die erstellte Funktion in einem anderen Prozess aus.
Da ich ein Mod-Amateur bin (+ Java-Amateur), wollte ich es vom Mod trennen. ――Für Hirntod Versuchen Sie, etwas namens Thread zu verwenden.
Minecraft mc = Minecraft.getMinecraft()
WorldClient world = mc.world;
List<Entity> entities = world.getEntities(Entity.class, (entity)->!entity.isInvisible());
Jetzt können Sie nicht transparente feindliche Mobs und Tiermobs auf der Welt erhalten.
Entity player = world.getEntityByID(mc.player.getEntityId());
Nehmen Sie dann eine Instanz des Spielers.
String minecraftData;
for (Entity e: entities) {
if (e.getDistance(player) < 8.0f) {
minecraftData += e.getName() + ",";
}
}
Sie können den Abstand zwischen Entity mit getDistance
ermitteln.
Holen Sie sich den Namen einer nahe gelegenen Entität mit "getName" und fügen Sie ihn der Sendezeichenfolge hinzu.
Fügen Sie Briefe in den Chat in Minecraft ein.
MinecraftServer mcserv;
mcserv.getPlayerList().sendMessage(new TextComponentString("hogehoge"));
Die Bibliotheksspezifikationen unterscheiden sich je nach Version geringfügig. Die Quelle der Bibliothek kann auch von MCreator gefunden werden. Wenn Sie es verstehen, können Sie es direkt lesen.
Da die Anweisungen, die sich auf das Objekt beziehen, im Voraus getrennt werden, wählen Sie sie zufällig basierend auf den Daten aus dem Mod aus. Ich habe das erste Wort des Satzes in das Generierungsmodell eingefügt und versucht, den Satz zu generieren. Weitere Informationen finden Sie in einem anderen Artikel.
Nur anzuzeigen ist nicht geschmackvoll. Ich versuchte langsam zu sprechen. Einfach, ich habe es so gemacht (Windows).
subprocess.call("start C:\hoge\softalk\SofTalk.exe /R: /W: "+"Der Text, den Sie lesen möchten", shell=True)
Minecraft-Mods sind berühmt, daher dachte ich, es gäbe viele Kommentarartikel, aber das war nicht der Fall.
Das Erstellen einer Umgebung, in der MCreator nicht verwendet wird, ist mühsam und wurde noch nicht durchgeführt. Ich halte es für unpraktisch, zu versuchen, es eng zu codieren, deshalb möchte ich etwas dagegen tun.
Minecraft hat viel Potenzial, also hoffe ich, dass jeder es versuchen wird.
Recommended Posts