Update portable gravitation stabilizer
This commit is contained in:
parent
e513bb8a8f
commit
4cb3acf126
@ -3,31 +3,18 @@ package ru.dbotthepony.mc.otm.item.armor
|
||||
import net.minecraft.ChatFormatting
|
||||
import net.minecraft.client.model.HumanoidModel
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.sounds.SoundEvent
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import net.minecraft.world.entity.EquipmentSlot
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.item.*
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.minecraft.world.item.ArmorItem
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Rarity
|
||||
import net.minecraft.world.item.TooltipFlag
|
||||
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent
|
||||
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel
|
||||
import java.util.function.Consumer
|
||||
|
||||
private object GravitationStabilizerArmorMaterial : ArmorMaterial {
|
||||
override fun getDurabilityForType(p_40410_: ArmorItem.Type) = 0
|
||||
override fun getDefenseForType(p_40411_: ArmorItem.Type) = 3
|
||||
override fun getEnchantmentValue() = 0
|
||||
override fun getEquipSound(): SoundEvent = SoundEvents.ARMOR_EQUIP_GENERIC
|
||||
override fun getRepairIngredient(): Ingredient = Ingredient.EMPTY
|
||||
|
||||
const val ID = "${OverdriveThatMatters.MOD_ID}:gravitation_stabilizer"
|
||||
|
||||
override fun getName(): String = ID
|
||||
override fun getToughness() = 0f
|
||||
override fun getKnockbackResistance() = 0f
|
||||
}
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.registry.ClientExtensionsListener
|
||||
import ru.dbotthepony.mc.otm.registry.MArmorMaterials
|
||||
|
||||
private object GravitationStabilizerArmorRenderProperties : IClientItemExtensions {
|
||||
override fun getHumanoidArmorModel(
|
||||
@ -40,10 +27,9 @@ private object GravitationStabilizerArmorRenderProperties : IClientItemExtension
|
||||
}
|
||||
}
|
||||
|
||||
class PortableGravitationStabilizerItem : ArmorItem(GravitationStabilizerArmorMaterial, Type.CHESTPLATE, Properties().stacksTo(1).rarity(Rarity.RARE)) {
|
||||
override fun initializeClient(consumer: Consumer<IClientItemExtensions>) {
|
||||
super.initializeClient(consumer)
|
||||
consumer.accept(GravitationStabilizerArmorRenderProperties)
|
||||
class PortableGravitationStabilizerItem : ArmorItem(MArmorMaterials.GRAVITATION_STABILIZIER, Type.CHESTPLATE, Properties().stacksTo(1).rarity(Rarity.RARE)), ClientExtensionsListener {
|
||||
override fun registerClientExtensions(event: RegisterClientExtensionsEvent) {
|
||||
event.registerItem(GravitationStabilizerArmorRenderProperties, this)
|
||||
}
|
||||
|
||||
override fun appendHoverText(
|
||||
|
@ -0,0 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.registry
|
||||
|
||||
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent
|
||||
|
||||
interface ClientExtensionsListener {
|
||||
fun registerClientExtensions(event: RegisterClientExtensionsEvent)
|
||||
}
|
@ -56,4 +56,18 @@ object MArmorMaterials {
|
||||
0f
|
||||
)
|
||||
}
|
||||
|
||||
val GRAVITATION_STABILIZIER = registrar.register("simple_tritanium") {
|
||||
ArmorMaterial(
|
||||
mapOf(
|
||||
ArmorItem.Type.CHESTPLATE to 3,
|
||||
),
|
||||
9,
|
||||
SoundEvents.ARMOR_EQUIP_GENERIC,
|
||||
{ Ingredient.EMPTY },
|
||||
listOf(), // custom model
|
||||
0f,
|
||||
0f
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -10,8 +10,11 @@ import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.tags.TagKey
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import net.neoforged.api.distmarker.Dist
|
||||
import net.neoforged.bus.api.IEventBus
|
||||
import net.neoforged.fml.loading.FMLEnvironment
|
||||
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent
|
||||
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent
|
||||
import net.neoforged.neoforge.registries.RegisterEvent
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
@ -211,6 +214,10 @@ class MDeferredRegister<R : Any>(val registry: ResourceKey<out Registry<R>>, val
|
||||
eventRegistered = true
|
||||
bus.addListener(this::onRegisterEvent)
|
||||
bus.addListener(this::registerCapabilities)
|
||||
|
||||
if (FMLEnvironment.dist == Dist.CLIENT) {
|
||||
bus.addListener(this::registerClientExtensions)
|
||||
}
|
||||
}
|
||||
|
||||
private fun registerCapabilities(event: RegisterCapabilitiesEvent) {
|
||||
@ -223,6 +230,16 @@ class MDeferredRegister<R : Any>(val registry: ResourceKey<out Registry<R>>, val
|
||||
}
|
||||
}
|
||||
|
||||
private fun registerClientExtensions(event: RegisterClientExtensionsEvent) {
|
||||
entriesInternal.values.forEach {
|
||||
val value = it.value
|
||||
|
||||
if (value is ClientExtensionsListener) {
|
||||
value.registerClientExtensions(event)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val LOGGER = LogManager.getLogger()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user