33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from tungston.core.geology.replacement import Replacement
|
|
from tungston.core.resourceid import ResourceId
|
|
|
|
|
|
# Class ############################################################################################
|
|
|
|
class Mineral:
|
|
|
|
def __init__(self, name:str, replacements:None|tuple[Replacement]=None):
|
|
self.name = name
|
|
self.replacements = replacements or []
|
|
|
|
def __str__(self) -> str:
|
|
return self.name
|
|
|
|
def __repr__(self) -> str:
|
|
return "".join([str(p) for p in [
|
|
f"Mineral<{self.name}>", "{",
|
|
"replacements: [",
|
|
", ".join([str(r) for r in self.replacements]),
|
|
"]",
|
|
"}"
|
|
]])
|
|
|
|
def addStoneReplacement(self, blockId:str) -> "Mineral":
|
|
blockId = ResourceId.canonical(blockId)
|
|
self.replacements.append(Replacement(STONE_REPLACEABLES, blockId))
|
|
return self
|
|
|
|
def addDeepslateReplacement(self, blockId:str) -> "Mineral":
|
|
blockId = ResourceId.canonical(blockId)
|
|
self.replacements.append(Replacement(DEEPSLATE_REPLACEABLES, blockId))
|