Files
mcpacker/mcpacker/format/largeoredeposit/mineraldepositcomposer_test.py
T

108 lines
3.1 KiB
Python

from mcpacker.model.ecology.biomefilter import BiomeFilter
from mcpacker.model.geology.deposit.mineraldeposit import MineralDeposit
from mcpacker.model.geology.inclusion import Inclusion
from mcpacker.model.geology.mineral import Mineral
from mcpacker.model.geology.replacement import Replacement
from pytest import fixture
from mcpacker.format.largeoredeposit.mineraldepositcomposer import MineralDepositComposer
from pytest import fixture
import mcpacker.model.altitude as AL
import mcpacker.model.ecology.flora as FL
import mcpacker.model.geology.bulk as BU
import mcpacker.model.geology.proportion as PR
import mcpacker.model.scarcity as SC
import textwrap
# Fixtures #########################################################################################
@fixture(name="quartz")
def createQuartz():
yield Mineral("quartz", [
Replacement.inStone("quartz_ore"),
Replacement.inDeepslate("deepslate_quartz_ore"),
])
@fixture(name="iron")
def createIron():
yield Mineral("iron", [
Replacement.inStone("iron_ore"),
Replacement.inDeepslate("deepslate_iron_ore"),
])
@fixture(name="bifIron")
def createBifIron(iron, quartz):
yield MineralDeposit(
name = "bifiron",
altitude = AL.CRUST,
biomeFilters = BiomeFilter([FL.FOREST]),
bulk = BU.LARGE,
inclusions = [Inclusion(iron, 60), Inclusion(quartz, 40)],
proportion = PR.LENS,
scarcity = SC.COMMON,
)
@fixture(name="composer")
def createComposer(bifIron):
yield MineralDepositComposer(bifIron).compose()
# Tests ############################################################################################
def test_str(composer):
assert str(composer) == textwrap.dedent("""
Config {
B:enabled = true
}
Deposit {
S:customReplacements <
#minecraft:deepslate_ore_replaceables->minecraft:deepslate_iron_ore,60
#minecraft:deepslate_ore_replaceables->minecraft:deepslate_quartz_ore,40
>
S:ores <
minecraft:iron_ore,60
minecraft:quartz_ore,40
>
I:rarity=9
S:replaceableBlocks <
#minecraft:stone_ore_replaceables
>
B:vanilla=false
Dimensions {
S:blackList <
>
S:whiteList <
>
}
Biomes {
S:blackList <
>
S:whiteList <
>
}
Altitude {
I:min=-32
I:max=32
}
Miscellaneous {
B:exposed=true
S:proportions=0.40
B:strictBounds=false
B:strictStart=false
}
Indicator {
S:circles <
>
S:continuity=0
I:distortion=0
S:id=deposit/bifiron_marker
S:threshold=100
}
Size {
i:min=1250
I:max=1500
}
}
""").strip()