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 29b378bf5..194784963 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 @@ -44,6 +44,26 @@ fun addChestLootTables(loot: LootTables) { } } + loot.builder(LootContextParamSets.VAULT, modLootTable("laboratory_vault")){ + lootPool { + item(MItems.MATTER_DUST) { + chanceCondition(0.1) + setWeight(4) + apply(MatterDustItem.Randomizer(UniformDecimal(Decimal(100), Decimal(2_500)))) + } + item(Items.IRON_INGOT) { + setCount(minimal = 1, maximal = 3) + setWeight(3) + } + + } + } + + loot.builder(LootContextParamSets.VAULT, modLootTable("laboratory_ominous_vault")){ + + + } + loot.builder(LootContextParamSets.CHEST, modLootTable("frigate_cargo")) { lootPool { item(Items.IRON_INGOT) { diff --git a/src/main/java/ru/dbotthepony/mc/otm/client/model/entity/LoaderModel.java b/src/main/java/ru/dbotthepony/mc/otm/client/model/entity/LoaderModel.java index fb6f7fe48..03d63a3e6 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/client/model/entity/LoaderModel.java +++ b/src/main/java/ru/dbotthepony/mc/otm/client/model/entity/LoaderModel.java @@ -78,7 +78,7 @@ public class LoaderModel { this.animate(entity.getIdleState(), LoaderAnimation.ATTACK, ageInTicks, 1.0F); } - this.animateWalk(LoaderAnimation.MOVE, limbSwing, limbSwingAmount, 1.0F, 2.5F); + this.animateWalk(LoaderAnimation.MOVE, limbSwing, limbSwingAmount, 0.8F, 2.5F); this.animate(entity.getIdleState(), LoaderAnimation.IDLE, ageInTicks, 1.0F); } 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 c94c15b68..0564d0670 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 @@ -5,6 +5,8 @@ import net.minecraft.client.Minecraft import net.minecraft.core.BlockPos import net.minecraft.core.HolderLookup import net.minecraft.core.SectionPos +import net.minecraft.core.particles.DustParticleOptions +import net.minecraft.core.particles.ParticleTypes import net.minecraft.nbt.CompoundTag import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerPlayer @@ -211,6 +213,31 @@ class BlackHoleBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : Mattery val distance = item.position().distanceTo(center) setDeltaMovement(item, center, distance) } + + //no way null malware reference + val tempLevel = level + if (tempLevel?.otmRandom!!.nextFloat() < 0.8f) { + + val size = gravitationStrength.pow(0.5) + val eventHorizonRadius = size / 2 + + val spawnRadius = 4 + eventHorizonRadius * (1.2 + tempLevel.otmRandom.nextDouble() * 0.6) + + val theta = tempLevel.otmRandom.nextDouble() * Math.PI * 2 + val phi = tempLevel.otmRandom.nextDouble() * Math.PI - Math.PI / 2 + + //мугек я не ощущаю центр + //хз нужно настроить + val x = blockPos.x + 0.5 + spawnRadius * Math.cos(theta) * Math.cos(phi) + val y = blockPos.y + 0.5 + spawnRadius * Math.sin(phi) + val z = blockPos.z + 0.5 + spawnRadius * Math.sin(theta) * Math.cos(phi) + + val motionX = (blockPos.x + 0.5 - x) * 0.05 + val motionY = (blockPos.y - 1.5 - y) * 0.05 + val motionZ = (blockPos.z + 0.5 - z) * 0.05 + + tempLevel.addParticle(ParticleTypes.SMOKE, x, y, z, motionX, motionY, motionZ) + } } private val sphericalPositionsCache = ArrayList() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/cable/EnergyCableGraph.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/cable/EnergyCableGraph.kt index 49b77cbe7..8434ce627 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/cable/EnergyCableGraph.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/cable/EnergyCableGraph.kt @@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.block.entity.cable import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap import it.unimi.dsi.fastutil.objects.ReferenceArraySet import it.unimi.dsi.fastutil.objects.ReferenceLinkedOpenHashSet +import net.minecraft.core.Direction import org.apache.logging.log4j.LogManager import ru.dbotthepony.mc.otm.SERVER_IS_LIVE import ru.dbotthepony.mc.otm.UNIVERSE_TICKS @@ -74,16 +75,20 @@ private class LinkedPriorityQueue> { } class EnergyCableGraph : GraphNodeList() { - private val livelyNodes = HashSet() - private val livelyNodesList = ArrayList() + private val livelyNodes = HashSet>() + private val livelyNodesList = ArrayList>() fun addLivelyNode(node: EnergyCableBlockEntity.Node) { when (contains(node)) { ContainsStatus.ABOUT_TO_BE_REMOVED, ContainsStatus.ABOUT_TO_BE_ADDED -> { } // do nothing ContainsStatus.DOES_NOT_BELONG -> throw IllegalArgumentException("$node does not belong to $this") ContainsStatus.CONTAINS -> { - if (livelyNodes.add(node)) { - livelyNodesList.add(node) + for (dir in RelativeSide.entries) { + val pair = node to dir + + if (livelyNodes.add(pair)) { + livelyNodesList.add(pair) + } } } } @@ -584,8 +589,12 @@ class EnergyCableGraph : GraphNodeList() @@ -608,8 +617,11 @@ class EnergyCableGraph : GraphNodeList() - for (node in itr) { - var hit = false + for (pair in itr) { + val (node, relSide) = pair + val side = node.sides[relSide]!! - for (side in node.sides.values) { - if (!side.isEnabled) - continue - else if (fromNode === node && side.side === fromSide) { - hit = true - continue - } - - val it = side.neighbour.get() ?: continue - if (it is EnergyCableBlockEntity.CableSide) continue - - val paths = getPath(fromNode, node, it.receiveEnergy(residue, true), !simulate) - hit = true - - if (paths.size == 1) { - // Single path, fast scenario - val path = paths[0] - val pathTransferred = path.transfer(residue, simulate, snapshot) - if (pathTransferred <= Decimal.ZERO) continue - val thisReceived = it.receiveEnergy(pathTransferred, simulate) - - // If cable transferred more than machine accepted, then "refund" energy - // so cables record actual value transferred through them - if (thisReceived != pathTransferred) { - path.refund(pathTransferred - thisReceived, simulate, snapshot) - - if (!simulate && thisReceived != Decimal.ZERO) { - path.triggerBlockstateUpdates() - } - } else if (!simulate) { - path.triggerBlockstateUpdates() - } - - received += thisReceived - residue -= thisReceived - if (!residue.isPositive) return received - } else if (paths.size >= 2) { - // Multiple paths, a bit more complicated - // Determine how much machine is likely to accept - val potentiallyAccepted = it.receiveEnergy(residue, true) - - // Won't accept anything - if (potentiallyAccepted <= Decimal.ZERO) continue - - // Now determine combined available throughput - // Make a copy of snapshot, so we can freely write into it - val copy = snapshot.clone() - var calcResidue = potentiallyAccepted - - // TODO: Currently, all transfers cause Braess's paradox, because of greedy selection of "fastest" cable - // Need to implement heuristics to better distribute load across different paths/segments - for (path in paths) { - val passed = path.transfer(calcResidue, true, copy) - calcResidue -= passed - if (calcResidue <= Decimal.ZERO) break - } - - if (calcResidue == potentiallyAccepted) { - // мда - continue - } - - var thisReceived = it.receiveEnergy(potentiallyAccepted - calcResidue, simulate) - received += thisReceived - residue -= thisReceived - - for (path in paths) { - val passed = path.transfer(thisReceived, simulate, snapshot) - - if (!simulate) - path.triggerBlockstateUpdates() - - thisReceived -= passed - if (thisReceived <= Decimal.ZERO) break - } - - if (!residue.isPositive) return received - //check(thisReceived <= Decimal.ZERO) { "Путом, алло, Путом, какого чёрта Путом? Путом почему ты заблокировал логику, а Путом?" } - - if (thisReceived > Decimal.ZERO) { - LOGGER.warn("Cable path from $fromNode to $node doesn't follow common sense, disabling.") - paths.forEach { it.shortCircuit = true } - } - } + if (!side.isEnabled) { + itr.remove() + check(livelyNodes.remove(pair)) { "Lively nodes Set does not contain $pair" } + continue + } else if (fromNode === node && side.side === fromSide) { + continue } - if (!hit) { + val it = side.neighbour.get() + + if (it == null || it is EnergyCableBlockEntity.CableSide) { itr.remove() - check(livelyNodes.remove(node)) { "Lively nodes Set does not contain $node" } + check(livelyNodes.remove(pair)) { "Lively nodes Set does not contain $pair" } + continue + } + + val paths = getPath(fromNode, node, it.receiveEnergy(residue, true), !simulate) + + if (paths.size == 1) { + // Single path, fast scenario + val path = paths[0] + val pathTransferred = path.transfer(residue, simulate, snapshot) + if (pathTransferred <= Decimal.ZERO) continue + val thisReceived = it.receiveEnergy(pathTransferred, simulate) + + // If cable transferred more than machine accepted, then "refund" energy + // so cables record actual value transferred through them + if (thisReceived != pathTransferred) { + path.refund(pathTransferred - thisReceived, simulate, snapshot) + + if (!simulate && thisReceived != Decimal.ZERO) { + path.triggerBlockstateUpdates() + } + } else if (!simulate) { + path.triggerBlockstateUpdates() + } + + received += thisReceived + residue -= thisReceived + if (!residue.isPositive) return received + } else if (paths.size >= 2) { + // Multiple paths, a bit more complicated + // Determine how much machine is likely to accept + val potentiallyAccepted = it.receiveEnergy(residue, true) + + // Won't accept anything + if (potentiallyAccepted <= Decimal.ZERO) continue + + // Now determine combined available throughput + // Make a copy of snapshot, so we can freely write into it + val copy = snapshot.clone() + var calcResidue = potentiallyAccepted + + // TODO: Currently, all transfers cause Braess's paradox, because of greedy selection of "fastest" cable + // Need to implement heuristics to better distribute load across different paths/segments + for (path in paths) { + val passed = path.transfer(calcResidue, true, copy) + calcResidue -= passed + if (calcResidue <= Decimal.ZERO) break + } + + if (calcResidue == potentiallyAccepted) { + // мда + continue + } + + var thisReceived = it.receiveEnergy(potentiallyAccepted - calcResidue, simulate) + received += thisReceived + residue -= thisReceived + + for (path in paths) { + val passed = path.transfer(thisReceived, simulate, snapshot) + + if (!simulate) + path.triggerBlockstateUpdates() + + thisReceived -= passed + if (thisReceived <= Decimal.ZERO) break + } + + if (!residue.isPositive) return received + //check(thisReceived <= Decimal.ZERO) { "Путом, алло, Путом, какого чёрта Путом? Путом почему ты заблокировал логику, а Путом?" } + + if (thisReceived > Decimal.ZERO) { + LOGGER.warn("Cable path from $fromNode to $node doesn't follow common sense, disabling.") + paths.forEach { it.shortCircuit = true } + } } } 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 03e4d3d46..2ee8e33e0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -331,8 +331,8 @@ object MNames { const val LOADER = "loader" const val ANDROID_MELEE = "android_melee" - const val ANDROID_RANGED = "android_melee" - const val ANDROID_OVERSEER = "android_melee" + const val ANDROID_RANGED = "android_ranged" + const val ANDROID_OVERSEER = "android_overseer" const val PHANTOM_ATTRACTOR = "phantom_attractor" const val JUMP_BOOST = "jump_boost" diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_0.nbt deleted file mode 100644 index 91e1743a4..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_1.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_1.nbt deleted file mode 100644 index dc8d66ccb..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/center/lab_arena_1.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/crossroads/vertical_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/crossroads/vertical_a.nbt new file mode 100644 index 000000000..73b6e2d6d Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/crossroads/vertical_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/dead_end.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/dead_end.nbt deleted file mode 100644 index 80a839063..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/dead_end.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/entrance/entrance_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/entrance/entrance_a.nbt new file mode 100644 index 000000000..0dd47493f Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/entrance/entrance_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/chair.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/chair.nbt new file mode 100644 index 000000000..54ba222ab Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/chair.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/office.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/office.nbt new file mode 100644 index 000000000..558fb616a Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/office.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/refinery.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/refinery.nbt new file mode 100644 index 000000000..d9c12ff42 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/refinery.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/server.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/server.nbt new file mode 100644 index 000000000..8253c2bf4 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/server.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/storage.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/storage.nbt new file mode 100644 index 000000000..c72adba79 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/fluff/storage.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback.nbt new file mode 100644 index 000000000..c50077b8a Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback_core.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback_core.nbt new file mode 100644 index 000000000..ae035eca5 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/hall_fallback_core.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge.nbt new file mode 100644 index 000000000..6e2e04cb4 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_broken.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_broken.nbt new file mode 100644 index 000000000..b1915e2e8 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_broken.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_repair.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_repair.nbt new file mode 100644 index 000000000..c3886967b Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_repair.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_wood.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_wood.nbt new file mode 100644 index 000000000..15bdcc02c Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/bridges/bridge_wood.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/center/center_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/center/center_a.nbt new file mode 100644 index 000000000..98326a1cd Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/center/center_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/camp_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/camp_a.nbt new file mode 100644 index 000000000..cd4d2b46a Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/camp_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/junk_array.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/junk_array.nbt new file mode 100644 index 000000000..8e44a0a4f Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/junk_array.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/stockpile.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/stockpile.nbt new file mode 100644 index 000000000..601f846b7 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/decor/stockpile.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/hall1/hall_overgrown.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/hall1/hall_overgrown.nbt new file mode 100644 index 000000000..4769910cb Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/halls/hall1/hall_overgrown.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/lava.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/lava.nbt new file mode 100644 index 000000000..c9f367aef Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/lava.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_a.nbt new file mode 100644 index 000000000..74677794e Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_b.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_b.nbt new file mode 100644 index 000000000..aa9e218d7 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/stairs_b.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/turn_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/turn_a.nbt new file mode 100644 index 000000000..6c4e167dd Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/intersections/turn_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_0.nbt deleted file mode 100644 index 2aabd6086..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_1.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_1.nbt deleted file mode 100644 index 5a592b1b6..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_1.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_room_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_room_0.nbt deleted file mode 100644 index f6933f512..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_room_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_stairs_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_stairs_0.nbt deleted file mode 100644 index f0a1e8f1b..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_stairs_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_turn_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_turn_0.nbt deleted file mode 100644 index 7d5c1d8cd..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corridor_turn_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corrior_t_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corrior_t_0.nbt deleted file mode 100644 index a005157f9..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/corrior_t_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/generator_room_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/generator_room_0.nbt deleted file mode 100644 index b8a71e7ab..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/generator_room_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/portal_room_0.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/portal_room_0.nbt deleted file mode 100644 index 9f602edbd..000000000 Binary files a/src/main/resources/data/overdrive_that_matters/structure/laboratory/main/portal_room_0.nbt and /dev/null differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward.nbt new file mode 100644 index 000000000..3ec08472d Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_ominous_wall.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_ominous_wall.nbt new file mode 100644 index 000000000..3412c4405 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_ominous_wall.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_wall.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_wall.nbt new file mode 100644 index 000000000..315a36262 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/reward/reward_wall.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_a.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_a.nbt new file mode 100644 index 000000000..85ff54896 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_a.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_b.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_b.nbt new file mode 100644 index 000000000..3ae979496 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/rooms/office_b.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_melee.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_melee.nbt new file mode 100644 index 000000000..7cb5852f2 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_melee.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_ranged.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_ranged.nbt new file mode 100644 index 000000000..13d7d691f Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_android_ranged.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_drone.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_drone.nbt new file mode 100644 index 000000000..885c0d3e1 Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_drone.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_loader.nbt b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_loader.nbt new file mode 100644 index 000000000..4618f486a Binary files /dev/null and b/src/main/resources/data/overdrive_that_matters/structure/laboratory/spawner/s_loader.nbt differ diff --git a/src/main/resources/data/overdrive_that_matters/tags/worldgen/biome/laboratory.json b/src/main/resources/data/overdrive_that_matters/tags/worldgen/biome/laboratory.json index ef6cc1d5b..e0c65ff3a 100644 --- a/src/main/resources/data/overdrive_that_matters/tags/worldgen/biome/laboratory.json +++ b/src/main/resources/data/overdrive_that_matters/tags/worldgen/biome/laboratory.json @@ -2,6 +2,7 @@ "replace": false, "values": [ "#c:is_desert", - "minecraft:plains" + "minecraft:plains", + "minecraft:taiga" ] } \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/processor_list/laboratory_weathering.json b/src/main/resources/data/overdrive_that_matters/worldgen/processor_list/laboratory_weathering.json new file mode 100644 index 000000000..da106f343 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/processor_list/laboratory_weathering.json @@ -0,0 +1,61 @@ +{ + "processors": [ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "input_predicate": { + "block": "overdrive_that_matters:tritanium_block_light_gray", + "predicate_type": "minecraft:random_block_match", + "probability": 0.2 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "overdrive_that_matters:decorative_crate" + } + }, + { + "input_predicate": { + "block": "overdrive_that_matters:metal_mesh", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "minecraft:air" + } + }, + { + "input_predicate": { + "block": "overdrive_that_matters:floor_tiles_stairs_white", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "overdrive_that_matters:floor_tiles_slab_white" + } + }, + { + "input_predicate": { + "block": "overdrive_that_matters:reinforced_redstone_lamp_inverted", + "predicate_type": "minecraft:random_block_match", + "probability": 0.3 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "overdrive_that_matters:reinforced_redstone_lamp" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/structure/laboratory.json b/src/main/resources/data/overdrive_that_matters/worldgen/structure/laboratory.json index 48fb4c86c..dee1b2d9c 100644 --- a/src/main/resources/data/overdrive_that_matters/worldgen/structure/laboratory.json +++ b/src/main/resources/data/overdrive_that_matters/worldgen/structure/laboratory.json @@ -1,18 +1,24 @@ { "type": "minecraft:jigsaw", "biomes": "#overdrive_that_matters:laboratory", - "max_distance_from_center": 100, + "max_distance_from_center": 112, "liquid_settings": "ignore_waterlogging", - "size": 7, + "size": 10, "start_height": { - "absolute": -13 + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 30 + }, + "min_inclusive": { + "absolute": -13 + } }, "spawn_overrides": { "monster": { "bounding_box": "piece", "spawns": [ { - "type": "minecraft:pillager", + "type": "overdrive_that_matters:android_melee", "weight": 1, "minCount": 1, "maxCount": 2 @@ -21,7 +27,7 @@ } }, "start_jigsaw_name": "overdrive_that_matters:laboratory_anchor", - "start_pool": "overdrive_that_matters:laboratory/center", + "start_pool": "overdrive_that_matters:laboratory/entrance", "step": "underground_decoration", "terrain_adaption": "encapsulate", "use_expansion_hack": false diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/structure_set/laboratory.json b/src/main/resources/data/overdrive_that_matters/worldgen/structure_set/laboratory.json index 17eec2b53..bc3884074 100644 --- a/src/main/resources/data/overdrive_that_matters/worldgen/structure_set/laboratory.json +++ b/src/main/resources/data/overdrive_that_matters/worldgen/structure_set/laboratory.json @@ -3,7 +3,7 @@ "type": "minecraft:random_spread", "salt": 20803232, "separation": 8, - "spacing": 24 + "spacing": 12 }, "structures": [ { diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/center.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/center.json deleted file mode 100644 index a1755480b..000000000 --- a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/center.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "overdrive_that_matters:center", - "elements": [ - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/center/lab_arena_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 1 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/center/lab_arena_1", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 1 - } - ], - "fallback": "minecraft:empty" -} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/crossroads.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/crossroads.json new file mode 100644 index 000000000..78b45a506 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/crossroads.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:crossroads", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/crossroads/vertical_a", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "overdrive_that_matters:laboratory/fallback_pool" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/entrance.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/entrance.json new file mode 100644 index 000000000..82b72c1d2 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/entrance.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:entrance", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/entrance/entrance_a", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fallback_pool.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fallback_pool.json index 0a49ae437..012a9cdff 100644 --- a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fallback_pool.json +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fallback_pool.json @@ -4,7 +4,16 @@ { "element": { "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/dead_end", + "location": "overdrive_that_matters:laboratory/hall_fallback", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/hall_fallback_core", "processors": "minecraft:empty", "projection": "rigid" }, diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fluff.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fluff.json new file mode 100644 index 000000000..842108e80 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/fluff.json @@ -0,0 +1,51 @@ +{ + "name": "overdrive_that_matters:fluff", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/fluff/chair", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/fluff/office", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/fluff/refinery", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/fluff/server", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/fluff/storage", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/bridges.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/bridges.json new file mode 100644 index 000000000..0812661ad --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/bridges.json @@ -0,0 +1,48 @@ +{ + "name": "overdrive_that_matters:bridges", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/bridges/bridge", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 3 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/bridges/bridge_broken", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 3 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/bridges/bridge_repair", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 3 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/bridges/bridge_wood", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 2 + }, + { + "element": { + "element_type": "minecraft:empty_pool_element" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/center.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/center.json new file mode 100644 index 000000000..e8fd9f25e --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/center.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:center", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/center/center_a", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/decor.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/decor.json new file mode 100644 index 000000000..1c7c32736 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/decor.json @@ -0,0 +1,33 @@ +{ + "name": "overdrive_that_matters:bridges", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/decor/camp_a", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/decor/junk_array", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/decor/stockpile", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall1.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall1.json new file mode 100644 index 000000000..b7cb559ac --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall1.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:hall1", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/hall1/hall_overgrown", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "overdrive_that_matters:laboratory/fallback_pool" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall2.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall2.json new file mode 100644 index 000000000..1855da75c --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/halls/hall2.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:hall2", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/halls/hall1/hall_overgrown", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 4 + } + ], + "fallback": "overdrive_that_matters:laboratory/fallback_pool" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/intersections.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/intersections.json new file mode 100644 index 000000000..27a79311d --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/intersections.json @@ -0,0 +1,42 @@ +{ + "name": "overdrive_that_matters:intersections", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/intersections/stairs_a", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 3 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/intersections/stairs_b", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 3 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/intersections/turn_a", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/intersections/lava", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "overdrive_that_matters:laboratory/fallback_pool" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/main.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/main.json deleted file mode 100644 index 02e63ee92..000000000 --- a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/main.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "name": "overdrive_that_matters:main", - "elements": [ - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corridor_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 4 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corridor_1", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 4 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corridor_turn_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 4 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corrior_t_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 3 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corridor_room_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 3 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/corridor_stairs_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 2 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/generator_room_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 2 - }, - { - "element": { - "element_type": "minecraft:single_pool_element", - "location": "overdrive_that_matters:laboratory/main/portal_room_0", - "processors": "minecraft:empty", - "projection": "rigid" - }, - "weight": 1 - } - ], - "fallback": "overdrive_that_matters:laboratory/fallback_pool" -} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward.json new file mode 100644 index 000000000..158ce9f0d --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:reward", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/reward/reward", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_ominous_wall.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_ominous_wall.json new file mode 100644 index 000000000..35cae1a4b --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_ominous_wall.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:reward_ominous_wall", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/reward/reward_ominous_wall", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_wall.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_wall.json new file mode 100644 index 000000000..ba43c3f2f --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/reward/reward_wall.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:reward_wall", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/reward/reward_wall", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/rooms.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/rooms.json new file mode 100644 index 000000000..adeebe432 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/rooms.json @@ -0,0 +1,24 @@ +{ + "name": "overdrive_that_matters:rooms", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/rooms/office_a", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + }, + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/rooms/office_b", + "processors": "overdrive_that_matters:laboratory_weathering", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "overdrive_that_matters:laboratory/fallback_pool" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_heavy.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_heavy.json new file mode 100644 index 000000000..f57705b3e --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_heavy.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:s_heavy", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/spawner/s_loader", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_melee.json b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_melee.json new file mode 100644 index 000000000..d58af319d --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/worldgen/template_pool/laboratory/spawner/s_melee.json @@ -0,0 +1,15 @@ +{ + "name": "overdrive_that_matters:s_heavy", + "elements": [ + { + "element": { + "element_type": "minecraft:single_pool_element", + "location": "overdrive_that_matters:laboratory/spawner/s_android_melee", + "processors": "minecraft:empty", + "projection": "rigid" + }, + "weight": 1 + } + ], + "fallback": "minecraft:empty" +} \ No newline at end of file