From cc7a5f7c77d6aed85b1c85a60ca7f487fae8b9d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ana=C3=AFs=20Saraiva?= <53227802+Kisakay@users.noreply.github.com> Date: Sun, 18 Oct 2026 23:44:02 +0200 Subject: [PATCH] pala M1: worldgen amethyste/titane calibre wiki (size 8, trapezoid 6-10, deep ocean) + /pala orestats --- PALAMOD_CDC.md | 24 ++++--- .../java/fr/surviepote/pala/PalaCommands.java | 64 ++++++++++++++++++ .../java/fr/surviepote/pala/PalaWorldgen.java | 12 ++++ .../pala/worldgen/feature/amethyst_ore.json | 2 +- .../pala/worldgen/feature/titane_ore.json | 2 +- .../worldgen/placed_feature/amethyst_ore.json | 6 +- .../placed_feature/amethyst_ore_deep.json | 27 ++++++++ .../worldgen/placed_feature/titane_ore.json | 6 +- .../placed_feature/titane_ore_deep.json | 27 ++++++++ server/mods/pala-0.2.1.jar | Bin 323094 -> 326164 bytes 10 files changed, 154 insertions(+), 16 deletions(-) create mode 100644 mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore_deep.json create mode 100644 mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore_deep.json diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index 6476711..6acb892 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -32,7 +32,7 @@ n'utilise ni l'un ni l'autre). Conclusion : OCR automatique des images wiki = NO Decision : les patterns de craft retiennent (1) le texte wiki "Ressources necessaires" quand present, (2) les slots exacts de elements/*.mod.json (90 recettes, donnees machine VERIFIEES, ex §3.1), (3) le reste est marque UNVERIFIED et devra etre releve en jeu via JEI (screenshots table de craft). -TODO:OCR-fiable : re-essayer l'OCR uniquement sur images >= 50 Ko ou captures JEI en jeu. Raison : +TODO:ocr-fiable : re-essayer l'OCR uniquement sur images >= 50 Ko ou captures JEI en jeu. Raison : en dessous de ce seuil, hallucination demontree sur 3/3 echantillons. Reference existante (etat des lieux, PAS copiee) : mods/pala/ : @@ -58,8 +58,8 @@ Convention : [PORTE] = present dans mods/pala/src ou data/ (partiel = logique in | Famille | Minerai | Lingot/gemme | Bloc | Worldgen wiki (VERIFIE) | Mapping | |---|---|---|---|---|---| -| Amethyste | amethyst_ore [PORTE] | amethyst_ingot [PORTE] | amethyst_ore_block [PORTE] | filons 1-8, couches 6-10 + deep ocean des couche 25 | worldgen PORTE (overworld), couches UNVERIFIED | -| Titane | titane_ore [PORTE] | titane_ingot [PORTE] | titane_ore_block [PORTE] | deep ocean + grottes, filons 1-8, couches 6-10 | PORTE (overworld+end). ECART : wiki ne cite pas l'End → verifier | +| Amethyste | amethyst_ore [PORTE] | amethyst_ingot [PORTE] | amethyst_ore_block [PORTE] | filons 1-8, couches 6-10 + deep ocean des couche 25 | M1 : size 8, trapezoid 6-10, placed deep uniform 25-40 (4 biomes deep) | +| Titane | titane_ore [PORTE] | titane_ingot [PORTE] | titane_ore_block [PORTE] | deep ocean + grottes, filons 1-8, couches 6-10 | M1 : idem amethyste. ECART : wiki ne cite pas l'End → verifier | | Paladium | paladium_ore [PORTE] | paladium_ingot [PORTE] | paladium_ore_block [PORTE] | page minerais (texte tronque JS, re-crawl partiel) | PORTE, couches UNVERIFIED | | Paladium vert | paladium_green_ore [PORTE] | paladium_green_ingot [PORTE] | paladium_green_ore_block [PORTE] | idem | PORTE, obtention (fonderie ?) UNVERIFIED | | Trixium | trixium_ore [PORTE] | trixium_gem [PORTE] | trixium_ore_block [PORTE] | idem | PORTE | @@ -69,8 +69,10 @@ Convention : [PORTE] = present dans mods/pala/src ou data/ (partiel = logique in Drops/smelting : *_ore_smelting + block<->lingot 9x/1x/9x dans elements (ex AmethystBlockOreRecipe shapeless 1 bloc → 9 lingots VERIFIE). Patterns compacts standards : VERIFIE via elements. -TODO:worldgen-couches : calibrer chaque placed_feature (count/size/hauteur) sur les donnees wiki -(couches 6-10 + deep ocean). Raison : le portage injecte en overworld sans contrainte de hauteur. +TODO:worldgen-couches : RESTE pour paladium/trixium/findium/green (tailles MCreator conservees : +4/8/3/4, hauteurs 18/25/33/18 — non relues en detail wiki) + borne max deep 40 UNVERIFIED +(wiki dit "a partir de la couche 25" sans max ; 25-40 choisi, TrapezoidHeight verifie au unzip). +Lecon M1 VERIFIEE au boot : minecraft:triangle N'EXISTE PAS en 26.3 (crash datapacks) → trapezoid. ### 1.2 Outils et armes @@ -450,8 +452,9 @@ avant M4 (TODO:crafts-machines). - Features wiki couvertes (entree CDC) : ~210 (§1.14). Portage existant : ~120 (assets+registres). Logique specifiee restant a implementer : ~90. Couverture spec : 100 % des pages FR Java ingestionnees. -- TODO explicites : 11 nommes (grep 2026-10-18 : ocr-fiable, worldgen-couches, broadsword, - crafts-machines, chervil, commandes-exactes, ghost, luckperms, runclient, mcp-ocular, shebang) +- TODO explicites : 12 nommes (grep : ocr-fiable, worldgen-couches, broadsword, + crafts-machines, chervil, commandes-exactes, ghost, luckperms, runclient, mcp-ocular, shebang, + java-home) + 4 points UNVERIFIED (seuils XP 6-100, durees sticks, valeurs armures wiki vs MCreator, patterns machines images). - Methode : WAVES (crawl 137 articles → stub JS isoles → re-crawl navigateur → verifie) + ETERNAL CODE @@ -474,7 +477,7 @@ avant M4 (TODO:crafts-machines). (biomesoplenty/clumps/glitchcore/patpat, message standard "ignorer hors dev"). Serveur arrete apres test (port 25565 libere), eula.txt restaure a false, server.properties/packetfixer.properties restaures (le boot ne change que leurs timestamps). -- M0 LIVRE 2026-10-18 23:35 (commit a suivre) : package core (PalaConfig JSON rechargeable +- M0 LIVRE 2026-10-18 23:35 (commit 86cc852, pousse) : package core (PalaConfig JSON rechargeable 22 entrees minerXp wiki, PalaStorage joueurs JSON + flush 5 s, PalaPermissions rangs+noeuds, PalaJobs moteur XP/niveaux, PalaCore lifecycle), /pala reload|info|rank, /jobs, /nether gate mineur niv.3, hook XP dans PalaToolEvents. VERIFIE : ./gradlew compileJava+build @@ -485,6 +488,11 @@ avant M4 (TODO:crafts-machines). cd mods/pala && nix-shell /shell.nix --run "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java)))); ./gradlew build". TODO:java-home : fixer shell.nix racine (export JAVA_HOME jdk25) pour ne plus bricoler. Raison : decouvert en testant (3 essais). +- M1 LIVRE 2026-10-18 23:40 : worldgen amethyste/titane calibre wiki (size 8, trapezoid 6-10, + placed deep 25-40 + injection 4 biomes deep ocean), /pala orestats (scan + histo Y). + VERIFIE : build SUCCESSFUL, boot Done (0.345s), config persistee ("config existante"), + 0 ERROR/Exception/datapack au log. UNVERIFIED en jeu : /pala orestats (pas de joueur connecte + pendant le test) + distribution reelle sur nouveaux chunks. - Client/mod : ./gradlew runClient dans mods/pala/ : NON LANCE (session : pas d'affichage ; screenshots ocular impossibles ici). TODO:runclient : 1 screenshot/feature dans mods/pala/docs/screens/ avant M10. Raison : environnement headless, a faire sur poste avec X. diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaCommands.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaCommands.java index b407f58..bedc618 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaCommands.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaCommands.java @@ -57,6 +57,13 @@ public final class PalaCommands { .then(Commands.literal("info") .requires(source -> isAdmin(source)) .executes(command -> info(command.getSource()))) + .then(Commands.literal("orestats") + .requires(source -> isAdmin(source)) + .then(Commands.argument("rayon", + com.mojang.brigadier.arguments.IntegerArgumentType.integer(8, 32)) + .executes(command -> orestats(command.getSource(), + com.mojang.brigadier.arguments.IntegerArgumentType + .getInteger(command, "rayon"))))) .then(Commands.literal("rank") .requires(source -> isAdmin(source)) .then(joueurArg))); @@ -87,6 +94,63 @@ public final class PalaCommands { return Command.SINGLE_SUCCESS; } + // M1 : prospecte les minerais pala dans un cube de rayon N autour du joueur. + // Affiche comptes par minerai + histogramme Y (8 bandes de 16) pour amethyste/titane. + // Test distribution worldgen (couches 6-10 + deep ocean). Rayon capé à 32 (65^3 lectures). + private static int orestats(CommandSourceStack source, int rayon) { + ServerPlayer player = source.getPlayer(); + if (player == null) { + source.sendFailure(Component.literal("§cCommande joueur uniquement.")); + return 0; + } + ServerLevel level = player.level(); + BlockPos center = player.blockPosition(); + java.util.Map counts = new java.util.HashMap<>(); + java.util.Map histo = new java.util.HashMap<>(); + net.minecraft.world.level.block.Block[] ores = {PalaBlocks.AMETHYST_ORE, PalaBlocks.TITANE_ORE, + PalaBlocks.PALADIUM_ORE, PalaBlocks.PALADIUM_GREEN_ORE, PalaBlocks.TRIXIUM_ORE, + PalaBlocks.FINDIUM_ORE, PalaBlocks.KISAKAY_ORE}; + for (int dx = -rayon; dx <= rayon; dx++) { + for (int dy = -rayon; dy <= rayon; dy++) { + for (int dz = -rayon; dz <= rayon; dz++) { + BlockPos pos = center.offset(dx, dy, dz); + net.minecraft.world.level.block.state.BlockState state = level.getBlockState(pos); + for (net.minecraft.world.level.block.Block ore : ores) { + if (state.is(ore)) { + String id = net.minecraft.core.registries.BuiltInRegistries.BLOCK + .getKey(ore).toString(); + counts.merge(id, 1, Integer::sum); + if (ore == PalaBlocks.AMETHYST_ORE || ore == PalaBlocks.TITANE_ORE) { + int[] bars = histo.computeIfAbsent(id, k -> new int[8]); + int band = Math.min(7, Math.max(0, (pos.getY() + 64) / 16)); + bars[band]++; + } + break; + } + } + } + } + } + StringBuilder out = new StringBuilder("§6[Orestats r=" + rayon + "]"); + java.util.List ids = new java.util.ArrayList<>(counts.keySet()); + java.util.Collections.sort(ids); + for (String id : ids) { + out.append("\n§e").append(id).append(" §7x§a").append(counts.get(id)); + int[] bars = histo.get(id); + if (bars != null) { + out.append(" §8Y[-64..63 par 16]="); + for (int b = 0; b < bars.length; b++) { + out.append(bars[b]).append(b < bars.length - 1 ? "/" : ""); + } + } + } + if (ids.isEmpty()) { + out.append("\n§7aucun minerai pala dans la zone."); + } + source.sendSuccess(() -> Component.literal(out.toString()), false); + return Command.SINGLE_SUCCESS; + } + private static int rank(CommandSourceStack source, ServerPlayer target, String rank) { if (!PalaConfig.get().rankNodes.containsKey(rank)) { source.sendFailure(Component.literal("§cRang inconnu : " + rank)); diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaWorldgen.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaWorldgen.java index 8ab14c7..185e212 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaWorldgen.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaWorldgen.java @@ -5,6 +5,7 @@ import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; import net.minecraft.core.registries.Registries; import net.minecraft.resources.Identifier; import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.placement.PlacedFeature; @@ -50,5 +51,16 @@ public final class PalaWorldgen { BiomeSelectors.foundInOverworld().or(BiomeSelectors.foundInTheEnd()), GenerationStep.Decoration.UNDERGROUND_ORES, key("titane_ore")); addOverworld("trixium_ore"); + // M1 (wiki minerais, VERIFIE) : amethyste + titane des la couche 25 dans les + // fonds marins des biomes deep ocean (les 4 variants). Placed *_deep dedies. + addDeepOcean("amethyst_ore_deep"); + addDeepOcean("titane_ore_deep"); + } + + private static void addDeepOcean(String path) { + BiomeModifications.addFeature( + BiomeSelectors.includeByKey(Biomes.DEEP_OCEAN, Biomes.DEEP_LUKEWARM_OCEAN, + Biomes.DEEP_COLD_OCEAN, Biomes.DEEP_FROZEN_OCEAN), + GenerationStep.Decoration.UNDERGROUND_ORES, key(path)); } } diff --git a/mods/pala/src/main/resources/data/pala/worldgen/feature/amethyst_ore.json b/mods/pala/src/main/resources/data/pala/worldgen/feature/amethyst_ore.json index 1a857a6..8f1e3b1 100644 --- a/mods/pala/src/main/resources/data/pala/worldgen/feature/amethyst_ore.json +++ b/mods/pala/src/main/resources/data/pala/worldgen/feature/amethyst_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:ore", "discard_chance_on_air_exposure": 0.0, - "size": 5, + "size": 8, "targets": [ { "state": "pala:amethyst_ore", diff --git a/mods/pala/src/main/resources/data/pala/worldgen/feature/titane_ore.json b/mods/pala/src/main/resources/data/pala/worldgen/feature/titane_ore.json index 1be9bef..70f6f7d 100644 --- a/mods/pala/src/main/resources/data/pala/worldgen/feature/titane_ore.json +++ b/mods/pala/src/main/resources/data/pala/worldgen/feature/titane_ore.json @@ -1,7 +1,7 @@ { "type": "minecraft:ore", "discard_chance_on_air_exposure": 0.0, - "size": 4, + "size": 8, "targets": [ { "state": "pala:titane_ore", diff --git a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore.json b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore.json index 42ced2e..cc997e0 100644 --- a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore.json +++ b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore.json @@ -11,12 +11,12 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:trapezoid", "min_inclusive": { - "absolute": 1 + "absolute": 6 }, "max_inclusive": { - "absolute": 25 + "absolute": 10 } } }, diff --git a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore_deep.json b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore_deep.json new file mode 100644 index 0000000..2e874a8 --- /dev/null +++ b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/amethyst_ore_deep.json @@ -0,0 +1,27 @@ +{ + "feature": "pala:amethyst_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 25 + }, + "max_inclusive": { + "absolute": 40 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore.json b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore.json index 3e3e6a3..4bbd986 100644 --- a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore.json +++ b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore.json @@ -11,12 +11,12 @@ { "type": "minecraft:height_range", "height": { - "type": "minecraft:uniform", + "type": "minecraft:trapezoid", "min_inclusive": { - "absolute": 1 + "absolute": 6 }, "max_inclusive": { - "absolute": 19 + "absolute": 10 } } }, diff --git a/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore_deep.json b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore_deep.json new file mode 100644 index 0000000..b753386 --- /dev/null +++ b/mods/pala/src/main/resources/data/pala/worldgen/placed_feature/titane_ore_deep.json @@ -0,0 +1,27 @@ +{ + "feature": "pala:titane_ore", + "placement": [ + { + "type": "minecraft:count", + "count": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": 25 + }, + "max_inclusive": { + "absolute": 40 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index 55b184b12b5f84dde2531c3535ae32a484b26662..3300cc8e82c155a5e7bf8cf460d9173411d92b0d 100644 GIT binary patch delta 23141 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