parent
e5d41bf456
commit
4beb660080
@ -44,13 +44,20 @@ fun modLocation(string: String) = ResourceLocation(DataGen.MOD_ID, string)
|
|||||||
object DataGen {
|
object DataGen {
|
||||||
const val MOD_ID = OverdriveThatMatters.MOD_ID
|
const val MOD_ID = OverdriveThatMatters.MOD_ID
|
||||||
|
|
||||||
private lateinit var blockModelProvider: MatteryBlockModelProvider
|
var blockModelProvider: MatteryBlockModelProvider by WriteOnce()
|
||||||
private lateinit var itemModelProvider: MatteryItemModelProvider
|
private set
|
||||||
private lateinit var blockStateProvider: MatteryBlockStateProvider
|
var itemModelProvider: MatteryItemModelProvider by WriteOnce()
|
||||||
private lateinit var lootTableProvider: LootTables
|
private set
|
||||||
private lateinit var recipeProvider: MatteryRecipeProvider
|
var blockStateProvider: MatteryBlockStateProvider by WriteOnce()
|
||||||
private lateinit var lootModifier: LootModifiers
|
private set
|
||||||
private lateinit var languageProvider: MatteryLanguageProvider
|
var lootTableProvider: LootTables by WriteOnce()
|
||||||
|
private set
|
||||||
|
var recipeProvider: MatteryRecipeProvider by WriteOnce()
|
||||||
|
private set
|
||||||
|
var lootModifier: LootModifiers by WriteOnce()
|
||||||
|
private set
|
||||||
|
var languageProvider: MatteryLanguageProvider by WriteOnce()
|
||||||
|
private set
|
||||||
|
|
||||||
fun decorativeCubeAll(vararg blocks: Block) {
|
fun decorativeCubeAll(vararg blocks: Block) {
|
||||||
blockModelProvider.decorativeCubeAll(*blocks)
|
blockModelProvider.decorativeCubeAll(*blocks)
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
package ru.dbotthepony.mc.otm.datagen
|
package ru.dbotthepony.mc.otm.datagen
|
||||||
|
|
||||||
import net.minecraft.resources.ResourceLocation
|
import net.minecraft.resources.ResourceLocation
|
||||||
|
import net.minecraft.sounds.SoundEvent
|
||||||
import net.minecraftforge.common.data.SoundDefinition
|
import net.minecraftforge.common.data.SoundDefinition
|
||||||
import net.minecraftforge.common.data.SoundDefinitionsProvider
|
import net.minecraftforge.common.data.SoundDefinitionsProvider
|
||||||
import net.minecraftforge.data.event.GatherDataEvent
|
import net.minecraftforge.data.event.GatherDataEvent
|
||||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||||
|
|
||||||
|
fun SoundDefinition.subtitle(value: SoundEvent): SoundDefinition {
|
||||||
|
return subtitle("otm.sound." + value.location.path)
|
||||||
|
}
|
||||||
|
|
||||||
class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) {
|
class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) {
|
||||||
override fun registerSounds() {
|
override fun registerSounds() {
|
||||||
add(MSoundEvents.PLASMA_WEAPON_OVERHEAT,
|
add(MSoundEvents.PLASMA_WEAPON_OVERHEAT,
|
||||||
@ -19,5 +24,21 @@ class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event
|
|||||||
add(MSoundEvents.RIFLE_SHOT,
|
add(MSoundEvents.RIFLE_SHOT,
|
||||||
definition().subtitle("otm.sound.rifle_shot")
|
definition().subtitle("otm.sound.rifle_shot")
|
||||||
.with(SoundDefinition.Sound.sound(modLocation("item/rifle_shot"), SoundDefinition.SoundType.SOUND)))
|
.with(SoundDefinition.Sound.sound(modLocation("item/rifle_shot"), SoundDefinition.SoundType.SOUND)))
|
||||||
|
|
||||||
|
simple(MSoundEvents.CARGO_CRATE_OPEN)
|
||||||
|
}
|
||||||
|
|
||||||
|
private inline fun add(value: SoundEvent, block: SoundDefinition.() -> Unit) {
|
||||||
|
add(value, definition().subtitle(value).also(block))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun add(value: SoundEvent, path: String) {
|
||||||
|
add(value) {
|
||||||
|
with(SoundDefinition.Sound.sound(modLocation(path), SoundDefinition.SoundType.SOUND))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun simple(value: SoundEvent) {
|
||||||
|
add(value, value.location.path)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,8 @@ private fun sounds(provider: MatteryLanguageProvider) {
|
|||||||
sound("rifle_shot", "Plasma rifle fires")
|
sound("rifle_shot", "Plasma rifle fires")
|
||||||
sound("plasma_weapon_overheat", "Plasma weapon overheats")
|
sound("plasma_weapon_overheat", "Plasma weapon overheats")
|
||||||
sound("player_become_android", "Player became android")
|
sound("player_become_android", "Player became android")
|
||||||
|
|
||||||
|
sound(MSoundEvents.CARGO_CRATE_OPEN, "Cargo crate opened")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
|
|||||||
import net.minecraft.data.DataGenerator
|
import net.minecraft.data.DataGenerator
|
||||||
import net.minecraft.network.chat.MutableComponent
|
import net.minecraft.network.chat.MutableComponent
|
||||||
import net.minecraft.network.chat.contents.TranslatableContents
|
import net.minecraft.network.chat.contents.TranslatableContents
|
||||||
|
import net.minecraft.sounds.SoundEvent
|
||||||
import net.minecraft.world.effect.MobEffect
|
import net.minecraft.world.effect.MobEffect
|
||||||
import net.minecraft.world.entity.EntityType
|
import net.minecraft.world.entity.EntityType
|
||||||
import net.minecraft.world.item.DyeColor
|
import net.minecraft.world.item.DyeColor
|
||||||
@ -71,6 +72,7 @@ class MatteryLanguageProvider(private val gen: DataGenerator) {
|
|||||||
fun misc(key: String, value: String) = slave.add("otm.$key", value)
|
fun misc(key: String, value: String) = slave.add("otm.$key", value)
|
||||||
fun gui(key: String, value: String) = slave.add("otm.gui.$key", value)
|
fun gui(key: String, value: String) = slave.add("otm.gui.$key", value)
|
||||||
fun sound(key: String, value: String) = slave.add("otm.sound.$key", value)
|
fun sound(key: String, value: String) = slave.add("otm.sound.$key", value)
|
||||||
|
fun sound(key: SoundEvent, value: String) = slave.add("otm.sound.${key.location.path}", value)
|
||||||
}
|
}
|
||||||
|
|
||||||
inner class Colors(
|
inner class Colors(
|
||||||
|
@ -5,6 +5,7 @@ import net.minecraft.world.item.Tiers
|
|||||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||||
import ru.dbotthepony.mc.otm.registry.MItems
|
import ru.dbotthepony.mc.otm.registry.MItems
|
||||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||||
|
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||||
|
|
||||||
fun addTags(tagsProvider: TagsProvider) {
|
fun addTags(tagsProvider: TagsProvider) {
|
||||||
tagsProvider.items.forge("pistons").add(Items.PISTON)
|
tagsProvider.items.forge("pistons").add(Items.PISTON)
|
||||||
|
@ -4,11 +4,13 @@ import it.unimi.dsi.fastutil.objects.ObjectArraySet
|
|||||||
import net.minecraft.core.Registry
|
import net.minecraft.core.Registry
|
||||||
import net.minecraft.resources.ResourceLocation
|
import net.minecraft.resources.ResourceLocation
|
||||||
import net.minecraft.tags.BlockTags
|
import net.minecraft.tags.BlockTags
|
||||||
|
import net.minecraft.tags.GameEventTags
|
||||||
import net.minecraft.tags.TagKey
|
import net.minecraft.tags.TagKey
|
||||||
import net.minecraft.world.item.Item
|
import net.minecraft.world.item.Item
|
||||||
import net.minecraft.world.item.Tier
|
import net.minecraft.world.item.Tier
|
||||||
import net.minecraft.world.item.Tiers
|
import net.minecraft.world.item.Tiers
|
||||||
import net.minecraft.world.level.block.Block
|
import net.minecraft.world.level.block.Block
|
||||||
|
import net.minecraft.world.level.gameevent.GameEvent
|
||||||
import net.minecraftforge.data.event.GatherDataEvent
|
import net.minecraftforge.data.event.GatherDataEvent
|
||||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||||
import net.minecraft.data.tags.TagsProvider as MinecraftTagsProvider
|
import net.minecraft.data.tags.TagsProvider as MinecraftTagsProvider
|
||||||
@ -211,6 +213,9 @@ class TagsProvider(
|
|||||||
val rawOres = items.forge("raw_ores")
|
val rawOres = items.forge("raw_ores")
|
||||||
val wires = items.forge("wires")
|
val wires = items.forge("wires")
|
||||||
|
|
||||||
|
val gameEvents = Delegate(Registry.GAME_EVENT)
|
||||||
|
val vibrations = gameEvents.appender(GameEventTags.VIBRATIONS)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
event.generator.addProvider(true, blocks)
|
event.generator.addProvider(true, blocks)
|
||||||
event.generator.addProvider(true, items)
|
event.generator.addProvider(true, items)
|
||||||
|
@ -4,6 +4,7 @@ import net.minecraft.core.BlockPos
|
|||||||
import net.minecraft.core.Direction
|
import net.minecraft.core.Direction
|
||||||
import net.minecraft.nbt.CompoundTag
|
import net.minecraft.nbt.CompoundTag
|
||||||
import net.minecraft.network.chat.Component
|
import net.minecraft.network.chat.Component
|
||||||
|
import net.minecraft.sounds.SoundSource
|
||||||
import net.minecraft.world.Container
|
import net.minecraft.world.Container
|
||||||
import net.minecraft.world.entity.player.Inventory
|
import net.minecraft.world.entity.player.Inventory
|
||||||
import net.minecraft.world.entity.player.Player
|
import net.minecraft.world.entity.player.Player
|
||||||
@ -21,6 +22,7 @@ import ru.dbotthepony.mc.otm.menu.CargoCrateMenu
|
|||||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||||
import ru.dbotthepony.mc.otm.container.set
|
import ru.dbotthepony.mc.otm.container.set
|
||||||
import ru.dbotthepony.mc.otm.core.set
|
import ru.dbotthepony.mc.otm.core.set
|
||||||
|
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||||
|
|
||||||
class CargoCrateBlockEntity(
|
class CargoCrateBlockEntity(
|
||||||
p_155229_: BlockPos,
|
p_155229_: BlockPos,
|
||||||
@ -36,6 +38,7 @@ class CargoCrateBlockEntity(
|
|||||||
fun onPlayerOpen() {
|
fun onPlayerOpen() {
|
||||||
if (interactingPlayers++ == 0) {
|
if (interactingPlayers++ == 0) {
|
||||||
level?.setBlock(blockPos, blockState.setValue(CargoCrateBlock.IS_OPEN, true), Block.UPDATE_CLIENTS)
|
level?.setBlock(blockPos, blockState.setValue(CargoCrateBlock.IS_OPEN, true), Block.UPDATE_CLIENTS)
|
||||||
|
level?.playSound(null, blockPos, MSoundEvents.CARGO_CRATE_OPEN, SoundSource.BLOCKS, 1f, 0.8f + (level?.random?.nextFloat() ?: 1f) * 0.2f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ object MSoundEvents {
|
|||||||
val RIFLE_SHOT: SoundEvent by make("item.rifle_shot")
|
val RIFLE_SHOT: SoundEvent by make("item.rifle_shot")
|
||||||
val PLASMA_WEAPON_OVERHEAT: SoundEvent by make("item.plasma_weapon_overheat")
|
val PLASMA_WEAPON_OVERHEAT: SoundEvent by make("item.plasma_weapon_overheat")
|
||||||
val PLAYER_BECOME_ANDROID: SoundEvent by make("player_become_android")
|
val PLAYER_BECOME_ANDROID: SoundEvent by make("player_become_android")
|
||||||
|
val CARGO_CRATE_OPEN: SoundEvent by make("cargo_crate_open")
|
||||||
|
|
||||||
internal fun register(bus: IEventBus) {
|
internal fun register(bus: IEventBus) {
|
||||||
registry.register(bus)
|
registry.register(bus)
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user