Minecraft - es ist nicht nur ein Spiel, es ist eine ganze Plattform für Kreativität und Programmierlernen! Heute werden wir herausfinden, wie man seinen eigenen Mob von Grund auf neu erstellt. Dies ist eine großartige Möglichkeit, sich mit Java und die Grundlagen der Spieleentwicklung zu verstehen.

Was brauchen wir?
Stellen Sie vor Arbeitsbeginn sicher, dass Sie Folgendes installiert haben:
Java Development Kit (JDK) Version 17 oder höher
IntelliJ IDEA (Community Edition ist geeignet)
Minecraft Forge MDK (Mod Development Kit)
Java-Grundkenntnisse (Variablen, Klassen, Methoden)
Schritt 1: Umgebung einrichten
Zuerst herunterladen Forge MDK von der offiziellen Website files.minecraftforge.net. Entpacken Sie das Archiv in einen separaten Ordner und öffnen Sie das Projekt in IntelliJ IDEA.
Führen Sie den Befehl im IDE-Terminal aus:
./gradlew genIntellijRuns💡 Tipp: Dadurch wird das Projekt für die Entwicklung eingerichtet. Warten Sie, bis Gradle alle Abhängigkeiten heruntergeladen hat. Dies kann einige Minuten dauern.
Schritt 2: Erstellen Sie eine Mob-Klasse
Lass uns einen einfachen Mob erstellen - ein freundliches Glühwürmchen, das nachts fliegt und leuchtet.
Erstellen Sie im Ordner src/main/java/com/yourname/yourmod/entity die Datei FireflyEntity.java:
package com.yourname.yourmod.entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal;
import net.minecraft.world.level.Level;
public class FireflyEntity extends PathfinderMob {
public FireflyEntity(EntityType<? extends PathfinderMob> type, Level world) {
super(type, world);
}
// Wir registrieren das Verhalten des Mobs
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
this.goalSelector.addGoal(1, new WaterAvoidingRandomStrollGoal(this, 1.0D));
}
// Attribute einstellen (Gesundheit, Geschwindigkeit)
public static AttributeSupplier.Builder createAttributes() {
return PathfinderMob.createMobAttributes()
.add(Attributes.MAX_HEALTH, 5.0D)
.add(Attributes.MOVEMENT_SPEED, 0.25D);
}
}Was ist hier los?
PathfinderMob - Grundklasse für Mobs, die laufen können
registerGoals() - Methode, mit der wir das Verhalten des Mobs bestimmen (schwimmen, gehen, angreifen)
createAttributes() - Hier legen wir die Eigenschaften fest: Gesundheit, Geschwindigkeit, Schaden
Schritt 3: Registrieren Sie den Mob
Jetzt müssen wir dem Spiel von unserem Mob erzählen. Erstellen Sie die Klasse ModEntities.java:
package com.yourname.yourmod.entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class ModEntities {
public static final DeferredRegister<EntityType<?>> ENTITIES =
DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, "yourmod");
public static final RegistryObject<EntityType<FireflyEntity>> FIREFLY =
ENTITIES.register("firefly", () -> EntityType.Builder
.of(FireflyEntity::new, MobCategory.CREATURE)
.sized(0.4F, 0.3F) // Größe der Hitbox
.build("firefly"));
}Vergiss nicht, ENTITIES in der Hauptklasse deines Mods zu registrieren:
@Mod("yourmod")
public class YourMod {
public YourMod() {
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
ModEntities.ENTITIES.register(bus);
}
}Schritt 4: Erstellen Sie ein Modell und eine Textur
Es gibt einen Mob, aber er ist unsichtbar! Es muss ein 3D-Modell erstellt werden. Sie können das Programm verwenden Blockbench - kostenloser Editor für Minecraft-Modelle.
Erstellen Sie ein einfaches Modell (Würfel für den Körper, kleine Würfel für die Flügel)
Als Java-Datei exportieren
Platzieren Sie das Modell in
src/main/java/com/yourname/yourmod/client/model/Erstellen Sie eine Textur (16x16 Pixel) und speichern Sie sie in
src/main/resources/assets/yourmod/textures/entity/

Schritt 5: Mob-Renderer
Erstellen Sie die Klasse FireflyRenderer.java:
package com.yourname.yourmod.client.renderer;
import com.yourname.yourmod.entity.FireflyEntity;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.MobRenderer;
import net.minecraft.resources.ResourceLocation;
public class FireflyRenderer extends MobRenderer<FireflyEntity, FireflyModel> {
private static final ResourceLocation TEXTURE =
new ResourceLocation("yourmod", "textures/entity/firefly.png");
public FireflyRenderer(EntityRendererProvider.Context context) {
super(context, new FireflyModel(context.bakeLayer(FireflyModel.LAYER)), 0.3F);
}
@Override
public ResourceLocation getTextureLocation(FireflyEntity entity) {
return TEXTURE;
}
}Schritt 6: Spawn Mob in der Welt
Fügen wir den Mob zum natürlichen Spawn des Spiels hinzu. Fügen Sie in der Hauptklasse des Mods einen Ereignishandler hinzu:
@SubscribeEvent
public static void onBiomeLoading(BiomeLoadingEvent event) {
if (event.getCategory() == Biome.BiomeCategory.FOREST) {
event.getSpawns().getSpawner(MobCategory.CREATURE)
.add(new MobSpawnSettings.SpawnerData(
ModEntities.FIREFLY.get(), 15, 2, 4));
}
}✅ Ausgezeichnet! Jetzt werden Glühwürmchen in Waldbiomen erscheinen!
Schritt 7: Testen
Starten Sie das Spiel über IntelliJ IDEA (verwenden Sie die Konfiguration runClient). Erstellen Sie eine neue Welt und überprüfen Sie:
Taucht der Mob im Wald auf?
Wird das Modell korrekt angezeigt?
Funktioniert das Verhalten (Gehen, Schwimmen)?
💡 Tipp: Wenn etwas nicht funktioniert, überprüfen Sie die Protokolle in der Konsole. Forge beschreibt alle Fehler im Detail.
Zusätzliche Möglichkeiten
Sie können ein Mob hinzufügen:
Eigene Töne (Schritte, Angriff, Tod)
Animationen (Schlag der Flügel, Leuchten)
Einzigartiges Verhalten (Angriff, Flucht, Nahrungssuche)
Drop von Gegenständen im Todesfall
Spawn durch das Ei des Aufrufs
@Override
protected void dropCustomDeathLoot(DamageSource source, int looting, boolean recentlyHit) {
super.dropCustomDeathLoot(source, looting, recentlyHit);
this.spawnAtLocation(Items.GLOWSTONE_DUST, 1);
}Häufige Anfängerfehler
Sie haben vergessen, den Mob zu registrieren — Überprüfen Sie, ob
ENTITIES.register(bus)aufgerufen wirdFalscher Texturpfad — Stellen Sie sicher, dass die Pfade im Code und im Dateisystem übereinstimmen
Keine Arbeitsumgebung generiert — führen Sie
gradlew genIntellijRunserneut ausVeraltete Version von Forge - Verwenden Sie die neueste stabile Version für Ihre Minecraft-Version
Möchtest du dieses Thema vertiefen und einen wirklich coolen Mob mit einzigartiger Mechanik erstellen?
In Kodike Wir analysieren viele andere Programmierthemen im Detail - von den Grundlagen von Java bis zur Erstellung komplexer Projekte. Jedes Thema wird von praktischen Aufgaben begleitet, die helfen, das Material zu festigen.
Bei uns lernen Sie:
Arbeiten mit Java anhand von realen Beispielen
Erstellen Sie Mods, Plugins und Spiele
Verstehen Sie die Code-Architektur und schreiben Sie sauberen Code
Probleme wie ein echter Entwickler lösen
Und wenn Sie Fragen haben oder Unterstützung benötigen, sind Sie herzlich eingeladen, unsere aktive Telegram-Kanal, wo sich bereits ein großes Team von Gleichgesinnten versammelt hat! Wir helfen Ihnen immer, das Problem zu lösen, schlagen die beste Lösung vor und unterstützen Sie auf dem Weg des Lernens.
Mach mit bei Kodik – Programmieren kann verständlich und aufregend sein! 🚀
