Set up ability to run commands from the terminal
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from tungston.core.ecology.biomefilter import BiomeFilter as BF
|
||||
from tungston.core.geology.depositcatalog import DepositCatalog
|
||||
from tungston.core.geology.deposit.inclusion import Inclusion as I
|
||||
from tungston.core.geology.deposit.metaldeposit import MetalDeposit
|
||||
from tungston.core.geology.depositcatalog import DepositCatalog
|
||||
from tungston.core.geology.inclusion import Inclusion as I
|
||||
from tungston.modpack.mysteriousisland.mineralcatalog import CATALOG as M
|
||||
|
||||
import tungston.core.altitude as AL
|
||||
@@ -16,13 +16,13 @@ import tungston.core.scarcity as SC
|
||||
|
||||
# Catalog ##########################################################################################
|
||||
|
||||
CATALOG = C = DepositCatalog(minerals)
|
||||
CATALOG = C = DepositCatalog()
|
||||
|
||||
C.add(MetalDeposit(
|
||||
name = "bif_iron",
|
||||
biomeFilter = BF([GE.METAMORPHIC, (HE.BOREAL, HE.FROZEN), HU.DAMP]),
|
||||
scarcity = SC.COMMON,
|
||||
minerals = [I(M.get("iron"), 50), I(M.get("quartz"), 45), I(M.get("uranium"), 5)],
|
||||
biomeFilter = BF([GE.METAMORPHIC, (HE.BOREAL, HE.FROZEN), HU.DAMP]),
|
||||
inclusions = [I(M.get("iron"), 50), I(M.get("quartz"), 45), I(M.get("uranium"), 5)],
|
||||
bulk = BU.LARGE,
|
||||
proportion = 0.2,
|
||||
))
|
||||
|
||||
@@ -16,27 +16,27 @@ def makeMineral(name:str, blockId:str, deepslateBlockId:None|str=None) -> Minera
|
||||
deepslateBlockId = deepslateBlockId if deepslateBlockId else blockId
|
||||
|
||||
return Mineral(name, [
|
||||
R.inStone(blockId),
|
||||
R.inDeepslate(blockId)
|
||||
Replacement.inStone(blockId),
|
||||
Replacement.inDeepslate(blockId)
|
||||
])
|
||||
|
||||
def makeOreMineral(name:str) -> Mineral:
|
||||
return Mineral(name, [
|
||||
R.inStone(f"{name}_ore"),
|
||||
R.inDeepslate(f"deepslate_{name}_ore")
|
||||
Replacement.inStone(f"{name}_ore"),
|
||||
Replacement.inDeepslate(f"deepslate_{name}_ore")
|
||||
])
|
||||
|
||||
def makeImmersiveEngineeringOreMineral(name:str) -> Mineral:
|
||||
return Mineral(name, [
|
||||
R.inStone(f"{IE}:ore_{name}"),
|
||||
R.inDeepslate("{IE}:deepslate_ore_{name}")
|
||||
]),
|
||||
Replacement.inStone(f"{IE}:ore_{name}"),
|
||||
Replacement.inDeepslate("{IE}:deepslate_ore_{name}")
|
||||
])
|
||||
|
||||
def makeRailcraftOreMineral(name:str) -> Mineral:
|
||||
return Mineral(name, [
|
||||
R.inStone(f"{RC}:{name}_ore"),
|
||||
R.inDeepslate("{RC}:deepslate_{name}_ore")
|
||||
]),
|
||||
Replacement.inStone(f"{RC}:{name}_ore"),
|
||||
Replacement.inDeepslate("{RC}:deepslate_{name}_ore")
|
||||
])
|
||||
|
||||
|
||||
# Catalog ##########################################################################################
|
||||
@@ -56,7 +56,7 @@ C.add(makeOreMineral("redstone"))
|
||||
# Crystals
|
||||
C.add(makeMineral("amethyst", "amethyst_block"))
|
||||
C.add(makeMineral("glowstone", "glowstone"))
|
||||
C.add(makeMineral("quartz", f"{OQ}:quartz_ore") f"{OQ}:deepslate_quartz_ore")
|
||||
C.add(makeMineral("quartz", f"{OQ}:quartz_ore", f"{OQ}:deepslate_quartz_ore"))
|
||||
C.add(makeMineral("salt", "butcher:saltblock"))
|
||||
|
||||
# Earth, gravel, etc.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
from tungston.core.ecology.biomefilter import BiomeFilter as BF
|
||||
from tungston.core.habitat import Habitat
|
||||
from tungston.core.fauna.mob import Mob
|
||||
from tungston.core.fauna.mobplacement import MobPlacement
|
||||
from tungston.core.fauna.mobcatalog import MobCatalog
|
||||
from tungston.core.fauna.mobplacement import MobPlacement
|
||||
|
||||
import tungston.core.active as AC
|
||||
import tungston.core.altitude as AL
|
||||
import tungston.core.ecology.flora as FL
|
||||
import tungston.core.ecology.geology as GE
|
||||
@@ -11,6 +11,7 @@ import tungston.core.ecology.heat as HE
|
||||
import tungston.core.ecology.humidity as HU
|
||||
import tungston.core.ecology.soil as SO
|
||||
import tungston.core.ecology.water as WA
|
||||
import tungston.core.fauna.active as AC
|
||||
import tungston.core.fauna.group as GR
|
||||
import tungston.core.fauna.location as LO
|
||||
import tungston.core.scarcity as SC
|
||||
@@ -22,17 +23,17 @@ import tungston.core.season as SE
|
||||
CATALOG = MobCatalog([
|
||||
MobPlacement(Mob("armadillo", "minecraft:armadillo", AC.NOCTURNAL),
|
||||
Habitat(
|
||||
altitude = AL.LOWLANDS,
|
||||
altitudes = AL.LOWLANDS,
|
||||
biomeFilter = BF([HE.SUBTROPICAL, HU.DRY]),
|
||||
seasons = SE.SUMMER,
|
||||
group = GR.merge(GR.SOLO, GR.PAIR),
|
||||
scarcity = SC.COMMON
|
||||
).derive(
|
||||
altitude = AL.UPLANDS, scarcity = SC.SPARSE,
|
||||
altitudes = AL.UPLANDS, scarcity = SC.SPARSE,
|
||||
).derive(
|
||||
altitude = AL.LOWLANDS, SE.excluding(SE.SUMMER), scarcity = SC.UNCOMMON,
|
||||
altitudes = AL.LOWLANDS, seasons = SE.excluding(SE.SUMMER), scarcity = SC.UNCOMMON,
|
||||
).derive(
|
||||
altitude = AL.UPLANDS, scarcity = SC.UNUSUAL,
|
||||
altitudes = AL.UPLANDS, scarcity = SC.UNUSUAL,
|
||||
)
|
||||
),
|
||||
MobPlacement(Mob("black_bear", "bearminimum:black_bear"),
|
||||
@@ -47,7 +48,7 @@ CATALOG = MobCatalog([
|
||||
).derive(
|
||||
seasons = SE.WINTER, scarcity = SC.UNUSUAL
|
||||
).derive(
|
||||
biomeFilter = BF([HE.BOREAL, (HE.CANOPY, HE.FOREST)]),
|
||||
biomeFilter = BF([HE.BOREAL, (FL.CANOPY, FL.FOREST)]),
|
||||
seasons = SE.AUTUMN,
|
||||
scarcity = SC.SPARSE
|
||||
).derive(
|
||||
@@ -65,7 +66,7 @@ CATALOG = MobCatalog([
|
||||
)
|
||||
),
|
||||
MobPlacement(Mob("bogged", "minecraft:bogged")),
|
||||
MobPlacement(Mob("brown_bear", "bearminimum:brown_bear")
|
||||
MobPlacement(Mob("brown_bear", "bearminimum:brown_bear"),
|
||||
Habitat(
|
||||
altitudes = AL.span(AL.LOWLANDS, AL.ALPINE),
|
||||
biomeFilter = BF([HE.BOREAL, (FL.CANOPY, FL.FOREST)]),
|
||||
@@ -93,7 +94,7 @@ CATALOG = MobCatalog([
|
||||
MobPlacement(Mob("cat", "minecraft:cat")),
|
||||
MobPlacement(Mob("cave_spider", "minecraft:cave_spider"),
|
||||
Habitat(
|
||||
altitudes = AL.SPAN(AL.OVERBURDEN, AL.HILLS),
|
||||
altitudes = AL.span(AL.OVERBURDEN, AL.HILLS),
|
||||
location = LO.CAVE,
|
||||
group = GR.SOLO,
|
||||
scarcity = SC.UNCOMMON
|
||||
@@ -102,27 +103,27 @@ CATALOG = MobCatalog([
|
||||
MobPlacement(Mob("chameleon", "cold_sweat:chameleon"),
|
||||
Habitat(
|
||||
altitudes = AL.span(AL.DUNES, AL.UPLANDS),
|
||||
biomeFilters = BF([HE.TROPICAL, HU.WET, [FL.CANOPY, FL.FOREST]]),
|
||||
biomeFilter = BF([HE.TROPICAL, HU.WET, [FL.CANOPY, FL.FOREST]]),
|
||||
seasons = SE.WET,
|
||||
groups = GR.merge(GR.SOLO, GR.FAMILY),
|
||||
group = GR.merge(GR.SOLO, GR.FAMILY),
|
||||
scarcity = SC.COMMON,
|
||||
).derive(
|
||||
seasons = SE.DRY, scarcity = SC.UNCOMMON,
|
||||
).derive(
|
||||
biomeFilters = BF([HE.TROPICAL, HU.WET, FL.CLEARING]),
|
||||
biomeFilter = BF([HE.TROPICAL, HU.WET, FL.CLEARING]),
|
||||
seasons = SE.WET,
|
||||
scarcity = SC.UNCOMMON
|
||||
).derive(
|
||||
seasons = SE.DRY, scarcity = SC.SPARSE,
|
||||
)
|
||||
),
|
||||
MobPlacement(Mob("chicken", "minecraft:chicken")
|
||||
MobPlacement(Mob("chicken", "minecraft:chicken"),
|
||||
Habitat(
|
||||
altitudes = AL.span(AL.LOWLANDS, AL.UPLANDS),
|
||||
biomeFilters = BF([HE.TROPICAL, HU.WET, FL.within(FL.CANOPY, FL.CLEARING)]),
|
||||
biomeFilter = BF([HE.TROPICAL, HU.WET, FL.within(FL.CANOPY, FL.CLEARING)]),
|
||||
seasons = SE.SUMMER,
|
||||
groups = GR.TROUP,
|
||||
scarcity.COMMON,
|
||||
group = GR.TROUP,
|
||||
scarcity = SC.COMMON,
|
||||
).derive(
|
||||
seasons = SE.excluding(SE.SUMMER), scarcity = SC.UNCOMMON
|
||||
)
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
from tungston.interface.runner import Runner as BaseRunner
|
||||
from tungston.core.world import World
|
||||
from tungston.modpack.mysteriousisland.biomecatalog import CATALOG as biomes
|
||||
from tungston.modpack.mysteriousisland.depositcatalog import CATALOG as deposits
|
||||
from tungston.modpack.mysteriousisland.mineralcatalog import CATALOG as minerals
|
||||
from tungston.modpack.mysteriousisland.mobcatalog import CATALOG as mobs
|
||||
from tungston.generator.markdown.reportwriter import ReportWriter
|
||||
from tungston.generator.markdown.biomereport import BiomeReport
|
||||
from tungston.generator.markdown.mineralreport import MineralReport
|
||||
|
||||
import sys
|
||||
|
||||
|
||||
# Constants ########################################################################################
|
||||
|
||||
REPORT_PATH = "./output/markdown/mysteriousisland"
|
||||
|
||||
|
||||
# Class ############################################################################################
|
||||
|
||||
class Runner(BaseRunner):
|
||||
|
||||
def _command_writeReports(self):
|
||||
writer = ReportWriter([
|
||||
BiomeReport(self.world),
|
||||
MineralReport(self.world)
|
||||
])
|
||||
writer.write(REPORT_PATH)
|
||||
|
||||
|
||||
|
||||
# Script ###########################################################################################
|
||||
|
||||
if __name__ == "__main__":
|
||||
Runner(World(biomes, deposits, minerals, mobs)).run(sys.argv)
|
||||
Reference in New Issue
Block a user