Skip to content

Commit

Permalink
feat: missing data pack resources
Browse files Browse the repository at this point in the history
  • Loading branch information
vberlier committed Jun 24, 2023
1 parent ec2cf49 commit b5a49e8
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 35 deletions.
76 changes: 47 additions & 29 deletions beet/contrib/worldgen.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,17 @@
"WorldgenBiome",
"WorldgenConfiguredCarver",
"WorldgenConfiguredFeature",
"WorldgenStructure",
"WorldgenConfiguredSurfaceBuilder",
"WorldgenDensityFunction",
"WorldgenNoise",
"WorldgenNoiseSettings",
"WorldgenPlacedFeature",
"WorldgenProcessorList",
"WorldgenTemplatePool",
"WorldgenStructure",
"WorldgenStructureSet",
"WorldgenConfiguredSurfaceBuilder",
"WorldgenTemplatePool",
"WorldgenWorldPreset",
"WorldgenFlatLevelGeneratorPreset",
"WorldgenBiomeTag",
"WorldgenStructureSetTag",
"WorldgenStructureTag",
Expand Down Expand Up @@ -44,15 +46,17 @@ def worldgen(pack: Union[Context, DataPack]):
WorldgenBiome,
WorldgenConfiguredCarver,
WorldgenConfiguredFeature,
WorldgenStructure,
WorldgenConfiguredSurfaceBuilder,
WorldgenDensityFunction,
WorldgenNoise,
WorldgenNoiseSettings,
WorldgenPlacedFeature,
WorldgenProcessorList,
WorldgenTemplatePool,
WorldgenStructure,
WorldgenStructureSet,
WorldgenConfiguredSurfaceBuilder,
WorldgenTemplatePool,
WorldgenWorldPreset,
WorldgenFlatLevelGeneratorPreset,
WorldgenBiomeTag,
WorldgenStructureSetTag,
WorldgenStructureTag,
Expand Down Expand Up @@ -96,20 +100,6 @@ class WorldgenConfiguredFeature(JsonFile):
extension: ClassVar[str] = ".json"


class WorldgenStructure(JsonFile):
"""Class representing a worldgen structure feature."""

scope: ClassVar[Tuple[str, ...]] = ("worldgen", "structure")
extension: ClassVar[str] = ".json"


class WorldgenConfiguredSurfaceBuilder(JsonFile):
"""Class representing a worldgen surface builder."""

scope: ClassVar[Tuple[str, ...]] = ("worldgen", "configured_surface_builder")
extension: ClassVar[str] = ".json"


class WorldgenDensityFunction(JsonFile):
"""Class representing a density function."""

Expand Down Expand Up @@ -145,10 +135,10 @@ class WorldgenProcessorList(JsonFile):
extension: ClassVar[str] = ".json"


class WorldgenTemplatePool(JsonFile):
"""Class representing a worldgen template pool."""
class WorldgenStructure(JsonFile):
"""Class representing a worldgen structure feature."""

scope: ClassVar[Tuple[str, ...]] = ("worldgen", "template_pool")
scope: ClassVar[Tuple[str, ...]] = ("worldgen", "structure")
extension: ClassVar[str] = ".json"


Expand All @@ -159,16 +149,38 @@ class WorldgenStructureSet(JsonFile):
extension: ClassVar[str] = ".json"


class WorldgenBiomeTag(TagFile):
"""Class representing a biome tag."""
class WorldgenConfiguredSurfaceBuilder(JsonFile):
"""Class representing a worldgen surface builder."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "worldgen", "biome")
scope: ClassVar[Tuple[str, ...]] = ("worldgen", "configured_surface_builder")
extension: ClassVar[str] = ".json"


class WorldgenStructureSetTag(TagFile):
"""Class representing a worldgen structure set tag."""
class WorldgenTemplatePool(JsonFile):
"""Class representing a worldgen template pool."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "worldgen", "structure_set")
scope: ClassVar[Tuple[str, ...]] = ("worldgen", "template_pool")
extension: ClassVar[str] = ".json"


class WorldgenWorldPreset(JsonFile):
"""Class representing a worldgen world preset."""

scope: ClassVar[Tuple[str, ...]] = ("worldgen", "world_preset")
extension: ClassVar[str] = ".json"


class WorldgenFlatLevelGeneratorPreset(JsonFile):
"""Class representing a worldgen flat level generator preset."""

scope: ClassVar[Tuple[str, ...]] = ("worldgen", "flat_level_generator_preset")
extension: ClassVar[str] = ".json"


class WorldgenBiomeTag(TagFile):
"""Class representing a biome tag."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "worldgen", "biome")


class WorldgenStructureTag(TagFile):
Expand All @@ -177,6 +189,12 @@ class WorldgenStructureTag(TagFile):
scope: ClassVar[Tuple[str, ...]] = ("tags", "worldgen", "structure")


class WorldgenStructureSetTag(TagFile):
"""Class representing a worldgen structure set tag."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "worldgen", "structure_set")


class WorldgenConfiguredCarverTag(TagFile):
"""Class representing a worldgen carver tag."""

Expand Down
28 changes: 22 additions & 6 deletions beet/library/data_pack.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,27 +264,41 @@ class ItemTag(TagFile):
scope: ClassVar[Tuple[str, ...]] = ("tags", "items")


class ChatTypeTag(TagFile):
"""Class representing a chat type tag."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "chat_type")


class DamageTypeTag(TagFile):
"""Class representing a damage type tag."""

scope: ClassVar[Tuple[str, ...]] = ("tags", "damage_type")


class DataPackNamespace(Namespace):
"""Class representing a data pack namespace."""

directory = "data"

# fmt: off
advancements: NamespacePin[Advancement] = NamespacePin(Advancement)
damage_type: NamespacePin[DamageType] = NamespacePin(DamageType)
chat_type: NamespacePin[ChatType] = NamespacePin(ChatType)
functions: NamespacePin[Function] = NamespacePin(Function)
item_modifiers: NamespacePin[ItemModifier] = NamespacePin(ItemModifier)
loot_tables: NamespacePin[LootTable] = NamespacePin(LootTable)
predicates: NamespacePin[Predicate] = NamespacePin(Predicate)
recipes: NamespacePin[Recipe] = NamespacePin(Recipe)
structures: NamespacePin[Structure] = NamespacePin(Structure)
chat_type: NamespacePin[ChatType] = NamespacePin(ChatType)
damage_type: NamespacePin[DamageType] = NamespacePin(DamageType)
block_tags: NamespacePin[BlockTag] = NamespacePin(BlockTag)
entity_type_tags: NamespacePin[EntityTypeTag] = NamespacePin(EntityTypeTag)
fluid_tags: NamespacePin[FluidTag] = NamespacePin(FluidTag)
function_tags: NamespacePin[FunctionTag] = NamespacePin(FunctionTag)
game_event_tags: NamespacePin[GameEventTag] = NamespacePin(GameEventTag)
item_tags: NamespacePin[ItemTag] = NamespacePin(ItemTag)
item_modifiers: NamespacePin[ItemModifier] = NamespacePin(ItemModifier)
chat_type_tags: NamespacePin[ChatTypeTag] = NamespacePin(ChatTypeTag)
damage_type_tags: NamespacePin[DamageTypeTag] = NamespacePin(DamageTypeTag)
# fmt: on


Expand All @@ -307,18 +321,20 @@ class DataPack(Pack[DataPackNamespace]):

# fmt: off
advancements: NamespaceProxyDescriptor[Advancement] = NamespaceProxyDescriptor(Advancement)
damage_type: NamespaceProxyDescriptor[DamageType] = NamespaceProxyDescriptor(DamageType)
chat_type: NamespaceProxyDescriptor[ChatType] = NamespaceProxyDescriptor(ChatType)
functions: NamespaceProxyDescriptor[Function] = NamespaceProxyDescriptor(Function)
item_modifiers: NamespaceProxyDescriptor[ItemModifier] = NamespaceProxyDescriptor(ItemModifier)
loot_tables: NamespaceProxyDescriptor[LootTable] = NamespaceProxyDescriptor(LootTable)
predicates: NamespaceProxyDescriptor[Predicate] = NamespaceProxyDescriptor(Predicate)
recipes: NamespaceProxyDescriptor[Recipe] = NamespaceProxyDescriptor(Recipe)
structures: NamespaceProxyDescriptor[Structure] = NamespaceProxyDescriptor(Structure)
chat_type: NamespaceProxyDescriptor[ChatType] = NamespaceProxyDescriptor(ChatType)
damage_type: NamespaceProxyDescriptor[DamageType] = NamespaceProxyDescriptor(DamageType)
block_tags: NamespaceProxyDescriptor[BlockTag] = NamespaceProxyDescriptor(BlockTag)
entity_type_tags: NamespaceProxyDescriptor[EntityTypeTag] = NamespaceProxyDescriptor(EntityTypeTag)
fluid_tags: NamespaceProxyDescriptor[FluidTag] = NamespaceProxyDescriptor(FluidTag)
function_tags: NamespaceProxyDescriptor[FunctionTag] = NamespaceProxyDescriptor(FunctionTag)
game_event_tags: NamespaceProxyDescriptor[GameEventTag] = NamespaceProxyDescriptor(GameEventTag)
item_tags: NamespaceProxyDescriptor[ItemTag] = NamespaceProxyDescriptor(ItemTag)
item_modifiers: NamespaceProxyDescriptor[ItemModifier] = NamespaceProxyDescriptor(ItemModifier)
chat_type_tags: NamespaceProxyDescriptor[ChatTypeTag] = NamespaceProxyDescriptor(ChatTypeTag)
damage_type_tags: NamespaceProxyDescriptor[DamageTypeTag] = NamespaceProxyDescriptor(DamageTypeTag)
# fmt: on

0 comments on commit b5a49e8

Please sign in to comment.