Merge remote-tracking branch 'origin/1.21' into 1.21
# Conflicts: # src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt
This commit is contained in:
commit
7a1edd5e4a
@ -20,7 +20,6 @@ import net.neoforged.fml.common.EventBusSubscriber
|
||||
import net.neoforged.neoforge.client.model.generators.ModelFile
|
||||
import net.neoforged.neoforge.common.data.AdvancementProvider
|
||||
import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider
|
||||
import net.neoforged.neoforge.common.data.internal.NeoForgeAdvancementProvider
|
||||
import net.neoforged.neoforge.data.event.GatherDataEvent
|
||||
import net.neoforged.neoforge.registries.NeoForgeRegistries
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
@ -34,7 +33,6 @@ import ru.dbotthepony.mc.otm.datagen.blocks.MatteryBlockStateProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.items.MatteryItemModelProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.AddEnglishLanguage
|
||||
import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider
|
||||
import ru.dbotthepony.mc.otm.registry.*
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.advancements.addAdvancements
|
||||
import ru.dbotthepony.mc.otm.datagen.advancements.addAndroidAdvancements
|
||||
@ -48,10 +46,16 @@ import ru.dbotthepony.mc.otm.datagen.loot.*
|
||||
import ru.dbotthepony.mc.otm.datagen.loot.LootModifiers
|
||||
import ru.dbotthepony.mc.otm.datagen.recipes.*
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.TagsProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addConstructionTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addDyeTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addEquipmentTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addMineableTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addResourceTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addSuspiciousTags
|
||||
import ru.dbotthepony.mc.otm.datagen.tags.addTags
|
||||
import ru.dbotthepony.mc.otm.datagen.textures.ColorizedSpritesProvider
|
||||
import ru.dbotthepony.mc.otm.matter.MatterDataProvider
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock
|
||||
import ru.dbotthepony.mc.otm.registry.objects.DecorativeBlock
|
||||
import kotlin.properties.Delegates
|
||||
@ -517,6 +521,11 @@ object DataGen {
|
||||
|
||||
addTags(tagsProvider)
|
||||
addSuspiciousTags(tagsProvider)
|
||||
addConstructionTags(tagsProvider)
|
||||
addResourceTags(tagsProvider)
|
||||
addEquipmentTags(tagsProvider)
|
||||
addMineableTags(tagsProvider)
|
||||
addDyeTags(tagsProvider)
|
||||
|
||||
event.generator.addProvider(event.includeClient(), colorizedSpritesProvider)
|
||||
event.generator.addProvider(event.includeClient(), blockModelProvider)
|
||||
@ -563,6 +572,10 @@ object DataGen {
|
||||
addItemModels(itemModelProvider)
|
||||
blockStateProvider.exec { addComplexBlockStates(blockStateProvider) }
|
||||
addLootTables(lootTableProvider)
|
||||
addMachineLoot(lootTableProvider)
|
||||
addDecorativeLoot(lootTableProvider)
|
||||
addAdvancementLoot(lootTableProvider)
|
||||
addVaultLoot(lootTableProvider)
|
||||
addChestLootTables(lootTableProvider)
|
||||
|
||||
recipeProvider.exec { _, consumer ->
|
||||
|
@ -16,8 +16,8 @@ import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.blocks.MatteryBlockStateProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.items.MatteryItemModelProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import kotlin.properties.Delegates
|
||||
|
@ -7,7 +7,7 @@ import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.matter.MatterDataProvider
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
// general rule - anything plant or organic is much more complex than mineral
|
||||
// and anything mineral has much bigger matter value than complexity (just throw a lot of same molecules)
|
||||
|
@ -11,9 +11,9 @@ import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.mc.otm.core.TextComponent
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import java.util.LinkedList
|
||||
import java.util.function.Consumer
|
||||
|
@ -4,7 +4,7 @@ import net.minecraft.sounds.SoundEvent
|
||||
import net.neoforged.neoforge.common.data.SoundDefinition
|
||||
import net.neoforged.neoforge.common.data.SoundDefinitionsProvider
|
||||
import net.neoforged.neoforge.data.event.GatherDataEvent
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
|
||||
fun SoundDefinition.subtitle(value: SoundEvent): SoundDefinition {
|
||||
return subtitle("otm.sound." + value.location.path)
|
||||
@ -12,29 +12,35 @@ fun SoundDefinition.subtitle(value: SoundEvent): SoundDefinition {
|
||||
|
||||
class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event.generator.packOutput, DataGen.MOD_ID, event.existingFileHelper) {
|
||||
override fun registerSounds() {
|
||||
add(MSoundEvents.PLASMA_WEAPON_OVERHEAT,
|
||||
add(
|
||||
MSoundEvents.PLASMA_WEAPON_OVERHEAT,
|
||||
definition().subtitle("otm.sound.plasma_weapon_overheat")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("item/plasma_weapon_overheat"), SoundDefinition.SoundType.SOUND)))
|
||||
|
||||
add(MSoundEvents.PLAYER_BECOME_ANDROID,
|
||||
add(
|
||||
MSoundEvents.PLAYER_BECOME_ANDROID,
|
||||
definition().subtitle("otm.sound.player_become_android")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("player_become_android"), SoundDefinition.SoundType.SOUND)))
|
||||
|
||||
add(MSoundEvents.RIFLE_SHOT,
|
||||
add(
|
||||
MSoundEvents.RIFLE_SHOT,
|
||||
definition().subtitle("otm.sound.rifle_shot")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("item/rifle_shot"), SoundDefinition.SoundType.SOUND)))
|
||||
|
||||
simple(MSoundEvents.CARGO_CRATE_OPEN)
|
||||
|
||||
add(MSoundEvents.ANDROID_JUMP_BOOST,
|
||||
add(
|
||||
MSoundEvents.ANDROID_JUMP_BOOST,
|
||||
definition().subtitle("otm.sound.android.jump_boost")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("android/jump_boost"), SoundDefinition.SoundType.SOUND)))
|
||||
|
||||
add(MSoundEvents.ANDROID_SHOCKWAVE,
|
||||
add(
|
||||
MSoundEvents.ANDROID_SHOCKWAVE,
|
||||
definition().subtitle("otm.sound.android.shockwave")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("android/shockwave"), SoundDefinition.SoundType.SOUND)))
|
||||
|
||||
add(MSoundEvents.ANDROID_PROJ_PARRY,
|
||||
add(
|
||||
MSoundEvents.ANDROID_PROJ_PARRY,
|
||||
definition().subtitle("otm.sound.android.projectile_parry")
|
||||
.with(SoundDefinition.Sound.sound(modLocation("android/punch_projectile"), SoundDefinition.SoundType.SOUND))
|
||||
)
|
||||
|
@ -8,6 +8,7 @@ import net.minecraft.tags.BiomeTags
|
||||
import net.minecraft.tags.BlockTags
|
||||
import net.minecraft.util.valueproviders.ClampedNormalFloat
|
||||
import net.minecraft.util.valueproviders.ClampedNormalInt
|
||||
import net.minecraft.util.valueproviders.ConstantFloat
|
||||
import net.minecraft.util.valueproviders.UniformInt
|
||||
import net.minecraft.world.level.levelgen.GenerationStep
|
||||
import net.minecraft.world.level.levelgen.VerticalAnchor
|
||||
@ -26,12 +27,13 @@ import net.neoforged.neoforge.registries.NeoForgeRegistries
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.data.world.EllipsoidPlacement
|
||||
import ru.dbotthepony.mc.otm.data.world.StandardDeviationHeightProvider
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MWorldGenFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.data.MWorldGenFeatures
|
||||
import ru.dbotthepony.mc.otm.worldgen.feature.BlackHolePlacerFeature
|
||||
|
||||
private object ConfiguredFeatures {
|
||||
val TRITANIUM_ORE = key("tritanium_ore")
|
||||
val DILITHIUM = key("dilithium")
|
||||
val BLACK_HOLE = key("black_hole")
|
||||
|
||||
private fun key(name: String): ResourceKey<ConfiguredFeature<*, *>> {
|
||||
@ -43,13 +45,26 @@ fun registerConfiguredFeatures(context: BootstrapContext<ConfiguredFeature<*, *>
|
||||
val stone = TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES)
|
||||
val deepslate = TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES)
|
||||
|
||||
val target = listOf(
|
||||
OreConfiguration.target(stone, MBlocks.TRITANIUM_ORE.defaultBlockState()),
|
||||
OreConfiguration.target(deepslate, MBlocks.DEEPSLATE_TRITANIUM_ORE.defaultBlockState()),
|
||||
)
|
||||
run {
|
||||
val target = listOf(
|
||||
OreConfiguration.target(stone, MBlocks.TRITANIUM_ORE.defaultBlockState()),
|
||||
OreConfiguration.target(deepslate, MBlocks.DEEPSLATE_TRITANIUM_ORE.defaultBlockState()),
|
||||
)
|
||||
|
||||
context.register(ConfiguredFeatures.TRITANIUM_ORE, ConfiguredFeature(Feature.ORE, OreConfiguration(target, 9)))
|
||||
context.register(ConfiguredFeatures.BLACK_HOLE, ConfiguredFeature(MWorldGenFeatures.BLACK_HOLE_PLACER,
|
||||
context.register(ConfiguredFeatures.TRITANIUM_ORE, ConfiguredFeature(Feature.ORE, OreConfiguration(target, 9)))
|
||||
}
|
||||
|
||||
run {
|
||||
val target = listOf(
|
||||
OreConfiguration.target(stone, MBlocks.DILITHIUM_ORE.defaultBlockState()),
|
||||
OreConfiguration.target(deepslate, MBlocks.DEEPSLATE_DILITHIUM_ORE.defaultBlockState()),
|
||||
)
|
||||
|
||||
context.register(ConfiguredFeatures.DILITHIUM, ConfiguredFeature(Feature.ORE, OreConfiguration(target, 3)))
|
||||
}
|
||||
|
||||
context.register(ConfiguredFeatures.BLACK_HOLE, ConfiguredFeature(
|
||||
MWorldGenFeatures.BLACK_HOLE_PLACER,
|
||||
BlackHolePlacerFeature.Config(0.001f, Decimal("0.25"), Decimal(1))))
|
||||
}
|
||||
|
||||
@ -57,6 +72,7 @@ private object PlacedFeatures {
|
||||
val NORMAL_TRITANIUM = key("normal_tritanium")
|
||||
val DEEP_TRITANIUM = key("deep_tritanium")
|
||||
val CLOUD_TITANIUM = key("cloud_tritanium")
|
||||
val DILITHIUM = key("dilithium")
|
||||
val BLACK_HOLE = key("black_hole")
|
||||
|
||||
private fun key(name: String): ResourceKey<PlacedFeature> {
|
||||
@ -66,43 +82,70 @@ private object PlacedFeatures {
|
||||
|
||||
fun registerPlacedFeatures(context: BootstrapContext<PlacedFeature>) {
|
||||
val configured = context.lookup(Registries.CONFIGURED_FEATURE)
|
||||
val ore = configured.getOrThrow(ConfiguredFeatures.TRITANIUM_ORE)
|
||||
|
||||
context.register(PlacedFeatures.NORMAL_TRITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
CountPlacement.of(UniformInt.of(2, 6)),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(StandardDeviationHeightProvider(VerticalAnchor.absolute(10), 15.0))
|
||||
)
|
||||
))
|
||||
run {
|
||||
val ore = configured.getOrThrow(ConfiguredFeatures.TRITANIUM_ORE)
|
||||
|
||||
context.register(PlacedFeatures.DEEP_TRITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
CountPlacement.of(UniformInt.of(4, 8)),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(VeryBiasedToBottomHeight.of(VerticalAnchor.aboveBottom(4), VerticalAnchor.absolute(0), 16))
|
||||
)
|
||||
))
|
||||
|
||||
context.register(PlacedFeatures.CLOUD_TITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
RarityFilter.onAverageOnceEvery(6),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(StandardDeviationHeightProvider(VerticalAnchor.absolute(10), 15.0)),
|
||||
EllipsoidPlacement(
|
||||
x = ClampedNormalInt.of(0f, 12f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
y = ClampedNormalInt.of(0f, 12f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
z = ClampedNormalInt.of(0f, 8f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
count = ClampedNormalInt.of(100f, 100f, 80, 300),
|
||||
xLength = ClampedNormalFloat.of(11f, 4f, 4f, 16f),
|
||||
yLength = ClampedNormalFloat.of(11f, 4f, 4f, 16f),
|
||||
zLength = ClampedNormalFloat.of(11f, 4f, 4f, 16f),
|
||||
context.register(PlacedFeatures.NORMAL_TRITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
CountPlacement.of(UniformInt.of(2, 6)),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(StandardDeviationHeightProvider(VerticalAnchor.absolute(10), 15.0))
|
||||
)
|
||||
)
|
||||
))
|
||||
))
|
||||
|
||||
context.register(PlacedFeatures.DEEP_TRITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
CountPlacement.of(UniformInt.of(4, 8)),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(VeryBiasedToBottomHeight.of(VerticalAnchor.aboveBottom(4), VerticalAnchor.absolute(0), 16))
|
||||
)
|
||||
))
|
||||
|
||||
context.register(PlacedFeatures.CLOUD_TITANIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
RarityFilter.onAverageOnceEvery(8),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(StandardDeviationHeightProvider(VerticalAnchor.absolute(10), 15.0)),
|
||||
EllipsoidPlacement(
|
||||
x = ClampedNormalInt.of(0f, 6f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
y = ClampedNormalInt.of(0f, 12f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
z = ClampedNormalInt.of(0f, 6f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
count = ClampedNormalInt.of(100f, 100f, 80, 300),
|
||||
xLength = ClampedNormalFloat.of(11f, 4f, 6f, 14f),
|
||||
yLength = ClampedNormalFloat.of(11f, 4f, 6f, 14f),
|
||||
zLength = ClampedNormalFloat.of(11f, 4f, 6f, 14f),
|
||||
)
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
run {
|
||||
val ore = configured.getOrThrow(ConfiguredFeatures.DILITHIUM)
|
||||
|
||||
context.register(PlacedFeatures.DILITHIUM, PlacedFeature(
|
||||
ore,
|
||||
listOf(
|
||||
RarityFilter.onAverageOnceEvery(12),
|
||||
InSquarePlacement.spread(),
|
||||
HeightRangePlacement.of(StandardDeviationHeightProvider(VerticalAnchor.absolute(0), 15.0)),
|
||||
EllipsoidPlacement(
|
||||
x = ClampedNormalInt.of(0f, 8f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
y = ClampedNormalInt.of(0f, 20f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
z = ClampedNormalInt.of(0f, 8f, Int.MIN_VALUE, Int.MAX_VALUE),
|
||||
count = ClampedNormalInt.of(300f, 200f, 200, 800),
|
||||
xLength = ClampedNormalFloat.of(11f, 4f, 8f, 14f),
|
||||
// allow crystals to generate as far as standard deviation allows
|
||||
// to increase chance for player to discover crystal vein
|
||||
yLength = ConstantFloat.of(60f),
|
||||
zLength = ClampedNormalFloat.of(11f, 4f, 8f, 14f),
|
||||
)
|
||||
)
|
||||
))
|
||||
}
|
||||
|
||||
val blackHole = configured.getOrThrow(ConfiguredFeatures.BLACK_HOLE)
|
||||
|
||||
@ -116,7 +159,7 @@ fun registerPlacedFeatures(context: BootstrapContext<PlacedFeature>) {
|
||||
}
|
||||
|
||||
private object BiomeModifiers {
|
||||
val TRITANIUM_ORE = key("tritanium_ore")
|
||||
val ORES = key("ores")
|
||||
val BLACK_HOLE = key("black_hole")
|
||||
|
||||
private fun key(name: String): ResourceKey<BiomeModifier> {
|
||||
@ -129,13 +172,14 @@ fun registerBiomeModifiers(context: BootstrapContext<BiomeModifier>) {
|
||||
val biomes = context.lookup(Registries.BIOME)
|
||||
|
||||
context.register(
|
||||
BiomeModifiers.TRITANIUM_ORE,
|
||||
BiomeModifiers.ORES,
|
||||
net.neoforged.neoforge.common.world.BiomeModifiers.AddFeaturesBiomeModifier(
|
||||
biomes.getOrThrow(BiomeTags.IS_OVERWORLD),
|
||||
HolderSet.direct(
|
||||
placed.getOrThrow(PlacedFeatures.NORMAL_TRITANIUM),
|
||||
placed.getOrThrow(PlacedFeatures.DEEP_TRITANIUM),
|
||||
placed.getOrThrow(PlacedFeatures.CLOUD_TITANIUM),
|
||||
placed.getOrThrow(PlacedFeatures.DILITHIUM),
|
||||
),
|
||||
GenerationStep.Decoration.UNDERGROUND_ORES
|
||||
)
|
||||
|
@ -11,7 +11,7 @@ import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.triggers.BlackHoleTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.NailedEntityTrigger
|
||||
@ -330,10 +330,12 @@ fun addAdvancements(serializer: Consumer<AdvancementHolder>, lang: MatteryLangua
|
||||
}
|
||||
.save(serializer, modLocation("regular/industrial_glass"))
|
||||
|
||||
CraftEntry(MItems.FLUID_TANK, "Liquid Packaging",
|
||||
CraftEntry(
|
||||
MItems.FLUID_TANK, "Liquid Packaging",
|
||||
russianName = "Упаковка для жидкостей").make(serializer, glass, translation)
|
||||
|
||||
CraftEntry(MItems.FLUID_CAPSULE, "Liquid Canning",
|
||||
CraftEntry(
|
||||
MItems.FLUID_CAPSULE, "Liquid Canning",
|
||||
russianName = "Банка для жидкостей").make(serializer, glass, translation)
|
||||
|
||||
AdvancementBuilder()
|
||||
@ -595,6 +597,7 @@ fun addAdvancements(serializer: Consumer<AdvancementHolder>, lang: MatteryLangua
|
||||
.addCriterion("damage", NailedEntityTrigger.Instance().criterion())
|
||||
.save(serializer, modLocation("regular/explosive_hammer"))
|
||||
|
||||
CraftEntry(MItems.ESSENCE_STORAGE.values, "Did not Forget to Remember",
|
||||
russianName = "Не забыл запомнить").make(serializer, essenceCapsule, translation)
|
||||
CraftEntry(
|
||||
MItems.ESSENCE_STORAGE.values, "Did not Forget to Remember",
|
||||
russianName = "Не забыл запомнить").make(serializer, essenceCapsule, translation)
|
||||
}
|
||||
|
@ -13,8 +13,8 @@ import net.minecraft.world.item.Items
|
||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import ru.dbotthepony.mc.otm.triggers.AndroidBatteryTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.AndroidResearchTrigger
|
||||
|
@ -7,7 +7,7 @@ import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.triggers.ExopackBatterySlotTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.ExopackGainedCraftingTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.ExopackGainedEnderAccessTrigger
|
||||
|
@ -12,7 +12,7 @@ import ru.dbotthepony.mc.otm.core.key
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.triggers.TakeItemOutOfReplicatorTrigger
|
||||
import java.util.function.Consumer
|
||||
|
||||
@ -103,33 +103,45 @@ fun addMachineAdvancements(serializer: Consumer<AdvancementHolder>, lang: Matter
|
||||
.requirements(AdvancementRequirements.Strategy.OR)
|
||||
.save(serializer, modLocation("machines/plate_press"))
|
||||
|
||||
CraftEntry(MItems.ENERGY_SERVO.values, "Power Goes In, Powered Things Go Out",
|
||||
CraftEntry(
|
||||
MItems.ENERGY_SERVO.values, "Power Goes In, Powered Things Go Out",
|
||||
russianName = "Энергия на вход, электроинструмент на выход").make(serializer, press, translation)
|
||||
|
||||
val scanner = CraftEntry(MItems.MATTER_SCANNER.values, "Scanning Things that Matter",
|
||||
val scanner = CraftEntry(
|
||||
MItems.MATTER_SCANNER.values, "Scanning Things that Matter",
|
||||
russianName = "Сканируем вещи которые материальны")
|
||||
val decomposer = CraftEntry(MItems.MATTER_DECOMPOSER.values, "Decaying the Atoms", "Keep your limbs outside of the working chamber at all times",
|
||||
val decomposer = CraftEntry(
|
||||
MItems.MATTER_DECOMPOSER.values, "Decaying the Atoms", "Keep your limbs outside of the working chamber at all times",
|
||||
russianName = "Разлагаем атомы", russianSuffix = "Во всех ситуациях держите свои конечности вне рабочей камеры")
|
||||
val panel = CraftEntry(MItems.MATTER_PANEL.values, "Indexing the Library",
|
||||
val panel = CraftEntry(
|
||||
MItems.MATTER_PANEL.values, "Indexing the Library",
|
||||
russianName = "Индексируем библиотеку")
|
||||
val replicator = CraftEntry(MItems.MATTER_REPLICATOR.values, "Cook with (Im)Perfection", "Now let's bake some perfect bread",
|
||||
val replicator = CraftEntry(
|
||||
MItems.MATTER_REPLICATOR.values, "Cook with (Im)Perfection", "Now let's bake some perfect bread",
|
||||
russianName = "Повар с (не) идеальностями", russianSuffix = "А теперь давайте выпечем немного идеального хлеба")
|
||||
val bottler = CraftEntry(MItems.MATTER_BOTTLER.values, "Transfusing Pure Matter", "For those who loved to play with water in their childhood",
|
||||
val bottler = CraftEntry(
|
||||
MItems.MATTER_BOTTLER.values, "Transfusing Pure Matter", "For those who loved to play with water in their childhood",
|
||||
russianName = "Переливаем чистую материю", russianSuffix = "Для тех, кто любил играться в воде в детстве")
|
||||
val recycler = CraftEntry(MItems.MATTER_RECYCLER.values, "Refine and Redefine", "This is what waste recycling should look like",
|
||||
val recycler = CraftEntry(
|
||||
MItems.MATTER_RECYCLER.values, "Refine and Redefine", "This is what waste recycling should look like",
|
||||
russianName = "Переработка и перегонка", russianSuffix = "Вот он, пик переработки отходов")
|
||||
val capacitor = CraftEntry(MItems.MATTER_CAPACITOR_BANK.values, "Modular Matter Tank",
|
||||
val capacitor = CraftEntry(
|
||||
MItems.MATTER_CAPACITOR_BANK.values, "Modular Matter Tank",
|
||||
russianName = "Модульный бак материи")
|
||||
|
||||
val counter = CraftEntry(MItems.ENERGY_COUNTER.values, "Visualize Power Burn",
|
||||
val counter = CraftEntry(
|
||||
MItems.ENERGY_COUNTER.values, "Visualize Power Burn",
|
||||
russianName = "Визуализация сжигания энергии")
|
||||
val battery = CraftEntry(MItems.BATTERY_BANK.values, "Batteries Not Included", "By all means avoid the urge to hammer incompatible batteries into the power bus.",
|
||||
val battery = CraftEntry(
|
||||
MItems.BATTERY_BANK.values, "Batteries Not Included", "By all means avoid the urge to hammer incompatible batteries into the power bus.",
|
||||
russianName = "Батарейки в комплект не входят", russianSuffix = "Пожалуйста, воздержитесь от вбивания кувалдой несовместимых батарей в энергетическую шину.")
|
||||
|
||||
val pattern = CraftEntry(MItems.PATTERN_STORAGE, "Digital Knowledge Library",
|
||||
val pattern = CraftEntry(
|
||||
MItems.PATTERN_STORAGE, "Digital Knowledge Library",
|
||||
russianName = "Цифровая библиотека знаний")
|
||||
|
||||
val reconstructor = CraftEntry(MItems.MATTER_RECONSTRUCTOR.values, "Flipping Hourglass",
|
||||
val reconstructor = CraftEntry(
|
||||
MItems.MATTER_RECONSTRUCTOR.values, "Flipping Hourglass",
|
||||
russianName = "Переворачиваем песочные часы")
|
||||
|
||||
decomposer.make(serializer, press, translation).also {
|
||||
@ -150,7 +162,8 @@ fun addMachineAdvancements(serializer: Consumer<AdvancementHolder>, lang: Matter
|
||||
},
|
||||
frameType = AdvancementType.GOAL
|
||||
)
|
||||
.addCriterion("replicate_something", TakeItemOutOfReplicatorTrigger.Instance(ItemPredicate.Builder.item().of(MItems.MATTER_DUST).build(), true).criterion())
|
||||
.addCriterion("replicate_something", TakeItemOutOfReplicatorTrigger.Instance(ItemPredicate.Builder.item().of(
|
||||
MItems.MATTER_DUST).build(), true).criterion())
|
||||
.save(serializer, modLocation("machines/replicate_something"))
|
||||
|
||||
AdvancementBuilder()
|
||||
@ -165,7 +178,8 @@ fun addMachineAdvancements(serializer: Consumer<AdvancementHolder>, lang: Matter
|
||||
russian("Наблюдайте неудачный результат репликации, где ваш заказ рассыпался в материальную труху")
|
||||
},
|
||||
)
|
||||
.addCriterion("replicate_failure", TakeItemOutOfReplicatorTrigger.Instance(ItemPredicate.Builder.item().of(MItems.MATTER_DUST).build()).criterion())
|
||||
.addCriterion("replicate_failure", TakeItemOutOfReplicatorTrigger.Instance(ItemPredicate.Builder.item().of(
|
||||
MItems.MATTER_DUST).build()).criterion())
|
||||
.save(serializer, modLocation("machines/replicate_failure"))
|
||||
}
|
||||
|
||||
@ -181,33 +195,39 @@ fun addMachineAdvancements(serializer: Consumer<AdvancementHolder>, lang: Matter
|
||||
battery.make(serializer, it, translation)
|
||||
}
|
||||
|
||||
val station = CraftEntry(MItems.ANDROID_STATION.values, "Android Home Page",
|
||||
val station = CraftEntry(
|
||||
MItems.ANDROID_STATION.values, "Android Home Page",
|
||||
russianName = "Домашняя страница андроидов",
|
||||
russianSuffix = "Только пользоваться этим устройством могут вёдра с болтами",
|
||||
englishSuffix = "Except only buckets of bolts can use this thing")
|
||||
|
||||
val charger = CraftEntry(MItems.ANDROID_CHARGER.values, "Android Home Router",
|
||||
val charger = CraftEntry(
|
||||
MItems.ANDROID_CHARGER.values, "Android Home Router",
|
||||
russianName = "Домашняя страница андроидов")
|
||||
|
||||
station.make(serializer, press, translation).also {
|
||||
charger.make(serializer, it, translation)
|
||||
}
|
||||
|
||||
CraftEntry(MItems.COBBLESTONE_GENERATOR.values, "Cobblestone: Infinity + 1",
|
||||
CraftEntry(
|
||||
MItems.COBBLESTONE_GENERATOR.values, "Cobblestone: Infinity + 1",
|
||||
russianName = "Булыжник: бесконечность + 1",
|
||||
russianSuffix = "Смотрите, чтоб он не просыпался во все сундуки",
|
||||
englishSuffix = "Watch for not to spill it over all your chests").make(serializer, press, translation)
|
||||
|
||||
CraftEntry(MItems.POWERED_FURNACE.values, "One Big Resistor",
|
||||
russianName = "Один большой резистор",
|
||||
russianSuffix = "Каждый элемент электрической цепи способен испускать свет и тепло, единожды.",
|
||||
englishSuffix = "Any electrical element can emit light and heat, once.")
|
||||
CraftEntry(
|
||||
MItems.POWERED_FURNACE.values, "One Big Resistor",
|
||||
russianName = "Один большой резистор",
|
||||
russianSuffix = "Каждый элемент электрической цепи способен испускать свет и тепло, единожды.",
|
||||
englishSuffix = "Any electrical element can emit light and heat, once.")
|
||||
.make(serializer, press, translation)
|
||||
.also {
|
||||
CraftEntry(MItems.POWERED_BLAST_FURNACE.values, "Big Microwave Oven",
|
||||
russianName = "Большая микроволновая печь").make(serializer, it, translation)
|
||||
CraftEntry(
|
||||
MItems.POWERED_BLAST_FURNACE.values, "Big Microwave Oven",
|
||||
russianName = "Большая микроволновая печь").make(serializer, it, translation)
|
||||
|
||||
CraftEntry(MItems.POWERED_SMOKER.values, "Small Microwave Oven",
|
||||
russianName = "Маленькая микроволновая печь").make(serializer, it, translation)
|
||||
CraftEntry(
|
||||
MItems.POWERED_SMOKER.values, "Small Microwave Oven",
|
||||
russianName = "Маленькая микроволновая печь").make(serializer, it, translation)
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom
|
||||
import ru.dbotthepony.mc.otm.core.math.yRotationBlockstateNorth
|
||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
private fun nothingOrNumber(input: Int): String {
|
||||
if (input == 0)
|
||||
|
@ -1,7 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.blocks
|
||||
|
||||
import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
fun addBlockModels(provider: MatteryBlockModelProvider) {
|
||||
with(provider) {
|
||||
@ -10,6 +10,10 @@ fun addBlockModels(provider: MatteryBlockModelProvider) {
|
||||
resourceCubeAll(MBlocks.DEEPSLATE_TRITANIUM_ORE)
|
||||
resourceCubeAll(MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
|
||||
resourceCubeAll(MBlocks.DILITHIUM_ORE)
|
||||
resourceCubeAll(MBlocks.DEEPSLATE_DILITHIUM_ORE)
|
||||
resourceCubeAll(MBlocks.DILITHIUM_CRYSTAL_BLOCK)
|
||||
|
||||
cable("crude_energy_cable", "block/power_cable_0", powered = true)
|
||||
cable("regular_energy_cable", "block/power_cable_1", powered = true)
|
||||
cable("advanced_energy_cable", "block/power_cable_2", powered = true)
|
||||
|
@ -16,7 +16,7 @@ import ru.dbotthepony.mc.otm.core.math.yRotationBlockstateNorth
|
||||
import ru.dbotthepony.mc.otm.core.math.yRotationBlockstateSouth
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import java.util.ArrayList
|
||||
@ -31,6 +31,10 @@ fun addBlockStates(provider: MatteryBlockStateProvider) {
|
||||
provider.block(MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
provider.block(MBlocks.METAL_MESH)
|
||||
|
||||
provider.ore(MBlocks.DILITHIUM_ORE)
|
||||
provider.ore(MBlocks.DEEPSLATE_DILITHIUM_ORE)
|
||||
provider.block(MBlocks.DILITHIUM_CRYSTAL_BLOCK)
|
||||
|
||||
provider.block(MBlocks.CHEMICAL_GENERATOR.values)
|
||||
provider.block(MBlocks.MATTER_SCANNER.values)
|
||||
provider.block(MBlocks.ITEM_MONITOR.values)
|
||||
|
@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom
|
||||
import ru.dbotthepony.mc.otm.core.math.yRotationBlockstateNorth
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
fun addComplexBlockStates(provider: MatteryBlockStateProvider) {
|
||||
for (block in MBlocks.DRIVE_VIEWER.values) {
|
||||
|
@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.datagen.items
|
||||
import net.minecraft.world.item.DyeColor
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addItemModels(provider: MatteryItemModelProvider) {
|
||||
@ -24,15 +24,20 @@ fun addItemModels(provider: MatteryItemModelProvider) {
|
||||
provider.block(MItems.METAL_MESH)
|
||||
provider.generatedTranslucent(MItems.TRITANIUM_BARS, modLocation("block/decorative/tritanium_bars"))
|
||||
provider.generatedTranslucent(MItems.METAL_RAILING, modLocation("block/decorative/metal_railing"))
|
||||
provider.block(MItems.DEEPSLATE_TRITANIUM_ORE)
|
||||
provider.block(MItems.TRITANIUM_ORE)
|
||||
provider.blocks(MItems.TRITANIUM_STRIPED_BLOCK.values)
|
||||
provider.block(MItems.TRITANIUM_RAW_BLOCK)
|
||||
provider.block(MItems.TRITANIUM_INGOT_BLOCK)
|
||||
provider.coloredWithBaseBlock(MItems.ITEM_MONITOR, "item_monitor")
|
||||
provider.block(MItems.PHANTOM_ATTRACTOR)
|
||||
provider.block(MItems.HOLO_SIGN)
|
||||
|
||||
provider.block(MItems.TRITANIUM_ORE)
|
||||
provider.block(MItems.DEEPSLATE_TRITANIUM_ORE)
|
||||
provider.block(MItems.TRITANIUM_RAW_BLOCK)
|
||||
provider.block(MItems.TRITANIUM_INGOT_BLOCK)
|
||||
|
||||
provider.block(MItems.DILITHIUM_ORE)
|
||||
provider.block(MItems.DEEPSLATE_DILITHIUM_ORE)
|
||||
provider.block(MItems.DILITHIUM_CRYSTAL_BLOCK)
|
||||
|
||||
MRegistry.VENT.allItems.values.forEach(provider::block)
|
||||
MRegistry.VENT_ALTERNATIVE.allItems.values.forEach(provider::block)
|
||||
MRegistry.TRITANIUM_BLOCK.allItems.values.forEach(provider::block)
|
||||
@ -82,11 +87,13 @@ fun addItemModels(provider: MatteryItemModelProvider) {
|
||||
provider.generated(MItems.ExopackUpgrades.SMELTING_UPGRADE)
|
||||
provider.generated(MItems.ExopackUpgrades.ENDER_UPGRADE)
|
||||
|
||||
provider.component(MItems.TRITANIUM_DUST)
|
||||
provider.component(MItems.TRITANIUM_INGOT)
|
||||
provider.component(MItems.TRITANIUM_NUGGET)
|
||||
provider.resource(MItems.TRITANIUM_DUST)
|
||||
provider.resource(MItems.TRITANIUM_INGOT)
|
||||
provider.resource(MItems.TRITANIUM_NUGGET)
|
||||
provider.resource(MItems.TRITANIUM_ORE_CLUMP)
|
||||
|
||||
provider.resource(MItems.DILITHIUM_CRYSTAL)
|
||||
|
||||
provider.generated(MItems.EXOPACK_PROBE)
|
||||
|
||||
provider.handheld(MItems.TRITANIUM_TOOLS)
|
||||
@ -153,6 +160,11 @@ fun addItemModels(provider: MatteryItemModelProvider) {
|
||||
provider.generated(MItems.QUANTUM_CAPACITOR)
|
||||
provider.generated(MItems.QUANTUM_BATTERY_CREATIVE)
|
||||
|
||||
provider.generated(MItems.PATTERN_DRIVE_NORMAL, modLocation("item/pattern_drive_tier1"))
|
||||
provider.generated(MItems.PATTERN_DRIVE_DOUBLE, modLocation("item/pattern_drive_tier2"))
|
||||
provider.generated(MItems.PATTERN_DRIVE_TRIPLE, modLocation("item/pattern_drive_tier3"))
|
||||
provider.generated(MItems.PATTERN_DRIVE_QUAD, modLocation("item/pattern_drive_tier4"))
|
||||
|
||||
provider.generated(MItems.PATTERN_DRIVE_CREATIVE)
|
||||
provider.generated(MItems.PATTERN_DRIVE_CREATIVE2)
|
||||
|
||||
|
@ -2,6 +2,11 @@ package ru.dbotthepony.mc.otm.datagen.lang
|
||||
|
||||
import ru.dbotthepony.mc.otm.config.CablesConfig
|
||||
import ru.dbotthepony.mc.otm.registry.*
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MEntityTypes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
|
||||
private fun decoratives(provider: MatteryLanguageProvider) {
|
||||
with(provider.englishColors) {
|
||||
@ -609,6 +614,10 @@ private fun blocks(provider: MatteryLanguageProvider) {
|
||||
add(MBlocks.DEEPSLATE_TRITANIUM_ORE, "Deepslate Tritanium Ore")
|
||||
add(MBlocks.TRITANIUM_RAW_BLOCK, "Raw Tritanium Block")
|
||||
|
||||
add(MBlocks.DILITHIUM_ORE, "Dilithium Ore")
|
||||
add(MBlocks.DEEPSLATE_DILITHIUM_ORE, "Deepslate Dilithium Ore")
|
||||
add(MBlocks.DILITHIUM_CRYSTAL_BLOCK, "Dilithium Crystal Block")
|
||||
|
||||
add(MBlocks.STORAGE_CABLE, "Storage Cable")
|
||||
addBlock(MBlocks.STORAGE_POWER_SUPPLIER.values, "Storage Power Supplier")
|
||||
add(MBlocks.STORAGE_BUS, "Storage Bus")
|
||||
@ -727,16 +736,17 @@ private fun items(provider: MatteryLanguageProvider) {
|
||||
|
||||
add(MItems.TRITANIUM_DUST, "Tritanium Dust")
|
||||
add(MItems.TRITANIUM_INGOT, "Tritanium Ingot")
|
||||
add(MItems.DILITHIUM_CRYSTAL, "Dilithium Crystal")
|
||||
add(MItems.TRITANIUM_NUGGET, "Tritanium Nugget")
|
||||
add(MItems.MATTER_IO_PORT, "Matter IO Port")
|
||||
add(MItems.MATTER_TRANSFORM_MATRIX, "Matter Transformation Matrix")
|
||||
add(MItems.ENERGY_BUS, "Energy Bus")
|
||||
add(MItems.ELECTRIC_PARTS, "Electric Parts")
|
||||
add(MItems.ELECTRIC_PARTS, "Electric Parts")
|
||||
add(MItems.MACHINE_FRAME, "Machine Frame")
|
||||
add(MItems.TRITANIUM_PLATE, "Tritanium Plate")
|
||||
add(MItems.TRITANIUM_PLATE, "Tritanium Plate")
|
||||
add(MItems.IRON_PLATE, "Iron Plate")
|
||||
add(MItems.GOLD_PLATE, "Gold Plate")
|
||||
add(MItems.COPPER_WIRING, "Copper Wiring")
|
||||
add(MItems.COPPER_WIRING, "Copper Wiring")
|
||||
add(MItems.GOLD_WIRING, "Gold Wiring")
|
||||
add(MItems.PORTABLE_CONDENSATION_DRIVE_CASING, "Portable Condensation Drive Casing")
|
||||
add(MItems.PORTABLE_DENSE_CONDENSATION_DRIVE_CASING, "Portable Dense Condensation Drive Casing")
|
||||
@ -790,6 +800,9 @@ private fun items(provider: MatteryLanguageProvider) {
|
||||
add(MItems.PORTABLE_DENSE_CONDENSATION_DRIVE, "Portable Dense Condensation Drive")
|
||||
add(MItems.TRITANIUM_ORE_CLUMP, "Raw Tritanium")
|
||||
add(MItems.PATTERN_DRIVE_NORMAL, "Pattern Drive")
|
||||
add(MItems.PATTERN_DRIVE_DOUBLE, "Double-Level Pattern Drive")
|
||||
add(MItems.PATTERN_DRIVE_TRIPLE, "Triple-Level Pattern Drive")
|
||||
add(MItems.PATTERN_DRIVE_QUAD, "Quad-Level Pattern Drive")
|
||||
add(MItems.PATTERN_DRIVE_CREATIVE, "Creative Pattern Drive")
|
||||
|
||||
add(MItems.PATTERN_DRIVE_CREATIVE2, "Omni-Present Pattern Drive")
|
||||
|
@ -1,12 +1,12 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.lang
|
||||
|
||||
import ru.dbotthepony.mc.otm.config.CablesConfig
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MEntityTypes
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MEntityTypes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
|
||||
private const val HIGH_BLAST_RESISTANCE = "Высокая взрывоустойчивость"
|
||||
private const val HIGH_BLAST_RESISTANCE_DOOR = "Взрывоустойчивая дверь с засовом красного камня..."
|
||||
@ -608,8 +608,11 @@ private fun blocks(provider: MatteryLanguageProvider) {
|
||||
add(MBlocks.METAL_JUNK, "desc", "Бесполезный хлам, или нет?")
|
||||
|
||||
add(MBlocks.TRITANIUM_ORE, "Тритановая руда")
|
||||
add(MBlocks.DILITHIUM_ORE, "Дилитевая руда")
|
||||
add(MBlocks.DEEPSLATE_TRITANIUM_ORE, "Тританоносный глубинный сланец")
|
||||
add(MBlocks.DEEPSLATE_DILITHIUM_ORE, "Глубинный сланец со вкраплением дилития")
|
||||
add(MBlocks.TRITANIUM_RAW_BLOCK, "Блок рудного тритана")
|
||||
add(MBlocks.DILITHIUM_CRYSTAL_BLOCK, "Блок кристалла дилития")
|
||||
|
||||
add(MBlocks.STORAGE_CABLE, "Кабель хранилища")
|
||||
addBlock(MBlocks.STORAGE_POWER_SUPPLIER.values, "Подстанция сети хранилища")
|
||||
@ -729,6 +732,7 @@ private fun items(provider: MatteryLanguageProvider) {
|
||||
|
||||
add(MItems.TRITANIUM_DUST, "Тритановая пыль")
|
||||
add(MItems.TRITANIUM_INGOT, "Тритановый слиток")
|
||||
add(MItems.DILITHIUM_CRYSTAL, "Дилитевый кристалл")
|
||||
add(MItems.TRITANIUM_NUGGET, "Тритановый самородок")
|
||||
add(MItems.MATTER_IO_PORT, "Порт ввода/вывода материи")
|
||||
add(MItems.MATTER_TRANSFORM_MATRIX, "Матрица преобразования материи")
|
||||
@ -792,6 +796,9 @@ private fun items(provider: MatteryLanguageProvider) {
|
||||
add(MItems.PORTABLE_DENSE_CONDENSATION_DRIVE, "Portable Dense Condensation Drive")
|
||||
add(MItems.TRITANIUM_ORE_CLUMP, "Рудный тритан")
|
||||
add(MItems.PATTERN_DRIVE_NORMAL, "Диск шаблонов")
|
||||
add(MItems.PATTERN_DRIVE_DOUBLE, "Двухуровневый диск шаблонов")
|
||||
add(MItems.PATTERN_DRIVE_TRIPLE, "Трёхуровневый диск шаблонов")
|
||||
add(MItems.PATTERN_DRIVE_QUAD, "Четырёхуровневый диск шаблонов")
|
||||
add(MItems.PATTERN_DRIVE_CREATIVE, "Творческий диск шаблонов")
|
||||
|
||||
add(MItems.PATTERN_DRIVE_CREATIVE2, "Вездесущий диск шаблонов")
|
||||
|
@ -0,0 +1,53 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.loot
|
||||
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.level.storage.loot.entries.LootItem
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
import ru.dbotthepony.mc.otm.datagen.modLootTable
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addAdvancementLoot(lootTables: LootTables) {
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("research_all_android")) {
|
||||
lootPool {
|
||||
add(LootItem.lootTableItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_HUGE))
|
||||
}
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("tritanium_block3")) {
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(8) } }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("tritanium_block4")) {
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(64) } }
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.loot
|
||||
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
|
||||
import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addDecorativeLoot(lootTables: LootTables) {
|
||||
lootTables.dropsSelf(MRegistry.DECORATIVE_CRATE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.COMPUTER_TERMINAL.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.STAR_CHAIR.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.CARGO_CRATES.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.INDUSTRIAL_GLASS.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_BLOCK.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_WALL.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STAIRS.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.TRITANIUM_SLAB.allBlocks.values)
|
||||
lootTables.dropsSelf(MRegistry.VENT.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.VENT_ALTERNATIVE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.FLOOR_TILES.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.UNREFINED_FLOOR_TILES.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_BLOCK.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.FLOOR_TILES_STAIRS.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.FLOOR_TILES_SLAB.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MBlocks.CARBON_FIBRE_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.METAL_MESH) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_RAW_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_BLOCK.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_WALL.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_STAIRS.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MBlocks.TRITANIUM_STRIPED_SLAB.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MBlocks.LABORATORY_LAMP) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.LABORATORY_LAMP_INVERTED) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.DANGER_STRIPE_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.METAL_BEAM) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_INGOT_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_BARS) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MBlocks.ENGINE) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
for (block in MBlocks.TRITANIUM_ANVIL)
|
||||
lootTables.dropsSelf(block) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
for (door in MBlocks.TRITANIUM_TRAPDOOR.values)
|
||||
lootTables.dropsSelf(door) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
for (door in MBlocks.TRITANIUM_DOOR.values) {
|
||||
lootTables.block(door) {
|
||||
item(door) {
|
||||
blockStateCondition(door) {
|
||||
this[BlockStateProperties.DOUBLE_BLOCK_HALF] = DoubleBlockHalf.LOWER
|
||||
}
|
||||
}
|
||||
|
||||
condition(ExplosionCondition.survivesExplosion())
|
||||
}
|
||||
}
|
||||
}
|
@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.data.loot.LootPoolAppender
|
||||
import ru.dbotthepony.mc.otm.datagen.modLootTable
|
||||
import ru.dbotthepony.mc.otm.item.ProceduralBatteryItem
|
||||
import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
@Suppress("FunctionName")
|
||||
fun LootTableIdCondition(location: String): LootItemCondition {
|
||||
|
@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.datagen.loot
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
import ru.dbotthepony.mc.otm.datagen.modLootTable
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addChestLootTables(loot: LootTables) {
|
||||
loot.builder(LootContextParamSets.CHEST, modLootTable("food_box")) {
|
||||
|
@ -6,30 +6,21 @@ import net.minecraft.advancements.critereon.ItemPredicate
|
||||
import net.minecraft.advancements.critereon.ItemSubPredicates
|
||||
import net.minecraft.advancements.critereon.MinMaxBounds
|
||||
import net.minecraft.util.valueproviders.UniformInt
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.enchantment.Enchantments
|
||||
import net.minecraft.world.level.ItemLike
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
|
||||
import net.minecraft.world.level.storage.loot.entries.AlternativesEntry
|
||||
import net.minecraft.world.level.storage.loot.entries.LootItem
|
||||
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction
|
||||
import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition
|
||||
import net.minecraft.world.level.storage.loot.predicates.MatchTool
|
||||
import ru.dbotthepony.mc.otm.core.lookupOrThrow
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.data.world.UniformDecimal
|
||||
import ru.dbotthepony.mc.otm.datagen.modLootTable
|
||||
import ru.dbotthepony.mc.otm.item.ProceduralBatteryItem
|
||||
import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem
|
||||
import ru.dbotthepony.mc.otm.item.matter.MatterDustItem
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.data.loot.Int2NumberProvider
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
private fun ore(lootTables: LootTables, ore: Block, clump: ItemLike) {
|
||||
private fun ore(lootTables: LootTables, ore: Block, clump: ItemLike, count: Int = 1) {
|
||||
lootTables.builder(ore) {
|
||||
add(AlternativesEntry.alternatives(
|
||||
LootItem.lootTableItem(ore).also {
|
||||
@ -44,6 +35,9 @@ private fun ore(lootTables: LootTables, ore: Block, clump: ItemLike) {
|
||||
},
|
||||
|
||||
LootItem.lootTableItem(clump).also {
|
||||
if (count != 1)
|
||||
it.apply(SetItemCountFunction.setCount(Int2NumberProvider(UniformInt.of(1, count))))
|
||||
|
||||
it.apply(ApplyBonusCount.addOreBonusCount(lootTables.registry.get().lookupOrThrow(Enchantments.FORTUNE)))
|
||||
it.condition(ExplosionCondition.survivesExplosion())
|
||||
}
|
||||
@ -52,227 +46,16 @@ private fun ore(lootTables: LootTables, ore: Block, clump: ItemLike) {
|
||||
}
|
||||
|
||||
fun addLootTables(lootTables: LootTables) {
|
||||
lootTables.dropsSelf(MRegistry.DECORATIVE_CRATE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.COMPUTER_TERMINAL.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.STAR_CHAIR.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.CARGO_CRATES.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.INDUSTRIAL_GLASS.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_BLOCK.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_WALL.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STAIRS.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.TRITANIUM_SLAB.allBlocks.values)
|
||||
lootTables.dropsSelf(MRegistry.VENT.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.VENT_ALTERNATIVE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.FLOOR_TILES.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.UNREFINED_FLOOR_TILES.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_BLOCK.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.FLOOR_TILES_STAIRS.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MRegistry.FLOOR_TILES_SLAB.blocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MBlocks.CARBON_FIBRE_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.METAL_MESH) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_RAW_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_BLOCK.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_WALL.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_STRIPED_STAIRS.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.createSlabItemTable(MBlocks.TRITANIUM_STRIPED_SLAB.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.MATTER_CABLE) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.ENERGY_CABLES.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MBlocks.GRAVITATION_STABILIZER)
|
||||
lootTables.dropsOther(MBlocks.GRAVITATION_STABILIZER_LENS, MBlocks.GRAVITATION_STABILIZER)
|
||||
|
||||
lootTables.dropsSelf(MBlocks.LABORATORY_LAMP) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.LABORATORY_LAMP_INVERTED) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.DANGER_STRIPE_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.METAL_BEAM) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_INGOT_BLOCK) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.TRITANIUM_BARS) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
lootTables.dropsSelf(MBlocks.ENERGY_CABLES.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
ore(lootTables, MBlocks.TRITANIUM_ORE, MItems.TRITANIUM_ORE_CLUMP)
|
||||
ore(lootTables, MBlocks.DEEPSLATE_TRITANIUM_ORE, MItems.TRITANIUM_ORE_CLUMP)
|
||||
|
||||
lootTables.dropsSelf(MBlocks.INFINITE_WATER_SOURCE) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
ore(lootTables, MBlocks.DILITHIUM_ORE, MItems.DILITHIUM_CRYSTAL, 2)
|
||||
ore(lootTables, MBlocks.DEEPSLATE_DILITHIUM_ORE, MItems.DILITHIUM_CRYSTAL, 2)
|
||||
|
||||
lootTables.dropsSelf(MBlocks.ENGINE) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
for (block in MBlocks.TRITANIUM_ANVIL)
|
||||
lootTables.dropsSelf(block) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
for (door in MBlocks.TRITANIUM_TRAPDOOR.values)
|
||||
lootTables.dropsSelf(door) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.dropsSelf(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.block(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
item(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
blockStateCondition(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
this[BlockStateProperties.DOUBLE_BLOCK_HALF] = DoubleBlockHalf.LOWER
|
||||
}
|
||||
}
|
||||
|
||||
condition(ExplosionCondition.survivesExplosion())
|
||||
}
|
||||
|
||||
for (door in MBlocks.TRITANIUM_DOOR.values) {
|
||||
lootTables.block(door) {
|
||||
item(door) {
|
||||
blockStateCondition(door) {
|
||||
this[BlockStateProperties.DOUBLE_BLOCK_HALF] = DoubleBlockHalf.LOWER
|
||||
}
|
||||
}
|
||||
|
||||
condition(ExplosionCondition.survivesExplosion())
|
||||
}
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("research_all_android")) {
|
||||
lootPool {
|
||||
add(LootItem.lootTableItem(MItems.ExopackUpgrades.INVENTORY_UPGRADE_HUGE))
|
||||
}
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("tritanium_block3")) {
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(8) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(8) } }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.ADVANCEMENT_ENTITY, modLootTable("tritanium_block4")) {
|
||||
lootPool { item(Items.WHITE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.ORANGE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.MAGENTA_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.YELLOW_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIME_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PINK_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.LIGHT_GRAY_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.CYAN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.PURPLE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLUE_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BROWN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.GREEN_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.RED_DYE) { setCount(64) } }
|
||||
lootPool { item(Items.BLACK_DYE) { setCount(64) } }
|
||||
}
|
||||
|
||||
lootTables.tile(MBlocks.COBBLESTONE_GENERATOR.values)
|
||||
lootTables.tile(MBlocks.ESSENCE_STORAGE.values)
|
||||
lootTables.tile(MBlocks.MATTER_RECONSTRUCTOR.values)
|
||||
lootTables.tile(MBlocks.FLUID_TANK)
|
||||
lootTables.tile(MBlocks.PAINTER)
|
||||
lootTables.tile(MBlocks.MATTER_ENTANGLER)
|
||||
lootTables.tile(MBlocks.GRILL.values)
|
||||
|
||||
lootTables.tile(MBlocks.ENERGY_SERVO.values)
|
||||
lootTables.tile(MBlocks.ENERGY_COUNTER.values)
|
||||
lootTables.tile(MBlocks.CHEMICAL_GENERATOR.values)
|
||||
lootTables.tile(MBlocks.HOLO_SIGN, "isLocked")
|
||||
lootTables.tile(MBlocks.STORAGE_CABLE)
|
||||
lootTables.tile(MBlocks.ANDROID_STATION.values)
|
||||
lootTables.tile(MBlocks.ANDROID_CHARGER.values)
|
||||
lootTables.tile(MBlocks.BATTERY_BANK.values)
|
||||
lootTables.tile(MBlocks.DRIVE_VIEWER.values)
|
||||
|
||||
lootTables.tile(MBlocks.STORAGE_BUS)
|
||||
lootTables.tile(MBlocks.STORAGE_IMPORTER)
|
||||
lootTables.tile(MBlocks.STORAGE_EXPORTER)
|
||||
lootTables.tile(MBlocks.STORAGE_POWER_SUPPLIER.values)
|
||||
lootTables.tile(MBlocks.DRIVE_RACK)
|
||||
|
||||
lootTables.tile(MBlocks.MATTER_DECOMPOSER.values)
|
||||
lootTables.tile(MBlocks.MATTER_REPLICATOR.values)
|
||||
lootTables.tile(MBlocks.MATTER_RECYCLER.values)
|
||||
lootTables.tile(MBlocks.MATTER_SCANNER.values)
|
||||
lootTables.tile(MBlocks.PLATE_PRESS.values)
|
||||
lootTables.tile(MBlocks.TWIN_PLATE_PRESS.values)
|
||||
|
||||
lootTables.tile(MBlocks.POWERED_FURNACE.values)
|
||||
lootTables.tile(MBlocks.POWERED_SMOKER.values)
|
||||
lootTables.tile(MBlocks.POWERED_BLAST_FURNACE.values)
|
||||
|
||||
lootTables.tile(MBlocks.MATTER_PANEL.values)
|
||||
lootTables.tile(MBlocks.PATTERN_STORAGE)
|
||||
lootTables.tile(MBlocks.MATTER_CAPACITOR_BANK.values)
|
||||
lootTables.tile(MBlocks.MATTER_BOTTLER.values)
|
||||
|
||||
lootTables.tile(MBlocks.BLACK_HOLE_GENERATOR)
|
||||
lootTables.tile(MBlocks.ITEM_INPUT_HATCH)
|
||||
lootTables.tile(MBlocks.ITEM_OUTPUT_HATCH)
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/matter_dust")) {
|
||||
lootPool { item(MItems.MATTER_DUST) {
|
||||
chanceCondition(0.2)
|
||||
setWeight(4)
|
||||
apply(MatterDustItem.Randomizer(UniformDecimal(Decimal(100), Decimal(2_500))))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/pill")) {
|
||||
lootPool { item(MItems.PILL_ANDROID) {
|
||||
chanceCondition(0.1)
|
||||
setWeight(1)
|
||||
} }
|
||||
lootPool { item(MItems.PILL_HEAL) {
|
||||
chanceCondition(0.5)
|
||||
setWeight(2)
|
||||
setCount(2, 5)
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/exosuit")) {
|
||||
lootPool { item(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) {
|
||||
chanceCondition(0.2)
|
||||
setWeight(2)
|
||||
|
||||
apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(1, 9), UniformInt.of(0, 3)))
|
||||
} }
|
||||
|
||||
lootPool { item(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) {
|
||||
chanceCondition(0.1)
|
||||
setWeight(1)
|
||||
|
||||
apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18), UniformInt.of(0, 3)))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/battery")) {
|
||||
lootPool { item(MItems.PROCEDURAL_BATTERY) {
|
||||
chanceCondition(0.05)
|
||||
setWeight(1)
|
||||
|
||||
apply(
|
||||
ProceduralBatteryItem.Randomizer(
|
||||
maxBatteryLevel = UniformDecimal(Decimal(10_000_000), Decimal(50_000_000)),
|
||||
batteryLevel = UniformDecimal(Decimal(0), Decimal(25_000_000)),
|
||||
maxInput = UniformDecimal(Decimal(1_000), Decimal(5_000)),
|
||||
))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/zpm_battery")) {
|
||||
lootPool { item(MItems.ZPM_BATTERY) {
|
||||
chanceCondition(0.001)
|
||||
setWeight(1)
|
||||
} }
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,64 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.loot
|
||||
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties
|
||||
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
|
||||
import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
fun addMachineLoot(lootTables: LootTables) {
|
||||
lootTables.block(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
item(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
blockStateCondition(MBlocks.PHANTOM_ATTRACTOR) {
|
||||
this[BlockStateProperties.DOUBLE_BLOCK_HALF] = DoubleBlockHalf.LOWER
|
||||
}
|
||||
}
|
||||
|
||||
condition(ExplosionCondition.survivesExplosion())
|
||||
}
|
||||
|
||||
lootTables.dropsSelf(MBlocks.INFINITE_WATER_SOURCE) { condition(ExplosionCondition.survivesExplosion()) }
|
||||
|
||||
lootTables.tile(MBlocks.COBBLESTONE_GENERATOR.values)
|
||||
lootTables.tile(MBlocks.ESSENCE_STORAGE.values)
|
||||
lootTables.tile(MBlocks.MATTER_RECONSTRUCTOR.values)
|
||||
lootTables.tile(MBlocks.FLUID_TANK)
|
||||
lootTables.tile(MBlocks.PAINTER)
|
||||
lootTables.tile(MBlocks.MATTER_ENTANGLER)
|
||||
lootTables.tile(MBlocks.GRILL.values)
|
||||
|
||||
lootTables.tile(MBlocks.ENERGY_SERVO.values)
|
||||
lootTables.tile(MBlocks.ENERGY_COUNTER.values)
|
||||
lootTables.tile(MBlocks.CHEMICAL_GENERATOR.values)
|
||||
lootTables.tile(MBlocks.HOLO_SIGN, "isLocked")
|
||||
lootTables.tile(MBlocks.STORAGE_CABLE)
|
||||
lootTables.tile(MBlocks.ANDROID_STATION.values)
|
||||
lootTables.tile(MBlocks.ANDROID_CHARGER.values)
|
||||
lootTables.tile(MBlocks.BATTERY_BANK.values)
|
||||
lootTables.tile(MBlocks.DRIVE_VIEWER.values)
|
||||
|
||||
lootTables.tile(MBlocks.STORAGE_BUS)
|
||||
lootTables.tile(MBlocks.STORAGE_IMPORTER)
|
||||
lootTables.tile(MBlocks.STORAGE_EXPORTER)
|
||||
lootTables.tile(MBlocks.STORAGE_POWER_SUPPLIER.values)
|
||||
lootTables.tile(MBlocks.DRIVE_RACK)
|
||||
|
||||
lootTables.tile(MBlocks.MATTER_DECOMPOSER.values)
|
||||
lootTables.tile(MBlocks.MATTER_REPLICATOR.values)
|
||||
lootTables.tile(MBlocks.MATTER_RECYCLER.values)
|
||||
lootTables.tile(MBlocks.MATTER_SCANNER.values)
|
||||
lootTables.tile(MBlocks.PLATE_PRESS.values)
|
||||
lootTables.tile(MBlocks.TWIN_PLATE_PRESS.values)
|
||||
|
||||
lootTables.tile(MBlocks.POWERED_FURNACE.values)
|
||||
lootTables.tile(MBlocks.POWERED_SMOKER.values)
|
||||
lootTables.tile(MBlocks.POWERED_BLAST_FURNACE.values)
|
||||
|
||||
lootTables.tile(MBlocks.MATTER_PANEL.values)
|
||||
lootTables.tile(MBlocks.PATTERN_STORAGE)
|
||||
lootTables.tile(MBlocks.MATTER_CAPACITOR_BANK.values)
|
||||
lootTables.tile(MBlocks.MATTER_BOTTLER.values)
|
||||
|
||||
lootTables.tile(MBlocks.BLACK_HOLE_GENERATOR)
|
||||
lootTables.tile(MBlocks.ITEM_INPUT_HATCH)
|
||||
lootTables.tile(MBlocks.ITEM_OUTPUT_HATCH)
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.loot
|
||||
|
||||
import net.minecraft.util.valueproviders.UniformInt
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.data.world.UniformDecimal
|
||||
import ru.dbotthepony.mc.otm.datagen.modLootTable
|
||||
import ru.dbotthepony.mc.otm.item.ProceduralBatteryItem
|
||||
import ru.dbotthepony.mc.otm.item.exopack.ProceduralExopackSlotUpgradeItem
|
||||
import ru.dbotthepony.mc.otm.item.matter.MatterDustItem
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addVaultLoot(lootTables: LootTables) {
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/matter_dust")) {
|
||||
lootPool { item(MItems.MATTER_DUST) {
|
||||
chanceCondition(0.2)
|
||||
setWeight(4)
|
||||
apply(MatterDustItem.Randomizer(UniformDecimal(Decimal(100), Decimal(2_500))))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/pill")) {
|
||||
lootPool { item(MItems.PILL_ANDROID) {
|
||||
chanceCondition(0.1)
|
||||
setWeight(1)
|
||||
} }
|
||||
lootPool { item(MItems.PILL_HEAL) {
|
||||
chanceCondition(0.5)
|
||||
setWeight(2)
|
||||
setCount(2, 5)
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/exosuit")) {
|
||||
lootPool { item(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) {
|
||||
chanceCondition(0.2)
|
||||
setWeight(2)
|
||||
|
||||
apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(1, 9), UniformInt.of(0, 3)))
|
||||
} }
|
||||
|
||||
lootPool { item(MItems.ExopackUpgrades.INVENTORY_UPGRADE_PROCEDURAL) {
|
||||
chanceCondition(0.1)
|
||||
setWeight(1)
|
||||
|
||||
apply(ProceduralExopackSlotUpgradeItem.Randomizer(UniformInt.of(9, 18), UniformInt.of(0, 3)))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/battery")) {
|
||||
lootPool { item(MItems.PROCEDURAL_BATTERY) {
|
||||
chanceCondition(0.05)
|
||||
setWeight(1)
|
||||
|
||||
apply(
|
||||
ProceduralBatteryItem.Randomizer(
|
||||
maxBatteryLevel = UniformDecimal(Decimal(10_000_000), Decimal(50_000_000)),
|
||||
batteryLevel = UniformDecimal(Decimal(0), Decimal(25_000_000)),
|
||||
maxInput = UniformDecimal(Decimal(1_000), Decimal(5_000)),
|
||||
))
|
||||
} }
|
||||
}
|
||||
|
||||
lootTables.builder(LootContextParamSets.VAULT, modLootTable("trials/zpm_battery")) {
|
||||
lootPool { item(MItems.ZPM_BATTERY) {
|
||||
chanceCondition(0.001)
|
||||
setWeight(1)
|
||||
} }
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@ import net.minecraft.data.recipes.RecipeOutput
|
||||
import net.minecraft.tags.ItemTags
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addComponentRecipes(consumer: RecipeOutput) {
|
||||
// Обычный рецепт
|
||||
|
@ -11,7 +11,7 @@ import net.minecraft.world.level.ItemLike
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
private fun RecipeOutput.addRecyclingRecipe(inputs: Collection<ItemLike>, result: Item, name: String) {
|
||||
val inputStacks = inputs.map(::ItemStack)
|
||||
@ -52,6 +52,10 @@ fun addOreSmeltingRecipes(consumer: RecipeOutput) {
|
||||
}
|
||||
|
||||
fun addMicrowaveRecipes(provider: MatteryRecipeProvider) {
|
||||
provider.microwave("pattern_drive_normal_erase", Ingredient.of(MItems.PATTERN_DRIVE_NORMAL), Ingredient.of(MItems.PATTERN_DRIVE_NORMAL), workTicks = 30 * 20, experience = ConstantFloat.of(0f))
|
||||
|
||||
for (drive in listOf(MItems.PATTERN_DRIVE_NORMAL, MItems.PATTERN_DRIVE_DOUBLE, MItems.PATTERN_DRIVE_TRIPLE, MItems.PATTERN_DRIVE_QUAD)) {
|
||||
provider.microwave("${drive.registryName!!.path}_erase", Ingredient.of(drive), Ingredient.of(drive), workTicks = 30 * 20, experience = ConstantFloat.of(0f))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -12,9 +12,9 @@ import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.config.CablesConfig
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
@ -132,6 +132,31 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) {
|
||||
.unlockedBy(MItemTags.ADVANCED_CIRCUIT)
|
||||
.build(consumer)
|
||||
|
||||
MatteryRecipe(MItems.PATTERN_DRIVE_DOUBLE, category = machinesCategory)
|
||||
.setUpgradeSource(MItems.PATTERN_DRIVE_NORMAL)
|
||||
.addUpgradeOps(UpgradeRecipe.MergePatterns)
|
||||
.row(MItems.PATTERN_DRIVE_NORMAL, MItemTags.ADVANCED_CIRCUIT, MItems.PATTERN_DRIVE_NORMAL)
|
||||
.unlockedBy(MItems.PATTERN_DRIVE_NORMAL)
|
||||
.build(consumer)
|
||||
|
||||
MatteryRecipe(MItems.PATTERN_DRIVE_TRIPLE, category = machinesCategory)
|
||||
.setUpgradeSource(MItems.PATTERN_DRIVE_DOUBLE)
|
||||
.addUpgradeOps(UpgradeRecipe.MergePatterns)
|
||||
.rowB(MItemTags.DILITHIUM_GEMS)
|
||||
.row(MItems.PATTERN_DRIVE_DOUBLE, MItemTags.ADVANCED_CIRCUIT, MItems.PATTERN_DRIVE_DOUBLE)
|
||||
.rowB(MItemTags.DILITHIUM_GEMS)
|
||||
.unlockedBy(MItems.PATTERN_DRIVE_DOUBLE)
|
||||
.build(consumer)
|
||||
|
||||
MatteryRecipe(MItems.PATTERN_DRIVE_QUAD, category = machinesCategory)
|
||||
.setUpgradeSource(MItems.PATTERN_DRIVE_TRIPLE)
|
||||
.addUpgradeOps(UpgradeRecipe.MergePatterns)
|
||||
.row(MItemTags.DILITHIUM_GEMS, MItemTags.REINFORCED_TRITANIUM_PLATES, MItemTags.DILITHIUM_GEMS)
|
||||
.row(MItems.PATTERN_DRIVE_TRIPLE, MItemTags.ADVANCED_CIRCUIT, MItems.PATTERN_DRIVE_TRIPLE)
|
||||
.row(MItemTags.DILITHIUM_GEMS, MItemTags.REINFORCED_TRITANIUM_PLATES, MItemTags.DILITHIUM_GEMS)
|
||||
.unlockedBy(MItems.PATTERN_DRIVE_TRIPLE)
|
||||
.build(consumer)
|
||||
|
||||
MatteryRecipe(MItems.MATTER_CABLE, count = 16, category = machinesCategory)
|
||||
.row(MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES)
|
||||
.row(Items.REDSTONE, MItemTags.COPPER_WIRES, Items.REDSTONE)
|
||||
@ -534,4 +559,16 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) {
|
||||
.rowAB(Items.LEVER, Tags.Items.NUGGETS_IRON)
|
||||
.rowB(Tags.Items.DUSTS_REDSTONE)
|
||||
.build(consumer)
|
||||
|
||||
ShapelessRecipeBuilder.shapeless(RecipeCategory.BUILDING_BLOCKS, ItemStack(MItems.DILITHIUM_CRYSTAL_BLOCK))
|
||||
.requires(MItems.DILITHIUM_CRYSTAL, 9)
|
||||
.unlockedBy(MItems.DILITHIUM_CRYSTAL)
|
||||
.unlockedBy(MItems.DILITHIUM_CRYSTAL_BLOCK)
|
||||
.save(consumer, modLocation("dilithium_crystal/to_block"))
|
||||
|
||||
ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, ItemStack(MItems.DILITHIUM_CRYSTAL, 9))
|
||||
.requires(MItems.DILITHIUM_CRYSTAL_BLOCK)
|
||||
.unlockedBy(MItems.DILITHIUM_CRYSTAL)
|
||||
.unlockedBy(MItems.DILITHIUM_CRYSTAL_BLOCK)
|
||||
.save(consumer, modLocation("dilithium_crystal/from_block"))
|
||||
}
|
||||
|
@ -9,9 +9,9 @@ import net.minecraft.world.level.ItemLike
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
private fun stairs(base: ItemLike, result: ItemLike, consumer: RecipeOutput) {
|
||||
|
@ -4,7 +4,7 @@ import net.minecraft.data.recipes.RecipeOutput
|
||||
import net.minecraft.world.item.Items
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addMachineUpgradeRecipes(consumer: RecipeOutput) {
|
||||
MatteryRecipe(MItems.MachineUpgrades.Basic.BLANK, 4)
|
||||
|
@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.recipe.MatterEntanglerRecipe
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import java.util.*
|
||||
|
||||
private fun pattern(
|
||||
|
@ -12,11 +12,12 @@ import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.neoforged.fml.ModList
|
||||
import net.neoforged.neoforge.common.conditions.ModLoadedCondition
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.recipe.PainterArmorDyeRecipe
|
||||
import ru.dbotthepony.mc.otm.recipe.PainterRecipe
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
private val Item.recipeName get() = registryName!!.namespace + "/" + registryName!!.path
|
||||
@ -118,7 +119,7 @@ private fun addMekanismPaintRecipe(consumer: RecipeOutput, location: ResourceLoc
|
||||
IngredientCreatorAccess.chemicalStack().from(pigment, (256L * amount * dyeMul).toLong()),
|
||||
output.copy(),
|
||||
false
|
||||
))
|
||||
), null, ModLoadedCondition("mekanism"))
|
||||
}
|
||||
|
||||
fun addPainterRecipes(consumer: RecipeOutput) {
|
||||
|
@ -5,7 +5,7 @@ import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addPlatePressRecipes(provider: MatteryRecipeProvider) {
|
||||
val baselineMetals = arrayOf("iron" to 0.2f, "silver" to 0.3f, "bronze" to 0.3f, "lead" to 0.3f, "constantan" to 0.4f, "brass" to 0.3f)
|
||||
|
@ -14,7 +14,7 @@ import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun hammerRecipe(output: ItemLike, input: ItemLike, consumer: RecipeOutput) {
|
||||
|
@ -5,7 +5,7 @@ import net.minecraft.data.recipes.RecipeOutput
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.recipe.UpgradeRecipe
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addStorageItemRecipes(consumer: RecipeOutput) {
|
||||
// простые батарейки
|
||||
|
@ -9,7 +9,7 @@ import net.minecraft.world.item.crafting.Ingredient
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.core.registryName
|
||||
import ru.dbotthepony.mc.otm.datagen.modLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addSuspiciousRecipes(consumer: RecipeOutput) {
|
||||
for (item in MItems.SUSPICIOUS_FOODS.ITEMS) {
|
||||
|
@ -4,7 +4,7 @@ import net.minecraft.data.recipes.RecipeCategory
|
||||
import net.minecraft.data.recipes.RecipeOutput
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addToolsRecipes(consumer: RecipeOutput) {
|
||||
MatteryRecipe(MItems.ENERGY_SWORD, category = RecipeCategory.COMBAT)
|
||||
|
@ -0,0 +1,105 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import net.minecraft.tags.BlockTags
|
||||
import net.minecraft.tags.ItemTags
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.level.block.Blocks
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockTags
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addConstructionTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.blocks.Appender(BlockTags.BEACON_BASE_BLOCKS).add(MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_STRUCTURE)
|
||||
.add(MBlockTags.MULTIBLOCK_HARD_STRUCTURE, MBlockTags.MULTIBLOCK_SOFT_STRUCTURE)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_SOFT_STRUCTURE)
|
||||
.add(MBlockTags.HARDENED_GLASS)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_HARD_STRUCTURE)
|
||||
.add(MRegistry.VENT.allBlocks.values)
|
||||
.add(MRegistry.VENT_ALTERNATIVE.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_BLOCK.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_BLOCK.blocks.values.stream().flatMap { it.values.stream() })
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.CRAFTING_TABLES).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.WORKBENCHES).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.WORKBENCH).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.FURNACES).add(Items.FURNACE)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.CRAFTING_TABLES).add(Blocks.CRAFTING_TABLE)
|
||||
tagsProvider.blocks.Appender(MBlockTags.WORKBENCHES).add(Blocks.CRAFTING_TABLE)
|
||||
tagsProvider.blocks.Appender(MBlockTags.WORKBENCH).add(Blocks.CRAFTING_TABLE)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.item)
|
||||
tagsProvider.items.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.items.values)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.item)
|
||||
tagsProvider.items.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.items.values)
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.block)
|
||||
tagsProvider.blocks.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.blocks.values)
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.block)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.blocks.values)
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass/$s").add(item) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass_panes/$s").add(item) }
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass/$s").add(block) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass_panes/$s").add(block) }
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.INDUSTRIAL_GLASS).add(MRegistry.INDUSTRIAL_GLASS.allItems.values)
|
||||
tagsProvider.blocks.Appender(MBlockTags.INDUSTRIAL_GLASS).add(MRegistry.INDUSTRIAL_GLASS.allBlocks.values)
|
||||
tagsProvider.blocks.Appender(MBlockTags.CARGO_CRATES).add(MRegistry.CARGO_CRATES.allBlocks.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DOORS).add(MItems.TRITANIUM_DOOR.values)
|
||||
tagsProvider.blocks.Appender(BlockTags.DOORS).add(MBlocks.TRITANIUM_DOOR.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.TRAPDOORS).add(MItems.TRITANIUM_TRAPDOOR.values)
|
||||
tagsProvider.blocks.Appender(BlockTags.TRAPDOORS).add(MBlocks.TRITANIUM_TRAPDOOR.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.PRESSURE_PLATES).add(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.STAIRS)
|
||||
.add(MRegistry.FLOOR_TILES_STAIRS.blocks.values)
|
||||
.add(MRegistry.TRITANIUM_STAIRS.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_STAIRS.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.SLABS)
|
||||
.add(MRegistry.TRITANIUM_SLAB.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks)
|
||||
.add(MRegistry.FLOOR_TILES_SLAB.blocks.values)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_SLAB.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.WALLS)
|
||||
.add(MRegistry.TRITANIUM_WALL.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_WALL.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.STAIRS)
|
||||
.add(MRegistry.FLOOR_TILES_STAIRS.items.values)
|
||||
.add(MRegistry.TRITANIUM_STAIRS.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_STAIRS.flatItems)
|
||||
.add(MItems.TRITANIUM_STRIPED_STAIRS.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.SLABS)
|
||||
.add(MRegistry.TRITANIUM_SLAB.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_SLAB.flatItems)
|
||||
.add(MRegistry.FLOOR_TILES_SLAB.items.values)
|
||||
.add(MItems.TRITANIUM_STRIPED_SLAB.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.WALLS)
|
||||
.add(MRegistry.TRITANIUM_WALL.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_WALL.flatItems)
|
||||
.add(MItems.TRITANIUM_STRIPED_WALL.values)
|
||||
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addDyeTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.addToDyeTags(MRegistry.CARGO_CRATES.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.INDUSTRIAL_GLASS.allItems)
|
||||
tagsProvider.addToDyeTags(MRegistry.INDUSTRIAL_GLASS_PANE.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.DECORATIVE_CRATE.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.TRITANIUM_DOOR)
|
||||
tagsProvider.addToDyeTags(MItems.TRITANIUM_TRAPDOOR)
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_PRESSURE_PLATE.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.FLOOR_TILES_STAIRS.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_STAIRS.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_SLAB.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.FLOOR_TILES_SLAB.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.UNREFINED_FLOOR_TILES.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_WALL.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.ANDROID_STATION)
|
||||
tagsProvider.addToDyeTags(MItems.ENERGY_SERVO)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_DECOMPOSER)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_CAPACITOR_BANK)
|
||||
tagsProvider.addToDyeTags(MItems.BATTERY_BANK)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_SCANNER)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_PANEL)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_REPLICATOR)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_BOTTLER)
|
||||
tagsProvider.addToDyeTags(MItems.ENERGY_COUNTER)
|
||||
tagsProvider.addToDyeTags(MItems.CHEMICAL_GENERATOR)
|
||||
tagsProvider.addToDyeTags(MItems.PLATE_PRESS)
|
||||
tagsProvider.addToDyeTags(MItems.TWIN_PLATE_PRESS)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_RECYCLER)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_FURNACE)
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_SMOKER)
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_BLAST_FURNACE)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.DRIVE_VIEWER)
|
||||
tagsProvider.addToDyeTags(MItems.ITEM_MONITOR)
|
||||
tagsProvider.addToDyeTags(MItems.STORAGE_POWER_SUPPLIER)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.COBBLESTONE_GENERATOR)
|
||||
tagsProvider.addToDyeTags(MItems.ESSENCE_STORAGE)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_RECONSTRUCTOR)
|
||||
tagsProvider.addToDyeTags(MItems.ANDROID_CHARGER)
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import net.minecraft.tags.ItemTags
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addEquipmentTags(tagsProvider: TagsProvider) {
|
||||
|
||||
// TODO: is new tag appropriate for modded armors?
|
||||
tagsProvider.items.Appender(Tags.Items.ARMORS)
|
||||
.add(MItems.TRITANIUM_HELMET, MItems.SIMPLE_TRITANIUM_HELMET)
|
||||
.add(MItems.TRITANIUM_CHESTPLATE, MItems.SIMPLE_TRITANIUM_CHESTPLATE, MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
.add(MItems.TRITANIUM_PANTS, MItems.SIMPLE_TRITANIUM_PANTS)
|
||||
.add(MItems.TRITANIUM_BOOTS, MItems.SIMPLE_TRITANIUM_BOOTS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DYEABLE).add(MItems.TRITANIUM_ARMOR)
|
||||
tagsProvider.items.Appender(ItemTags.TRIMMABLE_ARMOR).add(MItems.SIMPLE_TRITANIUM_ARMOR)
|
||||
tagsProvider.items.Appender(ItemTags.FREEZE_IMMUNE_WEARABLES).add(MItems.TRITANIUM_ARMOR)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.SWORDS).add(MItems.TRITANIUM_SWORD).add(MItems.ENERGY_SWORD)
|
||||
tagsProvider.items.Appender(ItemTags.AXES).add(MItems.TRITANIUM_AXE)
|
||||
tagsProvider.items.Appender(ItemTags.PICKAXES).add(MItems.TRITANIUM_PICKAXE)
|
||||
tagsProvider.items.Appender(ItemTags.SHOVELS).add(MItems.TRITANIUM_SHOVEL)
|
||||
tagsProvider.items.Appender(ItemTags.HOES).add(MItems.TRITANIUM_HOE)
|
||||
tagsProvider.items.Appender(Tags.Items.TOOLS_SHEAR).add(MItems.TRITANIUM_SHEARS)
|
||||
tagsProvider.items.Appender(Tags.Items.TOOLS_SHIELD).add(MItems.TRITANIUM_SHIELD)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.TOOLS_HAMMERS).add(MItems.EXPLOSIVE_HAMMER)
|
||||
tagsProvider.items.forge("tools").add(MItemTags.TOOLS_HAMMERS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DURABILITY_ENCHANTABLE)
|
||||
.add(MItems.EXPLOSIVE_HAMMER)
|
||||
.add(MItems.TRITANIUM_SHEARS)
|
||||
.add(MItems.TRITANIUM_SHIELD)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.MINING_ENCHANTABLE)
|
||||
.add(MItems.TRITANIUM_SHEARS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.EQUIPPABLE_ENCHANTABLE)
|
||||
.add(MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.VANISHING_ENCHANTABLE)
|
||||
.add(MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
|
||||
}
|
@ -0,0 +1,125 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import net.minecraft.world.item.Tiers
|
||||
import net.minecraft.world.level.block.Block
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addMineableTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.requiresPickaxe(
|
||||
MBlocks.MATTER_CABLE,
|
||||
MBlocks.STORAGE_CABLE
|
||||
)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_DOOR.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_TRAPDOOR.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.PAINTER, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MBlocks.ENERGY_CABLES.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MBlocks.GRILL.values, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(listOf<Block>(
|
||||
*MBlocks.ANDROID_STATION.values.toTypedArray(),
|
||||
*MBlocks.BATTERY_BANK.values.toTypedArray(),
|
||||
*MBlocks.MATTER_DECOMPOSER.values.toTypedArray(),
|
||||
*MBlocks.MATTER_CAPACITOR_BANK.values.toTypedArray(),
|
||||
MBlocks.PATTERN_STORAGE,
|
||||
*MBlocks.MATTER_SCANNER.values.toTypedArray(),
|
||||
*MBlocks.MATTER_PANEL.values.toTypedArray(),
|
||||
*MBlocks.MATTER_REPLICATOR.values.toTypedArray(),
|
||||
*MBlocks.MATTER_BOTTLER.values.toTypedArray(),
|
||||
*MBlocks.ENERGY_COUNTER.values.toTypedArray(),
|
||||
*MBlocks.CHEMICAL_GENERATOR.values.toTypedArray(),
|
||||
*MBlocks.PLATE_PRESS.values.toTypedArray(),
|
||||
*MBlocks.TWIN_PLATE_PRESS.values.toTypedArray(),
|
||||
*MBlocks.MATTER_RECYCLER.values.toTypedArray(),
|
||||
MBlocks.MATTER_ENTANGLER,
|
||||
|
||||
*MBlocks.POWERED_FURNACE.values.toTypedArray(),
|
||||
*MBlocks.POWERED_SMOKER.values.toTypedArray(),
|
||||
*MBlocks.POWERED_BLAST_FURNACE.values.toTypedArray(),
|
||||
|
||||
MBlocks.STORAGE_BUS,
|
||||
MBlocks.STORAGE_IMPORTER,
|
||||
MBlocks.STORAGE_EXPORTER,
|
||||
|
||||
*MBlocks.DRIVE_VIEWER.values.toTypedArray(),
|
||||
MBlocks.DRIVE_RACK,
|
||||
*MBlocks.ITEM_MONITOR.values.toTypedArray(),
|
||||
*MBlocks.STORAGE_POWER_SUPPLIER.values.toTypedArray(),
|
||||
|
||||
MBlocks.PHANTOM_ATTRACTOR,
|
||||
*MBlocks.ENERGY_SERVO.values.toTypedArray(),
|
||||
|
||||
MBlocks.TRITANIUM_INGOT_BLOCK,
|
||||
MBlocks.METAL_JUNK,
|
||||
MBlocks.METAL_MESH,
|
||||
MBlocks.TRITANIUM_BARS,
|
||||
MBlocks.METAL_RAILING,
|
||||
|
||||
MBlocks.ENGINE,
|
||||
MBlocks.HOLO_SIGN,
|
||||
*MBlocks.COBBLESTONE_GENERATOR.values.toTypedArray(),
|
||||
*MBlocks.ESSENCE_STORAGE.values.toTypedArray(),
|
||||
*MBlocks.MATTER_RECONSTRUCTOR.values.toTypedArray(),
|
||||
MBlocks.FLUID_TANK,
|
||||
*MBlocks.ANDROID_CHARGER.values.toTypedArray(),
|
||||
|
||||
MBlocks.BLACK_HOLE_GENERATOR,
|
||||
MBlocks.ITEM_INPUT_HATCH,
|
||||
MBlocks.ITEM_OUTPUT_HATCH,
|
||||
), Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(listOf(
|
||||
MBlocks.DILITHIUM_ORE,
|
||||
MBlocks.DEEPSLATE_DILITHIUM_ORE,
|
||||
MBlocks.DILITHIUM_CRYSTAL_BLOCK,
|
||||
|
||||
MBlocks.GRAVITATION_STABILIZER,
|
||||
MBlocks.GRAVITATION_STABILIZER_LENS,
|
||||
), Tiers.DIAMOND)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_ANVIL, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_ORE, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.DEEPSLATE_TRITANIUM_ORE, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_RAW_BLOCK, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_BLOCK.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_STAIRS.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_WALL.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_SLAB.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.CARBON_FIBRE_BLOCK, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.INFINITE_WATER_SOURCE, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.CARGO_CRATES.allBlocks.values, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.VENT.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.VENT_ALTERNATIVE.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_BLOCK.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.COMPUTER_TERMINAL.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.STAR_CHAIR.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_SLAB.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_WALL.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STAIRS.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_BLOCK.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES.blocks.values)
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES_STAIRS.blocks.values)
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES_SLAB.blocks.values)
|
||||
tagsProvider.requiresShovel(MRegistry.UNREFINED_FLOOR_TILES.blocks.values)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.INDUSTRIAL_GLASS.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.DECORATIVE_CRATE.allBlocks.values, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.LABORATORY_LAMP, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.LABORATORY_LAMP_INVERTED, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.METAL_BEAM, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.DANGER_STRIPE_BLOCK)
|
||||
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package ru.dbotthepony.mc.otm.datagen.tags
|
||||
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addResourceTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.circuits.add("basic", MItems.BASIC_CONTROL_CIRCUIT)
|
||||
tagsProvider.circuits.add("advanced", MItems.ADVANCED_CONTROL_CIRCUIT)
|
||||
|
||||
tagsProvider.stoneOre("tritanium", MBlocks.TRITANIUM_ORE)
|
||||
tagsProvider.stoneOre("dilithium", MBlocks.DILITHIUM_ORE)
|
||||
|
||||
tagsProvider.deepslateOre("tritanium", MBlocks.DEEPSLATE_TRITANIUM_ORE)
|
||||
tagsProvider.deepslateOre("dilithium", MBlocks.DEEPSLATE_DILITHIUM_ORE)
|
||||
|
||||
tagsProvider.plates.add("tritanium", MItems.TRITANIUM_PLATE)
|
||||
tagsProvider.plates.add("iron", MItems.IRON_PLATE)
|
||||
tagsProvider.plates.add("gold", MItems.GOLD_PLATE)
|
||||
tagsProvider.plates.add("carbon", MItems.CARBON_MESH)
|
||||
|
||||
tagsProvider.dusts.add("tritanium", MItems.TRITANIUM_DUST)
|
||||
tagsProvider.ingots.add("tritanium", MItems.TRITANIUM_INGOT)
|
||||
|
||||
tagsProvider.wires.add("copper", MItems.COPPER_WIRING)
|
||||
tagsProvider.wires.add("gold", MItems.GOLD_WIRING)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.TRITANIUM_NUGGETS).add(MItems.TRITANIUM_NUGGET)
|
||||
tagsProvider.items.Appender(MItemTags.NUGGETS).add(MItems.TRITANIUM_NUGGET)
|
||||
|
||||
tagsProvider.items.forge("reinforced_tritanium").add(MItems.REINFORCED_TRITANIUM_PLATE)
|
||||
|
||||
tagsProvider.storageBlocksAsItem.add("tritanium", MItems.TRITANIUM_INGOT_BLOCK)
|
||||
tagsProvider.storageBlocksAsBlock.add("tritanium", MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
|
||||
tagsProvider.singleDropOre(
|
||||
MBlocks.TRITANIUM_ORE,
|
||||
MBlocks.DEEPSLATE_TRITANIUM_ORE
|
||||
)
|
||||
|
||||
tagsProvider.denseDropOre(
|
||||
MBlocks.DILITHIUM_ORE,
|
||||
MBlocks.DEEPSLATE_DILITHIUM_ORE,
|
||||
)
|
||||
|
||||
tagsProvider.clump("tritanium", MItems.TRITANIUM_ORE_CLUMP, MBlocks.TRITANIUM_RAW_BLOCK)
|
||||
|
||||
tagsProvider.gems.add(MItems.DILITHIUM_CRYSTAL)
|
||||
|
||||
tagsProvider.storageBlocksAsItem.add("dilithium", MItems.DILITHIUM_CRYSTAL_BLOCK)
|
||||
tagsProvider.storageBlocksAsBlock.add("dilithium", MBlocks.DILITHIUM_CRYSTAL_BLOCK)
|
||||
|
||||
tagsProvider.items.forge("gems/dilithium").add(MItems.DILITHIUM_CRYSTAL)
|
||||
|
||||
}
|
@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.datagen.tags
|
||||
import net.minecraft.tags.ItemTags
|
||||
import net.minecraft.world.entity.EntityType
|
||||
import net.minecraft.world.item.Items
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
fun addSuspiciousTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.entityTypes.Appender(MItems.SUSPICIOUS_FOODS.OWNED_MEAT_CONSUMERS)
|
||||
|
@ -4,209 +4,52 @@ import net.minecraft.tags.BlockTags
|
||||
import net.minecraft.tags.ItemTags
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.Tiers
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.block.Blocks
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockTags
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.MFluids
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MFluids
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
||||
fun addTags(tagsProvider: TagsProvider) {
|
||||
tagsProvider.items.forge("pistons").add(Items.PISTON)
|
||||
tagsProvider.circuits.add("basic", MItems.BASIC_CONTROL_CIRCUIT)
|
||||
tagsProvider.circuits.add("advanced", MItems.ADVANCED_CONTROL_CIRCUIT)
|
||||
|
||||
tagsProvider.dusts.add("tritanium", MItems.TRITANIUM_DUST)
|
||||
tagsProvider.ingots.add("tritanium", MItems.TRITANIUM_INGOT)
|
||||
tagsProvider.items.Appender(ItemTags.BEACON_PAYMENT_ITEMS).add(MItems.TRITANIUM_INGOT)
|
||||
|
||||
tagsProvider.plates.add("tritanium", MItems.TRITANIUM_PLATE)
|
||||
tagsProvider.plates.add("iron", MItems.IRON_PLATE)
|
||||
tagsProvider.plates.add("gold", MItems.GOLD_PLATE)
|
||||
tagsProvider.plates.add("carbon", MItems.CARBON_MESH)
|
||||
tagsProvider.items.Appender(ItemTags.BEACON_PAYMENT_ITEMS)
|
||||
.add(MItems.TRITANIUM_INGOT)
|
||||
.add(MItems.DILITHIUM_CRYSTAL)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.MEAT).add(MItems.NUTRIENT_PASTE)
|
||||
|
||||
tagsProvider.fluids.forge("experience").add(MFluids.LIQUID_XP).add(MFluids.LIQUID_XP_FLOWING)
|
||||
tagsProvider.fluidTypes.forge("experience").add(MFluids.LIQUID_XP_TYPE)
|
||||
|
||||
tagsProvider.items.forge("reinforced_tritanium").add(MItems.REINFORCED_TRITANIUM_PLATE)
|
||||
|
||||
tagsProvider.storageBlocksAsItem.add("tritanium", MItems.TRITANIUM_INGOT_BLOCK)
|
||||
tagsProvider.storageBlocksAsBlock.add("tritanium", MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
tagsProvider.blocks.Appender(BlockTags.BEACON_BASE_BLOCKS).add(MBlocks.TRITANIUM_INGOT_BLOCK)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_STRUCTURE)
|
||||
.add(MBlockTags.MULTIBLOCK_HARD_STRUCTURE, MBlockTags.MULTIBLOCK_SOFT_STRUCTURE)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_SOFT_STRUCTURE)
|
||||
.add(MBlockTags.HARDENED_GLASS)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.MULTIBLOCK_HARD_STRUCTURE)
|
||||
.add(MRegistry.VENT.allBlocks.values)
|
||||
.add(MRegistry.VENT_ALTERNATIVE.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_BLOCK.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_BLOCK.blocks.values.stream().flatMap { it.values.stream() })
|
||||
|
||||
tagsProvider.stoneOre("tritanium", MBlocks.TRITANIUM_ORE)
|
||||
tagsProvider.deepslateOre("tritanium", MBlocks.DEEPSLATE_TRITANIUM_ORE)
|
||||
tagsProvider.singleDropOre(
|
||||
MBlocks.TRITANIUM_ORE,
|
||||
MBlocks.DEEPSLATE_TRITANIUM_ORE
|
||||
)
|
||||
|
||||
tagsProvider.clump("tritanium", MItems.TRITANIUM_ORE_CLUMP, MBlocks.TRITANIUM_RAW_BLOCK)
|
||||
|
||||
tagsProvider.wires.add("copper", MItems.COPPER_WIRING)
|
||||
tagsProvider.wires.add("gold", MItems.GOLD_WIRING)
|
||||
|
||||
tagsProvider.requiresPickaxe(
|
||||
MBlocks.MATTER_CABLE,
|
||||
MBlocks.STORAGE_CABLE
|
||||
)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.CRAFTING_TABLES).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.WORKBENCHES).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.WORKBENCH).add(Items.CRAFTING_TABLE)
|
||||
tagsProvider.items.Appender(MItemTags.FURNACES).add(Items.FURNACE)
|
||||
tagsProvider.blocks.Appender(MBlockTags.CRAFTING_TABLES).add(Blocks.CRAFTING_TABLE)
|
||||
tagsProvider.blocks.Appender(MBlockTags.WORKBENCHES).add(Blocks.CRAFTING_TABLE)
|
||||
tagsProvider.blocks.Appender(MBlockTags.WORKBENCH).add(Blocks.CRAFTING_TABLE)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.CRAFTING_TABLES)
|
||||
.add(MItemTags.WORKBENCHES)
|
||||
.add(MItemTags.WORKBENCH)
|
||||
|
||||
tagsProvider.blocks.Appender(MBlockTags.CRAFTING_TABLES)
|
||||
.add(MBlockTags.WORKBENCHES)
|
||||
.add(MBlockTags.WORKBENCH)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.MINECART_CARGO_CRATES).add(MItems.CARGO_CRATE_MINECARTS.values)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.item)
|
||||
tagsProvider.items.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.items.values)
|
||||
|
||||
tagsProvider.items.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allItems.values)
|
||||
tagsProvider.items.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.item)
|
||||
tagsProvider.items.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.items.values)
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass/$s").add(item) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachItem { s, _, item -> tagsProvider.items.forge("hardened_glass_panes/$s").add(item) }
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass").add(MRegistry.INDUSTRIAL_GLASS.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass/colorless").add(MRegistry.INDUSTRIAL_GLASS.block)
|
||||
tagsProvider.blocks.forge("hardened_glass/tinted").add(MRegistry.INDUSTRIAL_GLASS.blocks.values)
|
||||
|
||||
tagsProvider.blocks.forge("hardened_glass_panes").add(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/colorless").add(MRegistry.INDUSTRIAL_GLASS_PANE.block)
|
||||
tagsProvider.blocks.forge("hardened_glass_panes/tinted").add(MRegistry.INDUSTRIAL_GLASS_PANE.blocks.values)
|
||||
|
||||
MRegistry.INDUSTRIAL_GLASS.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass/$s").add(block) }
|
||||
MRegistry.INDUSTRIAL_GLASS_PANE.forEachBlock { s, _, block -> tagsProvider.blocks.forge("hardened_glass_panes/$s").add(block) }
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.INDUSTRIAL_GLASS).add(MRegistry.INDUSTRIAL_GLASS.allItems.values)
|
||||
tagsProvider.blocks.Appender(MBlockTags.INDUSTRIAL_GLASS).add(MRegistry.INDUSTRIAL_GLASS.allBlocks.values)
|
||||
tagsProvider.blocks.Appender(MBlockTags.CARGO_CRATES).add(MRegistry.CARGO_CRATES.allBlocks.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DOORS).add(MItems.TRITANIUM_DOOR.values)
|
||||
tagsProvider.blocks.Appender(BlockTags.DOORS).add(MBlocks.TRITANIUM_DOOR.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.TRAPDOORS).add(MItems.TRITANIUM_TRAPDOOR.values)
|
||||
tagsProvider.blocks.Appender(BlockTags.TRAPDOORS).add(MBlocks.TRITANIUM_TRAPDOOR.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.PRESSURE_PLATES).add(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.MACHINES).add(MItems.MACHINES)
|
||||
tagsProvider.blocks.Appender(MBlockTags.MACHINES).add(MItems.MACHINES.stream().map { it!!.block })
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.ANVIL).add(MBlocks.TRITANIUM_ANVIL)
|
||||
tagsProvider.items.Appender(ItemTags.ANVIL).add(MItems.TRITANIUM_ANVIL)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.TRITANIUM_NUGGETS).add(MItems.TRITANIUM_NUGGET)
|
||||
tagsProvider.items.Appender(MItemTags.NUGGETS).add(MItems.TRITANIUM_NUGGET)
|
||||
|
||||
// TODO: is new tag appropriate for modded armors?
|
||||
tagsProvider.items.Appender(Tags.Items.ARMORS)
|
||||
.add(MItems.TRITANIUM_HELMET, MItems.SIMPLE_TRITANIUM_HELMET)
|
||||
.add(MItems.TRITANIUM_CHESTPLATE, MItems.SIMPLE_TRITANIUM_CHESTPLATE, MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
.add(MItems.TRITANIUM_PANTS, MItems.SIMPLE_TRITANIUM_PANTS)
|
||||
.add(MItems.TRITANIUM_BOOTS, MItems.SIMPLE_TRITANIUM_BOOTS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DYEABLE).add(MItems.TRITANIUM_ARMOR)
|
||||
tagsProvider.items.Appender(ItemTags.TRIMMABLE_ARMOR).add(MItems.SIMPLE_TRITANIUM_ARMOR)
|
||||
tagsProvider.items.Appender(ItemTags.FREEZE_IMMUNE_WEARABLES).add(MItems.TRITANIUM_ARMOR)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.SWORDS).add(MItems.TRITANIUM_SWORD).add(MItems.ENERGY_SWORD)
|
||||
tagsProvider.items.Appender(ItemTags.AXES).add(MItems.TRITANIUM_AXE)
|
||||
tagsProvider.items.Appender(ItemTags.PICKAXES).add(MItems.TRITANIUM_PICKAXE)
|
||||
tagsProvider.items.Appender(ItemTags.SHOVELS).add(MItems.TRITANIUM_SHOVEL)
|
||||
tagsProvider.items.Appender(ItemTags.HOES).add(MItems.TRITANIUM_HOE)
|
||||
tagsProvider.items.Appender(Tags.Items.TOOLS_SHEAR).add(MItems.TRITANIUM_SHEARS)
|
||||
tagsProvider.items.Appender(Tags.Items.TOOLS_SHIELD).add(MItems.TRITANIUM_SHIELD)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.TOOLS_HAMMERS).add(MItems.EXPLOSIVE_HAMMER)
|
||||
tagsProvider.items.forge("tools").add(MItemTags.TOOLS_HAMMERS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.DURABILITY_ENCHANTABLE)
|
||||
.add(MItems.EXPLOSIVE_HAMMER)
|
||||
.add(MItems.TRITANIUM_SHEARS)
|
||||
.add(MItems.TRITANIUM_SHIELD)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.MINING_ENCHANTABLE)
|
||||
.add(MItems.TRITANIUM_SHEARS)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.EQUIPPABLE_ENCHANTABLE)
|
||||
.add(MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.VANISHING_ENCHANTABLE)
|
||||
.add(MItems.PORTABLE_GRAVITATION_STABILIZER)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.UPGRADES)
|
||||
.add(MItems.MachineUpgrades.Basic.LIST)
|
||||
.add(MItems.MachineUpgrades.Normal.LIST)
|
||||
.add(MItems.MachineUpgrades.Advanced.LIST)
|
||||
.add(MItems.MachineUpgrades.Creative.LIST)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.STAIRS)
|
||||
.add(MRegistry.FLOOR_TILES_STAIRS.blocks.values)
|
||||
.add(MRegistry.TRITANIUM_STAIRS.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_STAIRS.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.SLABS)
|
||||
.add(MRegistry.TRITANIUM_SLAB.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks)
|
||||
.add(MRegistry.FLOOR_TILES_SLAB.blocks.values)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_SLAB.values)
|
||||
|
||||
tagsProvider.blocks.Appender(BlockTags.WALLS)
|
||||
.add(MRegistry.TRITANIUM_WALL.allBlocks.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks)
|
||||
.add(MBlocks.TRITANIUM_STRIPED_WALL.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.STAIRS)
|
||||
.add(MRegistry.FLOOR_TILES_STAIRS.items.values)
|
||||
.add(MRegistry.TRITANIUM_STAIRS.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_STAIRS.flatItems)
|
||||
.add(MItems.TRITANIUM_STRIPED_STAIRS.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.SLABS)
|
||||
.add(MRegistry.TRITANIUM_SLAB.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_SLAB.flatItems)
|
||||
.add(MRegistry.FLOOR_TILES_SLAB.items.values)
|
||||
.add(MItems.TRITANIUM_STRIPED_SLAB.values)
|
||||
|
||||
tagsProvider.items.Appender(ItemTags.WALLS)
|
||||
.add(MRegistry.TRITANIUM_WALL.allItems.values)
|
||||
.add(MRegistry.TRITANIUM_STRIPED_WALL.flatItems)
|
||||
.add(MItems.TRITANIUM_STRIPED_WALL.values)
|
||||
|
||||
tagsProvider.items.Appender(MItemTags.NO_REPLICATION)
|
||||
.add(MItemTags.DILITHIUM_GEMS)
|
||||
.add(MItemTags.DILITHIUM_ORES)
|
||||
.add(Items.WRITTEN_BOOK)
|
||||
.add(Tags.Items.ORES)
|
||||
.add(Tags.Items.RAW_MATERIALS)
|
||||
@ -223,161 +66,6 @@ fun addTags(tagsProvider: TagsProvider) {
|
||||
.add(MItems.ExopackUpgrades.INVENTORY_UPGRADE_WITHER)
|
||||
.add(MItems.ExopackUpgrades.INVENTORY_UPGRADE_ENDER_DRAGON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_DOOR.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_TRAPDOOR.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.PAINTER, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MBlocks.ENERGY_CABLES.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MBlocks.GRILL.values, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(listOf<Block>(
|
||||
*MBlocks.ANDROID_STATION.values.toTypedArray(),
|
||||
*MBlocks.BATTERY_BANK.values.toTypedArray(),
|
||||
*MBlocks.MATTER_DECOMPOSER.values.toTypedArray(),
|
||||
*MBlocks.MATTER_CAPACITOR_BANK.values.toTypedArray(),
|
||||
MBlocks.PATTERN_STORAGE,
|
||||
*MBlocks.MATTER_SCANNER.values.toTypedArray(),
|
||||
*MBlocks.MATTER_PANEL.values.toTypedArray(),
|
||||
*MBlocks.MATTER_REPLICATOR.values.toTypedArray(),
|
||||
*MBlocks.MATTER_BOTTLER.values.toTypedArray(),
|
||||
*MBlocks.ENERGY_COUNTER.values.toTypedArray(),
|
||||
*MBlocks.CHEMICAL_GENERATOR.values.toTypedArray(),
|
||||
*MBlocks.PLATE_PRESS.values.toTypedArray(),
|
||||
*MBlocks.TWIN_PLATE_PRESS.values.toTypedArray(),
|
||||
*MBlocks.MATTER_RECYCLER.values.toTypedArray(),
|
||||
MBlocks.MATTER_ENTANGLER,
|
||||
|
||||
*MBlocks.POWERED_FURNACE.values.toTypedArray(),
|
||||
*MBlocks.POWERED_SMOKER.values.toTypedArray(),
|
||||
*MBlocks.POWERED_BLAST_FURNACE.values.toTypedArray(),
|
||||
|
||||
MBlocks.STORAGE_BUS,
|
||||
MBlocks.STORAGE_IMPORTER,
|
||||
MBlocks.STORAGE_EXPORTER,
|
||||
|
||||
*MBlocks.DRIVE_VIEWER.values.toTypedArray(),
|
||||
MBlocks.DRIVE_RACK,
|
||||
*MBlocks.ITEM_MONITOR.values.toTypedArray(),
|
||||
*MBlocks.STORAGE_POWER_SUPPLIER.values.toTypedArray(),
|
||||
|
||||
MBlocks.PHANTOM_ATTRACTOR,
|
||||
*MBlocks.ENERGY_SERVO.values.toTypedArray(),
|
||||
|
||||
MBlocks.TRITANIUM_INGOT_BLOCK,
|
||||
MBlocks.METAL_JUNK,
|
||||
MBlocks.METAL_MESH,
|
||||
MBlocks.TRITANIUM_BARS,
|
||||
MBlocks.METAL_RAILING,
|
||||
|
||||
MBlocks.ENGINE,
|
||||
MBlocks.HOLO_SIGN,
|
||||
*MBlocks.COBBLESTONE_GENERATOR.values.toTypedArray(),
|
||||
*MBlocks.ESSENCE_STORAGE.values.toTypedArray(),
|
||||
*MBlocks.MATTER_RECONSTRUCTOR.values.toTypedArray(),
|
||||
MBlocks.FLUID_TANK,
|
||||
*MBlocks.ANDROID_CHARGER.values.toTypedArray(),
|
||||
|
||||
MBlocks.BLACK_HOLE_GENERATOR,
|
||||
MBlocks.ITEM_INPUT_HATCH,
|
||||
MBlocks.ITEM_OUTPUT_HATCH,
|
||||
), Tiers.IRON)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.CARGO_CRATES.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.INDUSTRIAL_GLASS.allItems)
|
||||
tagsProvider.addToDyeTags(MRegistry.INDUSTRIAL_GLASS_PANE.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.DECORATIVE_CRATE.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.TRITANIUM_DOOR)
|
||||
tagsProvider.addToDyeTags(MItems.TRITANIUM_TRAPDOOR)
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_PRESSURE_PLATE.allItems)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.FLOOR_TILES_STAIRS.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_STAIRS.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_SLAB.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.FLOOR_TILES_SLAB.items)
|
||||
tagsProvider.addToDyeTags(MRegistry.UNREFINED_FLOOR_TILES.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MRegistry.TRITANIUM_WALL.items)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.ANDROID_STATION)
|
||||
tagsProvider.addToDyeTags(MItems.ENERGY_SERVO)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_DECOMPOSER)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_CAPACITOR_BANK)
|
||||
tagsProvider.addToDyeTags(MItems.BATTERY_BANK)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_SCANNER)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_PANEL)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_REPLICATOR)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_BOTTLER)
|
||||
tagsProvider.addToDyeTags(MItems.ENERGY_COUNTER)
|
||||
tagsProvider.addToDyeTags(MItems.CHEMICAL_GENERATOR)
|
||||
tagsProvider.addToDyeTags(MItems.PLATE_PRESS)
|
||||
tagsProvider.addToDyeTags(MItems.TWIN_PLATE_PRESS)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_RECYCLER)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_FURNACE)
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_SMOKER)
|
||||
tagsProvider.addToDyeTags(MItems.POWERED_BLAST_FURNACE)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.DRIVE_VIEWER)
|
||||
tagsProvider.addToDyeTags(MItems.ITEM_MONITOR)
|
||||
tagsProvider.addToDyeTags(MItems.STORAGE_POWER_SUPPLIER)
|
||||
|
||||
tagsProvider.addToDyeTags(MItems.COBBLESTONE_GENERATOR)
|
||||
tagsProvider.addToDyeTags(MItems.ESSENCE_STORAGE)
|
||||
tagsProvider.addToDyeTags(MItems.MATTER_RECONSTRUCTOR)
|
||||
tagsProvider.addToDyeTags(MItems.ANDROID_CHARGER)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_ANVIL, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_ORE, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.DEEPSLATE_TRITANIUM_ORE, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_RAW_BLOCK, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_BLOCK.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_STAIRS.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_WALL.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.TRITANIUM_STRIPED_SLAB.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.CARBON_FIBRE_BLOCK, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.INFINITE_WATER_SOURCE, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.CARGO_CRATES.allBlocks.values, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.VENT.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.VENT_ALTERNATIVE.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_BLOCK.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.COMPUTER_TERMINAL.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.STAR_CHAIR.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_SLAB.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_WALL.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_PRESSURE_PLATE.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STAIRS.allBlocks.values, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_BLOCK.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_STAIRS.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_WALL.flatBlocks, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MRegistry.TRITANIUM_STRIPED_SLAB.flatBlocks, Tiers.IRON)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES.blocks.values)
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES_STAIRS.blocks.values)
|
||||
tagsProvider.requiresPickaxe(MRegistry.FLOOR_TILES_SLAB.blocks.values)
|
||||
tagsProvider.requiresShovel(MRegistry.UNREFINED_FLOOR_TILES.blocks.values)
|
||||
|
||||
tagsProvider.requiresPickaxe(MRegistry.INDUSTRIAL_GLASS.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.INDUSTRIAL_GLASS_PANE.allBlocks.values, Tiers.STONE)
|
||||
tagsProvider.requiresPickaxe(MRegistry.DECORATIVE_CRATE.allBlocks.values, Tiers.STONE)
|
||||
|
||||
tagsProvider.requiresPickaxe(MBlocks.LABORATORY_LAMP, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.LABORATORY_LAMP_INVERTED, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.METAL_BEAM, Tiers.IRON)
|
||||
tagsProvider.requiresPickaxe(MBlocks.DANGER_STRIPE_BLOCK)
|
||||
|
||||
tagsProvider.requiresPickaxe(listOf(
|
||||
MBlocks.GRAVITATION_STABILIZER,
|
||||
MBlocks.GRAVITATION_STABILIZER_LENS,
|
||||
), Tiers.DIAMOND)
|
||||
|
||||
tagsProvider.dragonImmune.add(
|
||||
MBlocks.BLACK_HOLE,
|
||||
MBlocks.GRAVITATION_STABILIZER,
|
||||
|
@ -240,6 +240,15 @@ class TagsProvider(private val event: GatherDataEvent) {
|
||||
return this
|
||||
}
|
||||
|
||||
fun denseDropOre(vararg blocks: Block): TagsProvider {
|
||||
for (block in blocks) {
|
||||
itemOreRatesSingular.add(block.asItem())
|
||||
blockOreRatesSingular.add(block)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
fun ore(key: String, block: Block): TagsProvider {
|
||||
val forgeKey = ResourceLocation("c", "ores/$key")
|
||||
val b = TagKey.create(Registries.BLOCK, forgeKey)
|
||||
@ -276,6 +285,7 @@ class TagsProvider(private val event: GatherDataEvent) {
|
||||
val dusts = items.Appender(Tags.Items.DUSTS)
|
||||
val ingots = items.Appender(Tags.Items.INGOTS)
|
||||
val itemOres = items.Appender(Tags.Items.ORES)
|
||||
val gems = items.Appender(Tags.Items.GEMS)
|
||||
val blockOres = blocks.Appender(Tags.Blocks.ORES)
|
||||
val plates = items.forge("plates")
|
||||
val storageBlocksAsItem = items.Appender(Tags.Items.STORAGE_BLOCKS)
|
||||
@ -292,10 +302,10 @@ class TagsProvider(private val event: GatherDataEvent) {
|
||||
|
||||
// val blockOreRatesSparse = blocks.forge("ore_rates/sparse")
|
||||
val blockOreRatesSingular = blocks.Appender(Tags.Blocks.ORE_RATES_SINGULAR)
|
||||
// val blockOreRatesDense = blocks.forge("ore_rates/dense")
|
||||
val blockOreRatesDense = blocks.forge("ore_rates/dense")
|
||||
// val itemOreRatesSparse = items.forge("ore_rates/sparse")
|
||||
val itemOreRatesSingular = items.Appender(Tags.Items.ORE_RATES_SINGULAR)
|
||||
// val itemOreRatesDense = items.forge("ore_rates/dense")
|
||||
val itemOreRatesDense = items.forge("ore_rates/dense")
|
||||
|
||||
val gameEvents = Delegate(Registries.GAME_EVENT)
|
||||
val vibrations = gameEvents.Appender(GameEventTags.VIBRATIONS)
|
||||
|
@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import ru.dbotthepony.mc.otm.capability.IMatteryPlayer;
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents;
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents;
|
||||
|
||||
@Mixin(AbstractHurtingProjectile.class)
|
||||
public class MixinAbstractHurtingProjectile {
|
||||
|
@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks;
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks;
|
||||
|
||||
@Mixin(AnvilBlock.class)
|
||||
@SuppressWarnings("unused")
|
||||
|
@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import ru.dbotthepony.mc.otm.capability.IMatteryPlayer;
|
||||
import ru.dbotthepony.mc.otm.config.ServerConfig;
|
||||
import ru.dbotthepony.mc.otm.core.util.ExperienceUtilsKt;
|
||||
import ru.dbotthepony.mc.otm.registry.MItems;
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems;
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Mixin(LivingEntity.class)
|
||||
|
@ -64,6 +64,27 @@ import ru.dbotthepony.mc.otm.matter.IMatterFunction
|
||||
import ru.dbotthepony.mc.otm.matter.MatterManager
|
||||
import ru.dbotthepony.mc.otm.network.*
|
||||
import ru.dbotthepony.mc.otm.registry.*
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MArmorMaterials
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockColors
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MCreativeTabs
|
||||
import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MEntityTypes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MFluids
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MMenus
|
||||
import ru.dbotthepony.mc.otm.registry.game.MRecipes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.MStats
|
||||
import ru.dbotthepony.mc.otm.registry.data.LootModifiers
|
||||
import ru.dbotthepony.mc.otm.registry.data.MHeightProviders
|
||||
import ru.dbotthepony.mc.otm.registry.data.MItemFunctionTypes
|
||||
import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions
|
||||
import ru.dbotthepony.mc.otm.registry.data.MLootNumberProviders
|
||||
import ru.dbotthepony.mc.otm.registry.data.MPlacementModifiers
|
||||
import ru.dbotthepony.mc.otm.registry.data.MWorldGenFeatures
|
||||
import ru.dbotthepony.mc.otm.server.MCommands
|
||||
import ru.dbotthepony.mc.otm.storage.StorageStack
|
||||
import ru.dbotthepony.mc.otm.triggers.KillAsAndroidTrigger
|
||||
@ -100,22 +121,23 @@ object OverdriveThatMatters {
|
||||
CommandArgumentTypes.register(MOD_BUS)
|
||||
MHeightProviders.register(MOD_BUS)
|
||||
MPlacementModifiers.register(MOD_BUS)
|
||||
MLootNumberProviders.register(MOD_BUS)
|
||||
|
||||
StorageStack.Companion.register(MOD_BUS)
|
||||
MatteryChestMenu.Companion.register(MOD_BUS)
|
||||
StorageStack.register(MOD_BUS)
|
||||
MatteryChestMenu.register(MOD_BUS)
|
||||
|
||||
MCreativeTabs.initialize(MOD_BUS)
|
||||
|
||||
MOD_BUS.addListener(::registerNetworkPackets)
|
||||
|
||||
DecimalProvider.Companion.register(MOD_BUS)
|
||||
AndroidResearchDescription.Companion.register(MOD_BUS)
|
||||
DecimalProvider.register(MOD_BUS)
|
||||
AndroidResearchDescription.register(MOD_BUS)
|
||||
AndroidResearchDescriptions.register(MOD_BUS)
|
||||
AndroidResearchResult.Companion.register(MOD_BUS)
|
||||
AndroidResearchResult.register(MOD_BUS)
|
||||
AndroidResearchResults.register(MOD_BUS)
|
||||
|
||||
AbstractRegistryAction.Companion.register(MOD_BUS)
|
||||
IMatterFunction.Companion.register(MOD_BUS)
|
||||
AbstractRegistryAction.register(MOD_BUS)
|
||||
IMatterFunction.register(MOD_BUS)
|
||||
|
||||
MRegistry.initialize(MOD_BUS)
|
||||
MatterManager.initialize(MOD_BUS)
|
||||
|
@ -7,7 +7,7 @@ import net.minecraft.resources.ResourceLocation
|
||||
import net.neoforged.bus.api.IEventBus
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MDeferredRegister
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
import ru.dbotthepony.mc.otm.registry.RegistryDelegate
|
||||
|
@ -6,8 +6,7 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import java.util.*
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class AttackBoostFeature(android: MatteryPlayer) : AndroidFeature(AndroidFeatures.ATTACK_BOOST, android) {
|
||||
override fun applyModifiers() {
|
||||
|
@ -50,7 +50,7 @@ import ru.dbotthepony.mc.otm.core.math.rotateYDegrees
|
||||
import ru.dbotthepony.mc.otm.core.math.shortestDistanceBetween
|
||||
import ru.dbotthepony.mc.otm.core.math.times
|
||||
import ru.dbotthepony.mc.otm.milliTime
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.triggers.EnderTeleporterFallDeathTrigger
|
||||
import java.util.*
|
||||
import kotlin.math.sin
|
||||
|
@ -6,7 +6,7 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class ExtendedReachFeature(android: MatteryPlayer) : AndroidFeature(AndroidFeatures.EXTENDED_REACH, android) {
|
||||
override fun applyModifiers() {
|
||||
|
@ -6,7 +6,7 @@ import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.config.AndroidConfig
|
||||
import ru.dbotthepony.mc.otm.core.isFall
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.triggers.FallDampenersSaveTrigger
|
||||
|
||||
class FallDampenersFeature(capability: MatteryPlayer) : AndroidFeature(AndroidFeatures.FALL_DAMPENERS, capability) {
|
||||
|
@ -25,7 +25,7 @@ import ru.dbotthepony.mc.otm.core.math.minus
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.core.position
|
||||
import ru.dbotthepony.mc.otm.core.math.times
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import java.util.UUID
|
||||
import java.util.WeakHashMap
|
||||
import java.util.function.Predicate
|
||||
|
@ -17,8 +17,8 @@ import ru.dbotthepony.mc.otm.core.math.Vector
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.network.SmokeParticlesPacket
|
||||
import ru.dbotthepony.mc.otm.network.TriggerJumpBoostPacket
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
|
||||
class JumpBoostFeature(capability: MatteryPlayer) : AndroidSwitchableFeature(AndroidFeatures.JUMP_BOOST, capability) {
|
||||
private var tickCooldownClient = false
|
||||
|
@ -9,8 +9,7 @@ import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import java.util.*
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class LimbOverclockingFeature(android: MatteryPlayer) : AndroidFeature(AndroidFeatures.LIMB_OVERCLOCKING, android) {
|
||||
override fun applyModifiers() {
|
||||
|
@ -12,7 +12,7 @@ import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.core.isBypassArmor
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.StatNames
|
||||
import ru.dbotthepony.mc.otm.core.nbt.set
|
||||
import ru.dbotthepony.mc.otm.onceServer
|
||||
|
@ -8,7 +8,7 @@ import net.neoforged.neoforge.event.entity.living.LivingIncomingDamageEvent
|
||||
import ru.dbotthepony.mc.otm.config.AndroidConfig
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.StatNames
|
||||
import ru.dbotthepony.mc.otm.core.nbt.set
|
||||
import kotlin.math.roundToInt
|
||||
|
@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.mc.otm.config.AndroidConfig
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class NightVisionFeature(android: MatteryPlayer) : AndroidSwitchableFeature(AndroidFeatures.NIGHT_VISION, android) {
|
||||
override val allowToSwitchByPlayerWhileSpectator: Boolean
|
||||
|
@ -1,19 +1,15 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
|
||||
import it.unimi.dsi.fastutil.objects.ReferenceArraySet
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.sounds.SoundSource
|
||||
import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.monster.warden.Warden
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import net.neoforged.neoforge.network.handling.IPayloadContext
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.mc.otm.config.AndroidConfig
|
||||
@ -30,9 +26,9 @@ import ru.dbotthepony.mc.otm.core.math.times
|
||||
import ru.dbotthepony.mc.otm.core.position
|
||||
import ru.dbotthepony.mc.otm.network.ShockwaveEffectPacket
|
||||
import ru.dbotthepony.mc.otm.network.TriggerShockwavePacket
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.MDamageTypes
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.MatteryDamageSource
|
||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger
|
||||
import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger
|
||||
|
@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class StepAssistFeature(android: MatteryPlayer) : AndroidSwitchableFeature(AndroidFeatures.STEP_ASSIST, android) {
|
||||
override fun applyModifiers() {
|
||||
|
@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.config.AndroidConfig
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
|
||||
class SwimBoostersFeature(android: MatteryPlayer) : AndroidSwitchableFeature(AndroidFeatures.SWIM_BOOSTERS, android) {
|
||||
override fun applyModifiers() {
|
||||
|
@ -15,7 +15,7 @@ import net.minecraft.world.level.material.PushReaction
|
||||
import net.minecraft.world.phys.shapes.CollisionContext
|
||||
import net.minecraft.world.phys.shapes.VoxelShape
|
||||
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes
|
||||
|
||||
class BlackHoleBlock :
|
||||
|
@ -26,7 +26,7 @@ import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom
|
||||
import ru.dbotthepony.mc.otm.core.math.blockRotation
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.once
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
private val FACING_FULL = BlockRotationFreedom.DIRECTIONAL.property
|
||||
|
||||
|
@ -28,6 +28,10 @@ class StarChairBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_PROPE
|
||||
|
||||
override fun rotationFreedom(): BlockRotationFreedom = BlockRotationFreedom.HORIZONTAL
|
||||
|
||||
init {
|
||||
addSimpleDescription()
|
||||
}
|
||||
|
||||
private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.STAR_CHAIR.rotateFromNorth(it[rotationProperty]).computeShape() }
|
||||
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape = shapes[state]!!
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
@ -12,7 +11,7 @@ import ru.dbotthepony.mc.otm.graph.matter.MatterNode
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageGraph
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageNode
|
||||
import ru.dbotthepony.mc.otm.once
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class MatterCableBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(MBlockEntities.MATTER_CABLE, p_155229_, p_155230_) {
|
||||
val matterNode = object : MatterNode() {
|
||||
|
@ -17,7 +17,7 @@ import net.neoforged.neoforge.fluids.capability.IFluidHandler
|
||||
import ru.dbotthepony.mc.otm.block.INeighbourChangeListener
|
||||
import ru.dbotthepony.mc.otm.block.entity.tech.EssenceStorageBlockEntity
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.registry.MFluids
|
||||
import ru.dbotthepony.mc.otm.registry.game.MFluids
|
||||
import java.util.function.DoubleSupplier
|
||||
|
||||
class ExperienceStorage(val maxExperience: DoubleSupplier = DoubleSupplier { Double.POSITIVE_INFINITY }) : IFluidHandler, INBTSerializable<DoubleTag?>, INeighbourChangeListener {
|
||||
|
@ -55,7 +55,7 @@ import ru.dbotthepony.mc.otm.core.util.countingLazy
|
||||
import ru.dbotthepony.mc.otm.network.BlockEntitySyncPacket
|
||||
import ru.dbotthepony.mc.otm.network.syncher.SynchableGroup
|
||||
import ru.dbotthepony.mc.otm.onceServer
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import ru.dbotthepony.mc.otm.sometimeServer
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.*
|
||||
|
@ -8,8 +8,8 @@ import net.minecraft.world.level.block.entity.HopperBlockEntity
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.multiblockEntity
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.shapedMultiblock
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
class MultiblockTestBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryBlockEntity(MBlockEntities.MULTIBLOCK_TEST, blockPos, blockState) {
|
||||
val config = CONFIG.create(blockPos)
|
||||
|
@ -34,8 +34,8 @@ import ru.dbotthepony.mc.otm.core.getExplosionResistance
|
||||
import ru.dbotthepony.mc.otm.core.gracefulBlockBreak
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import ru.dbotthepony.mc.otm.core.math.getSphericalBlockPositions
|
||||
import ru.dbotthepony.mc.otm.core.math.times
|
||||
import ru.dbotthepony.mc.otm.core.nbt.map
|
||||
|
@ -1,12 +1,10 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.blackhole
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArraySet
|
||||
import it.unimi.dsi.fastutil.objects.ObjectIterators
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.util.StringRepresentable
|
||||
import net.minecraft.world.entity.player.Inventory
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||
@ -22,7 +20,6 @@ import ru.dbotthepony.mc.otm.block.entity.tech.MatterHatchBlockEntity
|
||||
import ru.dbotthepony.mc.otm.capability.FlowDirection
|
||||
import ru.dbotthepony.mc.otm.capability.MatteryCapability
|
||||
import ru.dbotthepony.mc.otm.capability.energy.CombinedProfiledEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.energy.receiveEnergy
|
||||
import ru.dbotthepony.mc.otm.capability.matter.CombinedProfiledMatterStorage
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.config.ServerConfig
|
||||
@ -31,22 +28,20 @@ import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.core.collect.map
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.ShapedMultiblock
|
||||
import ru.dbotthepony.mc.otm.core.getBlockStateNow
|
||||
import ru.dbotthepony.mc.otm.core.getValue
|
||||
import ru.dbotthepony.mc.otm.core.immutableList
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.core.math.plus
|
||||
import ru.dbotthepony.mc.otm.core.math.times
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.BlockEntityTag
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.Strategy
|
||||
import ru.dbotthepony.mc.otm.core.multiblock.shapedMultiblock
|
||||
import ru.dbotthepony.mc.otm.menu.tech.BlackHoleGeneratorMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockTags
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
import java.io.Closeable
|
||||
import kotlin.math.min
|
||||
|
||||
class BlackHoleGeneratorBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.BLACK_HOLE_GENERATOR, blockPos, blockState) {
|
||||
class BlackHoleGeneratorBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(
|
||||
MBlockEntities.BLACK_HOLE_GENERATOR, blockPos, blockState) {
|
||||
var multiblock: ShapedMultiblock? = null
|
||||
private set
|
||||
private var multiblockSyncher: Closeable? = null
|
||||
|
@ -36,8 +36,8 @@ import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.core.nbt.map
|
||||
import ru.dbotthepony.mc.otm.core.nbt.set
|
||||
import ru.dbotthepony.mc.otm.menu.decorative.CargoCrateMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MSoundEvents
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MSoundEvents
|
||||
|
||||
class CargoCrateBlockEntity(
|
||||
p_155229_: BlockPos,
|
||||
|
@ -9,7 +9,7 @@ import net.neoforged.neoforge.capabilities.Capabilities
|
||||
import net.neoforged.neoforge.items.IItemHandler
|
||||
import net.neoforged.neoforge.registries.IdMappingEvent
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class DevChestBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryBlockEntity(MBlockEntities.DEV_CHEST, blockPos, blockState), IItemHandler {
|
||||
override fun getSlots(): Int {
|
||||
|
@ -25,7 +25,7 @@ import ru.dbotthepony.mc.otm.core.isNotEmpty
|
||||
import ru.dbotthepony.mc.otm.core.isNotSameAs
|
||||
import ru.dbotthepony.mc.otm.menu.decorative.FluidTankMenu
|
||||
import ru.dbotthepony.mc.otm.network.wrap
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class FluidTankBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.FLUID_TANK, blockPos, blockState) {
|
||||
val fluid = BlockMatteryFluidHandler(ItemsConfig::FLUID_TANK_CAPACITY, syncher.add(ListenableDelegate.SmartBox(FluidStack.EMPTY, setter = { access, value ->
|
||||
|
@ -5,13 +5,10 @@ import it.unimi.dsi.fastutil.ints.IntArrayList
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.NbtOps
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.ComponentSerialization
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.world.Containers
|
||||
import net.minecraft.world.MenuProvider
|
||||
import net.minecraft.world.entity.item.ItemEntity
|
||||
import net.minecraft.world.entity.player.Inventory
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||
@ -21,14 +18,11 @@ import net.minecraft.world.item.crafting.SingleRecipeInput
|
||||
import net.minecraft.world.item.crafting.SmokingRecipe
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import ru.dbotthepony.kommons.util.Delegate
|
||||
import ru.dbotthepony.mc.otm.block.IBlockWithCustomName
|
||||
import ru.dbotthepony.mc.otm.block.decorative.GrillBlock
|
||||
import ru.dbotthepony.mc.otm.block.entity.ExperienceStorage
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryDeviceBlockEntity
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryDeviceBlockEntity.Companion
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.core.TextComponent
|
||||
@ -37,14 +31,11 @@ import ru.dbotthepony.mc.otm.core.isNotEmpty
|
||||
import ru.dbotthepony.mc.otm.core.math.component1
|
||||
import ru.dbotthepony.mc.otm.core.math.component2
|
||||
import ru.dbotthepony.mc.otm.core.math.component3
|
||||
import ru.dbotthepony.mc.otm.core.nbt.set
|
||||
import ru.dbotthepony.mc.otm.core.set
|
||||
import ru.dbotthepony.mc.otm.core.util.countingLazy
|
||||
import ru.dbotthepony.mc.otm.data.codec.minRange
|
||||
import ru.dbotthepony.mc.otm.menu.decorative.GrillMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import kotlin.jvm.optionals.getOrNull
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class GrillBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryBlockEntity(MBlockEntities.GRILL, blockPos, blockState), MenuProvider, IBlockWithCustomName {
|
||||
val fuelSlot = object : MatteryContainer(this@GrillBlockEntity::markDirtyFast, 1) {
|
||||
|
@ -23,8 +23,8 @@ import ru.dbotthepony.mc.otm.core.math.component2
|
||||
import ru.dbotthepony.mc.otm.core.math.component3
|
||||
import ru.dbotthepony.mc.otm.menu.decorative.HoloSignMenu
|
||||
import ru.dbotthepony.mc.otm.once
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MBlocks
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlocks
|
||||
|
||||
class HoloSignBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryBlockEntity(MBlockEntities.HOLO_SIGN, blockPos, blockState), MenuProvider, IRedstoneControlled {
|
||||
override val redstoneControl = SynchronizedRedstoneControl(syncher) { _, _ -> setChanged() }
|
||||
|
@ -8,7 +8,7 @@ import net.neoforged.neoforge.fluids.FluidStack
|
||||
import net.neoforged.neoforge.fluids.capability.IFluidHandler
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.core.math.RelativeSide
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.function.Consumer
|
||||
|
||||
class InfiniteWaterSourceBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryBlockEntity(MBlockEntities.INFINITE_WATER_SOURCE, blockPos, blockState), IFluidHandler {
|
||||
|
@ -26,7 +26,7 @@ import ru.dbotthepony.mc.otm.core.isNotEmpty
|
||||
import ru.dbotthepony.mc.otm.core.nbt.mapPresent
|
||||
import ru.dbotthepony.mc.otm.core.nbt.set
|
||||
import ru.dbotthepony.mc.otm.menu.decorative.PainterMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.*
|
||||
|
||||
class PainterBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.PAINTER, blockPos, blockState), IFluidHandler {
|
||||
|
@ -25,8 +25,7 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||
import ru.dbotthepony.mc.otm.container.UpgradeContainer
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterBottlerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.core.*
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
import java.util.function.BooleanSupplier
|
||||
|
@ -21,9 +21,10 @@ import ru.dbotthepony.mc.otm.core.immutableList
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterCapacitorBankMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class MatterCapacitorBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.MATTER_CAPACITOR_BANK, p_155229_, p_155230_), IMatterStorage {
|
||||
class MatterCapacitorBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(
|
||||
MBlockEntities.MATTER_CAPACITOR_BANK, p_155229_, p_155230_), IMatterStorage {
|
||||
var gaugeLevel by syncher.float()
|
||||
private set
|
||||
|
||||
|
@ -29,8 +29,8 @@ import ru.dbotthepony.mc.otm.data.codec.minRange
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
import ru.dbotthepony.mc.otm.matter.MatterManager
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterDecomposerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
|
||||
class MatterDecomposerBlockEntity(pos: BlockPos, state: BlockState)
|
||||
: MatteryWorkerBlockEntity<MatterDecomposerBlockEntity.DecomposerJob>(MBlockEntities.MATTER_DECOMPOSER, pos, state, DecomposerJob.CODEC) {
|
||||
|
@ -32,10 +32,11 @@ import ru.dbotthepony.mc.otm.data.codec.DecimalCodec
|
||||
import ru.dbotthepony.mc.otm.data.codec.minRange
|
||||
import ru.dbotthepony.mc.otm.graph.matter.MatterNode
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterEntanglerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MRecipes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MRecipes
|
||||
|
||||
class MatterEntanglerBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryWorkerBlockEntity<MatterEntanglerBlockEntity.Job>(MBlockEntities.MATTER_ENTANGLER, blockPos, blockState, Job.CODEC) {
|
||||
class MatterEntanglerBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryWorkerBlockEntity<MatterEntanglerBlockEntity.Job>(
|
||||
MBlockEntities.MATTER_ENTANGLER, blockPos, blockState, Job.CODEC) {
|
||||
class Job(itemStack: ItemStack, val matter: Decimal, ticks: Double, experience: Float) : ItemJob(itemStack, ticks, MachinesConfig.MATTER_ENTANGLER.energyConsumption, experience = experience) {
|
||||
val matterPerTick = matter / ticks
|
||||
|
||||
|
@ -25,7 +25,7 @@ import ru.dbotthepony.mc.otm.core.util.ItemSorter
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
import ru.dbotthepony.mc.otm.menu.IItemSortingSettings
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterPanelMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.*
|
||||
import java.util.stream.Stream
|
||||
|
||||
|
@ -33,10 +33,11 @@ import ru.dbotthepony.mc.otm.graph.matter.MatterNode
|
||||
import ru.dbotthepony.mc.otm.matter.IMatterValue
|
||||
import ru.dbotthepony.mc.otm.matter.MatterManager
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterReconstructorMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.function.BooleanSupplier
|
||||
|
||||
class MatterReconstructorBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.MATTER_RECONSTRUCTOR, blockPos, blockState) {
|
||||
class MatterReconstructorBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(
|
||||
MBlockEntities.MATTER_RECONSTRUCTOR, blockPos, blockState) {
|
||||
val repairContainer = MatteryContainer(::containerChanged, 1).also(::addDroppableContainer)
|
||||
|
||||
private var matterPerTick = Decimal.ZERO
|
||||
|
@ -27,7 +27,7 @@ import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.graph.matter.MatterGraph
|
||||
import ru.dbotthepony.mc.otm.item.matter.MatterDustItem
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterRecyclerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.data.codec.DecimalCodec
|
||||
import ru.dbotthepony.mc.otm.data.codec.minRange
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
|
@ -33,9 +33,9 @@ import ru.dbotthepony.mc.otm.data.codec.minRange
|
||||
import ru.dbotthepony.mc.otm.graph.matter.MatterNode
|
||||
import ru.dbotthepony.mc.otm.matter.MatterManager
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterReplicatorMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
import ru.dbotthepony.mc.otm.registry.MItems
|
||||
import ru.dbotthepony.mc.otm.registry.game.MItems
|
||||
import java.util.*
|
||||
|
||||
class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
|
||||
|
@ -22,9 +22,8 @@ import ru.dbotthepony.mc.otm.capability.matter.PatternState
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||
import ru.dbotthepony.mc.otm.container.UpgradeContainer
|
||||
import ru.dbotthepony.mc.otm.menu.matter.MatterScannerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.graph.matter.MatterNode
|
||||
import ru.dbotthepony.mc.otm.matter.MatterManager
|
||||
import ru.dbotthepony.mc.otm.registry.MItemTags
|
||||
|
@ -20,7 +20,7 @@ import ru.dbotthepony.mc.otm.core.collect.map
|
||||
import ru.dbotthepony.mc.otm.core.filterNotNull
|
||||
import ru.dbotthepony.mc.otm.core.isNotEmpty
|
||||
import ru.dbotthepony.mc.otm.graph.matter.SimpleMatterNode
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.stream.Stream
|
||||
|
||||
class PatternStorageBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
|
||||
|
@ -16,7 +16,7 @@ import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.menu.storage.DriveRackMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.storage.optics.priority
|
||||
import ru.dbotthepony.mc.otm.storage.optics.powered
|
||||
import ru.dbotthepony.mc.otm.storage.optics.flow
|
||||
|
@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.core.get
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.core.util.ItemStorageStackSorter
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.menu.storage.DriveViewerMenu
|
||||
import java.util.UUID
|
||||
|
||||
|
@ -41,7 +41,7 @@ import ru.dbotthepony.mc.otm.core.util.ItemStorageStackSorter
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageGraph
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageNode
|
||||
import ru.dbotthepony.mc.otm.menu.storage.ItemMonitorMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.storage.IStorageEventConsumer
|
||||
import ru.dbotthepony.mc.otm.storage.IStorageProvider
|
||||
import ru.dbotthepony.mc.otm.storage.ItemStorageStack
|
||||
|
@ -30,7 +30,7 @@ import ru.dbotthepony.mc.otm.core.math.isPositive
|
||||
import ru.dbotthepony.mc.otm.core.math.toIntSafe
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageNode
|
||||
import ru.dbotthepony.mc.otm.menu.storage.StorageBusMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.storage.*
|
||||
import java.math.BigInteger
|
||||
import java.util.*
|
||||
|
@ -30,7 +30,7 @@ import ru.dbotthepony.mc.otm.core.math.RelativeSide
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageNode
|
||||
import ru.dbotthepony.mc.otm.menu.storage.StorageImporterExporterMenu
|
||||
import ru.dbotthepony.mc.otm.once
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import ru.dbotthepony.mc.otm.storage.IStorageEventConsumer
|
||||
import ru.dbotthepony.mc.otm.storage.IStorageProvider
|
||||
|
@ -14,9 +14,10 @@ import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.graph.storage.StorageNode
|
||||
import ru.dbotthepony.mc.otm.menu.storage.StoragePowerSupplierMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class StoragePowerSupplierBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.STORAGE_POWER_SUPPLIER, blockPos, blockState) {
|
||||
class StoragePowerSupplierBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(
|
||||
MBlockEntities.STORAGE_POWER_SUPPLIER, blockPos, blockState) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
|
||||
return StoragePowerSupplierMenu(containerID, inventory, this)
|
||||
}
|
||||
|
@ -31,7 +31,6 @@ import ru.dbotthepony.mc.otm.config.WorkerBalanceValues
|
||||
import ru.dbotthepony.mc.otm.container.CombinedContainer
|
||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.UpgradeContainer
|
||||
import ru.dbotthepony.mc.otm.container.balance
|
||||
import ru.dbotthepony.mc.otm.core.collect.filter
|
||||
import ru.dbotthepony.mc.otm.core.collect.maybe
|
||||
@ -39,8 +38,8 @@ import ru.dbotthepony.mc.otm.core.immutableList
|
||||
import ru.dbotthepony.mc.otm.menu.tech.PoweredFurnaceMenu
|
||||
import ru.dbotthepony.mc.otm.recipe.MatteryCookingRecipe
|
||||
import ru.dbotthepony.mc.otm.recipe.MicrowaveRecipe
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.MRecipes
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MRecipes
|
||||
|
||||
sealed class AbstractPoweredFurnaceBlockEntity<P : AbstractCookingRecipe, S : MatteryCookingRecipe>(
|
||||
type: BlockEntityType<*>,
|
||||
@ -174,19 +173,22 @@ sealed class AbstractPoweredFurnaceBlockEntity<P : AbstractCookingRecipe, S : Ma
|
||||
}
|
||||
}
|
||||
|
||||
class PoweredFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<SmeltingRecipe, MatteryCookingRecipe>(MBlockEntities.POWERED_FURNACE, blockPos, blockState, RecipeType.SMELTING, null, MachinesConfig.POWERED_FURNACE) {
|
||||
class PoweredFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<SmeltingRecipe, MatteryCookingRecipe>(
|
||||
MBlockEntities.POWERED_FURNACE, blockPos, blockState, RecipeType.SMELTING, null, MachinesConfig.POWERED_FURNACE) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
|
||||
return PoweredFurnaceMenu.furnace(containerID, inventory, this)
|
||||
}
|
||||
}
|
||||
|
||||
class PoweredBlastFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<BlastingRecipe, MatteryCookingRecipe>(MBlockEntities.POWERED_BLAST_FURNACE, blockPos, blockState, RecipeType.BLASTING, null, MachinesConfig.POWERED_FURNACE) {
|
||||
class PoweredBlastFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<BlastingRecipe, MatteryCookingRecipe>(
|
||||
MBlockEntities.POWERED_BLAST_FURNACE, blockPos, blockState, RecipeType.BLASTING, null, MachinesConfig.POWERED_FURNACE) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
|
||||
return PoweredFurnaceMenu.blasting(containerID, inventory, this)
|
||||
}
|
||||
}
|
||||
|
||||
class PoweredSmokerBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<SmokingRecipe, MicrowaveRecipe>(MBlockEntities.POWERED_SMOKER, blockPos, blockState, RecipeType.SMOKING, MRecipes.MICROWAVE, MachinesConfig.POWERED_FURNACE) {
|
||||
class PoweredSmokerBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity<SmokingRecipe, MicrowaveRecipe>(
|
||||
MBlockEntities.POWERED_SMOKER, blockPos, blockState, RecipeType.SMOKING, MRecipes.MICROWAVE, MachinesConfig.POWERED_FURNACE) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
|
||||
return PoweredFurnaceMenu.smoking(containerID, inventory, this)
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.core.getEntitiesInEllipsoid
|
||||
import ru.dbotthepony.mc.otm.menu.tech.AndroidChargerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class AndroidChargerBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.ANDROID_CHARGER, blockPos, blockState) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
|
||||
@ -63,7 +63,8 @@ class AndroidChargerBlockEntity(blockPos: BlockPos, blockState: BlockState) : Ma
|
||||
}
|
||||
}
|
||||
|
||||
class AndroidChargerMiddleBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.ANDROID_CHARGER_MIDDLE, blockPos, blockState) {
|
||||
class AndroidChargerMiddleBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(
|
||||
MBlockEntities.ANDROID_CHARGER_MIDDLE, blockPos, blockState) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? {
|
||||
if (proxy.parent == null || lastTileEntity == null) return null
|
||||
return AndroidChargerMenu(containerID, inventory, this)
|
||||
@ -111,7 +112,8 @@ class AndroidChargerMiddleBlockEntity(blockPos: BlockPos, blockState: BlockState
|
||||
}
|
||||
}
|
||||
|
||||
class AndroidChargerTopBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.ANDROID_CHARGER_TOP, blockPos, blockState) {
|
||||
class AndroidChargerTopBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryPoweredBlockEntity(
|
||||
MBlockEntities.ANDROID_CHARGER_TOP, blockPos, blockState) {
|
||||
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? {
|
||||
if (proxy.parent == null || lastTileEntity == null) return null
|
||||
return AndroidChargerMenu(containerID, inventory, this)
|
||||
|
@ -11,7 +11,6 @@ import net.minecraft.world.level.block.state.BlockState
|
||||
import net.minecraft.world.phys.AABB
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity
|
||||
import ru.dbotthepony.mc.otm.block.entity.WorkerState
|
||||
import ru.dbotthepony.mc.otm.capability.IMatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.ProfiledEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.matteryPlayer
|
||||
@ -19,7 +18,7 @@ import ru.dbotthepony.mc.otm.capability.moveEnergy
|
||||
import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.menu.tech.AndroidStationMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class AndroidStationBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
|
||||
MatteryPoweredBlockEntity(MBlockEntities.ANDROID_STATION, p_155229_, p_155230_), MenuProvider {
|
||||
|
@ -6,14 +6,10 @@ import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import net.neoforged.bus.api.SubscribeEvent
|
||||
import net.neoforged.fml.common.EventBusSubscriber
|
||||
import net.neoforged.neoforge.capabilities.Capabilities
|
||||
import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent
|
||||
import ru.dbotthepony.kommons.util.getValue
|
||||
import ru.dbotthepony.kommons.util.setValue
|
||||
import ru.dbotthepony.kommons.util.value
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryDeviceBlockEntity
|
||||
import ru.dbotthepony.mc.otm.capability.FlowDirection
|
||||
import ru.dbotthepony.mc.otm.capability.energy
|
||||
@ -28,7 +24,7 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.core.immutableList
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
import ru.dbotthepony.mc.otm.menu.tech.BatteryBankMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import java.util.function.Supplier
|
||||
|
||||
class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.BATTERY_BANK, p_155229_, p_155230_), IMatteryEnergyStorage {
|
||||
|
@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.config.MachinesConfig
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||
import ru.dbotthepony.mc.otm.menu.tech.ChemicalGeneratorMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.core.math.Decimal
|
||||
|
||||
class ChemicalGeneratorBlockEntity(pos: BlockPos, state: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.CHEMICAL_GENERATOR, pos, state) {
|
||||
|
@ -14,7 +14,7 @@ import ru.dbotthepony.mc.otm.block.entity.MatteryWorkerBlockEntity
|
||||
import ru.dbotthepony.mc.otm.container.MatteryContainer
|
||||
import ru.dbotthepony.mc.otm.container.HandlerFilter
|
||||
import ru.dbotthepony.mc.otm.menu.tech.CobblerMenu
|
||||
import ru.dbotthepony.mc.otm.registry.MBlockEntities
|
||||
import ru.dbotthepony.mc.otm.registry.game.MBlockEntities
|
||||
|
||||
class CobblerBlockEntity(blockPos: BlockPos, blockState: BlockState)
|
||||
: MatteryWorkerBlockEntity<ItemJob>(MBlockEntities.COBBLESTONE_GENERATOR, blockPos, blockState, ItemJob.CODEC) {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user