Skip to content

✨ Erfahrungs-Orb-Anziehung (MC 26.2)

📌 Haftungsausschluss für Repository-Quellcode: Die Dokumentation in diesem Wiki spiegelt den aktuellen Quellcode-Zustand im Repository wider, der aktuelle unveröffentlichte Commits oder Entwicklungsfunktionen vor öffentlichen Veröffentlichungen auf CurseForge und Modrinth enthalten kann.

InfoboxTechnische Parameter
Ziel-Entitätsklassenet.minecraft.world.entity.ExperienceOrb
Manager-Klassenet.instantgratification.magnet.MagnetManager
Aktivierende GameRuleig:magnet_affects_xp (Standard: true)
Scan-Abfrageplayer.level().getEntitiesOfClass(ExperienceOrb.class, area, Entity::isAlive)
PartikeltypParticleTypes.ELECTRIC_SPARK
Partikel-DrosselungGeteilt mit Items über ig:magnet_max_particle_sources

📖 Mechanik des Erfahrungs-Vakuums

Unter der Instant-Gratification-Philosophie stört das Zurücklassen verstreuter Erfahrungskugeln am Boden oder an Höhlendecken den Spielfluss. Magnet, Let me get that! bietet erstklassige Unterstützung für das Anziehen von ExperienceOrb-Entitäten parallel zu gedroppten Gegenständen.

+-------------------+     getEntitiesOfClass     +-----------------------+     MagnetMovement.pull     +--------------------+
| Spieler-Scan-AABB | -------------------------> | List<ExperienceOrb>   | --------------------------> | Spieler-Sammlung   |
+-------------------+                            +-----------------------+                             +--------------------+
                                                             |
                                                             v
                                                 [NoClip-Phasenverschiebung anwenden]
                                                 [Lerp-Geschwindigkeitsvektor anwenden]
                                                 [Gedrosselte Funken-Partikel]

⚡ Synchronisierte Physik & Phasenverschiebung

Wenn ig:magnet_affects_xp aktiviert ist, übernehmen alle Erfahrungskugeln in Reichweite exakt dieselben hochentwickelten Mechaniken wie Gegenstände:

  1. Phasenverschiebung (NoClip): Erfahrungskugeln gleiten beim Heranziehen durch feste Blöcke, wodurch verhindert wird, dass sie ewig an Wänden abprallen oder kreisen.
  2. Dynamische Beschleunigung: Erfahrungskugeln folgen denselben Lerp-Berechnungen für Geschwindigkeit ($s = \text{speed}/100.0$) und Beschleunigung ($a = \text{accel}/100.0$).
  3. Sichtlinien-Filterung: Ist ig:magnet_los_only aktiv, müssen XP-Orbs sowohl den primären 360°-Raycast als auch die sekundären granularen Prüfungen bestehen.

🛡️ Performance & Lag-Prävention (Partikel-Obergrenzen)

Dichte Mob-Farmen oder Kämpfe gegen den Enderdrachen können hunderte Erfahrungskugeln gleichzeitig erzeugen. Das Spawnen von Partikeln an jeder einzelnen Kugel pro Tick würde zu massiven FPS-Einbrüchen führen.

Die Mod verhindert Partikel-Lag durch globale Partikelquellen-Drosselung:

java
int maxParticleSources = ModGameRules.getInt(player.level(), ModGameRules.MAGNET_MAX_PARTICLE_SOURCES);
int particleSourceCount = 0;

for (ExperienceOrb orb : orbs) {
    boolean shouldSpawnParticles = false;
    if (particleSourceCount < maxParticleSources) {
        shouldSpawnParticles = true;
        particleSourceCount++;
    }
    MagnetMovement.pull(orb, player, shouldSpawnParticles);
}
  • Globale Obergrenze: Nur die ersten $N$ Entitäten (konfiguriert über ig:magnet_max_particle_sources, Standard: 5) dürfen in einem gegebenen Tick Funkenpartikel aussenden.
  • Tick-Staffelung: Partikel werden nur erzeugt, wenn (entity.tickCount + entity.getId()) % 4 == 0 (alle 4 Ticks = 5 Mal pro Sekunde).

⚙️ Relevante Konfiguration & GameRules

GameRuleTypStandardEinheit / BereichBeschreibung
ig:magnet_affects_xpBooleantruetrue/falseOb Erfahrungskugeln vom Magneten angezogen werden.
ig:magnet_particlesBooleantruetrue/falseHauptschalter für elektrische Funken-Spuren.
ig:magnet_particle_countInteger10..100Anzahl der erzeugten Funkenpartikel pro aktiver Quelle.
ig:magnet_max_particle_sourcesInteger50..100Maximale Anzahl gleichzeitiger Entitäten, die Partikel aussenden dürfen.

🔗 Verwandte Wiki-Dokumentation

Official documentation & web portal for Dasik Igaijinn mods.