Update portable gravitation stabilizer
This commit is contained in:
parent
e513bb8a8f
commit
4cb3acf126
src/main/kotlin/ru/dbotthepony/mc/otm
@ -3,31 +3,18 @@ package ru.dbotthepony.mc.otm.item.armor
|
|||||||
import net.minecraft.ChatFormatting
|
import net.minecraft.ChatFormatting
|
||||||
import net.minecraft.client.model.HumanoidModel
|
import net.minecraft.client.model.HumanoidModel
|
||||||
import net.minecraft.network.chat.Component
|
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.EquipmentSlot
|
||||||
import net.minecraft.world.entity.LivingEntity
|
import net.minecraft.world.entity.LivingEntity
|
||||||
import net.minecraft.world.item.*
|
import net.minecraft.world.item.ArmorItem
|
||||||
import net.minecraft.world.item.crafting.Ingredient
|
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 net.neoforged.neoforge.client.extensions.common.IClientItemExtensions
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent
|
||||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
|
||||||
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel
|
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel
|
||||||
import java.util.function.Consumer
|
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||||
|
import ru.dbotthepony.mc.otm.registry.ClientExtensionsListener
|
||||||
private object GravitationStabilizerArmorMaterial : ArmorMaterial {
|
import ru.dbotthepony.mc.otm.registry.MArmorMaterials
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
private object GravitationStabilizerArmorRenderProperties : IClientItemExtensions {
|
private object GravitationStabilizerArmorRenderProperties : IClientItemExtensions {
|
||||||
override fun getHumanoidArmorModel(
|
override fun getHumanoidArmorModel(
|
||||||
@ -40,10 +27,9 @@ private object GravitationStabilizerArmorRenderProperties : IClientItemExtension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class PortableGravitationStabilizerItem : ArmorItem(GravitationStabilizerArmorMaterial, Type.CHESTPLATE, Properties().stacksTo(1).rarity(Rarity.RARE)) {
|
class PortableGravitationStabilizerItem : ArmorItem(MArmorMaterials.GRAVITATION_STABILIZIER, Type.CHESTPLATE, Properties().stacksTo(1).rarity(Rarity.RARE)), ClientExtensionsListener {
|
||||||
override fun initializeClient(consumer: Consumer<IClientItemExtensions>) {
|
override fun registerClientExtensions(event: RegisterClientExtensionsEvent) {
|
||||||
super.initializeClient(consumer)
|
event.registerItem(GravitationStabilizerArmorRenderProperties, this)
|
||||||
consumer.accept(GravitationStabilizerArmorRenderProperties)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun appendHoverText(
|
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
|
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.resources.ResourceLocation
|
||||||
import net.minecraft.tags.TagKey
|
import net.minecraft.tags.TagKey
|
||||||
import net.minecraft.world.item.DyeColor
|
import net.minecraft.world.item.DyeColor
|
||||||
|
import net.neoforged.api.distmarker.Dist
|
||||||
import net.neoforged.bus.api.IEventBus
|
import net.neoforged.bus.api.IEventBus
|
||||||
|
import net.neoforged.fml.loading.FMLEnvironment
|
||||||
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent
|
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent
|
||||||
|
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent
|
||||||
import net.neoforged.neoforge.registries.RegisterEvent
|
import net.neoforged.neoforge.registries.RegisterEvent
|
||||||
import org.apache.logging.log4j.LogManager
|
import org.apache.logging.log4j.LogManager
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||||
@ -211,6 +214,10 @@ class MDeferredRegister<R : Any>(val registry: ResourceKey<out Registry<R>>, val
|
|||||||
eventRegistered = true
|
eventRegistered = true
|
||||||
bus.addListener(this::onRegisterEvent)
|
bus.addListener(this::onRegisterEvent)
|
||||||
bus.addListener(this::registerCapabilities)
|
bus.addListener(this::registerCapabilities)
|
||||||
|
|
||||||
|
if (FMLEnvironment.dist == Dist.CLIENT) {
|
||||||
|
bus.addListener(this::registerClientExtensions)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun registerCapabilities(event: RegisterCapabilitiesEvent) {
|
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 {
|
companion object {
|
||||||
private val LOGGER = LogManager.getLogger()
|
private val LOGGER = LogManager.getLogger()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user