Copyright | (c) axionbuster 2025 |
---|---|
License | BSD-3-Clause |
Safe Haskell | None |
Language | GHC2021 |
Encode and decode paletted containers for block states and biomes.
Synopsis
- data ChunkSection c m = ChunkSection {
- csnonempty :: !Int16
- csblockstates :: !(Vector c)
- csbiomes :: !(Vector m)
- data ChunkSectionEncoding = ChunkSectionEncoding {
- cseblockstates :: !Int
- csebiomes :: !Int
- mkcscodec :: forall m c (st :: ZeroBitType) r. (Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) => ChunkSectionEncoding -> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m))
Documentation
data ChunkSection c m Source #
a chunk section where c
is the numeric type for block states and
m
is the same for biomes
ChunkSection | |
|
Instances
(Data c, Data m, Unbox c, Unbox m) => Data (ChunkSection c m) Source # | |||||
Defined in M.Chunk.Code gfoldl :: (forall d b. Data d => c0 (d -> b) -> d -> c0 b) -> (forall g. g -> c0 g) -> ChunkSection c m -> c0 (ChunkSection c m) # gunfold :: (forall b r. Data b => c0 (b -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (ChunkSection c m) # toConstr :: ChunkSection c m -> Constr # dataTypeOf :: ChunkSection c m -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (ChunkSection c m)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (ChunkSection c m)) # gmapT :: (forall b. Data b => b -> b) -> ChunkSection c m -> ChunkSection c m # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ChunkSection c m -> r # gmapQ :: (forall d. Data d => d -> u) -> ChunkSection c m -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ChunkSection c m -> u # gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) # gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) # gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ChunkSection c m -> m0 (ChunkSection c m) # | |||||
Generic (ChunkSection c m) Source # | |||||
Defined in M.Chunk.Code
from :: ChunkSection c m -> Rep (ChunkSection c m) x # to :: Rep (ChunkSection c m) x -> ChunkSection c m # | |||||
(Show c, Integral c, FiniteBits c, Unbox c, Show m, Integral m, FiniteBits m, Unbox m) => Show (ChunkSection c m) Source # | uses paletted view with hard-coded settings to compress what's been shown | ||||
Defined in M.Chunk.Code showsPrec :: Int -> ChunkSection c m -> ShowS # show :: ChunkSection c m -> String # showList :: [ChunkSection c m] -> ShowS # | |||||
(Unbox c, Unbox m, Eq c, Eq m) => Eq (ChunkSection c m) Source # | |||||
Defined in M.Chunk.Code (==) :: ChunkSection c m -> ChunkSection c m -> Bool # (/=) :: ChunkSection c m -> ChunkSection c m -> Bool # | |||||
(Unbox c, Unbox m, Ord c, Ord m) => Ord (ChunkSection c m) Source # | |||||
Defined in M.Chunk.Code compare :: ChunkSection c m -> ChunkSection c m -> Ordering # (<) :: ChunkSection c m -> ChunkSection c m -> Bool # (<=) :: ChunkSection c m -> ChunkSection c m -> Bool # (>) :: ChunkSection c m -> ChunkSection c m -> Bool # (>=) :: ChunkSection c m -> ChunkSection c m -> Bool # max :: ChunkSection c m -> ChunkSection c m -> ChunkSection c m # min :: ChunkSection c m -> ChunkSection c m -> ChunkSection c m # | |||||
type Rep (ChunkSection c m) Source # | |||||
Defined in M.Chunk.Code type Rep (ChunkSection c m) = D1 ('MetaData "ChunkSection" "M.Chunk.Code" "mmm-0.1.0.0-oCDsNp3EBL2JzoyA6cTai" 'False) (C1 ('MetaCons "ChunkSection" 'PrefixI 'True) (S1 ('MetaSel ('Just "csnonempty") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int16) :*: (S1 ('MetaSel ('Just "csblockstates") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector c)) :*: S1 ('MetaSel ('Just "csbiomes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Vector m))))) |
data ChunkSectionEncoding Source #
encoding configuration for ChunkSection
ChunkSectionEncoding | |
|
Instances
:: forall m c (st :: ZeroBitType) r. (Unbox m, Unbox c, FiniteBits m, FiniteBits c, Integral m, Integral c) | |
=> ChunkSectionEncoding | encoding settings |
-> (ChunkSection c m -> Builder, Parser st r (ChunkSection c m)) | a pair of an encoder and a decoder, respectively |
create a codec for ChunkSection
s using the provided settings