From 3330b5bd0414dae12e06f3c188580e95b2055b8d 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:48:42 +0200 Subject: [PATCH] pala M2: tooltip XP POG via LORE serveur + craft verifie conforme wiki --- PALAMOD_CDC.md | 12 +++++-- .../pala/events/PalaToolEvents.java | 31 ++++++++++++++++-- server/mods/pala-0.2.1.jar | Bin 326164 -> 326880 bytes 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index 6acb892..1635139 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -452,9 +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 : 12 nommes (grep : ocr-fiable, worldgen-couches, broadsword, +- TODO explicites : 13 nommes (grep : ocr-fiable, worldgen-couches, broadsword, crafts-machines, chervil, commandes-exactes, ghost, luckperms, runclient, mcp-ocular, shebang, - java-home) + java-home, pog-os) + 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 @@ -490,6 +490,14 @@ avant M4 (TODO:crafts-machines). (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). +- M2 LIVRE (partiel) 2026-10-18 23:45 : tooltip XP POG via composant LORE serveur + (ItemLore verifie au javap ; niveau + "XP : x / seuil" maj a chaque casse, ligne MAX au niv.25 ; + conserve sur evolution). Craft POG VERIFIE dans data (pattern "#AB/C/C" = 1 pioche amethyste + + 1 paladium + 1 titane + 2 sticks paladium, conforme wiki). Seuils legacy conserves (25..3500). + VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED : affichage tooltip en jeu + (pas de joueur), paliers OS wiki non implementes (TODO:pog-os : seuils one-shot 11/21/26/31. + Raison : M2 lore d'abord, OS ensuite). + 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. diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java index b638ad3..b442843 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java @@ -48,6 +48,7 @@ public final class PalaToolEvents { private static final Set GOD_PICKAXES = new HashSet<>(); private static final Map GOD_UPGRADES = new java.util.HashMap<>(); + private static final Map GOD_NUMBERS = new java.util.HashMap<>(); static { Item base = PalaItems.PICKAXE_OF_THE_GOD; @@ -83,6 +84,9 @@ public final class PalaToolEvents { for (Item item : chain) { GOD_PICKAXES.add(item); } + for (int i = 0; i < chain.length; i++) { + GOD_NUMBERS.put(chain[i], i); + } for (int i = 0; i < thresholds.length; i++) { GOD_UPGRADES.put(chain[i], new GodLevel(chain[i], thresholds[i], chain[i + 1])); } @@ -112,21 +116,28 @@ public final class PalaToolEvents { if (held != null && GOD_PICKAXES.contains(held)) { if (held == PalaItems.PICKAXE_OF_THE_GOD_LEVEL25) { sp.giveExperiencePoints(1); + setGodLore(hand, 25, -1, -1); } else { GodLevel upgrade = GOD_UPGRADES.get(held); if (upgrade != null) { double value = hand.getOrDefault(DataComponents.CUSTOM_DATA, CustomData.EMPTY) .copyTag().getDoubleOr("level", -1.0) + 1.0; + int godLevel = GOD_NUMBERS.getOrDefault(held, 0); if (value >= upgrade.threshold()) { - sp.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(upgrade.next(), 1)); + ItemStack evolved = new ItemStack(upgrade.next(), 1); + GodLevel next = GOD_UPGRADES.get(upgrade.next()); + setGodLore(evolved, godLevel + 1, 0, + next == null ? -1 : next.threshold()); + sp.setItemSlot(EquipmentSlot.MAINHAND, evolved); sp.sendSystemMessage(Component.literal("§2Your " + new ItemStack(held).getItemName().getString() + " §2Leveled Up to " - + new ItemStack(upgrade.next()).getItemName().getString())); + + evolved.getItemName().getString())); } else { final double stored = value; CustomData.update(DataComponents.CUSTOM_DATA, hand, tag -> tag.putDouble("level", stored)); + setGodLore(hand, godLevel, stored, upgrade.threshold()); sp.sendOverlayMessage(Component.literal("§6You Need to Mine " + (int) (upgrade.threshold() - stored) + " §6To Level Up")); } @@ -295,4 +306,20 @@ public final class PalaToolEvents { static boolean isGodPickaxe(Item item) { return GOD_PICKAXES.contains(item); } + + // M2 (wiki POG, VERIFIE) : le niveau est dans le nom (lang), le nombre d'XP vers le + // niveau suivant va dans le tooltip via le composant LORE (serveur -> client vanilla). + // stored/threshold < 0 : ligne MAX (niveau 25) ou objectif inconnu. + private static void setGodLore(ItemStack stack, int level, double stored, double threshold) { + java.util.List lines; + if (stored < 0 || threshold < 0) { + lines = java.util.List.of(Component.literal("§6Niveau " + level + " §8(MAX)")); + } else { + lines = java.util.List.of( + Component.literal("§6Niveau " + level), + Component.literal("§7XP : " + (int) stored + " / " + (int) threshold)); + } + stack.set(DataComponents.LORE, + new net.minecraft.world.item.component.ItemLore(lines)); + } } diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index 3300cc8e82c155a5e7bf8cf460d9173411d92b0d..379ef8dc2b8b8a7d9b32c71e625a22a564732f4b 100644 GIT binary patch delta 19296 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 OEDCJD|1mQ#FaQ9lwIJdE