Powered exoskeleton(机动外骨骼)

Add four Powered Exoskeletons!It can give players different effects

File Details

powered-exoskeleton-1.1.0_a.jar

  • B
  • May 5, 2025
  • 45.09 KB
  • 9
  • 1.21.1
  • Fabric

File Name

powered-exoskeleton-1.1.0_a.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:powered-exoskeleton-1259305:6498535"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

reporter:To avoid potential discrepancies with the intended meaning, no English changelog is provided here. Please translate it yourself.

 

 

MOD名称:Powered Exoskeleton
MOD_ID:powered-exoskeleton
开发者:J_pc(中国大陆,PRC)
相比1.0.0_a版本:
添加powered-exoskeleton:torso_exoskeleton与powered-exoskeleton:legs_exoskeleton的贴图;
添加powered-exoskeleton:torso_exoskeleton与powered-exoskeleton:legs_exoskeleton穿戴时的效果
相关代码(powered-exoskeleton:legs_exoskeleton):
 
package com.example.item.custom;
 
import net.minecraft.entity.Entity;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.world.World;
 
public class ModLEArmorItem extends ArmorItem {
    
    private static final StatusEffectInstance L_E_EFFECT =
            new StatusEffectInstance(StatusEffects.JUMP_BOOST, 1, 2, false, false);
    
    
    public ModLEArmorItem(RegistryEntry<ArmorMaterial> material, Type type, Settings settings) {
        super(material, type, settings);
    }
    private void applyLevitationEffect(PlayerEntity player) {
        player.addStatusEffect(new StatusEffectInstance(L_E_EFFECT));
    }
    
    private boolean isWearingChestplate(PlayerEntity player) {
        ItemStack chestSlot = player.getInventory().getArmorStack(1);
        return !chestSlot.isEmpty() && chestSlot.getItem() == this;
    }
    
    @Override
    public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) {
        super.inventoryTick(stack, world, entity, slot, selected);
        
        if (!world.isClient() &&
                entity instanceof PlayerEntity player &&
                isWearingChestplate(player)) {
            applyLevitationEffect(player);
        }
    }
}
 
相关代码(powered-exoskeleton:torso_exoskeleton):
 
package com.example.item.custom;
 
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.entity.Entity;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.world.World;
 
public class ModTEArmorItem extends ArmorItem {
    
    private static final StatusEffectInstance T_E_EFFECT =
            new StatusEffectInstance(StatusEffects.LEVITATION, 1, 5, false, false);
    
    public ModTEArmorItem(RegistryEntry<ArmorMaterial> material, Type type, Settings settings) {
        super(material, type, settings);
    }
    
    private void applyLevitationEffect(PlayerEntity player) {
        if (!player.isOnGround() && Screen.hasShiftDown()) {
            player.addStatusEffect(new StatusEffectInstance(T_E_EFFECT));
        }
    }
    
    private boolean isWearingChestplate(PlayerEntity player) {
        ItemStack chestSlot = player.getInventory().getArmorStack(2);
        return !chestSlot.isEmpty() && chestSlot.getItem() == this;
    }
    
    @Override
    public void inventoryTick(ItemStack stack, World world, Entity entity, int slot, boolean selected) {
        super.inventoryTick(stack, world, entity, slot, selected);
        
        if (!world.isClient() &&
                entity instanceof PlayerEntity player &&
                isWearingChestplate(player)) {
            applyLevitationEffect(player);
        }
    }
}
 
经测试,此版本目前未发现异常
报告人:J_pc(中国大陆,PRC)
报告时间:2025/5/5/19:32(东八区)
MOD创建时期:2025/4/18/20:38(东八区)
MOD版本:1.1.0_a
MOD编写时的联网状态:个人网
MOD适用的Minecraft版本:《Minecraft JAVA 1.21.1-Fabric 0.16.10-Fabric API 0.115.1 Edition》
MOD适用的模组加载器版本:Fabric 0.16.13
MOD当前版本完成时期:2025/5/5/19:28(东八区)
MOD当前版本测试完成时期:2025/5/5/19:25(东八区)
MOD编写时使用的操作系统:Windows10.0.19042.746
MOD编写时使用的中央处理器:Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz 2.40 GHz
MOD编写时使用的显卡:集成显卡
MOD编写时使用的JAVA解释器:JDK 21.0.4
MOD编写时使用的映射:yarn映射
MOD测试时使用的启动器:Fabric Launcher(Intellij IDEA)
MOD测试时的联网状态:个人网
MOD测试时的登录方式:离线登录
MOD测试时使用的JAVA解释器:JDK 21.0.4
MOD测试时使用的Minecraft源:镜像源
MOD测试时的版本隔离:隔离所有版本
MOD测试时的JAVA虚拟机参数头:-XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Dfml.ignoreInvalidMinecraftCertificates=True -Dfml.ignorePatchDiscrepancies=True -Dlog4j2.formatMsgNoLookups=true
     JAVA虚拟机参数尾:
MOD测试时使用的Minecraft版本:《Minecraft JAVA 1.21.1-Fabric 0.16.13 Edition》
MOD测试时使用的前置MOD:Fabric API-0.115.4