pala M-hoes-1 + M-fix-2: 4 grandes houes AoE + capture +7
This commit is contained in:
@@ -774,6 +774,12 @@ avant M4 (TODO:crafts-machines).
|
|||||||
plastron + magma fire ; hunter/voyance/combat/daemon/discretion = prochaine
|
plastron + magma fire ; hunter/voyance/combat/daemon/discretion = prochaine
|
||||||
vague, effets a lire). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur.
|
vague, effets a lire). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur.
|
||||||
UNVERIFIED en jeu.
|
UNVERIFIED en jeu.
|
||||||
|
- M-hoes-1 + M-fix-2 LIVRES 2026-10-19 ~08:45 : 4 grandes houes (dura wiki
|
||||||
|
1999/4999/4999/4999, AoE 2x2/6x6/8x8/12x12 ancre ECART, gates fermier 2/12/16/20
|
||||||
|
FAIL, claims, -1 dura/bloc ECART, sans craft ; titane SKIP texture) + capture
|
||||||
|
sword +7 (attribut +6, comme knocker). Lecon : outils 26.3 = .hoe() sur
|
||||||
|
Properties (pas de HoeItem). 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
|
||||||
|
|||||||
@@ -99,6 +99,12 @@ public final class PalaItems {
|
|||||||
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_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_SWORD = register("endium_sword", id -> new Item(new Item.Properties().setId(id).sword(PalaToolMaterials.ENDIUM_SWORD, 11.0F, -2.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)));
|
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).
|
||||||
|
// Degats 1.0F/-2.0F ECART (non publies) ; houe titane SKIP TODO:texture.
|
||||||
|
public static final Item AMETHYST_HOE = register("amethyst_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.AMETHYST_HOE, 1.0F, -2.0F)));
|
||||||
|
public static final Item PALADIUM_HOE = register("paladium_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.PALADIUM_HOE, 1.0F, -2.0F)));
|
||||||
|
public static final Item PALADIUM_GREEN_HOE = register("paladium_green_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.PALADIUM_GREEN_HOE, 1.0F, -2.0F)));
|
||||||
|
public static final Item ENDIUM_HOE = register("endium_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.ENDIUM_HOE, 1.0F, -2.0F)));
|
||||||
public static final Item KISAKAY_HOE = register("kisakay_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.KISAKAY_HOE, 8.0F, -3.0F)));
|
public static final Item KISAKAY_HOE = register("kisakay_hoe", id -> new Item(new Item.Properties().setId(id).hoe(PalaToolMaterials.KISAKAY_HOE, 8.0F, -3.0F)));
|
||||||
public static final Item KISAKAY_PICKAXE = register("kisakay_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.KISAKAY_PICKAXE, 8.0F, -3.0F)));
|
public static final Item KISAKAY_PICKAXE = register("kisakay_pickaxe", id -> new Item(new Item.Properties().setId(id).pickaxe(PalaToolMaterials.KISAKAY_PICKAXE, 8.0F, -3.0F)));
|
||||||
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_SHOVEL = register("kisakay_shovel", id -> new Item(new Item.Properties().setId(id).shovel(PalaToolMaterials.KISAKAY_SHOVEL, 8.0F, -3.0F)));
|
||||||
@@ -152,7 +158,14 @@ public final class PalaItems {
|
|||||||
// M-hunter-6 (wiki niv.18 VERIFIE : renomme 1 entite, max 3, la 4e fait perdre
|
// M-hunter-6 (wiki niv.18 VERIFIE : renomme 1 entite, max 3, la 4e fait perdre
|
||||||
// le surnom a la 1ere ; nom via rename enclume comme nametag vanilla, ECART).
|
// le surnom a la 1ere ; nom via rename enclume comme nametag vanilla, ECART).
|
||||||
public static final Item ENDIUM_NAMETAG = register("endium_nametag", id -> new Item(new Item.Properties().setId(id).stacksTo(16)));
|
public static final Item ENDIUM_NAMETAG = register("endium_nametag", id -> new Item(new Item.Properties().setId(id).stacksTo(16)));
|
||||||
public static final Item CAPTURE_SWORD = register("capture_sword", id -> new Item(new Item.Properties().setId(id).stacksTo(1).durability(32)));
|
public static final Item CAPTURE_SWORD = register("capture_sword", id -> new Item(new Item.Properties().setId(id).stacksTo(1).durability(32).component(DataComponents.ATTRIBUTE_MODIFIERS,
|
||||||
|
net.minecraft.world.item.component.ItemAttributeModifiers.builder().add(
|
||||||
|
net.minecraft.world.entity.ai.attributes.Attributes.ATTACK_DAMAGE,
|
||||||
|
new net.minecraft.world.entity.ai.attributes.AttributeModifier(
|
||||||
|
net.minecraft.resources.Identifier.fromNamespaceAndPath("pala", "capture_sword"),
|
||||||
|
6.0,
|
||||||
|
net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation.ADD_VALUE),
|
||||||
|
net.minecraft.world.entity.EquipmentSlotGroup.MAINHAND).build())));
|
||||||
public static final Item CAPTURE_STONE_EMPTY = register("capture_stone_empty", id -> new Item(new Item.Properties().setId(id)));
|
public static final Item CAPTURE_STONE_EMPTY = register("capture_stone_empty", id -> new Item(new Item.Properties().setId(id)));
|
||||||
public static final Item CAPTURE_STONE_FULL = register("capture_stone_full", id -> new Item(new Item.Properties().setId(id).stacksTo(1)));
|
public static final Item CAPTURE_STONE_FULL = register("capture_stone_full", id -> new Item(new Item.Properties().setId(id).stacksTo(1)));
|
||||||
public static final Item INFERNAL_KNOCKER = register("infernal_knocker", id -> new Item(new Item.Properties().setId(id).stacksTo(1).component(DataComponents.ATTRIBUTE_MODIFIERS,
|
public static final Item INFERNAL_KNOCKER = register("infernal_knocker", id -> new Item(new Item.Properties().setId(id).stacksTo(1).component(DataComponents.ATTRIBUTE_MODIFIERS,
|
||||||
|
|||||||
@@ -89,6 +89,10 @@ public final class PalaTabs {
|
|||||||
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.ROLLER);
|
||||||
|
output.accept(PalaItems.AMETHYST_HOE);
|
||||||
|
output.accept(PalaItems.PALADIUM_HOE);
|
||||||
|
output.accept(PalaItems.PALADIUM_GREEN_HOE);
|
||||||
|
output.accept(PalaItems.ENDIUM_HOE);
|
||||||
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);
|
||||||
|
|||||||
@@ -45,6 +45,12 @@ public final class PalaToolMaterials {
|
|||||||
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_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4595, 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 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"));
|
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
|
||||||
|
// du tier ECART ; degats/enchant comme pioches du tier).
|
||||||
|
public static final ToolMaterial AMETHYST_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_STONE_TOOL, 1999, 6.0F, 0.0F, 7, repair("amethyst_hoe_repairs"));
|
||||||
|
public static final ToolMaterial PALADIUM_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_IRON_TOOL, 4999, 9.0F, 0.0F, 10, repair("paladium_hoe_repairs"));
|
||||||
|
public static final ToolMaterial PALADIUM_GREEN_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 10.0F, 0.0F, 22, repair("paladium_green_hoe_repairs"));
|
||||||
|
public static final ToolMaterial ENDIUM_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 4999, 11.0F, 0.0F, 25, repair("endium_hoe_repairs"));
|
||||||
public static final ToolMaterial KISAKAY_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_hoe_repairs"));
|
public static final ToolMaterial KISAKAY_HOE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_hoe_repairs"));
|
||||||
public static final ToolMaterial KISAKAY_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_pickaxe_repairs"));
|
public static final ToolMaterial KISAKAY_PICKAXE = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_pickaxe_repairs"));
|
||||||
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_SHOVEL = new ToolMaterial(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 1927, 14.0F, 0.0F, 60, repair("kisakay_shovel_repairs"));
|
||||||
|
|||||||
@@ -365,6 +365,63 @@ public final class PalaItemUseEvents {
|
|||||||
ItemStack stack = player.getItemInHand(hand);
|
ItemStack stack = player.getItemInHand(hand);
|
||||||
Item item = stack.isEmpty() ? null : stack.getItem();
|
Item item = stack.isEmpty() ? null : stack.getItem();
|
||||||
|
|
||||||
|
// --- Grandes houes (M-hoes-1, wiki outils VERIFIE : AoE + gates fermier) :
|
||||||
|
// carre NxN ancre (bloc clique = coin, ECART pairs non centrables), FAIL si
|
||||||
|
// gate KO (pas de contournement vanilla), -1 dura/bloc ECART, claims respectes.
|
||||||
|
int hoeSize = 0;
|
||||||
|
int hoeLevel = 0;
|
||||||
|
if (item == PalaItems.AMETHYST_HOE) {
|
||||||
|
hoeSize = 2;
|
||||||
|
hoeLevel = 2;
|
||||||
|
} else if (item == PalaItems.PALADIUM_HOE) {
|
||||||
|
hoeSize = 6;
|
||||||
|
hoeLevel = 12;
|
||||||
|
} else if (item == PalaItems.PALADIUM_GREEN_HOE) {
|
||||||
|
hoeSize = 8;
|
||||||
|
hoeLevel = 16;
|
||||||
|
} else if (item == PalaItems.ENDIUM_HOE) {
|
||||||
|
hoeSize = 12;
|
||||||
|
hoeLevel = 20;
|
||||||
|
}
|
||||||
|
if (hoeSize > 0) {
|
||||||
|
if (fr.surviepote.pala.core.PalaJobs.levelOf(sp, "fermier") < hoeLevel) {
|
||||||
|
final int required = hoeLevel;
|
||||||
|
sp.sendSystemMessage(net.minecraft.network.chat.Component.literal(
|
||||||
|
"§cFermier niveau " + required + " requis pour cette houe."));
|
||||||
|
return InteractionResult.FAIL;
|
||||||
|
}
|
||||||
|
int tilled = 0;
|
||||||
|
for (int dx = 1 - hoeSize; dx <= 0; dx++) {
|
||||||
|
for (int dz = 1 - hoeSize; dz <= 0; dz++) {
|
||||||
|
if (stack.isEmpty()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
BlockPos cursor = pos.offset(dx, 0, dz);
|
||||||
|
BlockState state = sl.getBlockState(cursor);
|
||||||
|
Block b = state.getBlock();
|
||||||
|
if (b != Blocks.GRASS_BLOCK && b != Blocks.DIRT
|
||||||
|
&& b != Blocks.COARSE_DIRT && b != Blocks.DIRT_PATH) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!sl.getBlockState(cursor.above()).isAir()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!fr.surviepote.pala.events.PalaFactionProtect.canAct(sp, sl, cursor)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
sl.setBlock(cursor, Blocks.FARMLAND.defaultBlockState(), 11);
|
||||||
|
stack.hurtAndBreak(1, sp, hand);
|
||||||
|
tilled++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tilled > 0) {
|
||||||
|
sl.playSound(null, pos.getX(), pos.getY(), pos.getZ(),
|
||||||
|
SoundEvents.HOE_TILL, SoundSource.BLOCKS, 1.0F, 1.0F);
|
||||||
|
return InteractionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
return InteractionResult.PASS;
|
||||||
|
}
|
||||||
|
|
||||||
// --- Grinder : le coeur (PalaGrinderBlock) gere lui-meme le clic droit
|
// --- Grinder : le coeur (PalaGrinderBlock) gere lui-meme le clic droit
|
||||||
// (diagnostic PalaGrinder.isFormed + ouverture GUI). Rien a faire ici : PASS
|
// (diagnostic PalaGrinder.isFormed + ouverture GUI). Rien a faire ici : PASS
|
||||||
// pour laisser useWithoutItem du bloc s'executer (un SUCCESS du callback
|
// pour laisser useWithoutItem du bloc s'executer (un SUCCESS du callback
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "pala:item/amethyst_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "pala:item/endium_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "pala:item/paladium_green_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "pala:item/paladium_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,6 +15,10 @@
|
|||||||
"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.roller": "Rollers",
|
||||||
|
"item.pala.amethyst_hoe": "Amethyst Hoe",
|
||||||
|
"item.pala.paladium_hoe": "Paladium Hoe",
|
||||||
|
"item.pala.paladium_green_hoe": "Green Paladium Hoe",
|
||||||
|
"item.pala.endium_hoe": "Endium Hoe",
|
||||||
"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/amethyst_radius_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "pala:item/endium_radius_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "pala:item/green_paladium_radius_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "pala:item/paladium_hoe"
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 332 B |
Binary file not shown.
|
After Width: | Height: | Size: 449 B |
Binary file not shown.
|
After Width: | Height: | Size: 297 B |
Binary file not shown.
|
After Width: | Height: | Size: 217 B |
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"pala:amethyst_ingot"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"pala:endium_ingot"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"pala:paladium_green_ingot"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"pala:paladium_ingot"
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
Reference in New Issue
Block a user