修复服务端无法启动的bug
This commit is contained in:
parent
2bcefece6a
commit
db2320607f
6 changed files with 87 additions and 25 deletions
|
@ -13,6 +13,8 @@ import net.minecraft.world.item.ArmorMaterial;
|
|||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.component.ItemAttributeModifiers;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import software.bernie.geckolib.animatable.GeoItem;
|
||||
import software.bernie.geckolib.animatable.client.GeoRenderProvider;
|
||||
|
@ -27,9 +29,22 @@ import java.util.function.Supplier;
|
|||
|
||||
public abstract class BulletResistantArmor extends ArmorItem implements GeoItem {
|
||||
|
||||
private final Supplier<GeoArmorRenderer<? extends Item>> renderer;
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
|
||||
private float bulletResistance = 0.1f;
|
||||
|
||||
public BulletResistantArmor(Holder<ArmorMaterial> material, Type type, Properties properties) {
|
||||
super(material, type, properties);
|
||||
}
|
||||
|
||||
public BulletResistantArmor(Holder<ArmorMaterial> material, Type type, Properties properties, float bulletResistance) {
|
||||
super(material, type, properties);
|
||||
this.bulletResistance = bulletResistance;
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public abstract Supplier<GeoArmorRenderer<? extends Item>> getRenderer();
|
||||
|
||||
@Override
|
||||
public AnimatableInstanceCache getAnimatableInstanceCache() {
|
||||
return this.cache;
|
||||
|
@ -43,7 +58,7 @@ public abstract class BulletResistantArmor extends ArmorItem implements GeoItem
|
|||
@Override
|
||||
public <T extends LivingEntity> HumanoidModel<?> getGeoArmorRenderer(T livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, HumanoidModel<T> original) {
|
||||
if (this.renderer == null)
|
||||
this.renderer = BulletResistantArmor.this.renderer.get();
|
||||
this.renderer = BulletResistantArmor.this.getRenderer().get();
|
||||
return this.renderer;
|
||||
}
|
||||
});
|
||||
|
@ -53,19 +68,6 @@ public abstract class BulletResistantArmor extends ArmorItem implements GeoItem
|
|||
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||
}
|
||||
|
||||
private float bulletResistance = 0.1f;
|
||||
|
||||
public BulletResistantArmor(Holder<ArmorMaterial> material, Type type, Properties properties, Supplier<GeoArmorRenderer<? extends Item>> renderer) {
|
||||
super(material, type, properties);
|
||||
this.renderer = renderer;
|
||||
}
|
||||
|
||||
public BulletResistantArmor(Holder<ArmorMaterial> material, Type type, Properties properties, float bulletResistance, Supplier<GeoArmorRenderer<? extends Item>> renderer) {
|
||||
super(material, type, properties);
|
||||
this.bulletResistance = bulletResistance;
|
||||
this.renderer = renderer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull ItemAttributeModifiers getDefaultAttributeModifiers(@NotNull ItemStack stack) {
|
||||
var modifiers = super.getDefaultAttributeModifiers(stack);
|
||||
|
|
|
@ -2,13 +2,25 @@ package com.atsuishio.superbwarfare.item.armor;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.renderer.armor.GeHelmetM35ArmorRenderer;
|
||||
import com.atsuishio.superbwarfare.init.ModArmorMaterials;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class GeHelmetM35 extends BulletResistantArmor {
|
||||
|
||||
public GeHelmetM35() {
|
||||
super(ModArmorMaterials.STEEL,
|
||||
Type.HELMET,
|
||||
new Properties().durability(Type.HELMET.getDurability(35)),
|
||||
GeHelmetM35ArmorRenderer::new
|
||||
new Properties().durability(Type.HELMET.getDurability(35))
|
||||
);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public Supplier<GeoArmorRenderer<? extends Item>> getRenderer() {
|
||||
return GeHelmetM35ArmorRenderer::new;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,14 +2,26 @@ package com.atsuishio.superbwarfare.item.armor;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.renderer.armor.RuChest6b43ArmorRenderer;
|
||||
import com.atsuishio.superbwarfare.init.ModArmorMaterials;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class RuChest6b43 extends BulletResistantArmor {
|
||||
|
||||
public RuChest6b43() {
|
||||
super(ModArmorMaterials.CEMENTED_CARBIDE,
|
||||
Type.CHESTPLATE,
|
||||
new Properties().durability(Type.CHESTPLATE.getDurability(50)),
|
||||
0.5f,
|
||||
RuChest6b43ArmorRenderer::new
|
||||
0.5f
|
||||
);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public Supplier<GeoArmorRenderer<? extends Item>> getRenderer() {
|
||||
return RuChest6b43ArmorRenderer::new;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,14 +2,26 @@ package com.atsuishio.superbwarfare.item.armor;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.renderer.armor.RuHelmet6b47ArmorRenderer;
|
||||
import com.atsuishio.superbwarfare.init.ModArmorMaterials;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class RuHelmet6b47 extends BulletResistantArmor {
|
||||
|
||||
public RuHelmet6b47() {
|
||||
super(ModArmorMaterials.CEMENTED_CARBIDE,
|
||||
Type.HELMET,
|
||||
new Properties().durability(Type.HELMET.getDurability(50)),
|
||||
0.2f,
|
||||
RuHelmet6b47ArmorRenderer::new
|
||||
0.2f
|
||||
);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public Supplier<GeoArmorRenderer<? extends Item>> getRenderer() {
|
||||
return RuHelmet6b47ArmorRenderer::new;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,14 +2,26 @@ package com.atsuishio.superbwarfare.item.armor;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.renderer.armor.UsChestIotvArmorRenderer;
|
||||
import com.atsuishio.superbwarfare.init.ModArmorMaterials;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class UsChestIotv extends BulletResistantArmor {
|
||||
|
||||
public UsChestIotv() {
|
||||
super(ModArmorMaterials.CEMENTED_CARBIDE,
|
||||
Type.CHESTPLATE,
|
||||
new Properties().durability(Type.CHESTPLATE.getDurability(50)),
|
||||
0.5f,
|
||||
UsChestIotvArmorRenderer::new
|
||||
0.5f
|
||||
);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public Supplier<GeoArmorRenderer<? extends Item>> getRenderer() {
|
||||
return UsChestIotvArmorRenderer::new;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,14 +2,26 @@ package com.atsuishio.superbwarfare.item.armor;
|
|||
|
||||
import com.atsuishio.superbwarfare.client.renderer.armor.UsHelmetPastgArmorRenderer;
|
||||
import com.atsuishio.superbwarfare.init.ModArmorMaterials;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import software.bernie.geckolib.renderer.GeoArmorRenderer;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class UsHelmetPastg extends BulletResistantArmor {
|
||||
|
||||
public UsHelmetPastg() {
|
||||
super(ModArmorMaterials.CEMENTED_CARBIDE,
|
||||
Type.HELMET,
|
||||
new Properties().durability(Type.HELMET.getDurability(50)),
|
||||
0.2f,
|
||||
UsHelmetPastgArmorRenderer::new
|
||||
0.2f
|
||||
);
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@Override
|
||||
public Supplier<GeoArmorRenderer<? extends Item>> getRenderer() {
|
||||
return UsHelmetPastgArmorRenderer::new;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue