diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index ce400ff..2225a4e 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -785,6 +785,11 @@ avant M4 (TODO:crafts-machines). epee 8/4999 deja OK). Principe : wiki (public actuel) > legacy (prive ancien) pour les chiffres. VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu (degats effectifs). +- M-audit-2 LIVRE 2026-10-19 ~08:55 : 4 tiers restants (amethyst 5/4/6/1999, + titane 5.5/4.5/6.5/2999, green 8/7/9/4999, endium 9.3/10.3/4999 ; titane axe + dura deja 2999) + endium pick 3x3 (hammerArea) + gates usage endium (pick + @mineur20, axe @fermier20, BEFORE FAIL). ECART : treecapitator + no-break + endium TODO. VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED. - M-palaforge LIVRE 2026-10-19 ~03:55 : bloc + BE partagee (3e mode) + gate mineur 14 + table fonte wiki §3.2 (31 items, ratio floor usure) + fuels bois (+buche/planches/baton, lave exclue : seau non rendu) + craft (1 findium + 4 furnaces + 4 briques, positions diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java index 3579726..7fc9e70 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaItems.java @@ -90,13 +90,13 @@ public final class PalaItems { public static final Item SOCKET = register("socket", id -> new Item(new Item.Properties().setId(id))); public static final Item ORB_KNOCKBACK = register("orb_knockback", id -> new Item(new Item.Properties().setId(id))); public static final Item PALA_APPLE = register("pala_apple", id -> new Item(new Item.Properties().setId(id).stacksTo(16).food(new FoodProperties(4, 0.3F, true)))); - public static final Item AMETHYST_AXE = register("amethyst_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.AMETHYST_AXE, 3.7F, -3.0F))); + public static final Item AMETHYST_AXE = register("amethyst_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.AMETHYST_AXE, 6.0F, -3.0F))); public static final Item AMETHYST_HAMMER = register("amethyst_hammer", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.AMETHYST_HAMMER, 3.0F, -3.2F))); - public static final Item AMETHYST_PICKAXE = register("amethyst_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.AMETHYST_PICKAXE, 2.1F, -3.0F))); - public static final Item AMETHYST_SHOVEL = register("amethyst_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.AMETHYST_SHOVEL, 1.5F, -3.0F))); + public static final Item AMETHYST_PICKAXE = register("amethyst_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.AMETHYST_PICKAXE, 5.0F, -3.0F))); + public static final Item AMETHYST_SHOVEL = register("amethyst_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.AMETHYST_SHOVEL, 4.0F, -3.0F))); public static final Item AMETHYST_SWORD = register("amethyst_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.AMETHYST_SWORD, 5.0F, -2.4F))); - public static final Item ENDIUM_AXE = register("endium_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.ENDIUM_AXE, 7.5F, -3.0F))); - public static final Item ENDIUM_PICKAXE = register("endium_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.ENDIUM_PICKAXE, 5.5F, -3.0F))); + public static final Item ENDIUM_AXE = register("endium_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.ENDIUM_AXE, 10.3F, -3.0F))); + public static final Item ENDIUM_PICKAXE = register("endium_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.ENDIUM_PICKAXE, 9.3F, -3.0F))); public static final Item ENDIUM_SWORD = register("endium_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.ENDIUM_SWORD, 11.0F, -2.0F))); public static final Item KISAKAY_AXE = register("kisakay_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.KISAKAY_AXE, 25.0F, -3.0F))); // M-hoes-1 : grandes houes AoE (labourage dans PalaItemUseEvents, gates fermier). @@ -110,9 +110,9 @@ public final class PalaItems { public static final Item KISAKAY_SHOVEL = register("kisakay_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.KISAKAY_SHOVEL, 8.0F, -3.0F))); public static final Item KISAKAY_SWORD = register("kisakay_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.KISAKAY_SWORD, 8.0F, -3.0F))); public static final Item PALADIUM_AXE = register("paladium_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.PALADIUM_AXE, 9.0F, -3.0F))); - public static final Item PALADIUM_GREEN_AXE = register("paladium_green_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.PALADIUM_GREEN_AXE, 5.0F, -3.0F))); - public static final Item PALADIUM_GREEN_PICKAXE = register("paladium_green_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PALADIUM_GREEN_PICKAXE, 6.0F, -3.0F))); - public static final Item PALADIUM_GREEN_SHOVEL = register("paladium_green_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.PALADIUM_GREEN_SHOVEL, 2.0F, -3.0F))); + public static final Item PALADIUM_GREEN_AXE = register("paladium_green_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.PALADIUM_GREEN_AXE, 9.0F, -3.0F))); + public static final Item PALADIUM_GREEN_PICKAXE = register("paladium_green_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PALADIUM_GREEN_PICKAXE, 8.0F, -3.0F))); + public static final Item PALADIUM_GREEN_SHOVEL = register("paladium_green_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.PALADIUM_GREEN_SHOVEL, 7.0F, -3.0F))); public static final Item PALADIUM_GREEN_SWORD = register("paladium_green_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.PALADIUM_GREEN_SWORD, 9.0F, -2.2F))); public static final Item PALADIUM_HAMMER = register("paladium_hammer", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PALADIUM_HAMMER, 3.0F, -3.2F))); public static final Item PALADIUM_PICKAXE = register("paladium_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PALADIUM_PICKAXE, 8.0F, -3.0F))); @@ -217,10 +217,10 @@ public final class PalaItems { public static final Item PICKAXE_OF_THE_GOD_LEVEL7 = register("pickaxe_of_the_god_level7", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PICKAXE_OF_THE_GOD_LEVEL7, 0.6F, -2.7F).component(DataComponents.UNBREAKABLE, Unit.INSTANCE))); public static final Item PICKAXE_OF_THE_GOD_LEVEL8 = register("pickaxe_of_the_god_level8", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PICKAXE_OF_THE_GOD_LEVEL8, 0.6F, -2.5F).component(DataComponents.UNBREAKABLE, Unit.INSTANCE))); public static final Item PICKAXE_OF_THE_GOD_LEVEL9 = register("pickaxe_of_the_god_level9", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.PICKAXE_OF_THE_GOD_LEVEL9, 0.7F, -2.2F).component(DataComponents.UNBREAKABLE, Unit.INSTANCE))); - public static final Item TITANE_AXE = register("titane_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.TITANE_AXE, 1.8F, -3.0F))); + public static final Item TITANE_AXE = register("titane_axe", id -> new Item(new Item.Properties().setId(id).axe(PalaToolMaterials.TITANE_AXE, 6.5F, -3.0F))); public static final Item TITANE_HAMMER = register("titane_hammer", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.TITANE_HAMMER, 3.0F, -3.2F))); - public static final Item TITANE_PICKAXE = register("titane_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.TITANE_PICKAXE, 2.4F, -3.0F))); - public static final Item TITANE_SHOVEL = register("titane_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.TITANE_SHOVEL, 1.8F, -3.0F))); + public static final Item TITANE_PICKAXE = register("titane_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.TITANE_PICKAXE, 5.5F, -3.0F))); + public static final Item TITANE_SHOVEL = register("titane_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.TITANE_SHOVEL, 4.5F, -3.0F))); public static final Item TITANE_SWORD = register("titane_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.TITANE_SWORD, 6.0F, -2.4F))); // M-grinder-1 (wiki grinder §3.3/3.4) : broadsword +9 (lente) / fastsword +7 (rapide) vs // epee paladium +10 (8.0F). Echelle : 7.0F -> +9, 5.0F -> +7. Vitesses UNVERIFIED (wiki diff --git a/mods/pala/src/main/java/fr/surviepote/pala/PalaToolMaterials.java b/mods/pala/src/main/java/fr/surviepote/pala/PalaToolMaterials.java index cc32fd9..1177f4c 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/PalaToolMaterials.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/PalaToolMaterials.java @@ -36,13 +36,13 @@ public final class PalaToolMaterials { return BlockTags.INCORRECT_FOR_WOODEN_TOOL; } - public static final ToolMaterial AMETHYST_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1164, 7.0F, 0.0F, 12, repair("amethyst_axe_repairs")); - public static final ToolMaterial AMETHYST_HAMMER = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, 16000, 2.0F, 0.0F, 2, repair("amethyst_hammer_repairs")); - public static final ToolMaterial AMETHYST_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1164, 6.0F, 0.0F, 7, repair("amethyst_pickaxe_repairs")); - public static final ToolMaterial AMETHYST_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1164, 12.5F, 0.0F, 7, repair("amethyst_shovel_repairs")); + public static final ToolMaterial AMETHYST_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1999, 7.0F, 0.0F, 12, repair("amethyst_axe_repairs")); + public static final ToolMaterial AMETHYST_HAMMER = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, 1999, 2.0F, 0.0F, 2, repair("amethyst_hammer_repairs")); + public static final ToolMaterial AMETHYST_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1999, 6.0F, 0.0F, 7, repair("amethyst_pickaxe_repairs")); + public static final ToolMaterial AMETHYST_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1999, 12.5F, 0.0F, 7, repair("amethyst_shovel_repairs")); public static final ToolMaterial AMETHYST_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1999, 6.0F, 0.0F, 12, repair("amethyst_sword_repairs")); - public static final ToolMaterial ENDIUM_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4595, 10.0F, 0.0F, 14, repair("endium_axe_repairs")); - public static final ToolMaterial ENDIUM_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4595, 11.0F, 0.0F, 25, repair("endium_pickaxe_repairs")); + public static final ToolMaterial ENDIUM_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4999, 10.0F, 0.0F, 14, repair("endium_axe_repairs")); + public static final ToolMaterial ENDIUM_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 11.0F, 0.0F, 25, repair("endium_pickaxe_repairs")); public static final ToolMaterial ENDIUM_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4595, 11.0F, 0.0F, 25, repair("endium_sword_repairs")); public static final ToolMaterial KISAKAY_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_axe_repairs")); // M-hoes-1 (wiki outils VERIFIE : dura 1999/4999/4999/4999 ; vitesses = pioches @@ -56,12 +56,12 @@ public final class PalaToolMaterials { public static final ToolMaterial KISAKAY_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_shovel_repairs")); public static final ToolMaterial KISAKAY_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_sword_repairs")); public static final ToolMaterial PALADIUM_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 13.0F, 0.0F, 16, repair("paladium_axe_repairs")); - public static final ToolMaterial PALADIUM_GREEN_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 3362, 11.0F, 0.0F, 13, repair("paladium_green_axe_repairs")); - public static final ToolMaterial PALADIUM_GREEN_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 3362, 10.0F, 0.0F, 22, repair("paladium_green_pickaxe_repairs")); - public static final ToolMaterial PALADIUM_GREEN_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 3362, 14.0F, 0.0F, 9, repair("paladium_green_shovel_repairs")); + public static final ToolMaterial PALADIUM_GREEN_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4999, 11.0F, 0.0F, 13, repair("paladium_green_axe_repairs")); + public static final ToolMaterial PALADIUM_GREEN_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 10.0F, 0.0F, 22, repair("paladium_green_pickaxe_repairs")); + public static final ToolMaterial PALADIUM_GREEN_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4999, 14.0F, 0.0F, 9, repair("paladium_green_shovel_repairs")); public static final ToolMaterial PALADIUM_GREEN_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 10.0F, 0.0F, 22, repair("paladium_green_sword_repairs")); public static final ToolMaterial PALADIUM_HAMMER = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 4.0F, 0.0F, 2, repair("paladium_hammer_repairs")); - // M-audit-1 (wiki outils VERIFIE : outils pala 4999 + degats 8/7/9). + // M-audit-1/2 (wiki outils VERIFIE : duras 1999/2999/4999 par tier). public static final ToolMaterial PALADIUM_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, 4999, 9.0F, 0.0F, 10, repair("paladium_pickaxe_repairs")); public static final ToolMaterial PALADIUM_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4999, 12.0F, 0.0F, 34, repair("paladium_shovel_repairs")); public static final ToolMaterial PALADIUM_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, 4999, 9.0F, 0.0F, 20, repair("paladium_sword_repairs")); @@ -93,8 +93,8 @@ public final class PalaToolMaterials { public static final ToolMaterial PICKAXE_OF_THE_GOD_LEVEL8 = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1, 3.0F, 0.0F, 9, repair("pickaxe_of_the_god_level8_repairs")); public static final ToolMaterial PICKAXE_OF_THE_GOD_LEVEL9 = new ToolMaterial(BlockTags.INCORRECT_FOR_WOODEN_TOOL, 1, 3.2F, 0.0F, 11, repair("pickaxe_of_the_god_level9_repairs")); public static final ToolMaterial TITANE_AXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 2999, 14.5F, 0.0F, 9, repair("titane_axe_repairs")); - public static final ToolMaterial TITANE_HAMMER = new ToolMaterial(BlockTags.INCORRECT_FOR_WOODEN_TOOL, 16000, 2.0F, 0.0F, 2, repair("titane_hammer_repairs")); - public static final ToolMaterial TITANE_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1741, 7.0F, 0.0F, 12, repair("titane_pickaxe_repairs")); - public static final ToolMaterial TITANE_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1741, 12.0F, 0.0F, 16, repair("titane_shovel_repairs")); + public static final ToolMaterial TITANE_HAMMER = new ToolMaterial(BlockTags.INCORRECT_FOR_WOODEN_TOOL, 2999, 2.0F, 0.0F, 2, repair("titane_hammer_repairs")); + public static final ToolMaterial TITANE_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 2999, 7.0F, 0.0F, 12, repair("titane_pickaxe_repairs")); + public static final ToolMaterial TITANE_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2999, 12.0F, 0.0F, 16, repair("titane_shovel_repairs")); public static final ToolMaterial TITANE_SWORD = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1741, 7.0F, 0.0F, 14, repair("titane_sword_repairs")); } 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 fe90b5b..a0dc28c 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 @@ -112,6 +112,20 @@ public final class PalaToolEvents { return true; } ItemStack hand = sp.getMainHandItem(); + // M-audit-2 (wiki outils endium VERIFIE : pick 3x3 @mineur20, axe 1-coup + // @fermier20) : gates d'usage (treecapitator = TODO, 1-coup non porte). + if (hand.is(PalaItems.ENDIUM_PICKAXE) + && fr.surviepote.pala.core.PalaJobs.levelOf(sp, "mineur") < 20) { + sp.sendSystemMessage(net.minecraft.network.chat.Component.literal( + "§cMineur niveau 20 requis pour la pioche en endium.")); + return false; + } + if (hand.is(PalaItems.ENDIUM_AXE) + && fr.surviepote.pala.core.PalaJobs.levelOf(sp, "fermier") < 20) { + sp.sendSystemMessage(net.minecraft.network.chat.Component.literal( + "§cFermier niveau 20 requis pour la hache en endium.")); + return false; + } if (hand.isEmpty() || !GOD_PICKAXES.contains(hand.getItem())) { return true; } @@ -207,6 +221,10 @@ public final class PalaToolEvents { || held == PalaItems.TITANE_HAMMER) { hammerArea(sl, sp, pos); } + // M-audit-2 : pioche endium 3x3 (gate BEFORE ci-dessus). + if (held == PalaItems.ENDIUM_PICKAXE) { + hammerArea(sl, sp, pos); + } // --- Recoltes : drops selon stade --- handleCropBreak(sl, broken, pos, sp); diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index 6ddbf87..7bc50fc 100644 Binary files a/server/mods/pala-0.2.1.jar and b/server/mods/pala-0.2.1.jar differ