pala M-fix-1 + M-roller-1: canne 128 + rollers vitesse/saut

This commit is contained in:
Anaïs Saraiva
2026-10-19 08:39:35 +02:00
parent b91cf69e6f
commit 16e980c133
10 changed files with 61 additions and 5 deletions
+7
View File
@@ -767,6 +767,13 @@ avant M4 (TODO:crafts-machines).
nom enclume, max 3 persistee, 4e retire surnom 1ere, sans craft ECART). Lecon : nom enclume, max 3 persistee, 4e retire surnom 1ere, sans craft ECART). Lecon :
sp.server prive -> sp.level().getServer(). VERIFIE : build SUCCESSFUL, boot sp.server prive -> sp.level().getServer(). VERIFIE : build SUCCESSFUL, boot
Done, 0 erreur. UNVERIFIED en jeu. Done, 0 erreur. UNVERIFIED en jeu.
- M-fix-1 + M-roller-1 LIVRES 2026-10-19 ~08:35 : canne dura 384->128 (wiki outils
VERIFIE ; bonus loot sans chiffres SKIP TODO:chance-peche) + rollers (ArmorItem
pieds, tick transient +20% vitesse ECART + step 0.6->1.1, retrait auto, dura 128
ECART, sans craft). Decouverte : incrustation amulettes EXISTE (CUSTOM_DATA
plastron + magma fire ; hunter/voyance/combat/daemon/discretion = prochaine
vague, effets a lire). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur.
UNVERIFIED en jeu.
- M-palaforge LIVRE 2026-10-19 ~03:55 : bloc + BE partagee (3e mode) + gate mineur 14 + - 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, 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 lave exclue : seau non rendu) + craft (1 findium + 4 furnaces + 4 briques, positions
@@ -37,5 +37,8 @@ public final class PalaArmorMaterials {
// l'item) + masque de garde (stats casque fer). ECART : textures portees absentes // l'item) + masque de garde (stats casque fer). ECART : textures portees absentes
// du legacy (pas d'equipment JSON, rendu casque absent cote client). // du legacy (pas d'equipment JSON, rendu casque absent cote client).
public static final ArmorMaterial BALACLAVA = new ArmorMaterial(1, Map.of(ArmorType.HELMET, 0, ArmorType.CHESTPLATE, 0, ArmorType.LEGGINGS, 0, ArmorType.BOOTS, 0), 1, SoundEvents.ARMOR_EQUIP_LEATHER, 0.0F, 0.0F, repair("balaclava_repairs"), asset("balaclava")); public static final ArmorMaterial BALACLAVA = new ArmorMaterial(1, Map.of(ArmorType.HELMET, 0, ArmorType.CHESTPLATE, 0, ArmorType.LEGGINGS, 0, ArmorType.BOOTS, 0), 1, SoundEvents.ARMOR_EQUIP_LEATHER, 0.0F, 0.0F, repair("balaclava_repairs"), asset("balaclava"));
// M-roller-1 (wiki outils VERIFIE : vitesse + saut auto ; durabilite NON PUBLIEE
// -> ECART 128 ; sans craft ECART).
public static final ArmorMaterial ROLLER = new ArmorMaterial(128, Map.of(ArmorType.HELMET, 0, ArmorType.CHESTPLATE, 0, ArmorType.LEGGINGS, 0, ArmorType.BOOTS, 0), 1, SoundEvents.ARMOR_EQUIP_LEATHER, 0.0F, 0.0F, repair("roller_repairs"), asset("roller"));
public static final ArmorMaterial GUARD_MASK = new ArmorMaterial(15, Map.of(ArmorType.HELMET, 2, ArmorType.CHESTPLATE, 0, ArmorType.LEGGINGS, 0, ArmorType.BOOTS, 0), 9, SoundEvents.ARMOR_EQUIP_IRON, 0.0F, 0.0F, repair("guard_mask_repairs"), asset("guard_mask")); public static final ArmorMaterial GUARD_MASK = new ArmorMaterial(15, Map.of(ArmorType.HELMET, 2, ArmorType.CHESTPLATE, 0, ArmorType.LEGGINGS, 0, ArmorType.BOOTS, 0), 9, SoundEvents.ARMOR_EQUIP_IRON, 0.0F, 0.0F, repair("guard_mask_repairs"), asset("guard_mask"));
} }
@@ -140,11 +140,11 @@ public final class PalaItems {
// M-hunter-4 (wiki niv.9 VERIFIE : 4 degats + knockback, non enchantable) : Item // M-hunter-4 (wiki niv.9 VERIFIE : 4 degats + knockback, non enchantable) : Item
// simple (sans composant enchantable -> non enchantable) + attribut +3 degats // simple (sans composant enchantable -> non enchantable) + attribut +3 degats
// mainhand (1 base + 3 = 4 EXACT) ; le push x3 wither reste dans PalaJobEvents. // mainhand (1 base + 3 = 4 EXACT) ; le push x3 wither reste dans PalaJobEvents.
// M-hunter-4 (wiki niv.4 VERIFIE : craft 2 sticks pala + 1 lingot pala + 2 ficelles, // M-hunter-4 corrige M-fix-1 (wiki outils VERIFIE : durabilite 128, "peche plus
// "peche plus vite" NON QUANTIFIE -> ECART : durabilite 384 (6x vanilla, valeur // vite" + chance lingots amethyste/titane/paladium SANS CHIFFRES -> ECART : sans
// gameplay), sans bonus invente ; gate craft chasseur 4 non applicable (pas de // bonus (TODO:chance-peche) ; craft 2 sticks pala + 1 lingot pala + 2 ficelles ;
// gates craft). Textures legacy cast/uncast. // gate craft chasseur 4 non applicable (pas de gates craft). Textures cast/uncast.
public static final Item PALADIUM_FISHING_ROD = register("paladium_fishing_rod", id -> new net.minecraft.world.item.FishingRodItem(new Item.Properties().setId(id).stacksTo(1).durability(384))); public static final Item PALADIUM_FISHING_ROD = register("paladium_fishing_rod", id -> new net.minecraft.world.item.FishingRodItem(new Item.Properties().setId(id).stacksTo(1).durability(128)));
// M-hunter-5 (wiki niv.13/14 VERIFIE : epee 32 utilisations, 1 pierre = 1 ame, // M-hunter-5 (wiki niv.13/14 VERIFIE : epee 32 utilisations, 1 pierre = 1 ame,
// pleines non stackables, epee utilisable avant niv.13) : capture d'entites. // pleines non stackables, epee utilisable avant niv.13) : capture d'entites.
// ECART : degats epee non publies (Item simple), crafts exacts (positions image // ECART : degats epee non publies (Item simple), crafts exacts (positions image
@@ -238,6 +238,8 @@ public final class PalaItems {
public static final Item TITANE_CHESTPLATE = register("titane_chestplate", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.CHESTPLATE))); public static final Item TITANE_CHESTPLATE = register("titane_chestplate", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.CHESTPLATE)));
public static final Item TITANE_LEGGINGS = register("titane_leggings", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.LEGGINGS))); public static final Item TITANE_LEGGINGS = register("titane_leggings", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.LEGGINGS)));
public static final Item TITANE_BOOTS = register("titane_boots", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.BOOTS))); public static final Item TITANE_BOOTS = register("titane_boots", id -> new Item(new Item.Properties().setId(id).durability(18).humanoidArmor(PalaArmorMaterials.TITANE, ArmorType.BOOTS)));
// M-roller-1 : rollers aux pieds (voir tick PalaArmorEvents).
public static final Item ROLLER = register("roller", id -> new Item(new Item.Properties().setId(id).durability(128).humanoidArmor(PalaArmorMaterials.ROLLER, ArmorType.BOOTS)));
public static final Item WEIGHTED_BOOTS = register("weighted_boots", id -> new Item(new Item.Properties().setId(id).durability(16).humanoidArmor(PalaArmorMaterials.WEIGHTED_BOOTS, ArmorType.BOOTS))); public static final Item WEIGHTED_BOOTS = register("weighted_boots", id -> new Item(new Item.Properties().setId(id).durability(16).humanoidArmor(PalaArmorMaterials.WEIGHTED_BOOTS, ArmorType.BOOTS)));
public static void register() { public static void register() {
@@ -88,6 +88,7 @@ public final class PalaTabs {
output.accept(PalaItems.CAPTURE_STONE_EMPTY); output.accept(PalaItems.CAPTURE_STONE_EMPTY);
output.accept(PalaItems.CAPTURE_STONE_FULL); output.accept(PalaItems.CAPTURE_STONE_FULL);
output.accept(PalaItems.ENDIUM_NAMETAG); output.accept(PalaItems.ENDIUM_NAMETAG);
output.accept(PalaItems.ROLLER);
output.accept(PalaItems.SPAWNER_FINDER); output.accept(PalaItems.SPAWNER_FINDER);
output.accept(PalaItems.DYNAMITE); output.accept(PalaItems.DYNAMITE);
output.accept(PalaItems.NINJA_DYNAMITE); output.accept(PalaItems.NINJA_DYNAMITE);
@@ -86,6 +86,36 @@ public final class PalaArmorEvents {
} }
} }
// --- Rollers (M-roller-1, wiki outils VERIFIE : vitesse + saut auto ; +20%
// ECART non quantifie, step +0.5 -> 1.1 = monte 1 bloc).
net.minecraft.world.entity.ai.attributes.AttributeInstance speed =
player.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED);
net.minecraft.world.entity.ai.attributes.AttributeInstance step =
player.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.STEP_HEIGHT);
net.minecraft.resources.Identifier rollerSpeed =
net.minecraft.resources.Identifier.fromNamespaceAndPath("pala", "roller_speed");
net.minecraft.resources.Identifier rollerStep =
net.minecraft.resources.Identifier.fromNamespaceAndPath("pala", "roller_step");
if (wearing(player, EquipmentSlot.FEET, PalaItems.ROLLER)) {
if (speed != null && !speed.hasModifier(rollerSpeed)) {
speed.addOrUpdateTransientModifier(new net.minecraft.world.entity.ai.attributes.AttributeModifier(
rollerSpeed, 0.2,
net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL));
}
if (step != null && !step.hasModifier(rollerStep)) {
step.addOrUpdateTransientModifier(new net.minecraft.world.entity.ai.attributes.AttributeModifier(
rollerStep, 0.5,
net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation.ADD_VALUE));
}
} else {
if (speed != null && speed.hasModifier(rollerSpeed)) {
speed.removeModifier(rollerSpeed);
}
if (step != null && step.hasModifier(rollerStep)) {
step.removeModifier(rollerStep);
}
}
// --- Bottes lestees (M-gadget-4, legacy VERIFIE) : memorise la chute, explosion // --- Bottes lestees (M-gadget-4, legacy VERIFIE) : memorise la chute, explosion
// a l'atterrissage si > 3 blocs. Annulee en claim d'autrui (anti-grief, ECART). // a l'atterrissage si > 3 blocs. Annulee en claim d'autrui (anti-grief, ECART).
if (wearing(player, EquipmentSlot.FEET, PalaItems.WEIGHTED_BOOTS)) { if (wearing(player, EquipmentSlot.FEET, PalaItems.WEIGHTED_BOOTS)) {
@@ -0,0 +1,6 @@
{
"model": {
"type": "minecraft:model",
"model": "pala:item/roller"
}
}
@@ -14,6 +14,7 @@
"item.pala.capture_stone_empty": "Capture Stone", "item.pala.capture_stone_empty": "Capture Stone",
"item.pala.capture_stone_full": "Full Capture Stone", "item.pala.capture_stone_full": "Full Capture Stone",
"item.pala.endium_nametag": "Endium Tag", "item.pala.endium_nametag": "Endium Tag",
"item.pala.roller": "Rollers",
"item.pala.cave_hammer": "Marteau des cavernes", "item.pala.cave_hammer": "Marteau des cavernes",
"item.pala.magma_amulet": "Amulette de feu", "item.pala.magma_amulet": "Amulette de feu",
"enchantment.pala.experience_bottler": "Experience Bottler", "enchantment.pala.experience_bottler": "Experience Bottler",
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "pala:item/roller"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.