• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Umsetzung eines !Explore Befehls für McCraftbot

Squall

Kuhfänger
Registriert
19 Mai 2023
Beiträge
74
Diamanten
124
Hallo Liebe leute ich Brauch mal eure hilfe bei etwas :)
Mein Logisches Zusamsetzen ist etwas beschränkt und ich suche Ideen und rat.

Ich bin dabei einen Minecraftbot zu Programmieren der einen Minecraftserver verwalten und einstellen lässt über einen Chat (IRC)
Wer nicht weis was IRC ist solle bitte googlen.
Dieser soll gegebenfalls kleine Minecraftbefehle auch beinhalten wie !explore !craft !chop !fish !mine etc...

Momentan habe ich eine Spielerdb die angelegt wird sobal man !neuer Spieler schreibt diese ist wie folgt aufgebaut:

msl = Mirc Scripting Language:
[AccountInfo]
Name=Squall
Leben=20
Hunger=20
LastPos= // Hier stehen dann die Startcords die Zufällig generiert werden..
InventarSlots=9
Passwort=[ausgeblendet]

[InventarSlot1]
Name=WOODEN_AXE
Anzahl=1

[InventarSlot2]
Name=WOODEN_HOE
Anzahl=1

[InventarSlot3]
Name=WOODEN_SHOVEL
Anzahl=1

[InventarSlot4]
Name=WOODEN_PICKAXE
Anzahl=1

[InventarSlot5]
Name=WOODEN_SWORD
Anzahl=1

[InventarSlot6]
Name=APPLE
Anzahl=6

[InventarSlot7]
Name=AIR
Anzahl=0

[InventarSlot8]
Name=AIR
Anzahl=0

[InventarSlot9]
Name=AIR
Anzahl=0

Hier mal ein Einblick in den Code für LastPos:

msl = Mirc Scripting Language:
Alias LastPos {
  var %maxcords 3
  var %cordgen 1
  while (%cordgen <= %maxcords)  {
    echo -ag Durchgang %cordgen
    var %x $rand(1,500)
    var %y $rand(1,64)
    var %z $rand(1,500)
    var %negate-x $rand(1,100)
    var %negate-y $rand(1,100)
    var %negate-z $rand(1,100)
    echo -ag Negate Changen x= %negate-x y= %negate-y z= %negate-z
    if (%negate-x <= 50) { var %xpos - $+ %x }
    if (%negate-y <= 50) { var %ypos - $+ %y }
    if (%negate-z <= 50) { var %zpos - $+ %z }
    if (%negate-x >= 50) { var %xpos %x }
    if (%negate-y >= 50) { var %ypos %y }
    if (%negate-z >= 50) { var %zpos %z }
    inc %cordgen
  }
  echo -ag LastPos sind: x= %xpos y= %ypos z= %zpos
  set %mcposition %xpos %ypos %zpos
  echo -ag ->>>> %mcposition
}

Nun zu meiner Denklücke:

Beim !Explore Befehl wird zu Allererst die Letzte Position aus der Spielerdb gelesen und und in einer Variable gespeichert.
Soweit so gut. Nun muss ich ja noch Zahlreiche Biomes Anlegen die eine Bestimmte größe haben diese werden dann in einer Biome.db gespeichert.

Die Biome.db würde dann wahrscheinlich wie folgt aussehen:

Code:
[Info]
Biomelist=Biomeid1.biomeid2.biomeid2 // usw etc.

[Bimome1]
Name= // Biomenname
Desc= // Beschreibung der Biome
Trees= // Welche Baumarten findet man dort
Blocks= // Welche Blöcke Beinhaltet dieses Biom
Size= // Die Größe des Bioms (Coordinaten x,y,z) // Hierbei bin ich mir unschlüssig

Jetzt weis ich aber nicht wie ich gegebenfalls die Größe einer Biome definieren könnte abhängig vom LastPos alias

Funktion:
Er muss also irgendwie eine Distanz beinhalten die den Übergang definiert.
Aber wie ? Hierbei hängt es gerade.

Beispiel:

LastPos hat folgende Cords= 239, 46, -173 (Spawnpunkt und gegebenfalls Startbiome zb (Plains) aus der Biomendb nur wie könnte man das Umsetzen?
Beim !Explore werden nun Neue Coordinaten mit dem LastPos Alias generiert.. Aber wie kann man eine Entfernung von Biome1 zu Biome2 umsetzen
Hoffe ihr versteht meine denklück.

Vielen Dank!
Bin für Tipps und Rat gerne dankbar
Post automatically merged:


Auch hier finde ich nur folgende aussage:

Die Biomgröße ist standardmäßig auf 4 gesetzt. In dem Welttyp Große Biome ist dieser Wert auf 6 gesetzt.

??? Ja aber was ist mit 4 bzw 6 Gemeint? Gibt es denn keine Genaueren Angaben was mir weiterhelfen könnte ?
 
Zuletzt bearbeitet:

joestr

Redstoneengineer
Registriert
5 November 2016
Beiträge
39
Alter
25
Diamanten
275
Die Zahlen 4 und 6 beschreiben jeweils die ungefähre Anzahl an Blöcken, welche beim generieren von weiteren Chunks für die Biome beachtet werden.

Aus einem Reddit-Beitrag:
Level 1 = 225 blocks

Level 2 = 500 blocks

Level 3 = 1,000 blocks

Level 4 = 2,000 blocks (default world setting)

Level 5 = 4,000 blocks/meters

Level 6 = 8,000 (Big Biomes)

Level 7 = 16,000 blocks

Level 8 = 32,000 blocks
 
Oben