properly register loot item conditions
This commit is contained in:
parent
94c64e0a5c
commit
f8a32ac2c3
@ -23,7 +23,7 @@ object HasExosuitCondition : LootItemCondition, Serializer<HasExosuitCondition>,
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getType(): LootItemConditionType {
|
override fun getType(): LootItemConditionType {
|
||||||
return MLootItemConditions.HAS_EXOSUIT
|
return MLootItemConditions.HAS_EXOPACK
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun serialize(p_79325_: JsonObject, p_79326_: HasExosuitCondition, p_79327_: JsonSerializationContext) {
|
override fun serialize(p_79325_: JsonObject, p_79326_: HasExosuitCondition, p_79327_: JsonSerializationContext) {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package ru.dbotthepony.mc.otm.registry
|
package ru.dbotthepony.mc.otm.registry
|
||||||
|
|
||||||
import net.minecraft.core.Registry
|
import net.minecraft.core.Registry
|
||||||
import net.minecraft.resources.ResourceLocation
|
|
||||||
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType
|
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType
|
||||||
import net.minecraftforge.registries.RegisterEvent
|
import net.minecraftforge.eventbus.api.IEventBus
|
||||||
|
import net.minecraftforge.registries.DeferredRegister
|
||||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||||
import ru.dbotthepony.mc.otm.data.condition.ChanceWithPlaytimeCondition
|
import ru.dbotthepony.mc.otm.data.condition.ChanceWithPlaytimeCondition
|
||||||
import ru.dbotthepony.mc.otm.data.condition.HasExosuitCondition
|
import ru.dbotthepony.mc.otm.data.condition.HasExosuitCondition
|
||||||
@ -13,21 +13,16 @@ import ru.dbotthepony.mc.otm.data.condition.KilledByRealPlayerOrIndirectly
|
|||||||
import ru.dbotthepony.mc.otm.data.condition.ChanceCondition
|
import ru.dbotthepony.mc.otm.data.condition.ChanceCondition
|
||||||
|
|
||||||
object MLootItemConditions {
|
object MLootItemConditions {
|
||||||
val HAS_EXOSUIT = LootItemConditionType(HasExosuitCondition)
|
private val registry = DeferredRegister.create(Registry.LOOT_ITEM_REGISTRY, OverdriveThatMatters.MOD_ID)
|
||||||
val KILLED_BY_REAL_PLAYER = LootItemConditionType(KilledByRealPlayer)
|
|
||||||
val KILLED_BY_REAL_PLAYER_OR_INDIRECTLY = LootItemConditionType(KilledByRealPlayerOrIndirectly)
|
|
||||||
val CHANCE_WITH_PLAYTIME = LootItemConditionType(ChanceWithPlaytimeCondition)
|
|
||||||
val ITEM_IN_INVENTORY = LootItemConditionType(ItemInInventoryCondition)
|
|
||||||
val CHANCE = LootItemConditionType(ChanceCondition.Companion)
|
|
||||||
|
|
||||||
internal fun register(event: RegisterEvent) {
|
val HAS_EXOPACK: LootItemConditionType by registry.register("has_exosuit") { LootItemConditionType(HasExosuitCondition) }
|
||||||
if (event.getVanillaRegistry<LootItemConditionType>() == Registry.LOOT_CONDITION_TYPE) {
|
val CHANCE_WITH_PLAYTIME: LootItemConditionType by registry.register("chance_with_playtime") { LootItemConditionType(ChanceWithPlaytimeCondition) }
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "has_exosuit"), HAS_EXOSUIT)
|
val ITEM_IN_INVENTORY: LootItemConditionType by registry.register("item_in_inventory") { LootItemConditionType(ItemInInventoryCondition) }
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "chance_with_playtime"), CHANCE_WITH_PLAYTIME)
|
val KILLED_BY_REAL_PLAYER: LootItemConditionType by registry.register("killed_by_real_player") { LootItemConditionType(KilledByRealPlayer) }
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "item_in_inventory"), ITEM_IN_INVENTORY)
|
val KILLED_BY_REAL_PLAYER_OR_INDIRECTLY: LootItemConditionType by registry.register("killed_by_real_player_or_indirectly") { LootItemConditionType(KilledByRealPlayerOrIndirectly) }
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "killed_by_real_player"), KILLED_BY_REAL_PLAYER)
|
val CHANCE: LootItemConditionType by registry.register("chance") { LootItemConditionType(ChanceCondition.Companion) }
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "killed_by_real_player_or_indirectly"), KILLED_BY_REAL_PLAYER_OR_INDIRECTLY)
|
|
||||||
Registry.LOOT_CONDITION_TYPE.register(ResourceLocation(OverdriveThatMatters.MOD_ID, "chance"), CHANCE)
|
internal fun register(bus: IEventBus) {
|
||||||
}
|
registry.register(bus)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,6 @@ object MRegistry {
|
|||||||
bus.addListener(this::initializeClient)
|
bus.addListener(this::initializeClient)
|
||||||
bus.addListener(this::initializeCommon)
|
bus.addListener(this::initializeCommon)
|
||||||
bus.addListener(MStats::registerVanilla)
|
bus.addListener(MStats::registerVanilla)
|
||||||
bus.addListener(MLootItemConditions::register)
|
|
||||||
|
|
||||||
MBlocks.register(bus)
|
MBlocks.register(bus)
|
||||||
MBlockEntities.register(bus)
|
MBlockEntities.register(bus)
|
||||||
@ -236,6 +235,7 @@ object MRegistry {
|
|||||||
MSoundEvents.register(bus)
|
MSoundEvents.register(bus)
|
||||||
LootModifiers.register(bus)
|
LootModifiers.register(bus)
|
||||||
MItemFunctionTypes.register(bus)
|
MItemFunctionTypes.register(bus)
|
||||||
|
MLootItemConditions.register(bus)
|
||||||
|
|
||||||
MRecipes.register(bus)
|
MRecipes.register(bus)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user