You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

68 lines
1.5 KiB

class BlockType:
NONE = 0
STONE = 1
WOOD = 2
GRASS = 3
class Block:
def __init__(self, id: int, durability: int = 0, type: int = BlockType.NONE):
self.id: int = id
self.durability: int = durability
self.type: int = type
class BlockAir(Block):
def __init__(self):
super().__init__(0)
class BlockStone(Block):
def __init__(self):
super().__init__(1, 20, BlockType.STONE)
class BlockDirt(Block):
def __init__(self):
super().__init__(2, 10, BlockType.GRASS)
class BlockGrass(Block):
def __init__(self):
super().__init__(3, 10, BlockType.GRASS)
class BlockCoal(Block):
def __init__(self):
super().__init__(4, 25, BlockType.STONE)
class BlockIron(Block):
def __init__(self):
super().__init__(5, 30, BlockType.STONE)
class BlockGold(Block):
def __init__(self):
super().__init__(6, 35, BlockType.STONE)
class BlockDiamond(Block):
def __init__(self):
super().__init__(7, 40, BlockType.STONE)
class BlockLog(Block):
def __init__(self):
super().__init__(8, 10, BlockType.WOOD)
class BlockLeaf(Block):
def __init__(self):
super().__init__(9, 10, BlockType.NONE)
BLOCKS_ID = [
lambda: BlockAir(),
lambda: BlockStone(),
lambda: BlockDirt(),
lambda: BlockGrass(),
lambda: BlockCoal(),
lambda: BlockIron(),
lambda: BlockGold(),
lambda: BlockDiamond(),
lambda: BlockLog(),
lambda: BlockLeaf(),
]
def with_id(id):
return BLOCKS_ID[id]()