diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt index 29c59f6b5..2b98ecd8b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -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 -> diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt index b17950ceb..aeb72318b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DecorativeData.kt @@ -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 diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/MatterData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/MatterData.kt index 689660765..a53bfed95 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/MatterData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/MatterData.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt index dd5834e13..9032c063f 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt @@ -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 diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt index dd1de0d6a..6b9fcb943 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt @@ -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)) ) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/WorldGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/WorldGen.kt index 14c14e93c..58fd7e316 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/WorldGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/WorldGen.kt @@ -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> { @@ -43,13 +45,26 @@ fun registerConfiguredFeatures(context: BootstrapContext 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 { @@ -66,43 +82,70 @@ private object PlacedFeatures { fun registerPlacedFeatures(context: BootstrapContext) { 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) { } 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 { @@ -129,13 +172,14 @@ fun registerBiomeModifiers(context: BootstrapContext) { 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 ) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AdvancementData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AdvancementData.kt index 5b4fc5700..e25459b5a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AdvancementData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AdvancementData.kt @@ -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, 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, 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) } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt index e20d60046..de8f02320 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt @@ -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 diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/ExopackAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/ExopackAdvancementsData.kt index fa702670e..aaecd7031 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/ExopackAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/ExopackAdvancementsData.kt @@ -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 diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt index 0bfc69121..f677bf2f5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt @@ -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, 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, 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, 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, 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) } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/Banks.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/Banks.kt index d07aee31d..542aeab1a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/Banks.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/Banks.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt index f0c1c7b18..d26e76d66 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt index 27d27c191..ea7f3a860 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/ComplexBlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/ComplexBlockStates.kt index ec9d37129..a008dd8e3 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/ComplexBlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/ComplexBlockStates.kt @@ -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) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index a5ef25c53..f386dcd52 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index f472dd36e..df516019e 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -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") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index 92c311dfc..7d045f457 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -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, "Вездесущий диск шаблонов") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/AdvancementLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/AdvancementLoot.kt new file mode 100644 index 000000000..25682e9cc --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/AdvancementLoot.kt @@ -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) } } + } +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt new file mode 100644 index 000000000..ff57f0a8e --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt @@ -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()) + } + } +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt index 21a58a335..8360cc9ab 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootModifiersData.kt @@ -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 { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt index 41b3b1e1b..a92056ba4 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesChests.kt @@ -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")) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt index 8c8dcf092..a6904cc36 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt @@ -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) - } } - } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt new file mode 100644 index 000000000..bc4260b3a --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/MachineLoot.kt @@ -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) +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/VaultLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/VaultLoot.kt new file mode 100644 index 000000000..60513be93 --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/VaultLoot.kt @@ -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) + } } + } +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ComponentRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ComponentRecipes.kt index 590504417..5441d4e1f 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ComponentRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ComponentRecipes.kt @@ -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) { // Обычный рецепт diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CookingRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CookingRecipes.kt index c9e0e69b1..ea5a775a1 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CookingRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CookingRecipes.kt @@ -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, 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)) + } + } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt index d58b93dcf..f6dca2fe7 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt @@ -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")) } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt index 2f4119420..9ee244bb4 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt @@ -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) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt index d8bb39d84..f6d9604ca 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatterEntanglerRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatterEntanglerRecipes.kt index 3f7a4c7a1..7874282c1 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatterEntanglerRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MatterEntanglerRecipes.kt @@ -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( diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt index 66aa99472..456306ba4 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt @@ -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) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PlatePressRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PlatePressRecipes.kt index d76bce930..175300d27 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PlatePressRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PlatePressRecipes.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ShapelessRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ShapelessRecipes.kt index b4f4b1e3a..294a57307 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ShapelessRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ShapelessRecipes.kt @@ -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) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/StorageItemRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/StorageItemRecipes.kt index d54c98d69..17033624a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/StorageItemRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/StorageItemRecipes.kt @@ -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) { // простые батарейки diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/SuspiciousRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/SuspiciousRecipes.kt index 78420761f..e8b38fc4a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/SuspiciousRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/SuspiciousRecipes.kt @@ -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) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ToolsRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ToolsRecipes.kt index 65ad4c579..b62cc76af 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ToolsRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/ToolsRecipes.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ConstructionTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ConstructionTags.kt new file mode 100644 index 000000000..bc967725a --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ConstructionTags.kt @@ -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) + +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/DyeTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/DyeTags.kt new file mode 100644 index 000000000..2f060eb28 --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/DyeTags.kt @@ -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) +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/EquipmentTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/EquipmentTags.kt new file mode 100644 index 000000000..b051120ca --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/EquipmentTags.kt @@ -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) + +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt new file mode 100644 index 000000000..302f9349b --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt @@ -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( + *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) + +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ResourceTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ResourceTags.kt new file mode 100644 index 000000000..e4412cc17 --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/ResourceTags.kt @@ -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) + +} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/SuspiciousTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/SuspiciousTags.kt index 91915731e..c2663caaa 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/SuspiciousTags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/SuspiciousTags.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt index ae287ea26..459ba1e68 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt @@ -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( - *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, diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt index 5a30b21d5..69f1b591a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt @@ -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) diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAbstractHurtingProjectile.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAbstractHurtingProjectile.java index 5b6c9179f..9e25c9de4 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAbstractHurtingProjectile.java +++ b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAbstractHurtingProjectile.java @@ -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 { diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAnvilBlock.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAnvilBlock.java index bee94603d..24ef7f8a5 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAnvilBlock.java +++ b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinAnvilBlock.java @@ -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") diff --git a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinLivingEntity.java b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinLivingEntity.java index 00ca27c88..74d61a685 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinLivingEntity.java +++ b/src/main/java/ru/dbotthepony/mc/otm/mixin/MixinLivingEntity.java @@ -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) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/OverdriveThatMatters.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/OverdriveThatMatters.kt index f24096cca..b24b84ef8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/OverdriveThatMatters.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/OverdriveThatMatters.kt @@ -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) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchResult.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchResult.kt index 00978c783..ac67e499e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchResult.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchResult.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/AttackBoostFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/AttackBoostFeature.kt index 19248b2b6..fce5bb5aa 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/AttackBoostFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/AttackBoostFeature.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/EnderTeleporterFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/EnderTeleporterFeature.kt index c1cf82853..6c5e26eb8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/EnderTeleporterFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/EnderTeleporterFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ExtendedReachFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ExtendedReachFeature.kt index 219e31a1a..abd8e66be 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ExtendedReachFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ExtendedReachFeature.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/FallDampenersFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/FallDampenersFeature.kt index 900234f6f..817a13809 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/FallDampenersFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/FallDampenersFeature.kt @@ -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) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ItemMagnetFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ItemMagnetFeature.kt index e83d05050..984a61986 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ItemMagnetFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ItemMagnetFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt index bc8a5512a..4a3f5f195 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/LimbOverclockingFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/LimbOverclockingFeature.kt index eb8169153..e03452450 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/LimbOverclockingFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/LimbOverclockingFeature.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsArmorFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsArmorFeature.kt index 820b2c566..de77734b9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsArmorFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsArmorFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsRegenerationFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsRegenerationFeature.kt index dda855383..d5ffa71ff 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsRegenerationFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NanobotsRegenerationFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NightVisionFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NightVisionFeature.kt index d27e73fca..23fde7109 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NightVisionFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/NightVisionFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt index c8642a4a9..786ff4cdd 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/StepAssistFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/StepAssistFeature.kt index f97573ec5..7c324d52c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/StepAssistFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/StepAssistFeature.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/SwimBoostersFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/SwimBoostersFeature.kt index acd4e1df9..4816f104c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/SwimBoostersFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/SwimBoostersFeature.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/BlackHoleBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/BlackHoleBlock.kt index 99916f8f4..c084b225e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/BlackHoleBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/BlackHoleBlock.kt @@ -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 : diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/LaboratoryLamp.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/LaboratoryLamp.kt index a2ad72b16..a740b7173 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/LaboratoryLamp.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/LaboratoryLamp.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/StarChairBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/StarChairBlock.kt index d4726c9b8..e1ac771a3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/StarChairBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/decorative/StarChairBlock.kt @@ -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]!! diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/Cables.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/Cables.kt index 670dcbc81..467924494 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/Cables.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/Cables.kt @@ -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() { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ExperienceStorage.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ExperienceStorage.kt index 9e80b32ed..43d03cd67 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ExperienceStorage.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/ExperienceStorage.kt @@ -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, INeighbourChangeListener { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryBlockEntity.kt index b34b3701c..8e48128f3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MatteryBlockEntity.kt @@ -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.* diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MultiblockTestBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MultiblockTestBlockEntity.kt index 37fd54bd5..ec63a6d87 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MultiblockTestBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/MultiblockTestBlockEntity.kt @@ -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) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleBlockEntity.kt index 084c09392..71b261fd4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleGeneratorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleGeneratorBlockEntity.kt index 1f303921f..ec45e96b0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleGeneratorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/blackhole/BlackHoleGeneratorBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/CargoCrateBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/CargoCrateBlockEntity.kt index c5af4645a..6d7b5c27c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/CargoCrateBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/CargoCrateBlockEntity.kt @@ -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, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/DevChestBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/DevChestBlockEntity.kt index d3fb15df3..87b0cd7c8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/DevChestBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/DevChestBlockEntity.kt @@ -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 { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt index a27db5d36..d6b669f68 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt @@ -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 -> diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/GrillBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/GrillBlockEntity.kt index 6957326a5..da51be08f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/GrillBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/GrillBlockEntity.kt @@ -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) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/HoloSignBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/HoloSignBlockEntity.kt index 716d829de..e6125efa4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/HoloSignBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/HoloSignBlockEntity.kt @@ -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() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/InfiniteWaterSourceBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/InfiniteWaterSourceBlockEntity.kt index e6d2969fc..2322d0b05 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/InfiniteWaterSourceBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/InfiniteWaterSourceBlockEntity.kt @@ -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 { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/PainterBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/PainterBlockEntity.kt index 1c7542d3d..94311cead 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/PainterBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/PainterBlockEntity.kt @@ -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 { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterBottlerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterBottlerBlockEntity.kt index addf25a5c..17aae98fe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterBottlerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterBottlerBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterCapacitorBankBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterCapacitorBankBlockEntity.kt index 34598cccf..361290d72 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterCapacitorBankBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterCapacitorBankBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt index 3795b0711..a110c7226 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterDecomposerBlockEntity.kt @@ -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(MBlockEntities.MATTER_DECOMPOSER, pos, state, DecomposerJob.CODEC) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterEntanglerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterEntanglerBlockEntity.kt index 1f068f48f..4d7ed7a7f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterEntanglerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterEntanglerBlockEntity.kt @@ -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(MBlockEntities.MATTER_ENTANGLER, blockPos, blockState, Job.CODEC) { +class MatterEntanglerBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryWorkerBlockEntity( + 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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterPanelBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterPanelBlockEntity.kt index e9a165d62..41490ae5b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterPanelBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterPanelBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReconstructorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReconstructorBlockEntity.kt index 5eaeea296..21a5ded53 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReconstructorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReconstructorBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterRecyclerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterRecyclerBlockEntity.kt index 225f1f247..bca170286 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterRecyclerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterRecyclerBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReplicatorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReplicatorBlockEntity.kt index 40d9fc6e8..eb21cf306 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReplicatorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterReplicatorBlockEntity.kt @@ -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) : diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterScannerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterScannerBlockEntity.kt index 7e55749fa..d57799340 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterScannerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/MatterScannerBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt index 2ee1873c1..b7908ae5e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/matter/PatternStorageBlockEntity.kt @@ -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) : diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveRackBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveRackBlockEntity.kt index dbd81872b..66b0ca54a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveRackBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveRackBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveViewerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveViewerBlockEntity.kt index 3d6bf153f..91b4f661b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveViewerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/DriveViewerBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/ItemMonitorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/ItemMonitorBlockEntity.kt index 19b7836b2..41f92f2e7 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/ItemMonitorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/ItemMonitorBlockEntity.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageBusBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageBusBlockEntity.kt index 184917bff..b5afdb850 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageBusBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageBusBlockEntity.kt @@ -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.* diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageInterfaces.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageInterfaces.kt index 090a594f4..1a66a0424 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageInterfaces.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StorageInterfaces.kt @@ -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 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StoragePowerSupplierBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StoragePowerSupplierBlockEntity.kt index b10d647ae..e1ae25b88 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StoragePowerSupplierBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/storage/StoragePowerSupplierBlockEntity.kt @@ -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) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AbstractPoweredFurnaceBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AbstractPoweredFurnaceBlockEntity.kt index 20976af69..748fb800b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AbstractPoweredFurnaceBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AbstractPoweredFurnaceBlockEntity.kt @@ -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

( type: BlockEntityType<*>, @@ -174,19 +173,22 @@ sealed class AbstractPoweredFurnaceBlockEntity

(MBlockEntities.POWERED_FURNACE, blockPos, blockState, RecipeType.SMELTING, null, MachinesConfig.POWERED_FURNACE) { +class PoweredFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity( + 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(MBlockEntities.POWERED_BLAST_FURNACE, blockPos, blockState, RecipeType.BLASTING, null, MachinesConfig.POWERED_FURNACE) { +class PoweredBlastFurnaceBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity( + 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(MBlockEntities.POWERED_SMOKER, blockPos, blockState, RecipeType.SMOKING, MRecipes.MICROWAVE, MachinesConfig.POWERED_FURNACE) { +class PoweredSmokerBlockEntity(blockPos: BlockPos, blockState: BlockState) : AbstractPoweredFurnaceBlockEntity( + 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) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidChargerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidChargerBlockEntity.kt index f9756fac6..d037adba9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidChargerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidChargerBlockEntity.kt @@ -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) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidStationBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidStationBlockEntity.kt index 44ac77d69..42b2e62a0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidStationBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/AndroidStationBlockEntity.kt @@ -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 { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/BatteryBankBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/BatteryBankBlockEntity.kt index 2e1fefc45..3e2fb6c7a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/BatteryBankBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/BatteryBankBlockEntity.kt @@ -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 { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ChemicalGeneratorBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ChemicalGeneratorBlockEntity.kt index 94fa6f4f5..112c801f1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ChemicalGeneratorBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ChemicalGeneratorBlockEntity.kt @@ -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) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/CobblerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/CobblerBlockEntity.kt index 23adfcb8e..a54b1a092 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/CobblerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/CobblerBlockEntity.kt @@ -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(MBlockEntities.COBBLESTONE_GENERATOR, blockPos, blockState, ItemJob.CODEC) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyCounterBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyCounterBlockEntity.kt index 053281143..dbe0da7a2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyCounterBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyCounterBlockEntity.kt @@ -27,7 +27,7 @@ import ru.dbotthepony.mc.otm.core.nbt.mapPresent import ru.dbotthepony.mc.otm.core.nbt.set import ru.dbotthepony.mc.otm.core.util.countingLazy import ru.dbotthepony.mc.otm.menu.tech.EnergyCounterMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities class EnergyCounterBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.ENERGY_COUNTER, p_155229_, p_155230_) { var passed by syncher.decimal() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyHatchBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyHatchBlockEntity.kt index 91b39476c..528f83b3c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyHatchBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyHatchBlockEntity.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.container.HandlerFilter import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.core.multiblock.BlockEntityTag import ru.dbotthepony.mc.otm.menu.tech.EnergyHatchMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities class EnergyHatchBlockEntity( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyServoBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyServoBlockEntity.kt index 693606ea7..4cf96e086 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyServoBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EnergyServoBlockEntity.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.HandlerFilter import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.menu.tech.EnergyServoMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities class EnergyServoBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.ENERGY_SERVO, blockPos, blockState) { val discharge = MatteryContainer(::markDirtyFast, 1).also(::addDroppableContainer) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EssenceStorageBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EssenceStorageBlockEntity.kt index 3aaa2acc3..c00be40ac 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EssenceStorageBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/EssenceStorageBlockEntity.kt @@ -32,9 +32,9 @@ import ru.dbotthepony.mc.otm.core.util.countingLazy import ru.dbotthepony.mc.otm.item.consumables.EssenceCapsuleItem import ru.dbotthepony.mc.otm.item.EssenceServoItem import ru.dbotthepony.mc.otm.menu.tech.EssenceStorageMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes -import ru.dbotthepony.mc.otm.registry.MFluids +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MFluids class EssenceStorageBlockEntity(blockPos: BlockPos, blockState: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.ESSENCE_STORAGE, blockPos, blockState), IFluidHandler { var experienceStored = 0L diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/GravitationStabilizerBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/GravitationStabilizerBlockEntity.kt index be89d3322..a71a439e0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/GravitationStabilizerBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/GravitationStabilizerBlockEntity.kt @@ -7,7 +7,6 @@ import net.minecraft.world.entity.player.Player import net.minecraft.world.level.Level import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.state.BlockState -import net.minecraft.world.phys.AABB import ru.dbotthepony.mc.otm.block.tech.BlockGravitationStabilizerLens import ru.dbotthepony.mc.otm.block.entity.MatteryDeviceBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState @@ -17,9 +16,10 @@ import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom import ru.dbotthepony.mc.otm.core.math.plus import ru.dbotthepony.mc.otm.core.math.times -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities -class GravitationStabilizerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity(MBlockEntities.GRAVITATION_STABILIZER, p_155229_, p_155230_) { +class GravitationStabilizerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryDeviceBlockEntity( + MBlockEntities.GRAVITATION_STABILIZER, p_155229_, p_155230_) { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player) = null private var blackHole: BlackHoleBlockEntity? = null diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ItemHatchBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ItemHatchBlockEntity.kt index 73e4b35b1..8ebffbb02 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ItemHatchBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/ItemHatchBlockEntity.kt @@ -13,7 +13,7 @@ import ru.dbotthepony.mc.otm.container.HandlerFilter import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.core.multiblock.BlockEntityTag import ru.dbotthepony.mc.otm.menu.tech.ItemHatchMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities class ItemHatchBlockEntity( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/MatterHatchBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/MatterHatchBlockEntity.kt index 6bd878e77..f03a7aaf7 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/MatterHatchBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/MatterHatchBlockEntity.kt @@ -20,7 +20,7 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.multiblock.BlockEntityTag import ru.dbotthepony.mc.otm.menu.tech.MatterHatchMenu -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities class MatterHatchBlockEntity( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/PlatePressBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/PlatePressBlockEntity.kt index b2faa5912..199bddfbe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/PlatePressBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/tech/PlatePressBlockEntity.kt @@ -18,13 +18,12 @@ 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.container.HandlerFilter -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 import ru.dbotthepony.mc.otm.menu.tech.PlatePressMenu -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 PlatePressBlockEntity( blockPos: BlockPos, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt index 906ffbbd1..d321120be 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterBottlerBlock.kt @@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.entity.matter.MatterBottlerBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterBottlerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt index a53e6432d..d78253b1b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterDecomposerBlock.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterDecomposerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt index 195513983..4549c60df 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterRecyclerBlock.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.entity.matter.MatterRecyclerBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterRecyclerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt index be7861420..7a2d80f67 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterReplicatorBlock.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.entity.matter.MatterReplicatorBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterReplicatorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt index 831363959..4ca28ea21 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/matter/MatterScannerBlock.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.entity.matter.MatterScannerBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class MatterScannerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveRackBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveRackBlock.kt index ba379e5f5..19bb7bdeb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveRackBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveRackBlock.kt @@ -1,9 +1,6 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock @@ -14,12 +11,10 @@ import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.DriveRackBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class DriveRackBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveViewerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveViewerBlock.kt index 0d1e83e2a..1062ae033 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveViewerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/DriveViewerBlock.kt @@ -1,10 +1,7 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component import net.minecraft.world.item.DyeColor -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level @@ -19,13 +16,11 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.DriveViewerBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class DriveViewerBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/ItemMonitorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/ItemMonitorBlock.kt index e675cdb58..c494f0ebb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/ItemMonitorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/ItemMonitorBlock.kt @@ -1,10 +1,7 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component import net.minecraft.world.item.DyeColor -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock @@ -15,12 +12,10 @@ import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.ItemMonitorBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class ItemMonitorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageBusBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageBusBlock.kt index 379e4b016..82df31e5e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageBusBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageBusBlock.kt @@ -1,9 +1,6 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level @@ -20,14 +17,11 @@ import net.minecraft.world.phys.shapes.Shapes import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.CableBlock import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.StorageBusBlockEntity -import ru.dbotthepony.mc.otm.block.getShapeForEachState -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.BlockRotation import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.core.math.unaryMinus diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageInterfaces.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageInterfaces.kt index 697a0294a..961c409dd 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageInterfaces.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StorageInterfaces.kt @@ -1,9 +1,6 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level @@ -20,14 +17,12 @@ import net.minecraft.world.phys.shapes.Shapes import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.CableBlock import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.StorageExporterBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.StorageImporterBlockEntity -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.BlockRotation import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.core.math.unaryMinus diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StoragePowerSupplierBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StoragePowerSupplierBlock.kt index 144859ae6..1bdecc8aa 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StoragePowerSupplierBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/storage/StoragePowerSupplierBlock.kt @@ -1,10 +1,7 @@ package ru.dbotthepony.mc.otm.block.storage import net.minecraft.core.BlockPos -import net.minecraft.network.chat.Component import net.minecraft.world.item.DyeColor -import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.TooltipFlag import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock @@ -15,12 +12,10 @@ import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock -import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity import ru.dbotthepony.mc.otm.block.entity.storage.StoragePowerSupplierBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState -import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class StoragePowerSupplierBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt index 1422f9424..3d24e4f0b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.block.tech import net.minecraft.core.BlockPos -import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResult import net.minecraft.world.entity.player.Player import net.minecraft.world.item.DyeColor @@ -21,9 +20,8 @@ import ru.dbotthepony.mc.otm.block.MatteryBlock import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.AndroidStationBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState -import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.matteryPlayer -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class AndroidStationBlock(val color: DyeColor?) : MatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BatteryBankBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BatteryBankBlock.kt index c3aefe016..81d00aad0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BatteryBankBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/BatteryBankBlock.kt @@ -17,7 +17,7 @@ import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.BatteryBankBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class BatteryBankBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt index fd583d471..7dda03ff0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/ChemicalGeneratorBlock.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.entity.tech.ChemicalGeneratorBlockEntity import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class ChemicalGeneratorBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt index 791533331..f3ceca6f8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyCounterBlock.kt @@ -23,7 +23,7 @@ import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.EnergyCounterBlockEntity import ru.dbotthepony.mc.otm.core.asSupplier import ru.dbotthepony.mc.otm.core.collect.SupplierMap -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes import java.util.concurrent.Callable import java.util.function.Supplier diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt index 76ef73673..6ec7fa3b3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EnergyServoBlock.kt @@ -5,12 +5,10 @@ import net.minecraft.world.item.DyeColor import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.Level import net.minecraft.world.level.block.EntityBlock -import net.minecraft.world.level.block.SoundType import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.state.BlockState -import net.minecraft.world.level.material.MapColor import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.VoxelShape import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock @@ -18,7 +16,7 @@ import ru.dbotthepony.mc.otm.block.addSimpleDescription import ru.dbotthepony.mc.otm.block.entity.tech.EnergyServoBlockEntity import ru.dbotthepony.mc.otm.block.getShapeForEachState import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes class EnergyServoBlock(val color: DyeColor?) : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt index 4f325722d..05e7ad8f9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/EssenceStorageBlock.kt @@ -4,7 +4,6 @@ import net.minecraft.ChatFormatting import net.minecraft.core.BlockPos import net.minecraft.nbt.LongTag import net.minecraft.world.InteractionHand -import net.minecraft.world.InteractionResult import net.minecraft.world.ItemInteractionResult import net.minecraft.world.entity.player.Player import net.minecraft.world.item.DyeColor @@ -33,7 +32,7 @@ import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.util.getLevelFromXp -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.shapes.BlockShapes class EssenceStorageBlock(val color: DyeColor?) : RotatableMatteryBlock(Properties.of().mapColor(color?.mapColor ?: MapColor.METAL).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().destroyTime(1.5f).explosionResistance(60.0f)), EntityBlock { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt index 88de99688..a80c20ff4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/GravitationStabilizerBlock.kt @@ -35,8 +35,8 @@ import ru.dbotthepony.mc.otm.core.math.plus import ru.dbotthepony.mc.otm.core.math.times import ru.dbotthepony.mc.otm.core.runInBackground import ru.dbotthepony.mc.otm.oncePre -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 import ru.dbotthepony.mc.otm.shapes.BlockShapes import kotlin.math.PI diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt index 0abebe549..8cbc0395f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/PhantomAttractorBlock.kt @@ -33,7 +33,7 @@ import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.minus 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 import ru.dbotthepony.mc.otm.shapes.BlockShapes class PhantomAttractorBlock : RotatableMatteryBlock(Properties.of().mapColor(MapColor.COLOR_BLUE).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).destroyTime(3f).explosionResistance(12f).randomTicks()) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayer.kt index 084f7276b..126193541 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/MatteryPlayer.kt @@ -99,9 +99,9 @@ import ru.dbotthepony.mc.otm.menu.ExopackInventoryMenu import ru.dbotthepony.mc.otm.menu.IItemStackSortingSettings import ru.dbotthepony.mc.otm.network.* import ru.dbotthepony.mc.otm.network.SmokeParticlesPacket.Companion.makeSmoke -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.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.registry.MRegistry import ru.dbotthepony.mc.otm.registry.MatteryDamageSource import ru.dbotthepony.mc.otm.triggers.AndroidResearchTrigger diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/ItemEnergyStorageImpl.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/ItemEnergyStorageImpl.kt index 308e5f358..ac70bc9d4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/ItemEnergyStorageImpl.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/energy/ItemEnergyStorageImpl.kt @@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.capability.energy import net.minecraft.world.item.ItemStack import ru.dbotthepony.mc.otm.capability.FlowDirection import ru.dbotthepony.mc.otm.core.math.Decimal -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes abstract class ItemEnergyStorageImpl(val itemStack: ItemStack) : IMatteryEnergyStorage, IEnergyStorageImpl { abstract val initialBatteryLevel: Decimal diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/ItemMatteryFluidHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/ItemMatteryFluidHandler.kt index fe66aeabb..352db5215 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/ItemMatteryFluidHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/ItemMatteryFluidHandler.kt @@ -5,7 +5,7 @@ import net.neoforged.neoforge.fluids.FluidStack import net.neoforged.neoforge.fluids.SimpleFluidContent import net.neoforged.neoforge.fluids.capability.IFluidHandler import net.neoforged.neoforge.fluids.capability.IFluidHandlerItem -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import java.util.function.IntSupplier /** diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt index 49876eaf8..ee448fab3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/ClientEventHandler.kt @@ -35,7 +35,7 @@ import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.addAll import ru.dbotthepony.mc.otm.core.math.integerDivisionUp import ru.dbotthepony.mc.otm.menu.MatteryMenu -import ru.dbotthepony.mc.otm.registry.AndroidFeatures +import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures import java.util.WeakHashMap fun onMovementInputUpdate(event: MovementInputUpdateEvent) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt index c14861b48..77dd1fdc1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt @@ -36,7 +36,7 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters.loc import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.random import ru.dbotthepony.mc.otm.core.util.formatPower -import ru.dbotthepony.mc.otm.registry.AndroidFeatures +import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures import java.util.* import kotlin.math.PI import kotlin.math.ceil diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/BlackHoleRenderer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/BlackHoleRenderer.kt index 450df5823..95ccec31d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/BlackHoleRenderer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/BlackHoleRenderer.kt @@ -31,7 +31,7 @@ import ru.dbotthepony.mc.otm.core.math.minus import ru.dbotthepony.mc.otm.core.math.rotateAroundAxis import ru.dbotthepony.mc.otm.core.math.times import ru.dbotthepony.mc.otm.core.util.formatMatter -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import kotlin.math.PI import kotlin.math.pow diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/FluidTankRenderer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/FluidTankRenderer.kt index 01e8c6a9e..211d458e5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/FluidTankRenderer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/blockentity/FluidTankRenderer.kt @@ -28,7 +28,7 @@ import ru.dbotthepony.mc.otm.client.render.overlayCoords import ru.dbotthepony.mc.otm.client.render.uv import ru.dbotthepony.mc.otm.client.render.vertex import ru.dbotthepony.mc.otm.core.math.linearInterpolation -import ru.dbotthepony.mc.otm.registry.MBlocks +import ru.dbotthepony.mc.otm.registry.game.MBlocks class FluidTankRenderer(private val context: BlockEntityRendererProvider.Context) : BlockEntityRenderer { override fun render( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/storage/DriveViewerScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/storage/DriveViewerScreen.kt index d37c8e84b..96c9022ee 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/storage/DriveViewerScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/storage/DriveViewerScreen.kt @@ -20,7 +20,7 @@ import ru.dbotthepony.mc.otm.client.screen.widget.WideProfiledPowerGaugePanel import ru.dbotthepony.mc.otm.core.util.ItemStorageStackSorter import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem import ru.dbotthepony.mc.otm.menu.storage.DriveViewerMenu -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import yalter.mousetweaks.api.MouseTweaksDisableWheelTweak @MouseTweaksDisableWheelTweak diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/tech/EssenceStorageScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/tech/EssenceStorageScreen.kt index 9e6708ec7..64af8fc1c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/tech/EssenceStorageScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/tech/EssenceStorageScreen.kt @@ -29,7 +29,7 @@ import ru.dbotthepony.mc.otm.core.util.getLevelFromXp import ru.dbotthepony.mc.otm.core.util.getTotalXpRequiredForLevel import ru.dbotthepony.mc.otm.core.util.getXpRequiredForLevelUp import ru.dbotthepony.mc.otm.menu.tech.EssenceStorageMenu -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems class EssenceStorageScreen(menu: EssenceStorageMenu, inventory: Inventory, title: Component) : MatteryScreen(menu, title) { override fun makeMainFrame(): FramePanel> { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt index 0c0b3a249..b86aa2957 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt @@ -14,8 +14,8 @@ import net.neoforged.neoforge.capabilities.Capabilities import net.neoforged.neoforge.fluids.FluidStack import net.neoforged.neoforge.fluids.capability.IFluidHandler import ru.dbotthepony.mc.otm.core.registryName -import ru.dbotthepony.mc.otm.registry.MCreativeTabs -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MCreativeTabs +import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.registry.MRegistry @CondensedCreativeInitializer.InitializeCondensedEntries diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/JEIPlugin.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/JEIPlugin.kt index 4ff76e6e7..ddd5d501d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/JEIPlugin.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/JEIPlugin.kt @@ -33,8 +33,8 @@ import ru.dbotthepony.mc.otm.menu.matter.MatterEntanglerMenu import ru.dbotthepony.mc.otm.menu.tech.PlatePressMenu import ru.dbotthepony.mc.otm.menu.tech.PoweredFurnaceMenu import ru.dbotthepony.mc.otm.recipe.PainterRecipe -import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MRecipes import java.util.* import java.util.stream.Collectors import kotlin.properties.Delegates diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MatterEntanglerRecipeCategory.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MatterEntanglerRecipeCategory.kt index 132eb418b..92671bbe3 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MatterEntanglerRecipeCategory.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MatterEntanglerRecipeCategory.kt @@ -23,7 +23,7 @@ import ru.dbotthepony.mc.otm.recipe.IMatterEntanglerRecipe import ru.dbotthepony.mc.otm.recipe.get import ru.dbotthepony.mc.otm.recipe.height import ru.dbotthepony.mc.otm.recipe.width -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.registry.MNames object MatterEntanglerRecipeCategory : IRecipeCategory, IDrawable { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MicrowaveRecipeCategory.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MicrowaveRecipeCategory.kt index 3f85185ac..be053129d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MicrowaveRecipeCategory.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/MicrowaveRecipeCategory.kt @@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.recipe.MicrowaveRecipe -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import kotlin.math.roundToInt object MicrowaveRecipeCategory : IRecipeCategory, IDrawable { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PainterRecipeCategory.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PainterRecipeCategory.kt index 98213c09a..9404a174a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PainterRecipeCategory.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PainterRecipeCategory.kt @@ -9,7 +9,6 @@ import mezz.jei.api.recipe.RecipeType import mezz.jei.api.recipe.category.IRecipeCategory import net.minecraft.client.gui.GuiGraphics import net.minecraft.network.chat.Component -import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.ItemStack import net.minecraft.world.item.Items import net.minecraft.world.item.crafting.Ingredient @@ -20,7 +19,7 @@ import ru.dbotthepony.mc.otm.client.screen.panels.slot.AbstractSlotPanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.core.ResourceLocation 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.MNames object PainterRecipeCategory : IRecipeCategory, IDrawable { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PlatePressRecipeCategory.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PlatePressRecipeCategory.kt index 21a57cb2d..7d416c334 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PlatePressRecipeCategory.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/jei/PlatePressRecipeCategory.kt @@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.recipe.PlatePressRecipe -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import kotlin.math.roundToInt object PlatePressRecipeCategory : IRecipeCategory, IDrawable { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/config/ItemsConfig.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/config/ItemsConfig.kt index 83bf3dfd7..efe4c77ee 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/config/ItemsConfig.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/config/ItemsConfig.kt @@ -47,6 +47,9 @@ object ItemsConfig : AbstractConfig("items") { object PatternDrives { val NORMAL: Int by builder.defineInRange(MNames.PATTERN_DRIVE_NORMAL, 4, 1, Int.MAX_VALUE) + val DOUBLE: Int by builder.defineInRange(MNames.PATTERN_DRIVE_DOUBLE, 8, 1, Int.MAX_VALUE) + val TRIPLE: Int by builder.defineInRange(MNames.PATTERN_DRIVE_TRIPLE, 16, 1, Int.MAX_VALUE) + val QUAD: Int by builder.defineInRange(MNames.PATTERN_DRIVE_QUAD, 32, 1, Int.MAX_VALUE) } init { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceCondition.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceCondition.kt index 05a2a0c1a..bb99589c4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceCondition.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceCondition.kt @@ -6,7 +6,7 @@ import com.mojang.serialization.codecs.RecordCodecBuilder import net.minecraft.world.level.storage.loot.LootContext import net.minecraft.world.level.storage.loot.predicates.LootItemCondition import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions /** * u serious? diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceWithPlaytimeCondition.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceWithPlaytimeCondition.kt index 2f77776e6..c62eba451 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceWithPlaytimeCondition.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ChanceWithPlaytimeCondition.kt @@ -9,7 +9,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemCondition import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType import ru.dbotthepony.mc.otm.capability.matteryPlayer import ru.dbotthepony.mc.otm.data.get -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions data class ChanceWithPlaytimeCondition( val minPlaytime: Int = 0, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt index 3fd16037f..691022fb0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/HasExoPackCondition.kt @@ -7,7 +7,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemCondition import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType import ru.dbotthepony.mc.otm.capability.matteryPlayer import ru.dbotthepony.mc.otm.data.get -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions object HasExoPackCondition : LootItemCondition, LootItemCondition.Builder { override fun test(t: LootContext): Boolean { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ItemInInventoryCondition.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ItemInInventoryCondition.kt index d103a4966..bd8f4e23a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ItemInInventoryCondition.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/ItemInInventoryCondition.kt @@ -11,7 +11,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType import ru.dbotthepony.mc.otm.capability.items import ru.dbotthepony.mc.otm.core.collect.filter import ru.dbotthepony.mc.otm.data.get -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions data class ItemInInventoryCondition( val item: ItemStack, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayer.kt index b424d51e8..d074fa8e9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayer.kt @@ -7,7 +7,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemCondition import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType import net.neoforged.neoforge.common.util.FakePlayer import ru.dbotthepony.mc.otm.data.get -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions object KilledByRealPlayer : LootItemCondition, LootItemCondition.Builder { override fun test(t: LootContext): Boolean { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayerOrIndirectly.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayerOrIndirectly.kt index d7c8e4a36..bf2323c24 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayerOrIndirectly.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/condition/KilledByRealPlayerOrIndirectly.kt @@ -9,7 +9,7 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType import net.neoforged.neoforge.common.util.FakePlayer import ru.dbotthepony.mc.otm.NULLABLE_MINECRAFT_SERVER import ru.dbotthepony.mc.otm.data.get -import ru.dbotthepony.mc.otm.registry.MLootItemConditions +import ru.dbotthepony.mc.otm.registry.data.MLootItemConditions object KilledByRealPlayerOrIndirectly : LootItemCondition, LootItemCondition.Builder { override fun test(t: LootContext): Boolean { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/CopyTileNbtFunction.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/CopyTileNbtFunction.kt index 111504009..1371d1644 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/CopyTileNbtFunction.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/CopyTileNbtFunction.kt @@ -18,7 +18,7 @@ import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity import ru.dbotthepony.mc.otm.core.fromNbt import ru.dbotthepony.mc.otm.core.nbt.set import ru.dbotthepony.mc.otm.core.stream -import ru.dbotthepony.mc.otm.registry.MItemFunctionTypes +import ru.dbotthepony.mc.otm.registry.data.MItemFunctionTypes import java.util.* import java.util.stream.Stream diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/Int2NumberProvider.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/Int2NumberProvider.kt new file mode 100644 index 000000000..c20ab789d --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/loot/Int2NumberProvider.kt @@ -0,0 +1,31 @@ +package ru.dbotthepony.mc.otm.data.loot + +import com.mojang.serialization.MapCodec +import com.mojang.serialization.codecs.RecordCodecBuilder +import net.minecraft.util.valueproviders.IntProvider +import net.minecraft.world.level.storage.loot.LootContext +import net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType +import net.minecraft.world.level.storage.loot.providers.number.NumberProvider +import ru.dbotthepony.mc.otm.registry.data.MLootNumberProviders + +class Int2NumberProvider(val parent: IntProvider) : NumberProvider { + override fun getFloat(context: LootContext): Float { + return getInt(context).toFloat() + } + + override fun getInt(context: LootContext): Int { + return parent.sample(context.random) + } + + override fun getType(): LootNumberProviderType { + return MLootNumberProviders.INT_2_NUMBER_TYPE + } + + companion object { + val CODEC: MapCodec by lazy { + RecordCodecBuilder.mapCodec { + it.group(IntProvider.CODEC.fieldOf("value").forGetter(Int2NumberProvider::parent)).apply(it, ::Int2NumberProvider) + } + } + } +} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/EllipsoidPlacement.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/EllipsoidPlacement.kt index 6a1bbe408..2079d91ef 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/EllipsoidPlacement.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/EllipsoidPlacement.kt @@ -1,6 +1,5 @@ package ru.dbotthepony.mc.otm.data.world -import com.mojang.serialization.Codec import com.mojang.serialization.MapCodec import com.mojang.serialization.codecs.RecordCodecBuilder import net.minecraft.core.BlockPos @@ -15,8 +14,7 @@ import ru.dbotthepony.mc.otm.core.math.component2 import ru.dbotthepony.mc.otm.core.math.component3 import ru.dbotthepony.mc.otm.core.math.minus import ru.dbotthepony.mc.otm.core.math.plus -import ru.dbotthepony.mc.otm.data.codec.minRange -import ru.dbotthepony.mc.otm.registry.MPlacementModifiers +import ru.dbotthepony.mc.otm.registry.data.MPlacementModifiers import java.util.stream.Stream import kotlin.math.PI import kotlin.math.roundToInt @@ -57,6 +55,7 @@ data class EllipsoidPlacement( val yPow = yLength * yLength count = minOf(count, (xLength * zLength * yLength * PI * (4.0 / 3.0)).roundToInt()) + count = 600 return Stream.generate { position + BlockPos(this.x.sample(random), this.y.sample(random), this.z.sample(random)) } .limit(count * 10L) // failsafe diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/StandardDeviationHeightProvider.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/StandardDeviationHeightProvider.kt index 4e90c1d5c..5dd139d7a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/StandardDeviationHeightProvider.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/data/world/StandardDeviationHeightProvider.kt @@ -11,7 +11,7 @@ import net.minecraft.world.level.levelgen.heightproviders.HeightProviderType import org.apache.logging.log4j.LogManager import ru.dbotthepony.mc.otm.core.nextNormalDouble import ru.dbotthepony.mc.otm.data.codec.minRange -import ru.dbotthepony.mc.otm.registry.MHeightProviders +import ru.dbotthepony.mc.otm.registry.data.MHeightProviders /** * Doubles generated are rounded into integers towards negative infinity diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt index 3e9863b8b..5e97a2e07 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/MinecartCargoCrate.kt @@ -21,9 +21,9 @@ import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock import ru.dbotthepony.mc.otm.block.entity.decorative.CargoCrateBlockEntity import ru.dbotthepony.mc.otm.core.position import ru.dbotthepony.mc.otm.menu.decorative.MinecartCargoCrateMenu -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.registry.MSoundEvents +import ru.dbotthepony.mc.otm.registry.game.MSoundEvents class MinecartCargoCrate( type: EntityType<*>, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/PlasmaProjectile.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/PlasmaProjectile.kt index a876e4c90..993834eca 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/PlasmaProjectile.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/PlasmaProjectile.kt @@ -14,7 +14,7 @@ import net.minecraft.world.phys.HitResult import net.neoforged.neoforge.event.EventHooks import ru.dbotthepony.mc.otm.core.damageType import ru.dbotthepony.mc.otm.registry.MDamageTypes -import ru.dbotthepony.mc.otm.registry.MEntityTypes +import ru.dbotthepony.mc.otm.registry.game.MEntityTypes import ru.dbotthepony.mc.otm.registry.MatteryDamageSource class PlasmaProjectile(level: Level) : Projectile(MEntityTypes.PLASMA, level) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/RideableDummy.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/RideableDummy.kt index 0b8dc9950..037264695 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/entity/RideableDummy.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/entity/RideableDummy.kt @@ -9,7 +9,7 @@ import net.minecraft.world.entity.Entity import net.minecraft.world.level.Level import net.minecraft.world.level.block.Blocks import net.minecraft.world.level.block.state.BlockState -import ru.dbotthepony.mc.otm.registry.MEntityTypes +import ru.dbotthepony.mc.otm.registry.game.MEntityTypes class RideableDummy(level: Level) : Entity(MEntityTypes.RIDEABLE_DUMMY, level) { var blockPos: BlockPos = BlockPos.ZERO diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/BatteryItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/BatteryItem.kt index fa78b113f..d7b76d2a1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/BatteryItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/BatteryItem.kt @@ -2,8 +2,6 @@ package ru.dbotthepony.mc.otm.item import net.minecraft.ChatFormatting import net.minecraft.server.level.ServerPlayer -import net.minecraft.sounds.SoundEvents -import net.minecraft.sounds.SoundSource import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResultHolder import net.minecraft.world.effect.MobEffectInstance @@ -23,13 +21,9 @@ import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.config.ItemsConfig import ru.dbotthepony.mc.otm.core.* import ru.dbotthepony.mc.otm.core.math.Decimal -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.math.plus import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener import ru.dbotthepony.mc.otm.registry.MDamageTypes -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import ru.dbotthepony.mc.otm.registry.MatteryDamageSource import ru.dbotthepony.mc.otm.runIfClient import kotlin.math.roundToInt diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt index 4c76c7c96..855e63ea2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ChestUpgraderItem.kt @@ -24,7 +24,7 @@ import ru.dbotthepony.mc.otm.container.get import ru.dbotthepony.mc.otm.container.set import ru.dbotthepony.mc.otm.core.math.Vector import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate -import ru.dbotthepony.mc.otm.registry.MEntityTypes +import ru.dbotthepony.mc.otm.registry.game.MEntityTypes class ChestUpgraderItem : MatteryItem(Properties().stacksTo(1)) { override fun onItemUseFirst(stack: ItemStack, context: UseOnContext): InteractionResult { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/MinecartCargoCrateItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/MinecartCargoCrateItem.kt index 435f59b86..7dad3d1d8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/MinecartCargoCrateItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/MinecartCargoCrateItem.kt @@ -8,19 +8,15 @@ import net.minecraft.core.dispenser.DispenseItemBehavior import net.minecraft.tags.BlockTags import net.minecraft.world.InteractionResult import net.minecraft.world.item.DyeColor -import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.MinecartItem import net.minecraft.world.item.context.UseOnContext import net.minecraft.world.level.Level import net.minecraft.world.level.block.BaseRailBlock import net.minecraft.world.level.block.DispenserBlock import net.minecraft.world.level.block.state.properties.RailShape import net.minecraft.world.level.gameevent.GameEvent -import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate -import ru.dbotthepony.mc.otm.registry.MEntityTypes -import kotlin.math.floor +import ru.dbotthepony.mc.otm.registry.game.MEntityTypes class MinecartCargoCrateItem(val color: DyeColor?) : MatteryItem(Properties().stacksTo(16)) { init { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableCondensationDriveItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableCondensationDriveItem.kt index ece5207f5..1591ac8ac 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableCondensationDriveItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/PortableCondensationDriveItem.kt @@ -17,7 +17,7 @@ import ru.dbotthepony.mc.otm.container.ItemFilter import ru.dbotthepony.mc.otm.core.TextComponent import ru.dbotthepony.mc.otm.isServerThread import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import java.math.BigInteger import java.util.* diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ProceduralBatteryItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ProceduralBatteryItem.kt index 1cb0e9a58..8ccf8585a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/ProceduralBatteryItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/ProceduralBatteryItem.kt @@ -20,8 +20,8 @@ import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.data.world.DecimalProvider import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes -import ru.dbotthepony.mc.otm.registry.MItemFunctionTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.data.MItemFunctionTypes import java.util.* class ProceduralBatteryItem : MatteryItem(Properties().stacksTo(1)), CapabilitiesRegisterListener { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt index f310d04d2..473813cce 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt @@ -41,14 +41,13 @@ import ru.dbotthepony.mc.otm.core.math.getDecimal import ru.dbotthepony.mc.otm.core.math.readDecimal import ru.dbotthepony.mc.otm.core.math.set import ru.dbotthepony.mc.otm.core.math.writeDecimal -import ru.dbotthepony.mc.otm.core.nbt.getUUIDSafe import ru.dbotthepony.mc.otm.core.nbt.set import ru.dbotthepony.mc.otm.core.util.formatPower import ru.dbotthepony.mc.otm.isClientThread import ru.dbotthepony.mc.otm.isServerThread import ru.dbotthepony.mc.otm.lazyPerServer import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import java.util.* import java.util.function.Function import kotlin.collections.MutableList diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/PortableGravitationStabilizerItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/PortableGravitationStabilizerItem.kt index 7ce55a869..5aa1f02d5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/PortableGravitationStabilizerItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/PortableGravitationStabilizerItem.kt @@ -14,7 +14,7 @@ import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsE import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.registry.ClientExtensionsListener -import ru.dbotthepony.mc.otm.registry.MArmorMaterials +import ru.dbotthepony.mc.otm.registry.game.MArmorMaterials private object GravitationStabilizerArmorRenderProperties : IClientItemExtensions { override fun getHumanoidArmorModel( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/TritaniumArmorItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/TritaniumArmorItem.kt index cecba4c59..3f3235986 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/TritaniumArmorItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/armor/TritaniumArmorItem.kt @@ -14,9 +14,8 @@ import ru.dbotthepony.kommons.math.RGBAColor import ru.dbotthepony.mc.otm.OverdriveThatMatters.loc import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel import ru.dbotthepony.mc.otm.registry.ClientExtensionsListener -import ru.dbotthepony.mc.otm.registry.MArmorMaterials -import ru.dbotthepony.mc.otm.registry.MItems -import java.util.function.Consumer +import ru.dbotthepony.mc.otm.registry.game.MArmorMaterials +import ru.dbotthepony.mc.otm.registry.game.MItems private object TritaniumArmorRenderProperties : IClientItemExtensions { override fun getHumanoidArmorModel( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt index 4edebdec6..996d724fe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt @@ -7,7 +7,7 @@ import net.minecraft.world.item.ItemStack import net.minecraft.world.item.TooltipFlag import ru.dbotthepony.mc.otm.config.CablesConfig import ru.dbotthepony.mc.otm.core.util.formatPower -import ru.dbotthepony.mc.otm.registry.MBlocks +import ru.dbotthepony.mc.otm.registry.game.MBlocks class EnergyCableItem(val conf: CablesConfig.E, properties: Properties) : BlockItem(MBlocks.ENERGY_CABLES[conf]!!, properties) { override fun appendHoverText( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt index fbaa8126c..a2a0135ae 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt @@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.item.FluidCapsuleItem import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener import ru.dbotthepony.mc.otm.registry.ClientExtensionsListener -import ru.dbotthepony.mc.otm.registry.MBlockEntities +import ru.dbotthepony.mc.otm.registry.game.MBlockEntities import java.util.function.IntSupplier class FluidTankItem(block: FluidTankBlock, properties: Properties, val capacity: IntSupplier) : BlockItem(block, properties), CapabilitiesRegisterListener, ClientExtensionsListener { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/consumables/EssenceCapsuleItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/consumables/EssenceCapsuleItem.kt index f991d2082..6f9f0a569 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/consumables/EssenceCapsuleItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/consumables/EssenceCapsuleItem.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.util.getLevelFromXp import ru.dbotthepony.mc.otm.item.MatteryItem -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import ru.dbotthepony.mc.otm.runIfClient class EssenceCapsuleItem(private val digital: Boolean) : MatteryItem(Properties().stacksTo(1).rarity(Rarity.UNCOMMON)) { @@ -42,7 +42,8 @@ class EssenceCapsuleItem(private val digital: Boolean) : MatteryItem(Properties( if (runIfClient(false) { minecraft.window.isShiftDown }) { components.add(TranslatableComponent("otm.gui.experience", itemStack.getOrDefault(MDataComponentTypes.EXPERIENCE, 0L)).withStyle(ChatFormatting.GRAY)) } else { - components.add(TranslatableComponent("otm.gui.experience_levels", getLevelFromXp(itemStack.getOrDefault(MDataComponentTypes.EXPERIENCE, 0L))).withStyle(ChatFormatting.GRAY)) + components.add(TranslatableComponent("otm.gui.experience_levels", getLevelFromXp(itemStack.getOrDefault( + MDataComponentTypes.EXPERIENCE, 0L))).withStyle(ChatFormatting.GRAY)) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt index 2375bd310..176a77418 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/AbstractExopackSlotUpgradeItem.kt @@ -20,7 +20,7 @@ import ru.dbotthepony.mc.otm.client.minecraft import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.isExplosion import ru.dbotthepony.mc.otm.core.isFire -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems import ru.dbotthepony.mc.otm.runIfClient import ru.dbotthepony.mc.otm.triggers.ExopackSlotsExpandedTrigger import java.util.UUID diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt index c4e4c2832..eb34e4a35 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/exopack/ProceduralExopackSlotUpgradeItem.kt @@ -1,6 +1,5 @@ package ru.dbotthepony.mc.otm.item.exopack -import com.mojang.serialization.Codec import com.mojang.serialization.MapCodec import com.mojang.serialization.codecs.RecordCodecBuilder import net.minecraft.ChatFormatting @@ -9,13 +8,12 @@ import net.minecraft.util.valueproviders.ConstantInt import net.minecraft.util.valueproviders.IntProvider import net.minecraft.world.item.ItemStack import net.minecraft.world.item.TooltipFlag -import net.minecraft.world.level.Level import net.minecraft.world.level.storage.loot.LootContext import net.minecraft.world.level.storage.loot.functions.LootItemFunction import net.minecraft.world.level.storage.loot.functions.LootItemFunctionType import ru.dbotthepony.mc.otm.core.TranslatableComponent -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes -import ru.dbotthepony.mc.otm.registry.MItemFunctionTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.data.MItemFunctionTypes import java.util.* class ProceduralExopackSlotUpgradeItem : AbstractExopackSlotUpgradeItem(defaultProperties()) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterCapacitorItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterCapacitorItem.kt index 956479be7..03b9ead37 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterCapacitorItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterCapacitorItem.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.util.formatMatter import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener import ru.dbotthepony.mc.otm.item.MatteryItem -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes class MatterCapacitorItem : MatteryItem, CapabilitiesRegisterListener { private inner class Matter(private val stack: ItemStack) : IMatterStorage { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterDustItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterDustItem.kt index 850a90f02..db22662eb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterDustItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/MatterDustItem.kt @@ -24,8 +24,8 @@ import ru.dbotthepony.mc.otm.matter.IMatterItem import ru.dbotthepony.mc.otm.data.world.DecimalProvider import ru.dbotthepony.mc.otm.matter.IMatterValue import ru.dbotthepony.mc.otm.matter.MatterValue -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes -import ru.dbotthepony.mc.otm.registry.MItemFunctionTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.data.MItemFunctionTypes class MatterDustItem : Item(Properties().stacksTo(64)), IMatterItem { class Randomizer(val matter: DecimalProvider, val luckBias: IntProvider = ConstantInt.ZERO) : LootItemFunction, LootItemFunction.Builder { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/PatternStorageItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/PatternStorageItem.kt index 9bc8d5812..eb4f62599 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/PatternStorageItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/matter/PatternStorageItem.kt @@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.capability.matter.getBarColor import ru.dbotthepony.mc.otm.capability.matter.getBarWidth import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import java.util.stream.Stream class PatternStorageItem : Item, CapabilitiesRegisterListener { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/ExplosiveHammerItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/ExplosiveHammerItem.kt index 72dc1cd38..e97fae849 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/ExplosiveHammerItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/ExplosiveHammerItem.kt @@ -1,7 +1,5 @@ package ru.dbotthepony.mc.otm.item.tool -import com.google.common.collect.ImmutableMultimap -import com.google.common.collect.Multimap import it.unimi.dsi.fastutil.objects.ObjectArraySet import net.minecraft.ChatFormatting import net.minecraft.core.BlockPos @@ -18,7 +16,6 @@ import net.minecraft.world.damagesource.DamageSource import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.EquipmentSlotGroup import net.minecraft.world.entity.LivingEntity -import net.minecraft.world.entity.ai.attributes.Attribute import net.minecraft.world.entity.ai.attributes.AttributeModifier import net.minecraft.world.entity.ai.attributes.Attributes import net.minecraft.world.entity.item.ItemEntity @@ -35,17 +32,14 @@ import net.minecraft.world.phys.Vec3 import net.neoforged.neoforge.common.CommonHooks import net.neoforged.neoforge.common.NeoForge import net.neoforged.neoforge.common.Tags -import net.neoforged.neoforge.event.EventHooks import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent import net.neoforged.neoforge.event.level.BlockEvent -import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity import ru.dbotthepony.mc.otm.config.ToolsConfig import ru.dbotthepony.mc.otm.core.* import ru.dbotthepony.mc.otm.core.math.* -import ru.dbotthepony.mc.otm.core.nbt.set import ru.dbotthepony.mc.otm.registry.MDamageTypes -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import ru.dbotthepony.mc.otm.registry.MatteryDamageSource import ru.dbotthepony.mc.otm.triggers.NailedEntityTrigger import java.util.function.Predicate diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/RedstoneInteractorItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/RedstoneInteractorItem.kt index b289eac4d..b444749c5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/RedstoneInteractorItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/tool/RedstoneInteractorItem.kt @@ -25,7 +25,7 @@ import ru.dbotthepony.mc.otm.core.math.component3 import ru.dbotthepony.mc.otm.core.math.plus import ru.dbotthepony.mc.otm.core.util.TickList import ru.dbotthepony.mc.otm.item.MatteryItem -import ru.dbotthepony.mc.otm.registry.MDataComponentTypes +import ru.dbotthepony.mc.otm.registry.game.MDataComponentTypes import ru.dbotthepony.mc.otm.once import java.util.* diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/CargoCrateMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/CargoCrateMenu.kt index bca819c2b..2dc02ccf9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/CargoCrateMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/CargoCrateMenu.kt @@ -8,7 +8,7 @@ import ru.dbotthepony.mc.otm.block.entity.decorative.CargoCrateBlockEntity import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.UserFilteredSlot import ru.dbotthepony.mc.otm.menu.makeSlots -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class CargoCrateMenu( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/FluidTankMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/FluidTankMenu.kt index d3b3795f9..acebffafb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/FluidTankMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/FluidTankMenu.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.FluidConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.FluidGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class FluidTankMenu(containerId: Int, inventory: Inventory, tile: FluidTankBlockEntity? = null) : MatteryMenu(MMenus.FLUID_TANK, containerId, inventory, tile) { val fluid = FluidGaugeWidget(mSynchronizer, tile?.fluid) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/GrillMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/GrillMenu.kt index 323cf7f61..c883ad281 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/GrillMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/GrillMenu.kt @@ -3,7 +3,6 @@ package ru.dbotthepony.mc.otm.menu.decorative import com.google.common.collect.ImmutableList import net.minecraft.server.level.ServerPlayer import net.minecraft.world.Container -import net.minecraft.world.SimpleContainer import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Player import net.minecraft.world.item.ItemStack @@ -16,11 +15,10 @@ import ru.dbotthepony.mc.otm.core.immutableList import ru.dbotthepony.mc.otm.menu.ChemicalFuelSlot import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.MatterySlot -import ru.dbotthepony.mc.otm.menu.OutputSlot import ru.dbotthepony.mc.otm.menu.makeSlots import ru.dbotthepony.mc.otm.menu.widget.IProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.TakeExperienceWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.util.function.Supplier class GrillMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/HoloSignMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/HoloSignMenu.kt index d62e67460..d2c598c48 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/HoloSignMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/HoloSignMenu.kt @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.menu.decorative import net.minecraft.world.entity.player.Inventory -import net.minecraft.world.inventory.Slot import ru.dbotthepony.mc.otm.block.entity.RedstoneSetting import ru.dbotthepony.mc.otm.block.entity.decorative.HoloSignBlockEntity import ru.dbotthepony.mc.otm.menu.MatteryMenu @@ -9,7 +8,7 @@ import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.FloatInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.StringInputWithFeedback -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class HoloSignMenu( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt index beb40eb49..29a3b889b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/MinecartCargoCrateMenu.kt @@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.makeSlots -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MinecartCargoCrateMenu( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/PainterMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/PainterMenu.kt index 701608634..027b7ed25 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/PainterMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/decorative/PainterMenu.kt @@ -29,8 +29,8 @@ import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.network.StreamCodecs import ru.dbotthepony.mc.otm.network.nullable import ru.dbotthepony.mc.otm.recipe.AbstractPainterRecipe -import ru.dbotthepony.mc.otm.registry.MMenus -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MMenus +import ru.dbotthepony.mc.otm.registry.game.MRecipes import java.util.* import java.util.function.IntSupplier import kotlin.collections.ArrayList diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterBottlerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterBottlerMenu.kt index aa6cb7219..b83cd4b6b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterBottlerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterBottlerMenu.kt @@ -4,7 +4,6 @@ import com.google.common.collect.ImmutableList import net.minecraft.world.SimpleContainer import net.minecraft.world.entity.player.Inventory import net.minecraft.world.item.ItemStack -import ru.dbotthepony.mc.otm.core.immutableList import ru.dbotthepony.mc.otm.block.entity.matter.MatterBottlerBlockEntity import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.matter.canExtractMatter @@ -18,7 +17,7 @@ import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.makeSlots import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterBottlerMenu( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterCapacitorBankMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterCapacitorBankMenu.kt index fe1b4cbf3..a80f46c49 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterCapacitorBankMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterCapacitorBankMenu.kt @@ -4,12 +4,11 @@ import net.minecraft.world.SimpleContainer import net.minecraft.world.entity.player.Inventory import ru.dbotthepony.mc.otm.core.immutableList import ru.dbotthepony.mc.otm.block.entity.matter.MatterCapacitorBankBlockEntity -import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.menu.MatterContainerInputSlot import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterCapacitorBankMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterDecomposerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterDecomposerMenu.kt index ff49f8ad5..07b5ef42f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterDecomposerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterDecomposerMenu.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterDecomposerMenu @JvmOverloads constructor( containerID: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterEntanglerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterEntanglerMenu.kt index e4ed662d8..b4143c90a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterEntanglerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterEntanglerMenu.kt @@ -10,13 +10,11 @@ import net.minecraft.world.item.crafting.CraftingInput import ru.dbotthepony.mc.otm.block.entity.matter.MatterEntanglerBlockEntity import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryCraftingContainer -import ru.dbotthepony.mc.otm.container.ShadowCraftingContainer import ru.dbotthepony.mc.otm.container.get import ru.dbotthepony.mc.otm.container.set import ru.dbotthepony.mc.otm.core.isNotEmpty import ru.dbotthepony.mc.otm.item.IQuantumLinked import ru.dbotthepony.mc.otm.menu.OutputSlot -import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput @@ -27,8 +25,8 @@ import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.TakeExperienceWidget -import ru.dbotthepony.mc.otm.registry.MMenus -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MMenus +import ru.dbotthepony.mc.otm.registry.game.MRecipes import java.util.* class MatterEntanglerMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterPanelMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterPanelMenu.kt index 7fc4be6b3..f51b3864d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterPanelMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterPanelMenu.kt @@ -11,7 +11,6 @@ import net.neoforged.neoforge.network.PacketDistributor import net.neoforged.neoforge.network.handling.IPayloadContext import org.apache.logging.log4j.LogManager import ru.dbotthepony.kommons.util.getValue -import ru.dbotthepony.kommons.util.setValue import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.block.entity.matter.MatterPanelBlockEntity import ru.dbotthepony.mc.otm.capability.matter.* @@ -27,7 +26,7 @@ import ru.dbotthepony.mc.otm.menu.IItemSortingSettings import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.network.StreamCodecs -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.util.* import java.util.function.Predicate diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReconstructorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReconstructorMenu.kt index 06d83d85c..6b2d5d83a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReconstructorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReconstructorMenu.kt @@ -12,7 +12,7 @@ import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterReconstructorMenu( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterRecyclerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterRecyclerMenu.kt index af956911d..acc96bfc0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterRecyclerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterRecyclerMenu.kt @@ -13,7 +13,7 @@ import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterRecyclerMenu @JvmOverloads constructor( containerID: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReplicatorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReplicatorMenu.kt index c484335a6..0bbc18fec 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReplicatorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterReplicatorMenu.kt @@ -16,7 +16,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import ru.dbotthepony.mc.otm.triggers.TakeItemOutOfReplicatorTrigger class MatterReplicatorMenu @JvmOverloads constructor( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterScannerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterScannerMenu.kt index 3010b4c1c..65a27c4f4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterScannerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/MatterScannerMenu.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterScannerMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/PatternStorageMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/PatternStorageMenu.kt index 0edc9a82f..2c21d118a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/PatternStorageMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/matter/PatternStorageMenu.kt @@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.PatternSlot import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class PatternStorageMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveRackMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveRackMenu.kt index 4b46e738c..9f9897b6f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveRackMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveRackMenu.kt @@ -11,7 +11,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.IntInputWithFeedback import ru.dbotthepony.mc.otm.menu.makeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class DriveRackMenu @JvmOverloads constructor( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveViewerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveViewerMenu.kt index 0382a5ab1..994b3811f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveViewerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/DriveViewerMenu.kt @@ -24,7 +24,7 @@ import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import ru.dbotthepony.mc.otm.storage.ItemStorageStack import ru.dbotthepony.mc.otm.storage.StorageStack import ru.dbotthepony.mc.otm.storage.powered.PoweredVirtualComponent diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/ItemMonitorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/ItemMonitorMenu.kt index 64a2b6208..71c83bc06 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/ItemMonitorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/ItemMonitorMenu.kt @@ -23,7 +23,7 @@ import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.makeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import ru.dbotthepony.mc.otm.storage.* import java.util.* diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageBusMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageBusMenu.kt index 3caffec1b..27f750294 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageBusMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageBusMenu.kt @@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.IntInputWithFeedback import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class StorageBusMenu( containerId: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageImporterExporterMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageImporterExporterMenu.kt index dcd2671f7..3f5d89d62 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageImporterExporterMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StorageImporterExporterMenu.kt @@ -2,13 +2,11 @@ package ru.dbotthepony.mc.otm.menu.storage import net.minecraft.world.entity.player.Inventory import ru.dbotthepony.mc.otm.block.entity.storage.AbstractStorageImportExport -import ru.dbotthepony.mc.otm.container.ItemFilter import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.addFilterControls -import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class StorageImporterExporterMenu( containerId: Int, inventory: Inventory, tile: AbstractStorageImportExport? = null diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StoragePowerSupplierMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StoragePowerSupplierMenu.kt index 2df4c0e6d..03b1f3562 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StoragePowerSupplierMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/storage/StoragePowerSupplierMenu.kt @@ -5,7 +5,7 @@ import ru.dbotthepony.kommons.util.getValue import ru.dbotthepony.kommons.util.setValue import ru.dbotthepony.mc.otm.block.entity.storage.StoragePowerSupplierBlockEntity import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class StoragePowerSupplierMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidChargerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidChargerMenu.kt index 23f9071b3..196526d4d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidChargerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidChargerMenu.kt @@ -7,7 +7,7 @@ import ru.dbotthepony.mc.otm.block.entity.tech.AndroidChargerTopBlockEntity import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class AndroidChargerMenu : MatteryPoweredMenu { val energyConfig: EnergyConfigPlayerInput diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidStationMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidStationMenu.kt index c919c8d9c..9b3f0da7e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidStationMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/AndroidStationMenu.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import kotlin.reflect.KMutableProperty0 class AndroidStationMenu @JvmOverloads constructor( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BatteryBankMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BatteryBankMenu.kt index 5011223d0..aebd6ad6f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BatteryBankMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BatteryBankMenu.kt @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.menu.tech import net.minecraft.world.Container -import kotlin.jvm.JvmOverloads import net.minecraft.world.entity.player.Inventory import ru.dbotthepony.mc.otm.block.entity.tech.BatteryBankBlockEntity import net.minecraft.world.SimpleContainer @@ -14,7 +13,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class BatteryBankMenu( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BlackHoleGeneratorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BlackHoleGeneratorMenu.kt index feddd6a5c..676b520df 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BlackHoleGeneratorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/BlackHoleGeneratorMenu.kt @@ -7,7 +7,7 @@ import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.DecimalInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.widget.CombinedProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class BlackHoleGeneratorMenu( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ChemicalGeneratorMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ChemicalGeneratorMenu.kt index 1ca7495a7..33b45a780 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ChemicalGeneratorMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ChemicalGeneratorMenu.kt @@ -15,7 +15,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class ChemicalGeneratorMenu @JvmOverloads constructor(id: Int, inv: Inventory, tile: ChemicalGeneratorBlockEntity? = null) : MatteryMenu(MMenus.CHEMICAL_GENERATOR, id, inv, tile) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/CobblerMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/CobblerMenu.kt index 23ed2311a..9eb8920b6 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/CobblerMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/CobblerMenu.kt @@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class CobblerMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyCounterMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyCounterMenu.kt index dcece84e5..0f917784e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyCounterMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyCounterMenu.kt @@ -14,7 +14,7 @@ import ru.dbotthepony.mc.otm.core.math.toDecimal import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.IntInputWithFeedback -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.math.BigDecimal class EnergyCounterMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyHatchMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyHatchMenu.kt index 521800310..94b8e70f8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyHatchMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyHatchMenu.kt @@ -5,17 +5,13 @@ import net.minecraft.world.SimpleContainer import net.minecraft.world.entity.player.Inventory import ru.dbotthepony.mc.otm.block.entity.RedstoneSetting import ru.dbotthepony.mc.otm.block.entity.tech.EnergyHatchBlockEntity -import ru.dbotthepony.mc.otm.block.entity.tech.MatterHatchBlockEntity import ru.dbotthepony.mc.otm.capability.FlowDirection -import ru.dbotthepony.mc.otm.menu.BatterySlot import ru.dbotthepony.mc.otm.menu.EnergyContainerInputSlot -import ru.dbotthepony.mc.otm.menu.MatterContainerInputSlot import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.makeSlots -import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class EnergyHatchMenu( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyServoMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyServoMenu.kt index e336e01c9..51809ffdb 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyServoMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EnergyServoMenu.kt @@ -12,7 +12,7 @@ import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class EnergyServoMenu @JvmOverloads constructor( p_38852_: Int, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EssenceStorageMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EssenceStorageMenu.kt index 138318b40..5abc2d3b5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EssenceStorageMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/EssenceStorageMenu.kt @@ -17,8 +17,8 @@ import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.FluidConfigPlayerInput import ru.dbotthepony.mc.otm.menu.input.ItemConfigPlayerInput -import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.util.function.LongSupplier class EssenceStorageMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ItemHatchMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ItemHatchMenu.kt index 2ddd294b6..620d9f509 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ItemHatchMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/ItemHatchMenu.kt @@ -11,7 +11,7 @@ import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.UserFilteredSlot import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.makeSlots -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class ItemHatchMenu( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/MatterHatchMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/MatterHatchMenu.kt index 173096250..94ea8f34e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/MatterHatchMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/MatterHatchMenu.kt @@ -10,9 +10,8 @@ import ru.dbotthepony.mc.otm.menu.MatterContainerInputSlot import ru.dbotthepony.mc.otm.menu.MatteryMenu import ru.dbotthepony.mc.otm.menu.input.EnumInputWithFeedback import ru.dbotthepony.mc.otm.menu.makeSlots -import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus class MatterHatchMenu( val isInput: Boolean, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PlatePressMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PlatePressMenu.kt index 217f436c2..d1afe3c85 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PlatePressMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PlatePressMenu.kt @@ -7,10 +7,8 @@ import net.minecraft.world.entity.player.Inventory import net.minecraft.world.inventory.MenuType import ru.dbotthepony.mc.otm.block.entity.tech.PlatePressBlockEntity import ru.dbotthepony.mc.otm.compat.jei.PlatePressRecipeCategory -import ru.dbotthepony.mc.otm.compat.jei.isJeiLoaded import ru.dbotthepony.mc.otm.core.immutableList import ru.dbotthepony.mc.otm.menu.OutputSlot -import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput @@ -20,7 +18,7 @@ import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.TakeExperienceWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.util.function.Supplier class PlatePressMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PoweredFurnaceMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PoweredFurnaceMenu.kt index edd447d35..8d709e278 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PoweredFurnaceMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/tech/PoweredFurnaceMenu.kt @@ -11,10 +11,8 @@ import ru.dbotthepony.mc.otm.block.entity.tech.PoweredBlastFurnaceBlockEntity import ru.dbotthepony.mc.otm.block.entity.tech.PoweredFurnaceBlockEntity import ru.dbotthepony.mc.otm.block.entity.tech.PoweredSmokerBlockEntity import ru.dbotthepony.mc.otm.compat.jei.MicrowaveRecipeCategory -import ru.dbotthepony.mc.otm.compat.jei.isJeiLoaded import ru.dbotthepony.mc.otm.core.immutableList import ru.dbotthepony.mc.otm.menu.OutputSlot -import ru.dbotthepony.mc.otm.menu.MatteryPoweredMenu import ru.dbotthepony.mc.otm.menu.MatterySlot import ru.dbotthepony.mc.otm.menu.input.BooleanInputWithFeedback import ru.dbotthepony.mc.otm.menu.input.EnergyConfigPlayerInput @@ -24,7 +22,7 @@ import ru.dbotthepony.mc.otm.menu.makeUpgradeSlots import ru.dbotthepony.mc.otm.menu.widget.ProfiledLevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.TakeExperienceWidget -import ru.dbotthepony.mc.otm.registry.MMenus +import ru.dbotthepony.mc.otm.registry.game.MMenus import java.util.function.Supplier class PoweredFurnaceMenu( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/AndroidPackets.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/AndroidPackets.kt index d658b6298..2ac263b4c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/AndroidPackets.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/AndroidPackets.kt @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.network import it.unimi.dsi.fastutil.bytes.ByteArrayList -import it.unimi.dsi.fastutil.io.FastByteArrayOutputStream import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.RegistryFriendlyByteBuf import net.minecraft.network.chat.Component @@ -9,7 +8,6 @@ import net.minecraft.network.codec.StreamCodec import net.minecraft.network.protocol.common.custom.CustomPacketPayload import net.minecraft.server.level.ServerPlayer import net.minecraft.sounds.SoundSource -import net.neoforged.neoforge.network.PacketDistributor import net.neoforged.neoforge.network.handling.IPayloadContext import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.android.AndroidActiveFeature @@ -28,10 +26,9 @@ import ru.dbotthepony.mc.otm.core.readComponent import ru.dbotthepony.mc.otm.core.writeComponent import ru.dbotthepony.mc.otm.menu.tech.AndroidStationMenu import ru.dbotthepony.mc.otm.onceServer -import ru.dbotthepony.mc.otm.registry.AndroidFeatures +import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures import ru.dbotthepony.mc.otm.registry.MRegistry -import ru.dbotthepony.mc.otm.registry.MSoundEvents -import java.io.ByteArrayInputStream +import ru.dbotthepony.mc.otm.registry.game.MSoundEvents class AndroidFeatureSyncPacket(val type: AndroidFeatureType<*>, val data: ByteArrayList) : CustomPacketPayload { fun write(buff: RegistryFriendlyByteBuf) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatterEntanglerRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatterEntanglerRecipe.kt index 06483cf20..3ff5221fe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatterEntanglerRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatterEntanglerRecipe.kt @@ -26,8 +26,8 @@ import ru.dbotthepony.mc.otm.data.codec.minRange import ru.dbotthepony.mc.otm.network.StreamCodecs import ru.dbotthepony.mc.otm.network.optional import ru.dbotthepony.mc.otm.network.wrap -import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MRecipes import java.util.Optional import java.util.UUID import kotlin.jvm.optionals.getOrElse diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatteryCookingRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatteryCookingRecipe.kt index dbf831d0e..195acbbbd 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatteryCookingRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/MatteryCookingRecipe.kt @@ -17,8 +17,8 @@ import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.data.codec.minRange import ru.dbotthepony.mc.otm.network.StreamCodecs import ru.dbotthepony.mc.otm.network.streamCodec -import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MRecipes abstract class MatteryCookingRecipe( val input: Ingredient, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PainterRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PainterRecipe.kt index ea81b4d6b..7fde31efa 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PainterRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PainterRecipe.kt @@ -30,8 +30,8 @@ import ru.dbotthepony.mc.otm.data.codec.PredicatedCodecList import ru.dbotthepony.mc.otm.data.codec.minRange import ru.dbotthepony.mc.otm.network.MatteryStreamCodec import ru.dbotthepony.mc.otm.network.nullable -import ru.dbotthepony.mc.otm.registry.MItems -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MRecipes import java.util.function.Predicate import kotlin.collections.ArrayList import kotlin.collections.Map diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt index 708be3d26..a3b0694ca 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/PlatePressRecipe.kt @@ -8,7 +8,6 @@ import net.minecraft.core.NonNullList import net.minecraft.network.RegistryFriendlyByteBuf import net.minecraft.network.codec.ByteBufCodecs import net.minecraft.network.codec.StreamCodec -import net.minecraft.resources.ResourceLocation import net.minecraft.util.valueproviders.ConstantFloat import net.minecraft.util.valueproviders.FloatProvider import net.minecraft.world.Container @@ -22,12 +21,11 @@ import net.minecraft.world.level.Level import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.container.get import ru.dbotthepony.mc.otm.core.get -import ru.dbotthepony.mc.otm.registry.MRecipes +import ru.dbotthepony.mc.otm.registry.game.MRecipes import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.data.codec.minRange -import ru.dbotthepony.mc.otm.network.StreamCodecs import ru.dbotthepony.mc.otm.network.streamCodec -import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.game.MItems class PlatePressRecipe( val input: Ingredient, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/UpgradeRecipe.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/UpgradeRecipe.kt index f73766320..d91fb4d13 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/UpgradeRecipe.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/recipe/UpgradeRecipe.kt @@ -21,9 +21,11 @@ import net.minecraft.world.item.crafting.ShapedRecipePattern import net.minecraft.world.item.enchantment.ItemEnchantments import net.minecraft.world.level.Level import ru.dbotthepony.mc.otm.capability.MatteryCapability +import ru.dbotthepony.mc.otm.capability.matter.PatternState import ru.dbotthepony.mc.otm.core.nbt.set import ru.dbotthepony.mc.otm.core.registryName import java.util.Optional +import java.util.UUID class UpgradeRecipe( group: String, @@ -60,6 +62,9 @@ class UpgradeRecipe( COPY_ENERGY_CHARGE { override val codec: MapCodec = MapCodec.unit(CopyEnergyCharge) }, + MERGE_PATTERNS { + override val codec: MapCodec = MapCodec.unit(MergePatterns) + } ; private val serName = name.lowercase() @@ -155,6 +160,34 @@ class UpgradeRecipe( } } + object MergePatterns : Op() { + override val type: OpType + get() = OpType.MERGE_PATTERNS + + override fun apply( + source: ItemStack, + container: CraftingInput, + registry: HolderLookup.Provider, + destination: ItemStack + ) { + val srcPatterns = source.getCapability(MatteryCapability.PATTERN_ITEM) ?: return + val dstPatterns = destination.getCapability(MatteryCapability.PATTERN_ITEM) ?: return + + for (pattern in srcPatterns.patterns) { + val findState = dstPatterns.findPattern(pattern.item) + + val new: PatternState = + if (findState != null) { + PatternState(findState.id, pattern.item, (findState.researchPercent + pattern.researchPercent).coerceAtMost(1.0)) + } else { + PatternState(UUID.randomUUID(), pattern.item, pattern.researchPercent) + } + + dstPatterns.insertPattern(new, onlyUpdate = false, simulate = false) + } + } + } + override fun assemble(input: CraftingInput, registry: HolderLookup.Provider): ItemStack { val result = super.assemble(input, registry) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockTags.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockTags.kt index 8a925eb96..517b35bbc 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockTags.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockTags.kt @@ -17,6 +17,8 @@ object MBlockTags { val REQUIRES_TRITANIUM_TOOL: TagKey = BlockTags.create(ResourceLocation("minecraft", "requires_tritanium_tool")) + val DILITHIUM_ORES: TagKey = BlockTags.create(ResourceLocation("c", "ores/dilithium")) + val HARDENED_GLASS_PANES: TagKey = BlockTags.create(ResourceLocation("c", "hardened_glass_panes")) val HARDENED_GLASS_PANES_BLACK: TagKey = BlockTags.create(ResourceLocation("c", "hardened_glass_panes/black")) val HARDENED_GLASS_PANES_BLUE: TagKey = BlockTags.create(ResourceLocation("c", "hardened_glass_panes/blue")) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemTags.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemTags.kt index 08afc394b..c8e242df6 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemTags.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemTags.kt @@ -27,6 +27,9 @@ object MItemTags { val INDUSTRIAL_GLASS: TagKey = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "industrial_glass")) val UPGRADES: TagKey = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "upgrades")) + val DILITHIUM_ORES: TagKey = ItemTags.create(ResourceLocation("c", "ores/dilithium")) + val DILITHIUM_GEMS: TagKey = ItemTags.create(ResourceLocation("c", "gems/dilithium")) + val CRAFTING_TABLES: TagKey = ItemTags.create(ResourceLocation("c", "crafting_tables")) val WORKBENCHES: TagKey = ItemTags.create(ResourceLocation("c", "workbenches")) val WORKBENCH: TagKey = ItemTags.create(ResourceLocation("c", "workbench")) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt index 1156f4c48..080cd5bbe 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -58,7 +58,7 @@ object MNames { const val STORAGE_CABLE = "storage_cable" // нужен рецепт const val STORAGE_POWER_SUPPLIER = "storage_power_supplier" // нужен рецепт - const val GRILL = "grill" // нужен рецепт + const val GRILL = "grill" const val DEBUG_EXPLOSION_SMALL = "debug_explosion_small" const val DEBUG_SPHERE_POINTS = "debug_sphere_points" @@ -128,6 +128,10 @@ object MNames { const val MATTER_CAPACITOR_CREATIVE = "matter_capacitor_creative" const val PATTERN_DRIVE_NORMAL = "pattern_drive_normal" + const val PATTERN_DRIVE_DOUBLE = "pattern_drive_double" + const val PATTERN_DRIVE_TRIPLE = "pattern_drive_triple" + const val PATTERN_DRIVE_QUAD = "pattern_drive_quad" + const val PATTERN_DRIVE_CREATIVE = "pattern_drive_creative" const val PATTERN_DRIVE_CREATIVE2 = "pattern_drive_creative2" diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt index 5ddc1efae..cd58f1a2d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -38,16 +38,16 @@ import ru.dbotthepony.mc.otm.block.decorative.TritaniumPressurePlate import ru.dbotthepony.mc.otm.capability.matteryEnergy import ru.dbotthepony.mc.otm.client.MatteryGUI import ru.dbotthepony.mc.otm.core.ResourceLocation -import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.isClient import ru.dbotthepony.mc.otm.item.armor.TritaniumArmorItem import ru.dbotthepony.mc.otm.item.weapon.EnergySwordItem +import ru.dbotthepony.mc.otm.registry.game.MItems +import ru.dbotthepony.mc.otm.registry.game.MStats import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock import ru.dbotthepony.mc.otm.registry.objects.DecorativeBlock import ru.dbotthepony.mc.otm.registry.objects.IBlockItemRegistryAcceptor import ru.dbotthepony.mc.otm.registry.objects.StripedColoredDecorativeBlock -import ru.dbotthepony.mc.otm.shapes.BlockShapes object MRegistry : IBlockItemRegistryAcceptor { private val features = RegistryDelegate>("android_features") { sync(true) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/LootModifiers.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/LootModifiers.kt similarity index 83% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/LootModifiers.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/LootModifiers.kt index 4b11c5876..d6e65ed9b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/LootModifiers.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/LootModifiers.kt @@ -1,9 +1,10 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.neoforged.bus.api.IEventBus import net.neoforged.neoforge.registries.NeoForgeRegistries import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.data.loot.LootPoolAppender +import ru.dbotthepony.mc.otm.registry.MDeferredRegister object LootModifiers { private val registry = MDeferredRegister(NeoForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, OverdriveThatMatters.MOD_ID) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MHeightProviders.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MHeightProviders.kt similarity index 84% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MHeightProviders.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MHeightProviders.kt index 907cebd23..92b860932 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MHeightProviders.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MHeightProviders.kt @@ -1,9 +1,10 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.world.level.levelgen.heightproviders.HeightProviderType import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.data.world.StandardDeviationHeightProvider +import ru.dbotthepony.mc.otm.registry.MDeferredRegister object MHeightProviders { private val registry = MDeferredRegister(BuiltInRegistries.HEIGHT_PROVIDER_TYPE) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MItemFunctionTypes.kt similarity index 88% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MItemFunctionTypes.kt index 3d7ae2e7c..d03ace15b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItemFunctionTypes.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MItemFunctionTypes.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.minecraft.core.registries.Registries import net.minecraft.world.level.storage.loot.functions.LootItemFunctionType @@ -8,6 +8,8 @@ import ru.dbotthepony.mc.otm.data.loot.CopyTileNbtFunction 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.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames object MItemFunctionTypes { private val registry = MDeferredRegister(Registries.LOOT_FUNCTION_TYPE, OverdriveThatMatters.MOD_ID) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MLootItemConditions.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootItemConditions.kt similarity index 81% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MLootItemConditions.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootItemConditions.kt index 9fe0372cf..9b17e7a55 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MLootItemConditions.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootItemConditions.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.minecraft.core.registries.Registries import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType @@ -11,21 +11,16 @@ import ru.dbotthepony.mc.otm.data.condition.ItemInInventoryCondition import ru.dbotthepony.mc.otm.data.condition.KilledByRealPlayer import ru.dbotthepony.mc.otm.data.condition.KilledByRealPlayerOrIndirectly import ru.dbotthepony.mc.otm.data.condition.ChanceCondition +import ru.dbotthepony.mc.otm.registry.MDeferredRegister object MLootItemConditions { private val registry = MDeferredRegister(Registries.LOOT_CONDITION_TYPE, OverdriveThatMatters.MOD_ID) - val HAS_EXOPACK: LootItemConditionType by registry.register("has_exopack") { LootItemConditionType( - SingletonCodec(HasExoPackCondition) - ) } + val HAS_EXOPACK: LootItemConditionType by registry.register("has_exopack") { LootItemConditionType(SingletonCodec(HasExoPackCondition)) } val CHANCE_WITH_PLAYTIME: LootItemConditionType by registry.register("chance_with_playtime") { LootItemConditionType(ChanceWithPlaytimeCondition.CODEC) } val ITEM_IN_INVENTORY: LootItemConditionType by registry.register("item_in_inventory") { LootItemConditionType(ItemInInventoryCondition.CODEC) } - val KILLED_BY_REAL_PLAYER: LootItemConditionType by registry.register("killed_by_real_player") { LootItemConditionType( - SingletonCodec(KilledByRealPlayer) - ) } - val KILLED_BY_REAL_PLAYER_OR_INDIRECTLY: LootItemConditionType by registry.register("killed_by_real_player_or_indirectly") { LootItemConditionType( - SingletonCodec(KilledByRealPlayerOrIndirectly) - ) } + val KILLED_BY_REAL_PLAYER: LootItemConditionType by registry.register("killed_by_real_player") { LootItemConditionType(SingletonCodec(KilledByRealPlayer)) } + val KILLED_BY_REAL_PLAYER_OR_INDIRECTLY: LootItemConditionType by registry.register("killed_by_real_player_or_indirectly") { LootItemConditionType(SingletonCodec(KilledByRealPlayerOrIndirectly)) } val CHANCE: LootItemConditionType by registry.register("chance") { LootItemConditionType(ChanceCondition.CODEC) } fun register(bus: IEventBus) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootNumberProviders.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootNumberProviders.kt new file mode 100644 index 000000000..7165eebbd --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MLootNumberProviders.kt @@ -0,0 +1,18 @@ +package ru.dbotthepony.mc.otm.registry.data + +import net.minecraft.core.registries.BuiltInRegistries +import net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType +import net.neoforged.bus.api.IEventBus +import ru.dbotthepony.mc.otm.OverdriveThatMatters +import ru.dbotthepony.mc.otm.data.loot.Int2NumberProvider +import ru.dbotthepony.mc.otm.registry.MDeferredRegister + +object MLootNumberProviders { + private val registry = MDeferredRegister(BuiltInRegistries.LOOT_NUMBER_PROVIDER_TYPE, OverdriveThatMatters.MOD_ID) + + fun register(bus: IEventBus) { + registry.register(bus) + } + + val INT_2_NUMBER_TYPE by registry.register("int2number") { LootNumberProviderType(Int2NumberProvider.CODEC) } +} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MPlacementModifiers.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MPlacementModifiers.kt similarity index 83% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MPlacementModifiers.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MPlacementModifiers.kt index 6067daa4f..bfb73a091 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MPlacementModifiers.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MPlacementModifiers.kt @@ -1,9 +1,10 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.world.level.levelgen.placement.PlacementModifierType import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.data.world.EllipsoidPlacement +import ru.dbotthepony.mc.otm.registry.MDeferredRegister object MPlacementModifiers { private val registry = MDeferredRegister(BuiltInRegistries.PLACEMENT_MODIFIER_TYPE) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MWorldGenFeatures.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MWorldGenFeatures.kt similarity index 80% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MWorldGenFeatures.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MWorldGenFeatures.kt index d771e032e..04d3ce732 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MWorldGenFeatures.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/data/MWorldGenFeatures.kt @@ -1,7 +1,8 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.data import net.minecraft.core.registries.BuiltInRegistries import net.neoforged.bus.api.IEventBus +import ru.dbotthepony.mc.otm.registry.MDeferredRegister import ru.dbotthepony.mc.otm.worldgen.feature.BlackHolePlacerFeature object MWorldGenFeatures { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/AndroidFeatures.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/AndroidFeatures.kt similarity index 90% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/AndroidFeatures.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/AndroidFeatures.kt index 6b19e61ed..43dbc2b22 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/AndroidFeatures.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/AndroidFeatures.kt @@ -1,9 +1,12 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.android.AndroidFeatureType import ru.dbotthepony.mc.otm.android.DummyAndroidFeature import ru.dbotthepony.mc.otm.android.feature.* +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MRegistry object AndroidFeatures { private val registry = MDeferredRegister(MRegistry.ANDROID_FEATURES_KEY) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MArmorMaterials.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MArmorMaterials.kt similarity index 92% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MArmorMaterials.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MArmorMaterials.kt index a083de903..c024c2d90 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MArmorMaterials.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MArmorMaterials.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.sounds.SoundEvents @@ -8,6 +8,8 @@ import net.minecraft.world.item.crafting.Ingredient import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MItemTags // why is this even a thing holy shit object MArmorMaterials { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockColors.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockColors.kt index 0e4471da9..60c2a4d7b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockColors.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.client.color.block.BlockColor import net.minecraft.client.color.item.ItemColor diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockEntities.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockEntities.kt index 69fd0631b..8bdded89e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlockEntities.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.client.renderer.blockentity.BlockEntityRenderers import net.minecraft.core.registries.BuiltInRegistries @@ -30,6 +30,9 @@ import ru.dbotthepony.mc.otm.block.entity.tech.PlatePressBlockEntity import ru.dbotthepony.mc.otm.client.render.blockentity.* import ru.dbotthepony.mc.otm.config.CablesConfig import ru.dbotthepony.mc.otm.core.collect.SupplierMap +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MRegistry import java.util.function.Supplier @Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS") // Type<*> is unused in BlockEntityType.Builder diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt similarity index 94% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt index 61957ba4b..f8531e01a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet import net.minecraft.core.Direction @@ -85,6 +85,9 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.config.CablesConfig import ru.dbotthepony.mc.otm.core.collect.SupplierList import ru.dbotthepony.mc.otm.core.collect.SupplierMap +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MRegistry import java.util.function.Supplier object MBlocks { @@ -123,7 +126,7 @@ object MBlocks { fun register(bus: IEventBus) { registry.register(bus) - bus.addListener(::registerCapabilities) + bus.addListener(MBlocks::registerCapabilities) } val ANDROID_STATION = registry.coloredWithBase(MNames.ANDROID_STATION, ::AndroidStationBlock) @@ -194,7 +197,7 @@ object MBlocks { UniformInt.of(0, 3), BlockBehaviour.Properties.of() .mapColor(MapColor.STONE) - .strength(3.25f, 6.0f) + .strength(3f, 15.0f) .requiresCorrectToolForDrops(), ) } @@ -248,6 +251,26 @@ object MBlocks { BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).instrument(NoteBlockInstrument.BASEDRUM).strength(8.0f, 10f).requiresCorrectToolForDrops() ) } + val DILITHIUM_ORE: Block by registry.register("dilithium_ore") { DropExperienceBlock( + UniformInt.of(1, 6), + BlockBehaviour.Properties.of() + .mapColor(MapColor.STONE) + .strength(3.5f, 25.0f) + .requiresCorrectToolForDrops(), + ) } + + val DEEPSLATE_DILITHIUM_ORE: Block by registry.register("deepslate_dilithium_ore") { DropExperienceBlock( + UniformInt.of(1, 6), + BlockBehaviour.Properties.of() + .mapColor(MapColor.DEEPSLATE) + .strength(4.5f, 25.0f) + .requiresCorrectToolForDrops(), + ) } + + val DILITHIUM_CRYSTAL_BLOCK: Block by registry.register("dilithium_crystal_block") { + Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).sound(SoundType.AMETHYST).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) + } + val LABORATORY_LAMP: Block by registry.register(MNames.LABORATORY_LAMP) { LaboratoryLamp(false) } val LABORATORY_LAMP_INVERTED: Block by registry.register(MNames.LABORATORY_LAMP_INVERTED) { LaboratoryLamp(true) } val LABORATORY_LAMP_LIGHT: Block by registry.register(MNames.LABORATORY_LAMP_LIGHT) { LaboratoryLampLight() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt similarity index 95% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt index b8da38b33..cc58e4677 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.core.registries.Registries @@ -20,7 +20,9 @@ import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.core.util.CreativeMenuItemComparator -import ru.dbotthepony.mc.otm.registry.MItems.BATTERY_CREATIVE +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MRegistry +import ru.dbotthepony.mc.otm.registry.game.MItems.BATTERY_CREATIVE private fun CreativeModeTab.Output.accept(values: Collection) { for (item in values) { @@ -160,6 +162,11 @@ private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { accept(MItems.TRITANIUM_INGOT) accept(MItems.TRITANIUM_INGOT_BLOCK) + accept(MItems.DILITHIUM_ORE) + accept(MItems.DEEPSLATE_DILITHIUM_ORE) + accept(MItems.DILITHIUM_CRYSTAL) + accept(MItems.DILITHIUM_CRYSTAL_BLOCK) + accept(MItems.TRITANIUM_TOOLS) accept(MItems.TRITANIUM_SHIELD) accept(MItems.SIMPLE_TRITANIUM_ARMOR) @@ -185,6 +192,9 @@ private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { energized(MItems.ALL_BATTERIES) mattery(MItems.MATTER_CAPACITORS) accept(MItems.PATTERN_DRIVE_NORMAL) + accept(MItems.PATTERN_DRIVE_DOUBLE) + accept(MItems.PATTERN_DRIVE_TRIPLE) + accept(MItems.PATTERN_DRIVE_QUAD) accept(MItems.PATTERN_DRIVE_CREATIVE) accept(MItems.PATTERN_DRIVE_CREATIVE2) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MDataComponentTypes.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MDataComponentTypes.kt similarity index 97% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MDataComponentTypes.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MDataComponentTypes.kt index 945eb1f98..21d568866 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MDataComponentTypes.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MDataComponentTypes.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import com.google.common.collect.ImmutableList import com.mojang.serialization.Codec @@ -17,6 +17,7 @@ import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.data.codec.DecimalCodec import ru.dbotthepony.mc.otm.item.tool.RedstoneInteractorItem import ru.dbotthepony.mc.otm.network.StreamCodecs +import ru.dbotthepony.mc.otm.registry.MDeferredRegister import java.util.UUID object MDataComponentTypes { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MEntityTypes.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MEntityTypes.kt similarity index 94% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MEntityTypes.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MEntityTypes.kt index beb4f5153..412aaf7b4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MEntityTypes.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MEntityTypes.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.client.model.geom.ModelLayers import net.minecraft.client.renderer.entity.EntityRenderer @@ -16,6 +16,8 @@ import ru.dbotthepony.mc.otm.client.render.entity.PlasmaProjectileRenderer import ru.dbotthepony.mc.otm.entity.MinecartCargoCrate import ru.dbotthepony.mc.otm.entity.PlasmaProjectile import ru.dbotthepony.mc.otm.entity.RideableDummy +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames object MEntityTypes { private val registry = MDeferredRegister(BuiltInRegistries.ENTITY_TYPE) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MFluids.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MFluids.kt similarity index 86% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MFluids.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MFluids.kt index 2bc9bd59f..7ceab0611 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MFluids.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MFluids.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.resources.ResourceLocation @@ -12,6 +12,7 @@ import net.neoforged.neoforge.fluids.FluidType import net.neoforged.neoforge.registries.NeoForgeRegistries import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation +import ru.dbotthepony.mc.otm.registry.MDeferredRegister import java.util.function.Consumer object MFluids { @@ -24,7 +25,11 @@ object MFluids { } private fun makeXpProps(): BaseFlowingFluid.Properties { - return BaseFlowingFluid.Properties(::LIQUID_XP_TYPE, ::LIQUID_XP, ::LIQUID_XP_FLOWING).bucket(MItems::LIQUID_XP_BUCKET).block(MBlocks::LIQUID_XP) + return BaseFlowingFluid.Properties( + MFluids::LIQUID_XP_TYPE, + MFluids::LIQUID_XP, + MFluids::LIQUID_XP_FLOWING + ).bucket(MItems::LIQUID_XP_BUCKET).block(MBlocks::LIQUID_XP) } private val xpProps = makeXpProps() @@ -63,5 +68,7 @@ object MFluids { } val LIQUID_XP: BaseFlowingFluid.Source by fluids.register("liquid_xp") { BaseFlowingFluid.Source(xpProps) } - val LIQUID_XP_FLOWING: BaseFlowingFluid.Flowing by fluids.register("liquid_xp_flowing") { BaseFlowingFluid.Flowing(xpProps) } + val LIQUID_XP_FLOWING: BaseFlowingFluid.Flowing by fluids.register("liquid_xp_flowing") { BaseFlowingFluid.Flowing( + xpProps + ) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt similarity index 85% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt index 37e8e3186..7374b4899 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt @@ -1,5 +1,5 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.component.DataComponents import net.minecraft.core.registries.BuiltInRegistries @@ -15,7 +15,6 @@ import net.minecraft.world.item.HoeItem import net.minecraft.world.item.Item import net.minecraft.world.item.Item.Properties import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.Items import net.minecraft.world.item.PickaxeItem import net.minecraft.world.item.Rarity import net.minecraft.world.item.ShearsItem @@ -59,7 +58,6 @@ import ru.dbotthepony.mc.otm.item.addSimpleDescription import ru.dbotthepony.mc.otm.item.armor.PortableGravitationStabilizerItem import ru.dbotthepony.mc.otm.item.armor.TritaniumArmorItem import ru.dbotthepony.mc.otm.item.block.EnergyCableItem -import ru.dbotthepony.mc.otm.item.consumables.NotNormalFood import ru.dbotthepony.mc.otm.item.consumables.NotNormalPill import ru.dbotthepony.mc.otm.item.exopack.ExopackProbeItem import ru.dbotthepony.mc.otm.item.exopack.ExopackSlotUpgradeItem @@ -73,6 +71,10 @@ import ru.dbotthepony.mc.otm.item.tool.ExplosiveHammerItem import ru.dbotthepony.mc.otm.item.tool.MatteryAxeItem import ru.dbotthepony.mc.otm.item.tool.RedstoneInteractorItem import ru.dbotthepony.mc.otm.item.weapon.EnergySwordItem +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MItemTags +import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MRegistry import java.util.function.Supplier object MItems { @@ -129,7 +131,9 @@ object MItems { val GRAVITATION_STABILIZER: BlockItem by registry.register(MNames.GRAVITATION_STABILIZER) { BlockItem(MBlocks.GRAVITATION_STABILIZER, DEFAULT_PROPERTIES) } - val PHANTOM_ATTRACTOR: DoubleHighBlockItem by registry.register(MNames.PHANTOM_ATTRACTOR) { DoubleHighBlockItem(MBlocks.PHANTOM_ATTRACTOR, DEFAULT_PROPERTIES) } + val PHANTOM_ATTRACTOR: DoubleHighBlockItem by registry.register(MNames.PHANTOM_ATTRACTOR) { DoubleHighBlockItem( + MBlocks.PHANTOM_ATTRACTOR, DEFAULT_PROPERTIES + ) } val ENERGY_SERVO = register(MNames.ENERGY_SERVO, MBlocks.ENERGY_SERVO) val COBBLESTONE_GENERATOR = register(MNames.COBBLESTONE_GENERATOR, MBlocks.COBBLESTONE_GENERATOR) @@ -169,40 +173,40 @@ object MItems { machines.addAll(CHEMICAL_GENERATOR.asSupplierArray()) machines.addAll(ENERGY_SERVO.asSupplierArray()) - machines.add(::PHANTOM_ATTRACTOR) - machines.add(::PAINTER) + machines.add(MItems::PHANTOM_ATTRACTOR) + machines.add(MItems::PAINTER) machines.addAll(COBBLESTONE_GENERATOR.asSupplierArray().iterator()) machines.addAll(ESSENCE_STORAGE.asSupplierArray().iterator()) machines.addAll(MATTER_DECOMPOSER.asSupplierArray().iterator()) machines.addAll(MATTER_CAPACITOR_BANK.asSupplierArray().iterator()) - machines.add(::MATTER_CABLE) - machines.add(::PATTERN_STORAGE) + machines.add(MItems::MATTER_CABLE) + machines.add(MItems::PATTERN_STORAGE) machines.addAll(MATTER_SCANNER.asSupplierArray().iterator()) machines.addAll(MATTER_PANEL.asSupplierArray().iterator()) machines.addAll(MATTER_REPLICATOR.asSupplierArray().iterator()) machines.addAll(MATTER_BOTTLER.asSupplierArray().iterator()) - machines.add(::MATTER_ENTANGLER) + machines.add(MItems::MATTER_ENTANGLER) machines.addAll(MATTER_RECYCLER.asSupplierArray().iterator()) machines.addAll(MATTER_RECONSTRUCTOR.asSupplierArray().iterator()) - machines.add(::GRAVITATION_STABILIZER) + machines.add(MItems::GRAVITATION_STABILIZER) - machines.add(::BLACK_HOLE_GENERATOR) - machines.add(::ITEM_INPUT_HATCH) - machines.add(::ITEM_OUTPUT_HATCH) - machines.add(::ENERGY_INPUT_HATCH) - machines.add(::ENERGY_OUTPUT_HATCH) - machines.add(::MATTER_INPUT_HATCH) - machines.add(::MATTER_OUTPUT_HATCH) + machines.add(MItems::BLACK_HOLE_GENERATOR) + machines.add(MItems::ITEM_INPUT_HATCH) + machines.add(MItems::ITEM_OUTPUT_HATCH) + machines.add(MItems::ENERGY_INPUT_HATCH) + machines.add(MItems::ENERGY_OUTPUT_HATCH) + machines.add(MItems::MATTER_INPUT_HATCH) + machines.add(MItems::MATTER_OUTPUT_HATCH) - machines.add(::STORAGE_BUS) - machines.add(::STORAGE_IMPORTER) - machines.add(::STORAGE_EXPORTER) + machines.add(MItems::STORAGE_BUS) + machines.add(MItems::STORAGE_IMPORTER) + machines.add(MItems::STORAGE_EXPORTER) machines.addAll(DRIVE_VIEWER.asSupplierArray().iterator()) - machines.add(::DRIVE_RACK) + machines.add(MItems::DRIVE_RACK) machines.addAll(ITEM_MONITOR.asSupplierArray().iterator()) - machines.add(::STORAGE_CABLE) + machines.add(MItems::STORAGE_CABLE) machines.addAll(STORAGE_POWER_SUPPLIER.asSupplierArray().iterator()) MACHINES = SupplierList(machines) @@ -280,20 +284,20 @@ object MItems { val MATTER_STORAGE_FLAT_SMALL: SimpleUpgrade by registry.register("creative_matter_storage_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorageFlat = Decimal.INT_MAX_VALUE) } val LIST = SupplierList( - ::SPEED, - ::ENERGY_CONSUMPTION, - ::ENERGY_STORAGE, - ::ENERGY_STORAGE_FLAT, - ::ENERGY_STORAGE_FLAT_SMALL, - ::ENERGY_THROUGHPUT, - ::ENERGY_THROUGHPUT_FLAT, - ::ENERGY_THROUGHPUT_FLAT_SMALL, - ::FAILSAFE, - ::FAILURE, - ::PROCESSING_ITEMS, - ::MATTER_STORAGE, - ::MATTER_STORAGE_FLAT, - ::MATTER_STORAGE_FLAT_SMALL, + Creative::SPEED, + Creative::ENERGY_CONSUMPTION, + Creative::ENERGY_STORAGE, + Creative::ENERGY_STORAGE_FLAT, + Creative::ENERGY_STORAGE_FLAT_SMALL, + Creative::ENERGY_THROUGHPUT, + Creative::ENERGY_THROUGHPUT_FLAT, + Creative::ENERGY_THROUGHPUT_FLAT_SMALL, + Creative::FAILSAFE, + Creative::FAILURE, + Creative::PROCESSING_ITEMS, + Creative::MATTER_STORAGE, + Creative::MATTER_STORAGE_FLAT, + Creative::MATTER_STORAGE_FLAT_SMALL, ) } @@ -325,6 +329,11 @@ object MItems { val TRITANIUM_BARS: BlockItem by registry.register(MNames.TRITANIUM_BARS) { BlockItem(MBlocks.TRITANIUM_BARS, DEFAULT_PROPERTIES) } val METAL_RAILING: BlockItem by registry.register(MNames.METAL_RAILING) { BlockItem(MBlocks.METAL_RAILING, DEFAULT_PROPERTIES) } + val DILITHIUM_CRYSTAL by registry.register("dilithium_crystal") { MatteryItem(DEFAULT_PROPERTIES) } + val DILITHIUM_ORE by registry.register("dilithium_ore") { BlockItem(MBlocks.DILITHIUM_ORE, DEFAULT_PROPERTIES) } + val DEEPSLATE_DILITHIUM_ORE by registry.register("deepslate_dilithium_ore") { BlockItem(MBlocks.DEEPSLATE_DILITHIUM_ORE, DEFAULT_PROPERTIES) } + val DILITHIUM_CRYSTAL_BLOCK by registry.register("dilithium_crystal_block") { BlockItem(MBlocks.DILITHIUM_CRYSTAL_BLOCK, DEFAULT_PROPERTIES) } + val REDSTONE_INTERACTOR: RedstoneInteractorItem by registry.register("redstone_interactor") { RedstoneInteractorItem() } val ESSENCE_SERVO: EssenceServoItem by registry.register("essence_servo") { EssenceServoItem() } @@ -343,23 +352,28 @@ object MItems { 16, ) { Ingredient.of(TRITANIUM_INGOT) } - val TRITANIUM_SWORD: SwordItem by registry.register(MNames.TRITANIUM_SWORD) { SwordItem(TRITANIUM_COMPONENT, + val TRITANIUM_SWORD: SwordItem by registry.register(MNames.TRITANIUM_SWORD) { SwordItem( + TRITANIUM_COMPONENT, Properties().attributes(SwordItem.createAttributes(TRITANIUM_COMPONENT, 4f, -2.7f))) } - val TRITANIUM_SHOVEL: ShovelItem by registry.register(MNames.TRITANIUM_SHOVEL) { ShovelItem(TRITANIUM_COMPONENT, + val TRITANIUM_SHOVEL: ShovelItem by registry.register(MNames.TRITANIUM_SHOVEL) { ShovelItem( + TRITANIUM_COMPONENT, Properties().attributes(ShovelItem.createAttributes(TRITANIUM_COMPONENT, 1.5f, -2.4f))) } - val TRITANIUM_AXE: MatteryAxeItem by registry.register(MNames.TRITANIUM_AXE) { MatteryAxeItem(TRITANIUM_COMPONENT, + val TRITANIUM_AXE: MatteryAxeItem by registry.register(MNames.TRITANIUM_AXE) { MatteryAxeItem( + TRITANIUM_COMPONENT, Properties().attributes(AxeItem.createAttributes(TRITANIUM_COMPONENT, 8.5f, -3.4f))) } - val TRITANIUM_PICKAXE: PickaxeItem by registry.register(MNames.TRITANIUM_PICKAXE) { PickaxeItem(TRITANIUM_COMPONENT, + val TRITANIUM_PICKAXE: PickaxeItem by registry.register(MNames.TRITANIUM_PICKAXE) { PickaxeItem( + TRITANIUM_COMPONENT, Properties().attributes(PickaxeItem.createAttributes(TRITANIUM_COMPONENT, 2f, -2.8f))) } - val TRITANIUM_HOE: HoeItem by registry.register(MNames.TRITANIUM_HOE) { HoeItem(TRITANIUM_COMPONENT, + val TRITANIUM_HOE: HoeItem by registry.register(MNames.TRITANIUM_HOE) { HoeItem( + TRITANIUM_COMPONENT, Properties().attributes(ShovelItem.createAttributes(TRITANIUM_COMPONENT, 0f, -3.4f))) } @@ -377,12 +391,12 @@ object MItems { } } val TRITANIUM_TOOLS = SupplierList( - ::TRITANIUM_SWORD, - ::TRITANIUM_SHOVEL, - ::TRITANIUM_AXE, - ::TRITANIUM_PICKAXE, - ::TRITANIUM_HOE, - ::TRITANIUM_SHEARS, + MItems::TRITANIUM_SWORD, + MItems::TRITANIUM_SHOVEL, + MItems::TRITANIUM_AXE, + MItems::TRITANIUM_PICKAXE, + MItems::TRITANIUM_HOE, + MItems::TRITANIUM_SHEARS, ) val TRITANIUM_HELMET: TritaniumArmorItem by registry.register(MNames.TRITANIUM_HELMET) { TritaniumArmorItem(ArmorItem.Type.HELMET) } @@ -390,23 +404,27 @@ object MItems { val TRITANIUM_PANTS: TritaniumArmorItem by registry.register(MNames.TRITANIUM_PANTS) { TritaniumArmorItem(ArmorItem.Type.LEGGINGS) } val TRITANIUM_BOOTS: TritaniumArmorItem by registry.register(MNames.TRITANIUM_BOOTS) { TritaniumArmorItem(ArmorItem.Type.BOOTS) } - val SIMPLE_TRITANIUM_HELMET: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_HELMET) { ArmorItem(MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.HELMET, Properties().stacksTo(1).durability(ArmorItem.Type.HELMET.getDurability(24))) } - val SIMPLE_TRITANIUM_CHESTPLATE: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_CHESTPLATE) { ArmorItem(MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.CHESTPLATE, Properties().stacksTo(1).durability(ArmorItem.Type.CHESTPLATE.getDurability(24))) } - val SIMPLE_TRITANIUM_PANTS: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_PANTS) { ArmorItem(MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.LEGGINGS, Properties().stacksTo(1).durability(ArmorItem.Type.LEGGINGS.getDurability(24))) } - val SIMPLE_TRITANIUM_BOOTS: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_BOOTS) { ArmorItem(MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.BOOTS, Properties().stacksTo(1).durability(ArmorItem.Type.BOOTS.getDurability(24))) } + val SIMPLE_TRITANIUM_HELMET: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_HELMET) { ArmorItem( + MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.HELMET, Properties().stacksTo(1).durability(ArmorItem.Type.HELMET.getDurability(24))) } + val SIMPLE_TRITANIUM_CHESTPLATE: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_CHESTPLATE) { ArmorItem( + MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.CHESTPLATE, Properties().stacksTo(1).durability(ArmorItem.Type.CHESTPLATE.getDurability(24))) } + val SIMPLE_TRITANIUM_PANTS: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_PANTS) { ArmorItem( + MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.LEGGINGS, Properties().stacksTo(1).durability(ArmorItem.Type.LEGGINGS.getDurability(24))) } + val SIMPLE_TRITANIUM_BOOTS: ArmorItem by registry.register(MNames.SIMPLE_TRITANIUM_BOOTS) { ArmorItem( + MArmorMaterials.SIMPLE_TRITANIUM, ArmorItem.Type.BOOTS, Properties().stacksTo(1).durability(ArmorItem.Type.BOOTS.getDurability(24))) } val TRITANIUM_ARMOR = SupplierList( - ::TRITANIUM_HELMET, - ::TRITANIUM_CHESTPLATE, - ::TRITANIUM_PANTS, - ::TRITANIUM_BOOTS + MItems::TRITANIUM_HELMET, + MItems::TRITANIUM_CHESTPLATE, + MItems::TRITANIUM_PANTS, + MItems::TRITANIUM_BOOTS ) val SIMPLE_TRITANIUM_ARMOR = SupplierList( - ::SIMPLE_TRITANIUM_HELMET, - ::SIMPLE_TRITANIUM_CHESTPLATE, - ::SIMPLE_TRITANIUM_PANTS, - ::SIMPLE_TRITANIUM_BOOTS + MItems::SIMPLE_TRITANIUM_HELMET, + MItems::SIMPLE_TRITANIUM_CHESTPLATE, + MItems::SIMPLE_TRITANIUM_PANTS, + MItems::SIMPLE_TRITANIUM_BOOTS ) val EXPLOSIVE_HAMMER: ExplosiveHammerItem by registry.register("explosive_hammer") { ExplosiveHammerItem() } @@ -430,11 +448,11 @@ object MItems { val PILL_NOT_NORMAL: Item by registry.register(MNames.PILL_NOT_NORMAL) { NotNormalPill() } val PILLS = SupplierList( - ::PILL_ANDROID, - ::PILL_HUMANE, - ::PILL_OBLIVION, - ::PILL_HEAL, - ::PILL_NOT_NORMAL, + MItems::PILL_ANDROID, + MItems::PILL_HUMANE, + MItems::PILL_OBLIVION, + MItems::PILL_HEAL, + MItems::PILL_NOT_NORMAL, ) val SUSPICIOUS_FOODS = SuspiciousFoods(registry) @@ -448,37 +466,38 @@ object MItems { val QUANTUM_BATTERY: QuantumBatteryItem by registry.register(MNames.QUANTUM_BATTERY) { QuantumBatteryItem(MNames.QUANTUM_BATTERY, ItemsConfig.Batteries.QUANTUM_BATTERY) } val QUANTUM_CAPACITOR: QuantumBatteryItem by registry.register(MNames.QUANTUM_CAPACITOR) { QuantumBatteryItem(MNames.QUANTUM_CAPACITOR, ItemsConfig.Batteries.QUANTUM_CAPACITOR) } - val QUANTUM_BATTERY_CREATIVE: QuantumBatteryItem by registry.register(MNames.QUANTUM_BATTERY_CREATIVE) { QuantumBatteryItem(MNames.QUANTUM_BATTERY_CREATIVE, null) } + val QUANTUM_BATTERY_CREATIVE: QuantumBatteryItem by registry.register(MNames.QUANTUM_BATTERY_CREATIVE) { QuantumBatteryItem( + MNames.QUANTUM_BATTERY_CREATIVE, null) } val ZPM_BATTERY: ZPMItem by registry.register(MNames.ZPM_BATTERY) { ZPMItem() } val PROCEDURAL_BATTERY: ProceduralBatteryItem by registry.register(MNames.PROCEDURAL_BATTERY) { ProceduralBatteryItem() } val BATTERIES = SupplierList( - ::BATTERY_CRUDE, - ::BATTERY_BASIC, - ::BATTERY_NORMAL, - ::BATTERY_DENSE, - ::BATTERY_CAPACITOR, + MItems::BATTERY_CRUDE, + MItems::BATTERY_BASIC, + MItems::BATTERY_NORMAL, + MItems::BATTERY_DENSE, + MItems::BATTERY_CAPACITOR, ) val UNIQUE_BATTERIES = SupplierList( - ::QUANTUM_BATTERY, - ::QUANTUM_CAPACITOR, - ::QUANTUM_BATTERY_CREATIVE, - ::ZPM_BATTERY, + MItems::QUANTUM_BATTERY, + MItems::QUANTUM_CAPACITOR, + MItems::QUANTUM_BATTERY_CREATIVE, + MItems::ZPM_BATTERY, ) val ALL_BATTERIES = SupplierList( - ::BATTERY_CRUDE, - ::BATTERY_BASIC, - ::BATTERY_NORMAL, - ::BATTERY_DENSE, - ::BATTERY_CAPACITOR, - ::BATTERY_CREATIVE, + MItems::BATTERY_CRUDE, + MItems::BATTERY_BASIC, + MItems::BATTERY_NORMAL, + MItems::BATTERY_DENSE, + MItems::BATTERY_CAPACITOR, + MItems::BATTERY_CREATIVE, - ::QUANTUM_BATTERY, - ::QUANTUM_CAPACITOR, - ::QUANTUM_BATTERY_CREATIVE, - ::ZPM_BATTERY, + MItems::QUANTUM_BATTERY, + MItems::QUANTUM_CAPACITOR, + MItems::QUANTUM_BATTERY_CREATIVE, + MItems::ZPM_BATTERY, ) val MATTER_CAPACITOR_BASIC: Item by registry.register(MNames.MATTER_CAPACITOR_BASIC) { MatterCapacitorItem(ItemsConfig.Capacitors::BASIC) } @@ -487,13 +506,16 @@ object MItems { val MATTER_CAPACITOR_CREATIVE: Item by registry.register(MNames.MATTER_CAPACITOR_CREATIVE) { MatterCapacitorItem() } val MATTER_CAPACITORS = SupplierList( - ::MATTER_CAPACITOR_BASIC, - ::MATTER_CAPACITOR_NORMAL, - ::MATTER_CAPACITOR_DENSE, - ::MATTER_CAPACITOR_CREATIVE, + MItems::MATTER_CAPACITOR_BASIC, + MItems::MATTER_CAPACITOR_NORMAL, + MItems::MATTER_CAPACITOR_DENSE, + MItems::MATTER_CAPACITOR_CREATIVE, ) val PATTERN_DRIVE_NORMAL: Item by registry.register(MNames.PATTERN_DRIVE_NORMAL) { PatternStorageItem(ItemsConfig.PatternDrives::NORMAL) } + val PATTERN_DRIVE_DOUBLE: Item by registry.register(MNames.PATTERN_DRIVE_DOUBLE) { PatternStorageItem(ItemsConfig.PatternDrives::DOUBLE) } + val PATTERN_DRIVE_TRIPLE: Item by registry.register(MNames.PATTERN_DRIVE_TRIPLE) { PatternStorageItem(ItemsConfig.PatternDrives::TRIPLE) } + val PATTERN_DRIVE_QUAD: Item by registry.register(MNames.PATTERN_DRIVE_QUAD) { PatternStorageItem(ItemsConfig.PatternDrives::QUAD) } val PATTERN_DRIVE_CREATIVE: Item by registry.register(MNames.PATTERN_DRIVE_CREATIVE) { PatternStorageItem() } val PATTERN_DRIVE_CREATIVE2: Item by registry.register(MNames.PATTERN_DRIVE_CREATIVE2) { CreativePatternItem() } @@ -523,15 +545,20 @@ object MItems { val GOLD_PLATE: Item by registry.register(MNames.GOLD_PLATE) { Item(DEFAULT_PROPERTIES) } val COPPER_WIRING: Item by registry.register(MNames.COPPER_WIRING) { Item(DEFAULT_PROPERTIES) } val GOLD_WIRING: Item by registry.register(MNames.GOLD_WIRING) { Item(DEFAULT_PROPERTIES) } - val PORTABLE_CONDENSATION_DRIVE_CASING: Item by registry.register(MNames.PORTABLE_CONDENSATION_DRIVE_CASING) { Item(DEFAULT_PROPERTIES) } - val PORTABLE_DENSE_CONDENSATION_DRIVE_CASING: Item by registry.register(MNames.PORTABLE_DENSE_CONDENSATION_DRIVE_CASING) { Item(DEFAULT_PROPERTIES) } + val PORTABLE_CONDENSATION_DRIVE_CASING: Item by registry.register(MNames.PORTABLE_CONDENSATION_DRIVE_CASING) { Item( + DEFAULT_PROPERTIES + ) } + val PORTABLE_DENSE_CONDENSATION_DRIVE_CASING: Item by registry.register(MNames.PORTABLE_DENSE_CONDENSATION_DRIVE_CASING) { Item( + DEFAULT_PROPERTIES + ) } val CIRCUIT_PLATING: Item by registry.register(MNames.CIRCUIT_PLATING) { Item(DEFAULT_PROPERTIES) } val BASIC_CONTROL_CIRCUIT: Item by registry.register(MNames.BASIC_CONTROL_CIRCUIT) { Item(DEFAULT_PROPERTIES) } val ADVANCED_CONTROL_CIRCUIT: Item by registry.register(MNames.ADVANCED_CONTROL_CIRCUIT) { Item(DEFAULT_PROPERTIES) } val MATTER_CAPACITOR_PARTS: Item by registry.register(MNames.MATTER_CAPACITOR_PARTS) { Item(DEFAULT_PROPERTIES) } val CARBON_MESH: Item by registry.register(MNames.CARBON_MESH) { Item(DEFAULT_PROPERTIES) } - val ARMOR_ASSEMBLY: Item by registry.register(MNames.ARMOR_ASSEMBLY) { Item(DEFAULT_PROPERTIES) } - val REINFORCED_TRITANIUM_PLATE: Item by registry.register(MNames.REINFORCED_TRITANIUM_PLATE) { MatteryItem(DEFAULT_PROPERTIES).addSimpleDescription() } + val REINFORCED_TRITANIUM_PLATE: Item by registry.register(MNames.REINFORCED_TRITANIUM_PLATE) { MatteryItem( + DEFAULT_PROPERTIES + ).addSimpleDescription() } val QUANTUM_TRANSCEIVER: Item by registry.register(MNames.QUANTUM_TRANSCEIVER) { Item(DEFAULT_PROPERTIES) } val ELECTROMAGNET: Item by registry.register(MNames.ELECTROMAGNET) { Item(DEFAULT_PROPERTIES) } @@ -543,32 +570,31 @@ object MItems { * List of components for everything else */ val COMPONENTS = SupplierList( - ::MATTER_IO_PORT, - ::MATTER_TRANSFORM_MATRIX, - ::ENERGY_BUS, - ::ELECTRIC_PARTS, - ::MACHINE_FRAME, - ::TRITANIUM_PLATE, - ::IRON_PLATE, - ::GOLD_PLATE, - ::COPPER_WIRING, - ::GOLD_WIRING, - ::PORTABLE_CONDENSATION_DRIVE_CASING, - ::PORTABLE_DENSE_CONDENSATION_DRIVE_CASING, - ::CIRCUIT_PLATING, - ::BASIC_CONTROL_CIRCUIT, - ::ADVANCED_CONTROL_CIRCUIT, - ::MATTER_CAPACITOR_PARTS, + MItems::MATTER_IO_PORT, + MItems::MATTER_TRANSFORM_MATRIX, + MItems::ENERGY_BUS, + MItems::ELECTRIC_PARTS, + MItems::MACHINE_FRAME, + MItems::TRITANIUM_PLATE, + MItems::IRON_PLATE, + MItems::GOLD_PLATE, + MItems::COPPER_WIRING, + MItems::GOLD_WIRING, + MItems::PORTABLE_CONDENSATION_DRIVE_CASING, + MItems::PORTABLE_DENSE_CONDENSATION_DRIVE_CASING, + MItems::CIRCUIT_PLATING, + MItems::BASIC_CONTROL_CIRCUIT, + MItems::ADVANCED_CONTROL_CIRCUIT, + MItems::MATTER_CAPACITOR_PARTS, - ::QUANTUM_TRANSCEIVER, - ::ELECTROMAGNET, - ::ELECTROMOTOR, - ::MIRROR_COMPOUND, - ::MIRROR, + MItems::QUANTUM_TRANSCEIVER, + MItems::ELECTROMAGNET, + MItems::ELECTROMOTOR, + MItems::MIRROR_COMPOUND, + MItems::MIRROR, - ::CARBON_MESH, - ::ARMOR_ASSEMBLY, - ::REINFORCED_TRITANIUM_PLATE, + MItems::CARBON_MESH, + MItems::REINFORCED_TRITANIUM_PLATE, MachineUpgrades.Basic::BLANK, MachineUpgrades.Normal::BLANK, @@ -579,28 +605,27 @@ object MItems { * List of components for datagen code */ val DATAGEN_COMPONENTS = SupplierList( - ::ENERGY_BUS, - ::ELECTRIC_PARTS, - ::TRITANIUM_PLATE, - ::IRON_PLATE, - ::GOLD_PLATE, - ::COPPER_WIRING, - ::GOLD_WIRING, - ::CIRCUIT_PLATING, - ::BASIC_CONTROL_CIRCUIT, - ::ADVANCED_CONTROL_CIRCUIT, - ::MATTER_CAPACITOR_PARTS, - ::MATTER_IO_PORT, - ::MATTER_TRANSFORM_MATRIX, - ::QUANTUM_TRANSCEIVER, - ::ELECTROMAGNET, - ::ELECTROMOTOR, - ::MIRROR_COMPOUND, - ::MIRROR, + MItems::ENERGY_BUS, + MItems::ELECTRIC_PARTS, + MItems::TRITANIUM_PLATE, + MItems::IRON_PLATE, + MItems::GOLD_PLATE, + MItems::COPPER_WIRING, + MItems::GOLD_WIRING, + MItems::CIRCUIT_PLATING, + MItems::BASIC_CONTROL_CIRCUIT, + MItems::ADVANCED_CONTROL_CIRCUIT, + MItems::MATTER_CAPACITOR_PARTS, + MItems::MATTER_IO_PORT, + MItems::MATTER_TRANSFORM_MATRIX, + MItems::QUANTUM_TRANSCEIVER, + MItems::ELECTROMAGNET, + MItems::ELECTROMOTOR, + MItems::MIRROR_COMPOUND, + MItems::MIRROR, - ::CARBON_MESH, - ::ARMOR_ASSEMBLY, - ::REINFORCED_TRITANIUM_PLATE, + MItems::CARBON_MESH, + MItems::REINFORCED_TRITANIUM_PLATE, ) val CARGO_CRATE_MINECARTS = registry.coloredWithBase(MNames.MINECART_CARGO_CRATE, ::MinecartCargoCrateItem) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MMenus.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MMenus.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MMenus.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MMenus.kt index a00498868..0d91332d9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MMenus.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MMenus.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.world.flag.FeatureFlags @@ -77,6 +77,8 @@ import ru.dbotthepony.mc.otm.menu.tech.ItemHatchMenu import ru.dbotthepony.mc.otm.menu.tech.MatterHatchMenu import ru.dbotthepony.mc.otm.menu.tech.PlatePressMenu import ru.dbotthepony.mc.otm.menu.tech.PoweredFurnaceMenu +import ru.dbotthepony.mc.otm.registry.MDeferredRegister +import ru.dbotthepony.mc.otm.registry.MNames object MMenus { private val registry = MDeferredRegister(BuiltInRegistries.MENU) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRecipes.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MRecipes.kt similarity index 94% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRecipes.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MRecipes.kt index 5bf2f9bb6..ddf504cb2 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRecipes.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MRecipes.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.world.item.crafting.Recipe @@ -7,6 +7,7 @@ import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.recipe.* +import ru.dbotthepony.mc.otm.registry.MDeferredRegister @Suppress("SameParameterValue") object MRecipes { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MSoundEvents.kt similarity index 91% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MSoundEvents.kt index 83c32d073..cfc556f38 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MSoundEvents.kt @@ -1,10 +1,11 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.sounds.SoundEvent import net.neoforged.bus.api.IEventBus import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation +import ru.dbotthepony.mc.otm.registry.MDeferredRegister object MSoundEvents { private val registry: MDeferredRegister = MDeferredRegister(BuiltInRegistries.SOUND_EVENT, OverdriveThatMatters.MOD_ID) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MStats.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MStats.kt similarity index 91% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/MStats.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MStats.kt index 1408348a3..01076364a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MStats.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MStats.kt @@ -1,10 +1,11 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.stats.StatFormatter import net.minecraft.stats.Stats import net.neoforged.bus.api.IEventBus import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent +import ru.dbotthepony.mc.otm.registry.MDeferredRegister import ru.dbotthepony.mc.otm.registry.StatNames.DAMAGE_ABSORBED import ru.dbotthepony.mc.otm.registry.StatNames.HEALTH_REGENERATED import ru.dbotthepony.mc.otm.registry.StatNames.POWER_CONSUMED diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/SuspiciousFoods.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/SuspiciousFoods.kt similarity index 98% rename from src/main/kotlin/ru/dbotthepony/mc/otm/registry/SuspiciousFoods.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/SuspiciousFoods.kt index dea6f78e7..c49f84a86 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/SuspiciousFoods.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/SuspiciousFoods.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.registry +package ru.dbotthepony.mc.otm.registry.game import net.minecraft.core.registries.Registries import net.minecraft.tags.TagKey @@ -9,6 +9,7 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.core.collect.SupplierList import ru.dbotthepony.mc.otm.item.consumables.NotNormalFood +import ru.dbotthepony.mc.otm.registry.MDeferredRegister @Suppress("PropertyName") class SuspiciousFoods(registry: MDeferredRegister) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/saveddata/SavedCountingMap.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/saveddata/SavedCountingMap.kt deleted file mode 100644 index 087240065..000000000 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/saveddata/SavedCountingMap.kt +++ /dev/null @@ -1,143 +0,0 @@ -package ru.dbotthepony.mc.otm.saveddata - -import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap -import it.unimi.dsi.fastutil.ints.Int2ObjectFunction -import net.minecraft.core.HolderLookup -import net.minecraft.nbt.CompoundTag -import net.minecraft.nbt.IntTag -import net.minecraft.nbt.ListTag -import net.minecraft.nbt.Tag -import net.minecraft.world.level.saveddata.SavedData -import org.apache.logging.log4j.LogManager -import ru.dbotthepony.mc.otm.core.collect.ProxiedMap -import ru.dbotthepony.mc.otm.core.nbt.set -import ru.dbotthepony.mc.otm.core.util.WriteOnce - -class SavedMapDelegate(val parent: SavedCountingMap>?, val index: Int, value: V) { - constructor(value: V) : this(null, -1, value) - - var value: V = value - set(value) { - if (field != value) { - field = value - parent?.isDirty = true - } - } - - companion object { - fun makeMap( - serializer: (value: V) -> Tag, - deserializer: (nbt: Tag) -> V, - defaultValue: V - ): SavedCountingMap> { - return SavedCountingMap( - serializer = { _, value, _ -> serializer.invoke(value.value) }, - deserializer = { map, nbt, index -> SavedMapDelegate(map, index, deserializer.invoke(nbt)) }, - factory = { map, index -> SavedMapDelegate(map, index, defaultValue) } - ) - } - } -} - -private class ProxiedCountingMap : ProxiedMap(Int2ObjectAVLTreeMap()) { - var parent: SavedCountingMap by WriteOnce() - - override fun onClear() { - parent.isDirty = true - } - - override fun onValueAdded(key: Int, value: T) { - parent.isDirty = true - } - - override fun onValueRemoved(key: Int, value: T) { - parent.isDirty = true - } -} - -class SavedCountingMap private constructor( - val serializer: (map: SavedCountingMap, value: T, index: Int) -> Tag, - val deserializer: (map: SavedCountingMap, nbt: Tag, index: Int) -> T, - val factory: (map: SavedCountingMap, index: Int) -> T, - private val map: ProxiedCountingMap -) : SavedData(), MutableMap by map { - constructor( - serializer: (map: SavedCountingMap, value: T, index: Int) -> Tag, - deserializer: (map: SavedCountingMap, nbt: Tag, index: Int) -> T, - factory: (map: SavedCountingMap, index: Int) -> T, - ) : this(serializer, deserializer, factory, ProxiedCountingMap()) - - init { - map.parent = this - } - - var nextIndex = 0 - private set - - fun computeIfAbsent(index: Int): T { - return map.computeIfAbsent(index, Int2ObjectFunction { - isDirty = true - return@Int2ObjectFunction factory.invoke(this, it) - }) - } - - fun factorize(): T { - return computeIfAbsent(nextIndex++) - } - - override fun save(output: CompoundTag, registry: HolderLookup.Provider): CompoundTag { - output["map"] = ListTag().also { - for ((key, value) in this.map) { - val compound = CompoundTag() - - try { - compound["value"] = this.serializer.invoke(this, value, key) - it.add(compound) - } catch(err: Exception) { - LOGGER.error("Unable to serialize $value at $key", err) - continue - } - - compound["key"] = key - } - } - - output["next_index"] = nextIndex - - return output - } - - fun load(input: CompoundTag): SavedCountingMap { - this.map.clear() - - val map = input["map"] as? ListTag ?: ListTag() - var maximal = -1 - - for (value in map) { - if (value !is CompoundTag) { - continue - } - - val key = (value["key"] as IntTag?)?.asInt ?: continue - val nbt = value["value"] ?: continue - - try { - val deserialized = this.deserializer.invoke(this, nbt, key) - this.map.put(key, deserialized) - } catch(err: Exception) { - LOGGER.error("Unable to deserialize value in $this at $key", err) - } - - maximal = maximal.coerceAtLeast(key) - } - - nextIndex = (input["next_index"] as IntTag?)?.asInt ?: (maximal + 1) - - isDirty = false - return this - } - - companion object { - private val LOGGER = LogManager.getLogger() - } -} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/feature/BlackHolePlacer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/feature/BlackHolePlacer.kt index 374c5fe4b..4c0056db6 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/feature/BlackHolePlacer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/worldgen/feature/BlackHolePlacer.kt @@ -10,7 +10,7 @@ import ru.dbotthepony.mc.otm.config.ServerConfig import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.math.nextDecimal import ru.dbotthepony.mc.otm.data.codec.DecimalCodec -import ru.dbotthepony.mc.otm.registry.MBlocks +import ru.dbotthepony.mc.otm.registry.game.MBlocks object BlackHolePlacerFeature : Feature( RecordCodecBuilder.create { diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_connection_powered.json b/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_connection_powered.json index bf7e7a417..d27a7f9c3 100644 --- a/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_connection_powered.json +++ b/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_connection_powered.json @@ -13,7 +13,10 @@ "west": {"uv": [6, 6, 11, 12], "texture": "#0"}, "up": {"uv": [6, 6, 11, 12], "rotation": 90, "texture": "#0"}, "down": {"uv": [6, 6, 11, 12], "rotation": 90, "texture": "#0"} - } + }, + "neoforge_data": { + "block_light": 15 + } } ] } \ No newline at end of file diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_core_powered.json b/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_core_powered.json index 8c9d95aef..17011d0f4 100644 --- a/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_core_powered.json +++ b/src/main/resources/assets/overdrive_that_matters/models/block/base_cable_core_powered.json @@ -15,7 +15,10 @@ "west": {"uv": [0, 6, 6, 12], "texture": "#0"}, "up": {"uv": [0, 6, 6, 12], "texture": "#0"}, "down": {"uv": [0, 6, 6, 12], "texture": "#0"} - } + }, + "neoforge_data": { + "block_light": 15 + } } ] } \ No newline at end of file diff --git a/src/main/resources/assets/overdrive_that_matters/models/item/pattern_drive_normal.json b/src/main/resources/assets/overdrive_that_matters/models/item/pattern_drive_normal.json deleted file mode 100644 index 9a6074d73..000000000 --- a/src/main/resources/assets/overdrive_that_matters/models/item/pattern_drive_normal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "overdrive_that_matters:item/pattern_drive_tier2" - } -} diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/deepslate_dilithium_ore.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/deepslate_dilithium_ore.png new file mode 100644 index 000000000..d36635b4d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/deepslate_dilithium_ore.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_crystal_block.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_crystal_block.png new file mode 100644 index 000000000..d36635b4d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_crystal_block.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_ore.png b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_ore.png new file mode 100644 index 000000000..d36635b4d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/resource/dilithium_ore.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/resources/dilithium_crystal.png b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/dilithium_crystal.png new file mode 100644 index 000000000..d36635b4d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/dilithium_crystal.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_dust.png b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_dust.png similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_dust.png rename to src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_dust.png diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_ingot.png b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_ingot.png similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_ingot.png rename to src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_ingot.png diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_nugget.png b/src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_nugget.png similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/textures/item/component/tritanium_nugget.png rename to src/main/resources/assets/overdrive_that_matters/textures/item/resources/tritanium_nugget.png