Checkpoint initial implementation

This commit is contained in:
Andrew Miner
2025-10-06 17:41:18 -06:00
parent 773e0a3d85
commit a8b6e6b15e
106 changed files with 3012 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
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))