diff --git a/src/generated/resources/.cache/04be5e97bf4d7144441a568533bcef2d5d88cc7d b/src/generated/resources/.cache/04be5e97bf4d7144441a568533bcef2d5d88cc7d index cdabdf8c6..614622a74 100644 --- a/src/generated/resources/.cache/04be5e97bf4d7144441a568533bcef2d5d88cc7d +++ b/src/generated/resources/.cache/04be5e97bf4d7144441a568533bcef2d5d88cc7d @@ -103,6 +103,7 @@ c551f7f40b62278b6423b57b00126deec9035225 assets/modulargolems/models/item/quartz 43717a5eb1b01a2e9640f297929c1b5d838cbd26 assets/modulargolems/models/item/recycle_blue.json e21189fc27b4253bd81cbafcc4bfeee9bd19683c assets/modulargolems/models/item/recycle_purple.json 295b30187a6f2f55f4089bec3ff128db02269865 assets/modulargolems/models/item/retrieval_wand.json +2b92cf818596b85466df98f955ce653f3eeddb55 assets/modulargolems/models/item/rider_wand.json 9806afe1161ebd9726ce1a694c0c8cbd8f081122 assets/modulargolems/models/item/slow.json 9c32e472d6fddd1120cd945cfcd0f36e5adaa630 assets/modulargolems/models/item/slow_blue.json 95f8a06aead32162ab7be1fdd8aece601f509835 assets/modulargolems/models/item/slow_purple.json diff --git a/src/generated/resources/.cache/7680bc12dd1f97f7626d19ff0abb81845e7fa9a8 b/src/generated/resources/.cache/7680bc12dd1f97f7626d19ff0abb81845e7fa9a8 index 3643c1599..591f7e813 100644 --- a/src/generated/resources/.cache/7680bc12dd1f97f7626d19ff0abb81845e7fa9a8 +++ b/src/generated/resources/.cache/7680bc12dd1f97f7626d19ff0abb81845e7fa9a8 @@ -1,3 +1,4 @@ // 1.20.1 2023-07-06T09:24:53.44889 Golem Config + c2109e3144fe2e624e8895b77ea4815b55d19cd3 data/modulargolems/modulargolems_config/materials/vanilla.json 45c774627b2c77dbae4c65f4654dd7033fda2f83 data/modulargolems/modulargolems_config/parts/default.json diff --git a/src/generated/resources/assets/modulargolems/lang/en_ud.json b/src/generated/resources/assets/modulargolems/lang/en_ud.json index aa285a3c1..f50f10262 100644 --- a/src/generated/resources/assets/modulargolems/lang/en_ud.json +++ b/src/generated/resources/assets/modulargolems/lang/en_ud.json @@ -127,6 +127,7 @@ "item.modulargolems.quartz": "ǝpɐɹbd∩ zʇɹɐnὉ", "item.modulargolems.recycle": "ǝpɐɹbdb∩ ǝןɔʎɔǝᴚ", "item.modulargolems.retrieval_wand": "puɐM ןɐʌǝıɹʇǝᴚ", + "item.modulargolems.rider_wand": "puɐM ɹǝpıᴚ", "item.modulargolems.slow": "ssǝuʍoןS :ǝpɐɹbd∩ uoıʇoԀ", "item.modulargolems.soul_flame": "ǝɯɐןℲ ןnoS :ǝpɐɹbd∩ uoıʇoԀ", "item.modulargolems.speed": "ǝpɐɹbd∩ pǝǝdS", @@ -232,6 +233,7 @@ "modulargolems.tooltip.standing": ")%s '%s '%s( ʇɐ ʎɐʇs ןןıʍ ɯǝןo⅁", "modulargolems.wand.command": "˙ʇı oʇ ʇǝbɹɐʇ ɥɔʇıʍs oʇ sɯǝןob buıpunoɹɹns ɹnoʎ ןןɐ ןןɐɔ ןןıʍ puɐʍ sıɥʇ ɥʇıʍ ʎʇıʇuǝ buıʞɔɐʇʇⱯ ˙ʎɹoʇuǝʌuı ǝɹnbıɟuoɔ oʇ ɯǝןob pıouɐɯnH ʞɔıןɔ ʇɥbıɹ ʇɟıɥS ˙sɯǝןob ɹoɟ sǝpoɯ ɥɔʇıʍs oʇ ʞɔıןɔ ʇɥbıᴚ", "modulargolems.wand.retrieve": "˙ʎɹoʇuǝʌuı oʇuı ʞɔɐq ɯǝןob ǝʌǝıɹʇǝɹ oʇ sɯǝןob ʎɐʍɐɹɐɟ ʞɔıןɔ ʇɥbıɹ ʇɟıɥS ˙sɯǝןob buıpunoɹɹns ɹnoʎ ןןɐ ǝʌǝıɹʇǝɹ oʇ ʞɔıןɔ ʇɥbıᴚ", + "modulargolems.wand.rider": "˙ʇı uo ǝpıɹ oʇ ɯǝןobbop ɹnoʎ oʇ ʞɔıןɔ ʇɥbıᴚ", "modulargolems.wand.summon": "˙ʎɹoʇuǝʌuı ɹnoʎ ɯoɹɟ sɯǝןob ןןɐ uoɯɯns oʇ ʞɔıןɔ ʇɥbıɹ ʇɟıɥS ˙puɐʍ ǝɥʇ ʎq pǝʇuıod uoıʇısod ʎɐʍɐɹɐɟ ɐ oʇ ɯǝןob ǝuo uoɯɯns oʇ ʞɔıןɔ ʇɥbıᴚ", "patchouli.modulargolems.landing": "poɯ ǝpɐɹbdn puɐ ʎןqɯǝssɐ ɯǝןob ǝʞıן-ɹǝʞuı⟘ oʇ ǝɯoɔןǝM", "patchouli.modulargolems.title": "ǝpın⅁ ɯǝןo⅁ ɹɐןnpoW" diff --git a/src/generated/resources/assets/modulargolems/lang/en_us.json b/src/generated/resources/assets/modulargolems/lang/en_us.json index 63152c5bd..473c42a77 100644 --- a/src/generated/resources/assets/modulargolems/lang/en_us.json +++ b/src/generated/resources/assets/modulargolems/lang/en_us.json @@ -127,6 +127,7 @@ "item.modulargolems.quartz": "Quartz Upgrade", "item.modulargolems.recycle": "Recycle Ugpgrade", "item.modulargolems.retrieval_wand": "Retrieval Wand", + "item.modulargolems.rider_wand": "Rider Wand", "item.modulargolems.slow": "Potion Upgrade: Slowness", "item.modulargolems.soul_flame": "Potion Upgrade: Soul Flame", "item.modulargolems.speed": "Speed Upgrade", @@ -232,6 +233,7 @@ "modulargolems.tooltip.standing": "Golem will stay at (%s, %s, %s)", "modulargolems.wand.command": "Right click to switch modes for golems. Shift right click Humanoid golem to configure inventory. Attacking entity with this wand will call all your surrounding golems to switch target to it.", "modulargolems.wand.retrieve": "Right click to retrieve all your surrounding golems. Shift right click faraway golems to retrieve golem back into inventory.", + "modulargolems.wand.rider": "Right click to your doggolem to ride on it.", "modulargolems.wand.summon": "Right click to summon one golem to a faraway position pointed by the wand. Shift right click to summon all golems from your inventory.", "patchouli.modulargolems.landing": "Welcome to Tinker-like golem assembly and upgrade mod", "patchouli.modulargolems.title": "Modular Golem Guide" diff --git a/src/generated/resources/assets/modulargolems/models/item/rider_wand.json b/src/generated/resources/assets/modulargolems/models/item/rider_wand.json new file mode 100644 index 000000000..d250b5714 --- /dev/null +++ b/src/generated/resources/assets/modulargolems/models/item/rider_wand.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "modulargolems:item/rider_wand" + } +} \ No newline at end of file diff --git a/src/main/java/dev/xkmc/modulargolems/content/entity/common/AbstractGolemEntity.java b/src/main/java/dev/xkmc/modulargolems/content/entity/common/AbstractGolemEntity.java index 6400fdd09..e269d9064 100644 --- a/src/main/java/dev/xkmc/modulargolems/content/entity/common/AbstractGolemEntity.java +++ b/src/main/java/dev/xkmc/modulargolems/content/entity/common/AbstractGolemEntity.java @@ -66,7 +66,8 @@ public class AbstractGolemEntity, P extends IGolemPart

> extends AbstractGolem implements IEntityAdditionalSpawnData, NeutralMob, OwnableEntity, PowerableMob { - protected AbstractGolemEntity(EntityType type, Level level) { + + protected AbstractGolemEntity(EntityType type, Level level) { super(type, level); this.waterNavigation = new AmphibiousPathNavigation(this, level); this.groundNavigation = new GroundPathNavigation(this, level); diff --git a/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemEntity.java b/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemEntity.java index b0d5de3fd..eebb416f0 100644 --- a/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemEntity.java +++ b/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemEntity.java @@ -13,24 +13,29 @@ import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal; import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec2; import net.minecraft.world.phys.Vec3; - @SerialClass public class DogGolemEntity extends AbstractGolemEntity { - + private float standAnimO; + protected boolean isJumping; public DogGolemEntity(EntityType type, Level level) { super(type, level); + setMaxUpStep(1); } public float getTailAngle() { @@ -41,7 +46,78 @@ public float getTailAngle() { return (0.55F - percentage * 0.16F) * (float) Math.PI; } } + //ride + public void aiStep() { + super.aiStep(); + } + protected void positionRider(Entity p_289569_, Entity.MoveFunction p_289558_) { + super.positionRider(p_289569_, p_289558_); + if (this.standAnimO > 0.0F) { + float f = Mth.sin(this.yBodyRot * ((float)Math.PI / 180F)); + float f1 = Mth.cos(this.yBodyRot * ((float)Math.PI / 180F)); + float f2 = 0.7F * this.standAnimO; + float f3 = 0.15F * this.standAnimO; + p_289558_.accept(p_289569_, this.getX() + (double)(f2 * f), this.getY() + this.getPassengersRidingOffset() + p_289569_.getMyRidingOffset() + (double)f3, this.getZ() - (double)(f2 * f1)); + if (p_289569_ instanceof LivingEntity) { + ((LivingEntity)p_289569_).yBodyRot = this.yBodyRot; + } + } + } + protected void tickRidden(Player player, Vec3 vec3) { + super.tickRidden(player, vec3); + Vec2 vec2 = this.getRiddenRotation(player); + this.setRot(vec2.y, vec2.x); + this.yRotO = this.yBodyRot = this.yHeadRot = this.getYRot(); + if (this.isControlledByLocalInstance()) { + if (this.onGround()) { + if (player.jumping) { + this.executeRidersJump(vec3); + } + } + } + } + protected Vec2 getRiddenRotation(LivingEntity p_275502_) { + return new Vec2(p_275502_.getXRot() * 0.5F, p_275502_.getYRot()); + } + protected Vec3 getRiddenInput(Player p_278278_, Vec3 p_275506_) { + float f = p_278278_.xxa * 0.5F; + float f1 = p_278278_.zza; + if (f1 <= 0.0F) { + f1 *= 0.25F; + } + return new Vec3((double)f, 0.0D, (double)f1); + } + public LivingEntity getControllingPassenger() { + Entity entity = this.getFirstPassenger(); + if (entity instanceof LivingEntity) { + return (LivingEntity) entity; + } + return null; + } + protected float getRiddenSpeed(Player p_278336_) { + return (float)this.getAttributeValue(Attributes.MOVEMENT_SPEED); + } + //jump when ridding + public double getCustomJump() { + return 2; + } + public void setIsJumping(boolean p_30656_) { + this.isJumping = p_30656_; + } + protected void executeRidersJump(Vec3 p_275435_) { + Vec3 vec3 = this.getDeltaMovement(); + this.setDeltaMovement(vec3.x, 0.53F, vec3.z); + this.setIsJumping(true); + this.hasImpulse = true; + net.minecraftforge.common.ForgeHooks.onLivingJump(this); + if (p_275435_.z > 0.0D) { + float f = Mth.sin(this.getYRot() * ((float)Math.PI / 180F)); + float f1 = Mth.cos(this.getYRot() * ((float)Math.PI / 180F)); + this.setDeltaMovement(this.getDeltaMovement().add((double)(-0.4F * f * 0.53F), 0.0D, (double)(0.4F * f1 *0.53F))); + } + + } // sit protected static final EntityDataAccessor DATA_FLAGS_ID = SynchedEntityData.defineId(DogGolemEntity.class, EntityDataSerializers.BYTE); diff --git a/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemRenderer.java b/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemRenderer.java index e4e520361..22173883b 100644 --- a/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemRenderer.java +++ b/src/main/java/dev/xkmc/modulargolems/content/entity/dog/DogGolemRenderer.java @@ -22,7 +22,7 @@ protected static void transform(PoseStack stack, ItemDisplayContext transform, @ case THIRD_PERSON_LEFT_HAND: case THIRD_PERSON_RIGHT_HAND: { stack.translate(0.25, 0.4, 0.5); - float size = 1F; + float size = 0.5F; stack.scale(size, size, size); break; } @@ -60,7 +60,7 @@ protected static void transform(PoseStack stack, ItemDisplayContext transform, @ } public DogGolemRenderer(EntityRendererProvider.Context ctx) { - super(ctx, new DogGolemModel(ctx.bakeLayer(ModelLayers.WOLF)), 0.5F, DogGolemPartType::values); + super(ctx, new DogGolemModel(ctx.bakeLayer(ModelLayers.WOLF)), 1F, DogGolemPartType::values); } protected float getBob(DogGolemEntity dog, float pPartialTicks) { diff --git a/src/main/java/dev/xkmc/modulargolems/content/entity/humanoid/HumanoidGolemEntity.java b/src/main/java/dev/xkmc/modulargolems/content/entity/humanoid/HumanoidGolemEntity.java index cbe3b58b5..50c27eb1c 100644 --- a/src/main/java/dev/xkmc/modulargolems/content/entity/humanoid/HumanoidGolemEntity.java +++ b/src/main/java/dev/xkmc/modulargolems/content/entity/humanoid/HumanoidGolemEntity.java @@ -90,7 +90,7 @@ public void reassessWeaponGoal() { } public ItemStack getProjectile(ItemStack pShootable) { - if (pShootable.getItem() instanceof ProjectileWeaponItem) { + if (pShootable.getItem() instanceof ProjectileWeaponItem ) { Predicate predicate = ((ProjectileWeaponItem) pShootable.getItem()).getSupportedHeldProjectiles(); ItemStack itemstack = ProjectileWeaponItem.getHeldProjectile(this, predicate); return net.minecraftforge.common.ForgeHooks.getProjectile(this, pShootable, itemstack); @@ -406,6 +406,45 @@ public void aiStep() { stack.inventoryTick(level(), this, slot.ordinal(), slot == EquipmentSlot.MAINHAND); } } + attackStep(); + } + + public void attackStep() { + if (tickCount % 2 != 0) return; + LivingEntity target = getTarget(); + ItemStack main = getItemBySlot(EquipmentSlot.MAINHAND); + ItemStack off = getItemBySlot(EquipmentSlot.OFFHAND); + if (main.getItem() instanceof ProjectileWeaponItem) { + if (getProjectile(main).isEmpty()) { + if (off.getItem() instanceof ProjectileWeaponItem) { + return; + } + } else { + if (target == null) { + return; + } + double d0 = distanceToSqr(target.getX(), target.getY(), target.getZ()); + if (meleeGoal.getAttackReachSqr(target) < d0) { + return; + } + } + } else if (off.getItem() instanceof ProjectileWeaponItem) { + super.setItemInHand(InteractionHand.MAIN_HAND, off); + boolean noArrow = getProjectile(off).isEmpty(); + super.setItemInHand(InteractionHand.MAIN_HAND, main); + if (noArrow) { + return; + } + if (target != null) { + double d0 = distanceToSqr(target.getX(), target.getY(), target.getZ()); + if (meleeGoal.getAttackReachSqr(target) > d0) { + return; + } + } + } else { + return; + } + setItemInHand(InteractionHand.MAIN_HAND, off); + setItemInHand(InteractionHand.OFF_HAND, main); + } } - -} diff --git a/src/main/java/dev/xkmc/modulargolems/content/item/RiderWandItem.java b/src/main/java/dev/xkmc/modulargolems/content/item/RiderWandItem.java new file mode 100644 index 000000000..f9653f15f --- /dev/null +++ b/src/main/java/dev/xkmc/modulargolems/content/item/RiderWandItem.java @@ -0,0 +1,45 @@ +package dev.xkmc.modulargolems.content.item; + +import dev.xkmc.modulargolems.content.entity.dog.DogGolemEntity; +import net.minecraft.world.item.Item; +import dev.xkmc.l2serial.util.Wrappers; +import dev.xkmc.modulargolems.content.entity.common.AbstractGolemEntity; +import dev.xkmc.modulargolems.init.data.MGLangData; +import net.minecraft.network.chat.Component; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class RiderWandItem extends Item implements WandItem { + public RiderWandItem(Properties props) { + super(props); + } + + public InteractionResult interactLivingEntity(ItemStack stack, Player user, LivingEntity target, InteractionHand hand) { + if (!(target instanceof AbstractGolemEntity golem)) return InteractionResult.PASS; + return ride(target.level(), user, Wrappers.cast(golem)) ? InteractionResult.SUCCESS : InteractionResult.FAIL; + } + private static boolean ride(Level level, Player user, AbstractGolemEntity golem) { + if (!golem.isAlliedTo(user)) return false; + if (level.isClientSide()) return true; + if (golem instanceof DogGolemEntity e) { + user.startRiding(e,true); + return true; + } + return true; + + + + } + public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List list, TooltipFlag pIsAdvanced) { + list.add(MGLangData.WAND_RIDER.get()); + } + +} \ No newline at end of file diff --git a/src/main/java/dev/xkmc/modulargolems/events/GolemEventListeners.java b/src/main/java/dev/xkmc/modulargolems/events/GolemEventListeners.java index e7c0c5502..414fe46ae 100644 --- a/src/main/java/dev/xkmc/modulargolems/events/GolemEventListeners.java +++ b/src/main/java/dev/xkmc/modulargolems/events/GolemEventListeners.java @@ -7,7 +7,7 @@ import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.entity.projectile.ThrownTrident; import net.minecraft.world.item.ArrowItem; -import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.BowItem; import net.minecraft.world.item.TridentItem; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -18,9 +18,10 @@ public class GolemEventListeners { @SubscribeEvent public static void onEquip(GolemEquipEvent event) { - ItemStack stack = event.getStack(); - if (stack.getItem() instanceof ArrowItem) { - event.setSlot(EquipmentSlot.OFFHAND, event.getStack().getCount()); + if (!event.getEntity().getItemBySlot(EquipmentSlot.MAINHAND).isEmpty()) { + if (event.getStack().getItem() instanceof BowItem) { + event.setSlot(EquipmentSlot.OFFHAND, event.getStack().getCount()); + } } } diff --git a/src/main/java/dev/xkmc/modulargolems/init/data/MGLangData.java b/src/main/java/dev/xkmc/modulargolems/init/data/MGLangData.java index 1cafd66c7..1bab00ef7 100644 --- a/src/main/java/dev/xkmc/modulargolems/init/data/MGLangData.java +++ b/src/main/java/dev/xkmc/modulargolems/init/data/MGLangData.java @@ -28,6 +28,7 @@ public enum MGLangData { WAND_RETRIEVE("wand.retrieve", "Right click to retrieve all your surrounding golems. Shift right click faraway golems to retrieve golem back into inventory.", 0, ChatFormatting.GRAY), WAND_COMMAND("wand.command", "Right click to switch modes for golems. Shift right click Humanoid golem to configure inventory. Attacking entity with this wand will call all your surrounding golems to switch target to it.", 0, ChatFormatting.GRAY), WAND_SUMMON("wand.summon", "Right click to summon one golem to a faraway position pointed by the wand. Shift right click to summon all golems from your inventory.", 0, ChatFormatting.GRAY), + WAND_RIDER("wand.rider","Right click to your doggolem to ride on it.",0, ChatFormatting.GRAY), DESTROY_ITEM("msg.destroy_item", "Golem %s destroyed %s items because it finds no place to store.", 2, ChatFormatting.RED), DESTROY_EXP("msg.destroy_exp", "Golem %s destroyed %s experience because it finds no place to store.", 2, ChatFormatting.RED), diff --git a/src/main/java/dev/xkmc/modulargolems/init/registrate/GolemItems.java b/src/main/java/dev/xkmc/modulargolems/init/registrate/GolemItems.java index 31160dcfe..51c8751a6 100644 --- a/src/main/java/dev/xkmc/modulargolems/init/registrate/GolemItems.java +++ b/src/main/java/dev/xkmc/modulargolems/init/registrate/GolemItems.java @@ -12,20 +12,24 @@ import dev.xkmc.modulargolems.content.entity.humanoid.HumanoidGolemEntity; import dev.xkmc.modulargolems.content.entity.metalgolem.MetalGolemEntity; import dev.xkmc.modulargolems.content.entity.metalgolem.MetalGolemPartType; -import dev.xkmc.modulargolems.content.item.CommandWandItem; -import dev.xkmc.modulargolems.content.item.DispenseWand; -import dev.xkmc.modulargolems.content.item.RetrievalWandItem; -import dev.xkmc.modulargolems.content.item.SimpleUpgradeItem; +import dev.xkmc.modulargolems.content.item.*; import dev.xkmc.modulargolems.content.item.golem.GolemHolder; import dev.xkmc.modulargolems.content.item.golem.GolemPart; import dev.xkmc.modulargolems.content.modifier.base.GolemModifier; import dev.xkmc.modulargolems.init.ModularGolems; +import dev.xkmc.modulargolems.init.data.MGLangData; import dev.xkmc.modulargolems.init.data.MGTagGen; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; import net.minecraftforge.client.model.generators.ModelFile; +import org.jetbrains.annotations.Nullable; +import java.util.List; import java.util.function.Supplier; import static dev.xkmc.modulargolems.init.ModularGolems.REGISTRATE; @@ -57,6 +61,8 @@ public class GolemItems { public static final ItemEntry RETRIEVAL_WAND; public static final ItemEntry COMMAND_WAND; public static final ItemEntry DISPENSE_WAND; + public static final ItemEntry RIDER_WAND; + static { @@ -64,7 +70,7 @@ public class GolemItems { RETRIEVAL_WAND = REGISTRATE.item("retrieval_wand", p -> new RetrievalWandItem(p.stacksTo(1))).defaultModel().defaultLang().register(); COMMAND_WAND = REGISTRATE.item("command_wand", p -> new CommandWandItem(p.stacksTo(1))).defaultModel().defaultLang().register(); DISPENSE_WAND = REGISTRATE.item("summon_wand", p -> new DispenseWand(p.stacksTo(1))).defaultModel().defaultLang().register(); - + RIDER_WAND = REGISTRATE.item("rider_wand", p -> new RiderWandItem(p.stacksTo(1))).defaultModel().defaultLang().register(); // upgrades { EMPTY_UPGRADE = REGISTRATE.item("empty_upgrade", Item::new).defaultModel().defaultLang().register(); diff --git a/src/main/resources/assets/modulargolems/lang/zh_cn.json b/src/main/resources/assets/modulargolems/lang/zh_cn.json index a4bfbe579..c936ac91e 100644 --- a/src/main/resources/assets/modulargolems/lang/zh_cn.json +++ b/src/main/resources/assets/modulargolems/lang/zh_cn.json @@ -1,58 +1,75 @@ { - "item.modulargolems.metal_golem_arm": "大型金属傀儡-手臂", - "item.modulargolems.metal_golem_body": "大型金属傀儡-身体", - "item.modulargolems.metal_golem_holder": "大型金属傀儡", - "item.modulargolems.metal_golem_legs": "大型金属傀儡-双腿", - "item.modulargolems.metal_golem_template": "傀儡胚料", - "item.modulargolems.humanoid_golem_arms": "人形金属傀儡-双臂", - "item.modulargolems.humanoid_golem_body": "人形金属傀儡-躯干", - "item.modulargolems.humanoid_golem_holder": "人形金属傀儡", - "item.modulargolems.humanoid_golem_legs": "人形金属傀儡-双腿", - "item.modulargolems.dog_golem_body": "犬形金属傀儡-躯干", - "item.modulargolems.dog_golem_holder": "犬形金属傀儡", - "item.modulargolems.dog_golem_legs": "犬形金属傀儡-四肢", - "item.modulargolems.diamond": "钻石升级", - "item.modulargolems.fire_immune": "防火升级", - "item.modulargolems.thunder_immune": "导电升级", - "item.modulargolems.netherite": "下界合金升级", - "item.modulargolems.quartz": "石英升级", - "item.modulargolems.recycle": "回收升级", - "item.modulargolems.enchanted_gold": "附魔金苹果升级", - "item.modulargolems.gold": "金苹果升级", - "item.modulargolems.empty_upgrade": "空白升级模版", - "item.modulargolems.float": "漂浮升级", - "item.modulargolems.retrieval_wand": "回收手杖", - "item.modulargolems.command_wand": "命令手杖", - "item.modulargolems.summon_wand": "召唤手杖", - "item.modulargolems.sponge": "海绵升级", - "item.modulargolems.swim": "游泳升级", - "item.modulargolems.player": "友伤免疫升级", - "item.modulargolems.bell": "钟升级", - "item.modulargolems.ender_sight": "透视升级", - "item.modulargolems.attack_high": "伤害升级V", - "item.modulargolems.speed": "速度升级", - "item.modulargolems.speed_high": "速度升级V", - "item.modulargolems.cleanse": "药水升级:净化", - "item.modulargolems.curse": "药水升级:诅咒", - "item.modulargolems.emerald": "绿宝石升级", - "item.modulargolems.incarcerate": "药水升级:禁锢", - "item.modulargolems.slow": "药水升级:缓慢", - "item.modulargolems.weak": "药水升级:虚弱", - "item.modulargolems.wither": "药水升级:凋零", - "item.modulargolems.pickup": "拾取升级", - "item.modulargolems.pickup_mending": "拾取附属:经验修补", - "item.modulargolems.pickup_no_destroy": "拾取附属:取消销毁", - "item.modulargolems.talented": "辅助升级:多才多艺", - "item.modulargolems.cauldron": "辅助升级:炼药锅", - "entity.modulargolems.metal_golem": "大型金属傀儡", - "entity.modulargolems.humanoid_golem": "人形金属傀儡", - "entity.modulargolems.dog_golem": "犬形金属傀儡", - "golem_type.modulargolems.metal_golem": "大型金属傀儡", - "golem_type.modulargolems.humanoid_golem": "人形金属傀儡", - "golem_type.modulargolems.dog_golem": "犬形金属傀儡", - "golem_material.modulargolems.copper": "铜", - "golem_material.modulargolems.gold": "金", - "golem_material.modulargolems.iron": "铁", + "advancements.modulargolems.advancements.golems.anvil_fix.description": "在铁砧中用锭修复金属?儡??", + "advancements.modulargolems.advancements.golems.anvil_fix.title": "完好如初", + "advancements.modulargolems.advancements.golems.apply.description": "在铁砧中为傀儡零件镀上金属??", + "advancements.modulargolems.advancements.golems.apply.title": "呼~好重?", + "advancements.modulargolems.advancements.golems.apply_sculk.description": "制作?个幽匿傀儡部?", + "advancements.modulargolems.advancements.golems.apply_sculk.title": "可?的回忆", + "advancements.modulargolems.advancements.golems.command.description": "制作命令手杖", + "advancements.modulargolems.advancements.golems.command.title": "保卫家园", + "advancements.modulargolems.advancements.golems.craft.description": "用金属傀儡零件制作一个傀?", + "advancements.modulargolems.advancements.golems.craft.title": "崭新出炉?", + "advancements.modulargolems.advancements.golems.dog.description": "创?一个犬型傀?.", + "advancements.modulargolems.advancements.golems.dog.title": "高贵的冷?动物", + "advancements.modulargolems.advancements.golems.full.description": "对傀儡用尽全部的升级次数", + "advancements.modulargolems.advancements.golems.full.title": "好吧,真的不能再多了", + "advancements.modulargolems.advancements.golems.fully_equipped.description": "给人形傀儡全套盔甲?一把剑和一面盾牌??", + "advancements.modulargolems.advancements.golems.fully_equipped.title": "全副武装", + "advancements.modulargolems.advancements.golems.hot_fix.description": "使用金属锭直接修复一个傀?", + "advancements.modulargolems.advancements.golems.hot_fix.title": "应?处?", + "advancements.modulargolems.advancements.golems.humanoid.description": "创?一个人形傀?", + "advancements.modulargolems.advancements.golems.humanoid.title": "坚硬?\u0027?\u0027", + "advancements.modulargolems.advancements.golems.kill_creeper.description": "让傀儡击?苦力?", + "advancements.modulargolems.advancements.golems.kill_creeper.title": "反恐行动", + "advancements.modulargolems.advancements.golems.kill_guardian.description": "让傀儡击?守卫?", + "advancements.modulargolems.advancements.golems.kill_guardian.title": "亚特兰蒂斯的传说", + "advancements.modulargolems.advancements.golems.kill_warden.description": "让傀儡击?监守?", + "advancements.modulargolems.advancements.golems.kill_warden.title": "忒修斯之?", + "advancements.modulargolems.advancements.golems.oops.description": "让人形傀儡的?件装备损?", + "advancements.modulargolems.advancements.golems.oops.title": "哦,我的上帝?", + "advancements.modulargolems.advancements.golems.recycle.description": "对一个傀儡使用回收升?", + "advancements.modulargolems.advancements.golems.recycle.title": "不坏之躯", + "advancements.modulargolems.advancements.golems.retrieve.description": "制作?根回收手?", + "advancements.modulargolems.advancements.golems.retrieve.title": "都回来吧", + "advancements.modulargolems.advancements.golems.root.description": "创?属于你的军队!", + "advancements.modulargolems.advancements.golems.root.title": "欢迎来到?儡装?", + "advancements.modulargolems.advancements.golems.sponge.description": "对傀儡使用海绵升?", + "advancements.modulargolems.advancements.golems.sponge.title": "浸水金属", + "advancements.modulargolems.advancements.golems.start.description": "制作?儡配料并使用切石机将其切割成?儡零?", + "advancements.modulargolems.advancements.golems.start.title": "?切的??", + "advancements.modulargolems.advancements.golems.swim.description": "对傀儡使用游泳升?", + "advancements.modulargolems.advancements.golems.swim.title": "水下巡航", + "advancements.modulargolems.advancements.golems.thunder.description": "让一个免疫雷电的?儡被闪电击中", + "advancements.modulargolems.advancements.golems.thunder.title": "行走的避雷针", + "advancements.modulargolems.advancements.golems.upgrade.description": "获取?个升级模?", + "advancements.modulargolems.advancements.golems.upgrade.title": "是时候升级了", + "advancements.modulargolems.advancements.golems.summon.description": "制作召唤手杖", + "advancements.modulargolems.advancements.golems.summon.title": "空降部队", + "advancements.modulargolems.advancements.golems.summon_mass.description": "?次召唤至?24只傀?", + "advancements.modulargolems.advancements.golems.summon_mass.title": "?车面包人", + "advancements.modulargolems.advancements.golems.max.description": "对傀儡使?12个升?", + "advancements.modulargolems.advancements.golems.max.title": "超越极限", + "golem_material.blazegear.brimsteel": "烈焰?", + "modifier.modulargolems.blazing": "烈焰", + "modifier.modulargolems.blazing.desc": "对远处的敌人发射火球", + "golem_material.create.zinc": "?", + "golem_material.create.andesite_alloy": "安山合金", + "golem_material.create.brass": "黄铜", + "golem_material.create.railway": "火车", + "modifier.modulargolems.coating": "?层升?", + "modifier.modulargolems.coating.desc": "受到的伤害减?%s", + "modifier.modulargolems.push": "击??提升", + "item.modulargolems.coating": "?层升?", + "item.modulargolems.push": "机械手升?", + "entity.modulargolems.metal_golem": "大型金属??", + "entity.modulargolems.humanoid_golem": "人形金属??", + "entity.modulargolems.dog_golem": "犬形金属??", + "golem_type.modulargolems.metal_golem": "大型金属??", + "golem_type.modulargolems.humanoid_golem": "人形金属??", + "golem_type.modulargolems.dog_golem": "犬形金属??", + "golem_material.modulargolems.copper": "?", + "golem_material.modulargolems.gold": "?", + "golem_material.modulargolems.iron": "?", "golem_material.modulargolems.netherite": "下界合金", "golem_material.modulargolems.sculk": "幽匿", "golem_part.metal_golem.body": "身体: %s", @@ -65,177 +82,162 @@ "golem_part.dog_golem.body": "躯干: %s", "golem_part.dog_golem.legs": "四肢: %s", "modifier.modulargolems.fire_immune": "火焰免疫", - "modifier.modulargolems.fire_immune.desc": "免疫火焰伤害,漂浮于岩浆上。", + "modifier.modulargolems.fire_immune.desc": "免疫火焰伤害,漂浮于岩浆上??", "modifier.modulargolems.thunder_immune": "闪电免疫", - "modifier.modulargolems.thunder_immune.desc": "免疫闪电伤害,吸引闪电。被雷劈时获得10秒防火,并回复%s血量。", + "modifier.modulargolems.thunder_immune.desc": "免疫闪电伤害,吸引闪电?被雷劈时获?10秒防火,并回?%s?量??", "modifier.modulargolems.magic_immune": "魔法免疫", "modifier.modulargolems.magic_immune.desc": "免疫魔法伤害", - "modifier.modulargolems.recycle": "傀儡回收", - "modifier.modulargolems.recycle.desc": "傀儡死亡时掉落0血量的可修复物品形态。如果玩家存在,物品直接加入玩家背包", + "modifier.modulargolems.recycle": "?儡回?", + "modifier.modulargolems.recycle.desc": "?儡死亡时掉落0?量的可修复物品形态?如果玩家存在,物品直接加入玩家背包", "modifier.modulargolems.armor_up": "防御提升", - "modifier.modulargolems.toughness_up": "韧性提升", + "modifier.modulargolems.toughness_up": "韧?提?", "modifier.modulargolems.damage_up": "伤害提升", "modifier.modulargolems.regeneration_up": "回复升级", - "modifier.modulargolems.magic_resistant": "魔法抗性", + "modifier.modulargolems.magic_resistant": "魔法抗??", "modifier.modulargolems.magic_resistant.desc": "受到的魔法伤害x%s%%", "modifier.modulargolems.float": "漂浮升级", - "modifier.modulargolems.float.desc": "让傀儡浮在水面", - "modifier.modulargolems.explosion_resistant": "爆炸抗性", - "modifier.modulargolems.explosion_resistant.desc": "受到的爆炸伤害x%s%%,波及到傀儡的爆炸不破坏方块", + "modifier.modulargolems.float.desc": "让傀儡浮在水?", + "modifier.modulargolems.explosion_resistant": "爆炸抗??", + "modifier.modulargolems.explosion_resistant.desc": "受到的爆炸伤害x%s%%,波及到?儡的爆炸不破坏方?", "modifier.modulargolems.damage_cap": "伤害限制", - "modifier.modulargolems.damage_cap.desc": "一次受到的伤害不会超过最高血量的%s%%", + "modifier.modulargolems.damage_cap.desc": "?次受到的伤害不会超过?高血量的%s%%", "modifier.modulargolems.immunity": "不灭", - "modifier.modulargolems.immunity.desc": "免疫虚空伤害以外的所有伤害。怪物不会攻击这个傀儡。", - "modifier.modulargolems.projectile_reject": "弹射物反射", - "modifier.modulargolems.projectile_reject.desc": "反射弹射物,不受弹射物伤害", + "modifier.modulargolems.immunity.desc": "免疫虚空伤害以外的所有伤害??物不会攻击这个?儡??", + "modifier.modulargolems.projectile_reject": "弹射物反?", + "modifier.modulargolems.projectile_reject.desc": "反射弹射物,不受弹射物伤?", "modifier.modulargolems.swim": "游泳", "modifier.modulargolems.swim.desc": "让傀儡能游泳", "modifier.modulargolems.player_immune": "友伤免疫", - "modifier.modulargolems.player_immune.desc": "免疫玩家及其从属造成的伤害", + "modifier.modulargolems.player_immune.desc": "免疫玩家及其从属造成的伤?", "modifier.modulargolems.sonic_boom": "音爆", - "modifier.modulargolems.sonic_boom.desc": "傀儡能使用音爆攻击。若傀儡能范围攻击,则音爆造成范围伤害。", + "modifier.modulargolems.sonic_boom.desc": "?儡能使用音爆攻击。若?儡能范围攻击,则音爆造成范围伤害?", "modifier.modulargolems.bell": "钟声", - "modifier.modulargolems.bell.desc": "傀儡切换攻击目标时,敲钟并吸引范围内的敌人,同时施加发光效果。", + "modifier.modulargolems.bell.desc": "?儡切换攻击目标时,敲钟并吸引范围内的敌人,同时施加发光效果??", "modifier.modulargolems.ender_sight": "透视", - "modifier.modulargolems.ender_sight.desc": "傀儡能看穿墙壁和天花板", + "modifier.modulargolems.ender_sight.desc": "?儡能看穿墙壁和天花板", "modifier.modulargolems.speed_up": "移动速度提升", - "modifier.modulargolems.emerald": "掠夺者杀手", - "modifier.modulargolems.emerald.desc": "对掠夺者造成+%s%%伤害", - "modifier.modulargolems.slow": "药水升级:缓慢", - "modifier.modulargolems.weak": "药水升级:虚弱", - "modifier.modulargolems.wither": "药水升级:凋零", + "modifier.modulargolems.emerald": "掠夺者杀?", + "modifier.modulargolems.emerald.desc": "对掠夺??成+%s%%伤害", + "modifier.modulargolems.slow": "药水升级:缓?", + "modifier.modulargolems.weak": "药水升级:虚?", + "modifier.modulargolems.wither": "药水升级:凋?", "modifier.modulargolems.pickup": "拾取升级", - "modifier.modulargolems.pickup.desc": "傀儡会捡起附近的物品和经验并交给你。详细机制请查阅帕秋莉说明书。如果傀儡找不到地方放物品/经验,傀儡会把物品/经验销毁", - "modifier.modulargolems.pickup_mending": "拾取附属:经验修补", - "modifier.modulargolems.pickup_mending.desc": "傀儡拾取经验时,会试图使用经验修补自身。", - "modifier.modulargolems.pickup_no_destroy": "拾取附属:取消销毁", - "modifier.modulargolems.pickup_no_destroy.desc": "傀儡找不到地方放物品时不会销毁物品,也不会拾取物品。注意:在大量掉落物的区域使用这个升级可能会造成卡顿", + "modifier.modulargolems.pickup.desc": "?儡会捡起附近的物品和经验并交给你。详细机制请查阅帕秋莉说明书。如果傀儡找不到地方放物?/经验,傀儡会把物?/经验??", + "modifier.modulargolems.pickup_mending": "拾取附属:经验修?", + "modifier.modulargolems.pickup_mending.desc": "?儡拾取经验时,会试图使用经验修补自身?", + "modifier.modulargolems.pickup_no_destroy": "拾取附属:取消销?", + "modifier.modulargolems.pickup_no_destroy.desc": "?儡找不到地方放物品时不会?毁物品,也不会拾取物品?注意:在大量掉落物的区域使用这个升级可能会造成卡顿", "modifier.modulargolems.talented": "多才多艺", - "modifier.modulargolems.talented.desc": "前4种蓝色升级的第一个升级不消耗升级槽", - "modifier.modulargolems.cauldron": "炼药锅", - "modifier.modulargolems.cauldron.desc": "重复的药水升级不消耗升级槽", + "modifier.modulargolems.talented.desc": "?4种蓝色升级的第一个升级不消?升级槽", + "modifier.modulargolems.cauldron": "炼药?", + "modifier.modulargolems.cauldron.desc": "重复的药水升级不消?升级槽", + "item.modulargolems.metal_golem_arm": "大型金属??-手臂", + "item.modulargolems.metal_golem_body": "大型金属??-身体", + "item.modulargolems.metal_golem_holder": "大型金属??", + "item.modulargolems.metal_golem_legs": "大型金属??-双腿", + "item.modulargolems.metal_golem_template": "?儡胚?", + "item.modulargolems.humanoid_golem_arms": "人形金属??-双臂", + "item.modulargolems.humanoid_golem_body": "人形金属??-躯干", + "item.modulargolems.humanoid_golem_holder": "人形金属??", + "item.modulargolems.humanoid_golem_legs": "人形金属??-双腿", + "item.modulargolems.dog_golem_body": "犬形金属??-躯干", + "item.modulargolems.dog_golem_holder": "犬形金属??", + "item.modulargolems.dog_golem_legs": "犬形金属??-四肢", + "item.modulargolems.diamond": "钻石升级", + "item.modulargolems.fire_immune": "防火升级", + "item.modulargolems.thunder_immune": "导电升级", + "item.modulargolems.netherite": "下界合金升级", + "item.modulargolems.quartz": "石英升级", + "item.modulargolems.recycle": "回收升级", + "item.modulargolems.enchanted_gold": "附魔金苹果升?", + "item.modulargolems.gold": "金苹果升?", + "item.modulargolems.empty_upgrade": "空白升级模版", + "item.modulargolems.float": "漂浮升级", + "item.modulargolems.retrieval_wand": "回收手杖", + "item.modulargolems.command_wand": "命令手杖", + "item.modulargolems.summon_wand": "召唤手杖", + "item.modulargolems.rider_wand": "骑乘手杖", + "item.modulargolems.sponge": "海绵升级", + "item.modulargolems.swim": "游泳升级", + "item.modulargolems.player": "友伤免疫升级", + "item.modulargolems.bell": "钟升?", + "item.modulargolems.ender_sight": "透视升级", + "item.modulargolems.attack_high": "伤害升级V", + "item.modulargolems.speed": "速度升级", + "item.modulargolems.speed_high": "速度升级V", + "item.modulargolems.cleanse": "药水升级:净?", + "item.modulargolems.curse": "药水升级:诅?", + "item.modulargolems.emerald": "绿宝石升?", + "item.modulargolems.incarcerate": "药水升级:禁?", + "item.modulargolems.slow": "药水升级:缓?", + "item.modulargolems.weak": "药水升级:虚?", + "item.modulargolems.wither": "药水升级:凋?", + "item.modulargolems.pickup": "拾取升级", + "item.modulargolems.pickup_mending": "拾取附属:经验修?", + "item.modulargolems.pickup_no_destroy": "拾取附属:取消销?", + "item.modulargolems.talented": "辅助升级:多才多?", + "item.modulargolems.cauldron": "辅助升级:炼药锅", + "golem_material.l2complements.eternium": "永恒", + "golem_material.l2complements.poseidite": "海神", + "golem_material.l2complements.shulkerate": "潜影", + "golem_material.l2complements.totemic_gold": "生命", + "item.modulargolems.force_field": "凋零护甲升级", + "item.modulargolems.freezing": "寒流升级", + "item.modulargolems.soul_flame": "魂火升级", + "item.modulargolems.teleport": "瞬移升级", + "modifier.modulargolems.conduit": "潮涌之力", + "modifier.modulargolems.conduit.desc": "当傀儡在水中时:受到的伤害减少至%s%%、每%s秒远程对水中/雨中目标造成%s点信标伤害?提升下列数值:", + "modifier.modulargolems.freezing": "药水升级:寒?", + "modifier.modulargolems.freezing.desc": "攻击和被攻击时对目标施加寒流效果。傀儡免疫冰冻伤害??", + "modifier.modulargolems.soul_flame": "药水升级:魂?", + "modifier.modulargolems.soul_flame.desc": "攻击和被攻击时对目标施加魂火效果。傀儡免疫魂火伤害??", + "modifier.modulargolems.teleport": "瞬移", + "modifier.modulargolems.teleport.desc": "被攻击时随机传?以躲避伤害,攻击目标时通过传?来更快接近目标?", + "modifier.modulargolems.cleanse": "药水升级:净?", + "modifier.modulargolems.curse": "药水升级:诅?", + "modifier.modulargolems.incarcerate": "药水升级:禁?", + "modifier.modulargolems.poseidite": "海神", + "modifier.modulargolems.poseidite.desc": "对?水生物和水生生物?成+%s%%伤害", + "modifier.modulargolems.totemic_gold": "生命", + "modifier.modulargolems.totemic_gold.desc": "对亡灵生物?成+%s%%伤害", "attribute.name.golem_regen": "生命回复", "attribute.name.golem_sweep": "范围攻击", - "itemGroup.l2library.golems": "模块化傀儡", - "modulargolems.tooltip.health": "血量: %s/%s", - "modulargolems.tooltip.slot": "剩余升级槽: %s", - "modulargolems.tooltip.shift": "按 SHIFT 显示特殊效果细节", - "modulargolems.tooltip.following": "傀儡会跟随玩家", - "modulargolems.tooltip.guarding": "傀儡会在(%s, %s, %s)附近行动", - "modulargolems.tooltip.standing": "傀儡会停在(%s, %s, %s)", - "modulargolems.tooltip.potion_attack": "对攻击傀儡和被傀儡攻击的敌人施加:%s", - "modulargolems.tooltip.potion_defense": "傀儡获得:%s", - "modulargolems.wand.command": "右键改变傀儡行动模式。蹲下右键配置人形傀儡装备。攻击实体使周围所有你的傀儡优先攻击该目标。", - "modulargolems.wand.retrieve": "右键回收周围所有你的傀儡。蹲下右键回收远处的傀儡。", - "modulargolems.wand.summon": "右键把一个傀儡召唤至指向的远处的方块。蹲下右键召唤背包中所有傀儡", - "modulargolems.msg.destroy_exp": "%s销毁了%s经验", - "modulargolems.msg.destroy_item": "%s找不到地方放,销毁了%s个物品", - "patchouli.modulargolems.landing": "金属傀儡的组装和升级手册", - "patchouli.modulargolems.title": "模块化傀儡", - "golem_material.create.zinc": "锌", - "golem_material.create.andesite_alloy": "安山合金", - "golem_material.create.brass": "黄铜", - "golem_material.create.railway": "火车", - "modifier.modulargolems.coating": "镀层升级", - "modifier.modulargolems.coating.desc": "受到的伤害减少%s", - "modifier.modulargolems.push": "击退提升", - "item.modulargolems.coating": "镀层升级", - "item.modulargolems.push": "机械手升级", + "itemGroup.l2library.golems": "模块化傀?", + "modulargolems.tooltip.health": "??: %s/%s", + "modulargolems.tooltip.slot": "剩余升级?: %s", + "modulargolems.tooltip.shift": "? SHIFT 显示特殊效果细节", + "modulargolems.tooltip.following": "?儡会跟随玩家", + "modulargolems.tooltip.guarding": "?儡会?(%s, %s, %s)附近行动", + "modulargolems.tooltip.standing": "?儡会停在(%s, %s, %s)", + "modulargolems.tooltip.potion_attack": "对攻击傀儡和被傀儡攻击的敌人施加?%s", + "modulargolems.tooltip.potion_defense": "?儡获得:%s", + "modulargolems.wand.command": "右键改变?儡行动模式?蹲下右键配置人形傀儡装备?攻击实体使周围?有你的傀儡优先攻击该目标?", + "modulargolems.wand.retrieve": "右键回收周围?有你的傀儡?蹲下右键回收远处的?儡??", + "modulargolems.wand.summon": "右键把一个傀儡召唤至指向的远处的方块。蹲下右键召唤背包中?有傀儡??", + "modulargolems.wand.rider": "右键?个犬型傀儡以骑在它身上??", + "modulargolems.msg.destroy_exp": "%s?毁了%s经验", + "modulargolems.msg.destroy_item": "%s找不到地方放,销毁了%s个物?", + "patchouli.modulargolems.landing": "金属?儡的组装和升级手?", + "patchouli.modulargolems.title": "模块化傀?", "golem_material.twilightforest.fiery": "炽铁", "golem_material.twilightforest.ironwood": "铁木", "golem_material.twilightforest.knightmetal": "骑士", "golem_material.twilightforest.steeleaf": "钢叶", "modifier.modulargolems.fiery": "炽热", - "modifier.modulargolems.fiery.desc": "对不免疫火焰伤害的生物造成 %s%% 火焰伤害", + "modifier.modulargolems.fiery.desc": "对不免疫火焰伤害的生物?成 %s%% 火焰伤害", "modifier.modulargolems.thorn": "荆棘", "modifier.modulargolems.thorn.desc": "反射 %s%% 伤害", "modifier.modulargolems.tf_damage": "暮色伤害加成", "modifier.modulargolems.tf_damage.desc": "在暮色森林里造成%s%%伤害", "modifier.modulargolems.tf_healing": "暮色再生加成", - "modifier.modulargolems.tf_healing.desc": "在暮色森林里回复%s%%原本回复量", - "modifier.modulargolems.carminite": "砷铅铁升级", - "modifier.modulargolems.carminite.desc": "受伤后%s秒内隐身并免疫伤害", + "modifier.modulargolems.tf_healing.desc": "在暮色森林里回复%s%%原本回复?", + "modifier.modulargolems.carminite": "砷铅铁升?", + "modifier.modulargolems.carminite.desc": "受伤?%s秒内隐身并免疫伤?", "modifier.modulargolems.naga": "娜迦升级", - "item.modulargolems.carminite": "砷铅铁升级", + "item.modulargolems.carminite": "砷铅铁升?", "item.modulargolems.fiery": "炽铁升级", "item.modulargolems.ironwood": "铁木升级", "item.modulargolems.knightmetal": "骑士升级", "item.modulargolems.naga": "娜迦升级", - "item.modulargolems.steeleaf": "钢叶升级", - "advancements.modulargolems.advancements.golems.anvil_fix.description": "在铁砧中用锭修复金属傀儡。", - "advancements.modulargolems.advancements.golems.anvil_fix.title": "完好如初", - "advancements.modulargolems.advancements.golems.apply.description": "在铁砧中为傀儡零件镀上金属。", - "advancements.modulargolems.advancements.golems.apply.title": "呼~好重!", - "advancements.modulargolems.advancements.golems.apply_sculk.description": "制作一个幽匿傀儡部件", - "advancements.modulargolems.advancements.golems.apply_sculk.title": "可怕的回忆", - "advancements.modulargolems.advancements.golems.command.description": "制作命令手杖", - "advancements.modulargolems.advancements.golems.command.title": "保卫家园", - "advancements.modulargolems.advancements.golems.craft.description": "用金属傀儡零件制作一个傀儡", - "advancements.modulargolems.advancements.golems.craft.title": "崭新出炉!", - "advancements.modulargolems.advancements.golems.dog.description": "创造一个犬型傀儡.", - "advancements.modulargolems.advancements.golems.dog.title": "高贵的冷血动物", - "advancements.modulargolems.advancements.golems.full.description": "对傀儡用尽全部的升级次数", - "advancements.modulargolems.advancements.golems.full.title": "好吧,真的不能再多了", - "advancements.modulargolems.advancements.golems.fully_equipped.description": "给人形傀儡全套盔甲、一把剑和一面盾牌。", - "advancements.modulargolems.advancements.golems.fully_equipped.title": "全副武装", - "advancements.modulargolems.advancements.golems.hot_fix.description": "使用金属锭直接修复一个傀儡", - "advancements.modulargolems.advancements.golems.hot_fix.title": "应急处理", - "advancements.modulargolems.advancements.golems.humanoid.description": "创造一个人形傀儡", - "advancements.modulargolems.advancements.golems.humanoid.title": "坚硬的\u0027你\u0027", - "advancements.modulargolems.advancements.golems.kill_creeper.description": "让傀儡击杀苦力怕", - "advancements.modulargolems.advancements.golems.kill_creeper.title": "反恐行动", - "advancements.modulargolems.advancements.golems.kill_guardian.description": "让傀儡击杀守卫者", - "advancements.modulargolems.advancements.golems.kill_guardian.title": "亚特兰蒂斯的传说", - "advancements.modulargolems.advancements.golems.kill_warden.description": "让傀儡击杀监守者", - "advancements.modulargolems.advancements.golems.kill_warden.title": "忒修斯之船", - "advancements.modulargolems.advancements.golems.oops.description": "让人形傀儡的一件装备损坏", - "advancements.modulargolems.advancements.golems.oops.title": "哦,我的上帝!", - "advancements.modulargolems.advancements.golems.recycle.description": "对一个傀儡使用回收升级", - "advancements.modulargolems.advancements.golems.recycle.title": "不坏之躯", - "advancements.modulargolems.advancements.golems.retrieve.description": "制作一根回收手杖", - "advancements.modulargolems.advancements.golems.retrieve.title": "都回来吧", - "advancements.modulargolems.advancements.golems.root.description": "创造属于你的军队!", - "advancements.modulargolems.advancements.golems.root.title": "欢迎来到傀儡装配", - "advancements.modulargolems.advancements.golems.sponge.description": "对傀儡使用海绵升级", - "advancements.modulargolems.advancements.golems.sponge.title": "浸水金属", - "advancements.modulargolems.advancements.golems.start.description": "制作傀儡配料并使用切石机将其切割成傀儡零件", - "advancements.modulargolems.advancements.golems.start.title": "一切的开端", - "advancements.modulargolems.advancements.golems.swim.description": "对傀儡使用游泳升级", - "advancements.modulargolems.advancements.golems.swim.title": "水下巡航", - "advancements.modulargolems.advancements.golems.thunder.description": "让一个免疫雷电的傀儡被闪电击中", - "advancements.modulargolems.advancements.golems.thunder.title": "行走的避雷针", - "advancements.modulargolems.advancements.golems.upgrade.description": "获取一个升级模块", - "advancements.modulargolems.advancements.golems.upgrade.title": "是时候升级了", - "advancements.modulargolems.advancements.golems.summon.description": "制作召唤手杖", - "advancements.modulargolems.advancements.golems.summon.title": "空降部队", - "advancements.modulargolems.advancements.golems.summon_mass.description": "一次召唤至少24只傀儡", - "advancements.modulargolems.advancements.golems.summon_mass.title": "一车面包人", - "advancements.modulargolems.advancements.golems.max.description": "对傀儡使用12个升级", - "advancements.modulargolems.advancements.golems.max.title": "超越极限", - "golem_material.l2complements.eternium": "永恒", - "golem_material.l2complements.poseidite": "海神", - "golem_material.l2complements.shulkerate": "潜影", - "golem_material.l2complements.totemic_gold": "生命", - "item.modulargolems.force_field": "凋零护甲升级", - "item.modulargolems.freezing": "寒流升级", - "item.modulargolems.soul_flame": "魂火升级", - "item.modulargolems.teleport": "瞬移升级", - "modifier.modulargolems.conduit": "潮涌之力", - "modifier.modulargolems.conduit.desc": "当傀儡在水中时:受到的伤害减少至%s%%、每%s秒远程对水中/雨中目标造成%s点信标伤害、提升下列数值:", - "modifier.modulargolems.freezing": "药水升级:寒流", - "modifier.modulargolems.freezing.desc": "攻击和被攻击时对目标施加寒流效果。傀儡免疫冰冻伤害。", - "modifier.modulargolems.soul_flame": "药水升级:魂火", - "modifier.modulargolems.soul_flame.desc": "攻击和被攻击时对目标施加魂火效果。傀儡免疫魂火伤害。", - "modifier.modulargolems.teleport": "瞬移", - "modifier.modulargolems.teleport.desc": "被攻击时随机传送以躲避伤害,攻击目标时通过传送来更快接近目标。", - "modifier.modulargolems.cleanse": "药水升级:净化", - "modifier.modulargolems.curse": "药水升级:诅咒", - "modifier.modulargolems.incarcerate": "药水升级:禁锢", - "modifier.modulargolems.poseidite": "海神", - "modifier.modulargolems.poseidite.desc": "对怕水生物和水生生物造成+%s%%伤害", - "modifier.modulargolems.totemic_gold": "生命", - "modifier.modulargolems.totemic_gold.desc": "对亡灵生物造成+%s%%伤害", - "golem_material.blazegear.brimsteel": "烈焰钢", - "modifier.modulargolems.blazing": "烈焰", - "modifier.modulargolems.blazing.desc": "对远处的敌人发射火球" + "item.modulargolems.steeleaf": "钢叶升级" } \ No newline at end of file diff --git a/src/main/resources/assets/modulargolems/textures/item/rider_wand.png b/src/main/resources/assets/modulargolems/textures/item/rider_wand.png new file mode 100644 index 000000000..7c472bd4c Binary files /dev/null and b/src/main/resources/assets/modulargolems/textures/item/rider_wand.png differ diff --git a/src/test/resources/modulargolems/lang/zh_cn/item.json b/src/test/resources/modulargolems/lang/zh_cn/item.json index bee91269c..2a48751c8 100644 --- a/src/test/resources/modulargolems/lang/zh_cn/item.json +++ b/src/test/resources/modulargolems/lang/zh_cn/item.json @@ -25,6 +25,7 @@ "retrieval_wand": "回收手杖", "command_wand": "命令手杖", "summon_wand": "召唤手杖", + "rider_wand":"骑乘手杖", "sponge": "海绵升级", "swim": "游泳升级", "player": "友伤免疫升级", diff --git a/src/test/resources/modulargolems/lang/zh_cn/main.json b/src/test/resources/modulargolems/lang/zh_cn/main.json index 6261747ac..42727580d 100644 --- a/src/test/resources/modulargolems/lang/zh_cn/main.json +++ b/src/test/resources/modulargolems/lang/zh_cn/main.json @@ -16,7 +16,8 @@ "wand": { "command": "右键改变傀儡行动模式。蹲下右键配置人形傀儡装备。攻击实体使周围所有你的傀儡优先攻击该目标。", "retrieve": "右键回收周围所有你的傀儡。蹲下右键回收远处的傀儡。", - "summon": "右键把一个傀儡召唤至指向的远处的方块。蹲下右键召唤背包中所有傀儡" + "summon": "右键把一个傀儡召唤至指向的远处的方块。蹲下右键召唤背包中所有傀儡。", + "rider": "右键一个犬型傀儡以骑在它身上。" }, "msg": { "destroy_exp": "%s销毁了%s经验",