"""
WallID - autogenerated from decompiled Terraria .cs files
Terraria namespace: Terraria.ID
Terraria version: v1.4.5.5
Generator: TerrariaPyGen v1.1.1 (Maksim Stashkevich)
Generated on: 2026-02-15 09:24
"""

from terrex.id.set_factory import SetFactory
from enum import IntEnum, auto


class WallID:
    Count = 367

    class Conversion(IntEnum):
        NoneValue = 0
        Stone = 1
        DirtUnsafe = 2
        EbonstoneUnsafe = 3
        Wood = 4
        GrayBrick = 5
        RedBrick = 6
        BlueDungeonUnsafe = 7
        GreenDungeonUnsafe = 8
        PinkDungeonUnsafe = 9
        GoldBrick = 10
        SilverBrick = 11
        CopperBrick = 12
        HellstoneBrickUnsafe = 13
        ObsidianBrickUnsafe = 14
        MudUnsafe = 15
        Dirt = 16
        BlueDungeon = 17
        GreenDungeon = 18
        PinkDungeon = 19
        ObsidianBrick = 20
        Glass = 21
        PearlstoneBrick = 22
        IridescentBrick = 23
        MudstoneBrick = 24
        CobaltBrick = 25
        MythrilBrick = 26
        Planked = 27
        PearlstoneBrickUnsafe = 28
        CandyCane = 29
        GreenCandyCane = 30
        SnowBrick = 31
        AdamantiteBeam = 32
        DemoniteBrick = 33
        SandstoneBrick = 34
        EbonstoneBrick = 35
        RedStucco = 36
        YellowStucco = 37
        GreenStucco = 38
        Gray = 39
        SnowWallUnsafe = 40
        Ebonwood = 41
        RichMaogany = 42
        Pearlwood = 43
        RainbowBrick = 44
        TinBrick = 45
        TungstenBrick = 46
        PlatinumBrick = 47
        AmethystUnsafe = 48
        TopazUnsafe = 49
        SapphireUnsafe = 50
        EmeraldUnsafe = 51
        RubyUnsafe = 52
        DiamondUnsafe = 53
        CaveUnsafe = 54
        Cave2Unsafe = 55
        Cave3Unsafe = 56
        Cave4Unsafe = 57
        Cave5Unsafe = 58
        Cave6Unsafe = 59
        LivingLeaf = 60
        Cave7Unsafe = 61
        SpiderUnsafe = 62
        GrassUnsafe = 63
        JungleUnsafe = 64
        FlowerUnsafe = 65
        Grass = 66
        Jungle = 67
        Flower = 68
        CorruptGrassUnsafe = 69
        HallowedGrassUnsafe = 70
        IceUnsafe = 71
        Cactus = 72
        Cloud = 73
        Mushroom = 74
        Bone = 75
        Slime = 76
        Flesh = 77
        LivingWood = 78
        ObsidianBackUnsafe = 79
        MushroomUnsafe = 80
        CrimsonGrassUnsafe = 81
        DiscWall = 82
        CrimstoneUnsafe = 83
        IceBrick = 84
        Shadewood = 85
        HiveUnsafe = 86
        LihzahrdBrickUnsafe = 87
        PurpleStainedGlass = 88
        YellowStainedGlass = 89
        BlueStainedGlass = 90
        GreenStainedGlass = 91
        RedStainedGlass = 92
        RainbowStainedGlass = 93
        BlueDungeonSlabUnsafe = 94
        BlueDungeonTileUnsafe = 95
        PinkDungeonSlabUnsafe = 96
        PinkDungeonTileUnsafe = 97
        GreenDungeonSlabUnsafe = 98
        GreenDungeonTileUnsafe = 99
        BlueDungeonSlab = 100
        BlueDungeonTile = 101
        PinkDungeonSlab = 102
        PinkDungeonTile = 103
        GreenDungeonSlab = 104
        GreenDungeonTile = 105
        WoodenFence = 106
        MetalFence = 107
        Hive = 108
        PalladiumColumn = 109
        BubblegumBlock = 110
        TitanstoneBlock = 111
        LihzahrdBrick = 112
        Pumpkin = 113
        Hay = 114
        SpookyWood = 115
        ChristmasTreeWallpaper = 116
        OrnamentWallpaper = 117
        CandyCaneWallpaper = 118
        FestiveWallpaper = 119
        StarsWallpaper = 120
        SquigglesWallpaper = 121
        SnowflakeWallpaper = 122
        KrampusHornWallpaper = 123
        BluegreenWallpaper = 124
        GrinchFingerWallpaper = 125
        FancyGrayWallpaper = 126
        IceFloeWallpaper = 127
        MusicWallpaper = 128
        PurpleRainWallpaper = 129
        RainbowWallpaper = 130
        SparkleStoneWallpaper = 131
        StarlitHeavenWallpaper = 132
        BubbleWallpaper = 133
        CopperPipeWallpaper = 134
        DuckyWallpaper = 135
        Waterfall = 136
        Lavafall = 137
        EbonwoodFence = 138
        RichMahoganyFence = 139
        PearlwoodFence = 140
        ShadewoodFence = 141
        WhiteDynasty = 142
        BlueDynasty = 143
        ArcaneRunes = 144
        IronFence = 145
        CopperPlating = 146
        StoneSlab = 147
        Sail = 148
        BorealWood = 149
        BorealWoodFence = 150
        PalmWood = 151
        PalmWoodFence = 152
        AmberGemspark = 153
        AmethystGemspark = 154
        DiamondGemspark = 155
        EmeraldGemspark = 156
        AmberGemsparkOff = 157
        AmethystGemsparkOff = 158
        DiamondGemsparkOff = 159
        EmeraldGemsparkOff = 160
        RubyGemsparkOff = 161
        SapphireGemsparkOff = 162
        TopazGemsparkOff = 163
        RubyGemspark = 164
        SapphireGemspark = 165
        TopazGemspark = 166
        TinPlating = 167
        Confetti = 168
        ConfettiBlack = 169
        CaveWall = 170
        CaveWall2 = 171
        Honeyfall = 172
        ChlorophyteBrick = 173
        CrimtaneBrick = 174
        ShroomitePlating = 175
        MartianConduit = 176
        HellstoneBrick = 177
        MarbleUnsafe = 178
        MarbleBlock = 179
        GraniteUnsafe = 180
        GraniteBlock = 181
        MeteoriteBrick = 182
        Marble = 183
        Granite = 184
        Cave8Unsafe = 185
        Crystal = 186
        Sandstone = 187
        CorruptionUnsafe1 = 188
        CorruptionUnsafe2 = 189
        CorruptionUnsafe3 = 190
        CorruptionUnsafe4 = 191
        CrimsonUnsafe1 = 192
        CrimsonUnsafe2 = 193
        CrimsonUnsafe3 = 194
        CrimsonUnsafe4 = 195
        DirtUnsafe1 = 196
        DirtUnsafe2 = 197
        DirtUnsafe3 = 198
        DirtUnsafe4 = 199
        HallowUnsafe1 = 200
        HallowUnsafe2 = 201
        HallowUnsafe3 = 202
        HallowUnsafe4 = 203
        JungleUnsafe1 = 204
        JungleUnsafe2 = 205
        JungleUnsafe3 = 206
        JungleUnsafe4 = 207
        LavaUnsafe1 = 208
        LavaUnsafe2 = 209
        LavaUnsafe3 = 210
        LavaUnsafe4 = 211
        RocksUnsafe1 = 212
        RocksUnsafe2 = 213
        RocksUnsafe3 = 214
        RocksUnsafe4 = 215
        HardenedSand = 216
        CorruptHardenedSand = 217
        CrimsonHardenedSand = 218
        HallowHardenedSand = 219
        CorruptSandstone = 220
        CrimsonSandstone = 221
        HallowSandstone = 222
        DesertFossil = 223
        LunarBrickWall = 224
        CogWall = 225
        SandFall = 226
        SnowFall = 227
        SillyBalloonPinkWall = 228
        SillyBalloonPurpleWall = 229
        SillyBalloonGreenWall = 230
        IronBrick = 231
        LeadBrick = 232
        LesionBlock = 233
        CrimstoneBrick = 234
        SmoothSandstone = 235
        Spider = 236
        SolarBrick = 237
        VortexBrick = 238
        NebulaBrick = 239
        StardustBrick = 240
        OrangeStainedGlass = 241
        GoldStarryGlassWall = 242
        BlueStarryGlassWall = 243
        LivingWoodUnsafe = 244
        WroughtIronFence = 245
        EbonstoneEcho = 246
        MudWallEcho = 247
        PearlstoneEcho = 248
        SnowWallEcho = 249
        AmethystEcho = 250
        TopazEcho = 251
        SapphireEcho = 252
        EmeraldEcho = 253
        RubyEcho = 254
        DiamondEcho = 255
        Cave1Echo = 256
        Cave2Echo = 257
        Cave3Echo = 258
        Cave4Echo = 259
        Cave5Echo = 260
        Cave6Echo = 261
        Cave7Echo = 262
        SpiderEcho = 263
        CorruptGrassEcho = 264
        HallowedGrassEcho = 265
        IceEcho = 266
        ObsidianBackEcho = 267
        CrimsonGrassEcho = 268
        CrimstoneEcho = 269
        CaveWall1Echo = 270
        CaveWall2Echo = 271
        MarbleEchoUnused = 272
        GraniteEchoUnused = 273
        Cave8Echo = 274
        SandstoneEcho = 275
        Corruption1Echo = 276
        Corruption2Echo = 277
        Corruption3Echo = 278
        Corruption4Echo = 279
        Crimson1Echo = 280
        Crimson2Echo = 281
        Crimson3Echo = 282
        Crimson4Echo = 283
        Dirt1Echo = 284
        Dirt2Echo = 285
        Dirt3Echo = 286
        Dirt4Echo = 287
        Hallow1Echo = 288
        Hallow2Echo = 289
        Hallow3Echo = 290
        Hallow4Echo = 291
        Jungle1Echo = 292
        Jungle2Echo = 293
        Jungle3Echo = 294
        Jungle4Echo = 295
        Lava1Echo = 296
        Lava2Echo = 297
        Lava3Echo = 298
        Lava4Echo = 299
        Rocks1Echo = 300
        Rocks2Echo = 301
        Rocks3Echo = 302
        Rocks4Echo = 303
        HardenedSandEcho = 304
        CorruptHardenedSandEcho = 305
        CrimsonHardenedSandEcho = 306
        HallowHardenedSandEcho = 307
        CorruptSandstoneEcho = 308
        CrimsonSandstoneEcho = 309
        HallowSandstoneEcho = 310
        DesertFossilEcho = 311
        BambooBlockWall = 312
        LargeBambooBlockWall = 313
        AmberStoneWallEcho = 314
        BambooFence = 315
        AshWood = 316
        AshWoodFence = 317
        EchoWall = 318
        ReefWall = 319
        PoopWall = 320
        ShimmerBlockWall = 321
        ShimmerBrickWall = 322
        LunarRustBrickWall = 323
        DarkCelestialBrickWall = 324
        AstraBrickWall = 325
        CosmicEmberBrickWall = 326
        CryocoreBrickWall = 327
        MercuryBrickWall = 328
        StarRoyaleBrickWall = 329
        HeavenforgeBrickWall = 330
        AncientBlueBrickWall = 331
        AncientGreenBrickWall = 332
        AncientPinkBrickWall = 333
        AncientGoldBrickWall = 334
        AncientSilverBrickWall = 335
        AncientCopperBrickWall = 336
        AncientObsidianBrickWall = 337
        AncientHellstoneBrickWall = 338
        AncientCobaltBrickWall = 339
        AncientMythrilBrickWall = 340
        LavaMossBlockWall = 341
        ArgonMossBlockWall = 342
        KryptonMossBlockWall = 343
        XenonMossBlockWall = 344
        VioletMossBlockWall = 345
        RainbowMossBlockWall = 346
        Shimmerfall = 347
        FallenStarWall = 348
        StoneUnsafe = 349
        UnbreakableBlockWall = 350
        FeywoodWall = 351
        HallowedBrickWall = 352
        PineTreeBlockWall = 353
        EasterBlockWall = 354
        GothicBrickWall = 355
        FlinxFurBlockWall = 356
        JellyfishBlockWall = 357
        PineWoodBlockWall = 358
        HarpyBlockWall = 359
        MoonplateBlockWall = 360
        LibrarianBlockWall = 361
        SpikeBlockWall = 362
        OfficeBlockWall = 363
        ForbiddenBlockWall = 364
        WaterBlockWall = 365
        BoulderBlockWall = 366
        Count = 367


class WallIDSets:
    class Conversion:
        factory = SetFactory(WallID.Count)
        Grass = factory.create_bool_set(False, 63, 64, 65, 66, 67, 68, 69, 70, 81, 264, 265, 268)
        Stone = factory.create_bool_set(False, 1, 61, 185, 3, 28, 83, 262, 274, 246, 248, 269, 349)
        Dirt = factory.create_bool_set(False, 2, 16)
        Snow = factory.create_bool_set(False, 40, 249)
        Ice = factory.create_bool_set(False, 71, 266)
        Sandstone = factory.create_bool_set(False, 187, 220, 222, 221, 275, 308, 310, 309)
        HardenedSand = factory.create_bool_set(False, 216, 217, 219, 218, 304, 305, 307, 306)
        PureSand = factory.create_bool_set(False, 216, 187, 304, 275)
        NewWall1 = factory.create_bool_set(False, 188, 192, 200, 204, 212, 276, 280, 288, 292, 300)
        NewWall2 = factory.create_bool_set(False, 189, 193, 201, 205, 213, 277, 281, 289, 293, 301)
        NewWall3 = factory.create_bool_set(False, 190, 194, 202, 206, 214, 278, 282, 290, 294, 302)
        NewWall4 = factory.create_bool_set(False, 191, 195, 203, 207, 215, 279, 283, 291, 295, 303)

    class Main:
        factory = SetFactory(WallID.Count)
        DualDungeonsJungleBiomeWalls = factory.create_bool_set(False, 64, 204, 205, 206, 207, 15)
        CanBeConvertedToGlowingMushroom = factory.create_bool_set(False, 64, 67, 15, 247)
        AllowsUndergroundDesertEnemiesToSpawn = factory.create_bool_set(False, 187, 220, 222, 221, 216, 217, 219, 218, 223)
        Transparent = factory.create_bool_set(False, 0, 88, 89, 90, 91, 92, 241, 93)
        Glass = factory.create_bool_set(False, 21, 88, 89, 90, 91, 92, 241, 93, 243, 242)
        SpreadsCorruption = factory.create_bool_set(False, 69, 217, 220, 3)
        SpreadsCrimson = factory.create_bool_set(False, 83, 81, 218, 221)
        SpreadsHallow = factory.create_bool_set(False, 70, 219, 222, 28)
        AllowsWind = factory.create_bool_set(False, 0, 150, 138, 145, 107, 152, 140, 139, 141, 106, 245, 315, 317)
        Fences = factory.create_bool_set(False, 150, 138, 145, 107, 152, 140, 139, 141, 106, 245, 315, 317)
        AllowsPlantsToGrow = factory.create_bool_set(False, 0, 150, 138, 145, 107, 152, 140, 139, 141, 106, 245, 315, 317, 63, 64, 65, 66, 67, 68, 69, 81, 70, 264, 268, 265, 74, 80)
        CannotBeReplacedByWallSpread = factory.create_bool_set(False, 4, 40, 3, 83, 87, 244, 34)
        WallSpreadStopsAtAir = factory.create_bool_set(False, 63, 62)
        BlendType = factory.create_int_set(-1, 66, 63, 68, 63, 65, 63, 16, 2, 59, 2, 261, 2, 284, 196, 285, 197, 286, 198, 287, 199, 256, 54, 257, 55, 258, 56, 259, 57, 260, 58, 262, 61, 274, 185, 300, 212, 301, 213, 302, 214, 303, 215, 296, 208, 297, 209, 298, 210, 299, 211, 48, 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 250, 1, 251, 1, 252, 1, 253, 1, 254, 1, 255, 1, 69, 264, 3, 246, 217, 305, 220, 308, 188, 276, 189, 277, 190, 278, 191, 279, 81, 77, 268, 77, 83, 269, 218, 306, 221, 309, 192, 280, 193, 281, 194, 282, 195, 283, 70, 265, 28, 248, 219, 307, 222, 310, 200, 288, 201, 289, 202, 290, 203, 291, 15, 247, 64, 67, 204, 292, 205, 293, 206, 294, 207, 295, 86, 108, 87, 112, 40, 249, 71, 266, 216, 304, 187, 275, 62, 263, 80, 74, 180, 184, 178, 183, 79, 267, 20, 14, 7, 17, 94, 17, 95, 17, 8, 18, 98, 18, 99, 18, 9, 19, 96, 19, 97, 19, 349, 1, 244, 78)
