Package net.minecraft.world.chunk
Class ProtoChunk
java.lang.Object
net.minecraft.world.chunk.Chunk
net.minecraft.world.chunk.ProtoChunk
- All Implemented Interfaces:
BiomeAccess.Storage
,BlockView
,LightSourceView
,HeightLimitView
,StructureHolder
- Direct Known Subclasses:
WrapperProtoChunk
- Mappings:
Namespace Name named net/minecraft/world/chunk/ProtoChunk
intermediary net/minecraft/class_2839
official eaj
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.chunk.Chunk
Chunk.TickSchedulers
-
Field Summary
Modifier and TypeFieldDescriptionprivate @Nullable BelowZeroRetrogen
private final SimpleTickScheduler
<Block> private @Nullable CarvingMask
private final List
<NbtCompound> private final SimpleTickScheduler
<Fluid> private @Nullable LightingProvider
private ChunkStatus
Fields inherited from class net.minecraft.world.chunk.Chunk
blendingData, blockEntities, blockEntityNbts, chunkNoiseSampler, chunkSkyLight, heightLimitView, heightmaps, MISSING_SECTION, pos, postProcessingLists, sectionArray, upgradeData
Fields inherited from interface net.minecraft.world.BlockView
field_54147
-
Constructor Summary
ConstructorDescriptionProtoChunk
(ChunkPos pos, UpgradeData upgradeData, @Nullable ChunkSection[] sections, SimpleTickScheduler<Block> blockTickScheduler, SimpleTickScheduler<Fluid> fluidTickScheduler, HeightLimitView world, Registry<Biome> biomeRegistry, @Nullable BlendingData blendingData) ProtoChunk
(ChunkPos pos, UpgradeData upgradeData, HeightLimitView world, Registry<Biome> biomeRegistry, @Nullable BlendingData blendingData) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addEntity
(NbtCompound entityNbt) private static <T> ChunkTickScheduler
<T> createProtoTickScheduler
(SimpleTickScheduler<T> tickScheduler) getBiomeForNoiseGen
(int biomeX, int biomeY, int biomeZ) getBlockEntity
(BlockPos pos) Returns the block entity atpos
, ornull
if there is none.getBlockState
(BlockPos pos) Returns the block state atpos
.getFluidState
(BlockPos pos) Returns the fluid state atpos
.getPackedBlockEntityNbt
(BlockPos pos, RegistryWrapper.WrapperLookup registries) static short
getTickSchedulers
(long time) static BlockPos
joinBlockPos
(short sectionRel, int sectionY, ChunkPos chunkPos) void
void
markBlocksForPostProcessing
(ShortList packedPositions, int index) void
void
setBelowZeroRetrogen
(@Nullable BelowZeroRetrogen belowZeroRetrogen) void
setBlockEntity
(BlockEntity blockEntity) setBlockState
(BlockPos pos, BlockState state, boolean moved) void
setCarvingMask
(CarvingMask carvingMask) void
setLightingProvider
(LightingProvider lightingProvider) void
setStatus
(ChunkStatus status) void
setStructureStart
(Structure structure, StructureStart start) Methods inherited from class net.minecraft.world.chunk.Chunk
addPendingBlockEntityNbt, addStructureReference, areSectionsEmptyBetween, forEachBlockMatchingPredicate, forEachLightSource, getBlendingData, getBlockEntityNbt, getBlockEntityPositions, getBottomY, getChunkSkyLight, getGameEventDispatcher, getHeight, getHeightmap, getHeightmaps, getHighestNonEmptySection, getHighestNonEmptySectionYOffset, getInhabitedTime, getList, getMaxStatus, getOrCreateChunkNoiseSampler, getOrCreateGenerationSettings, getPos, getPostProcessingLists, getSection, getSectionArray, getStructureReferences, getStructureReferences, getStructureStart, getStructureStarts, getUpgradeData, hasBelowZeroRetrogen, hasHeightmap, hasStructureReferences, increaseInhabitedTime, isLightOn, isSectionEmpty, isSerializable, markNeedsSaving, needsSaving, populateBiomes, refreshSurfaceY, sampleHeightmap, setHeightmap, setInhabitedTime, setLightOn, setStructureReferences, setStructureStarts, tryMarkSaved, usesOldNoise
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.world.BlockView
getBlockEntity, getDismountHeight, getDismountHeight, getLuminance, getStatesInBox, raycast, raycast, raycastBlock
Methods inherited from interface net.minecraft.world.HeightLimitView
countVerticalSections, getBottomSectionCoord, getSectionIndex, getTopSectionCoord, getTopYInclusive, isInHeightLimit, isOutOfHeightLimit, isOutOfHeightLimit, sectionCoordToIndex, sectionIndexToCoord
-
Field Details
-
lightingProvider
- Mappings:
Namespace Name Mixin selector named lightingProvider
Lnet/minecraft/world/chunk/ProtoChunk;lightingProvider:Lnet/minecraft/world/chunk/light/LightingProvider;
intermediary field_17105
Lnet/minecraft/class_2839;field_17105:Lnet/minecraft/class_3568;
official n
Leaj;n:Letl;
-
status
- Mappings:
Namespace Name Mixin selector named status
Lnet/minecraft/world/chunk/ProtoChunk;status:Lnet/minecraft/world/chunk/ChunkStatus;
intermediary field_12918
Lnet/minecraft/class_2839;field_12918:Lnet/minecraft/class_2806;
official o
Leaj;o:Leaq;
-
entities
- Mappings:
Namespace Name Mixin selector named entities
Lnet/minecraft/world/chunk/ProtoChunk;entities:Ljava/util/List;
intermediary field_12929
Lnet/minecraft/class_2839;field_12929:Ljava/util/List;
official p
Leaj;p:Ljava/util/List;
-
carvingMask
- Mappings:
Namespace Name Mixin selector named carvingMask
Lnet/minecraft/world/chunk/ProtoChunk;carvingMask:Lnet/minecraft/world/gen/carver/CarvingMask;
intermediary field_12926
Lnet/minecraft/class_2839;field_12926:Lnet/minecraft/class_6643;
official q
Leaj;q:Ldzo;
-
belowZeroRetrogen
- Mappings:
Namespace Name Mixin selector named belowZeroRetrogen
Lnet/minecraft/world/chunk/ProtoChunk;belowZeroRetrogen:Lnet/minecraft/world/chunk/BelowZeroRetrogen;
intermediary field_35473
Lnet/minecraft/class_2839;field_35473:Lnet/minecraft/class_6746;
official r
Leaj;r:Ledd;
-
blockTickScheduler
- Mappings:
Namespace Name Mixin selector named blockTickScheduler
Lnet/minecraft/world/chunk/ProtoChunk;blockTickScheduler:Lnet/minecraft/world/tick/SimpleTickScheduler;
intermediary field_35474
Lnet/minecraft/class_2839;field_35474:Lnet/minecraft/class_4296;
official s
Leaj;s:Lfdn;
-
fluidTickScheduler
- Mappings:
Namespace Name Mixin selector named fluidTickScheduler
Lnet/minecraft/world/chunk/ProtoChunk;fluidTickScheduler:Lnet/minecraft/world/tick/SimpleTickScheduler;
intermediary field_35475
Lnet/minecraft/class_2839;field_35475:Lnet/minecraft/class_4296;
official t
Leaj;t:Lfdn;
-
-
Constructor Details
-
ProtoChunk
public ProtoChunk(ChunkPos pos, UpgradeData upgradeData, HeightLimitView world, Registry<Biome> biomeRegistry, @Nullable @Nullable BlendingData blendingData) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/world/chunk/ProtoChunk;<init>(Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/chunk/UpgradeData;Lnet/minecraft/world/HeightLimitView;Lnet/minecraft/registry/Registry;Lnet/minecraft/world/gen/chunk/BlendingData;)V
intermediary <init>
Lnet/minecraft/class_2839;<init>(Lnet/minecraft/class_1923;Lnet/minecraft/class_2843;Lnet/minecraft/class_5539;Lnet/minecraft/class_2378;Lnet/minecraft/class_6749;)V
official <init>
Leaj;<init>(Ldgn;Leam;Ldhj;Lkd;Lees;)V
-
ProtoChunk
public ProtoChunk(ChunkPos pos, UpgradeData upgradeData, @Nullable @Nullable ChunkSection[] sections, SimpleTickScheduler<Block> blockTickScheduler, SimpleTickScheduler<Fluid> fluidTickScheduler, HeightLimitView world, Registry<Biome> biomeRegistry, @Nullable @Nullable BlendingData blendingData) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/world/chunk/ProtoChunk;<init>(Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/chunk/UpgradeData;[Lnet/minecraft/world/chunk/ChunkSection;Lnet/minecraft/world/tick/SimpleTickScheduler;Lnet/minecraft/world/tick/SimpleTickScheduler;Lnet/minecraft/world/HeightLimitView;Lnet/minecraft/registry/Registry;Lnet/minecraft/world/gen/chunk/BlendingData;)V
intermediary <init>
Lnet/minecraft/class_2839;<init>(Lnet/minecraft/class_1923;Lnet/minecraft/class_2843;[Lnet/minecraft/class_2826;Lnet/minecraft/class_4296;Lnet/minecraft/class_4296;Lnet/minecraft/class_5539;Lnet/minecraft/class_2378;Lnet/minecraft/class_6749;)V
official <init>
Leaj;<init>(Ldgn;Leam;[Leaa;Lfdn;Lfdn;Ldhj;Lkd;Lees;)V
-
-
Method Details
-
getBlockTickScheduler
- Specified by:
getBlockTickScheduler
in classChunk
- Mappings:
Namespace Name Mixin selector named getBlockTickScheduler
Lnet/minecraft/world/chunk/Chunk;getBlockTickScheduler()Lnet/minecraft/world/tick/BasicTickScheduler;
intermediary method_12013
Lnet/minecraft/class_2791;method_12013()Lnet/minecraft/class_6763;
official q
Ldzp;q()Lfds;
-
getFluidTickScheduler
- Specified by:
getFluidTickScheduler
in classChunk
- Mappings:
Namespace Name Mixin selector named getFluidTickScheduler
Lnet/minecraft/world/chunk/Chunk;getFluidTickScheduler()Lnet/minecraft/world/tick/BasicTickScheduler;
intermediary method_12014
Lnet/minecraft/class_2791;method_12014()Lnet/minecraft/class_6763;
official r
Ldzp;r()Lfds;
-
getTickSchedulers
- Specified by:
getTickSchedulers
in classChunk
- Mappings:
Namespace Name Mixin selector named getTickSchedulers
Lnet/minecraft/world/chunk/Chunk;getTickSchedulers(J)Lnet/minecraft/world/chunk/Chunk$TickSchedulers;
intermediary method_39296
Lnet/minecraft/class_2791;method_39296(J)Lnet/minecraft/class_2791$class_6745;
official a
Ldzp;a(J)Ldzp$a;
-
getBlockState
Returns the block state atpos
.- Returns:
- the block state at
pos
- Implementation Note:
- This returns the block state for
Blocks.VOID_AIR
if the Y coordinate is outside the height limit. - Mappings:
Namespace Name Mixin selector named getBlockState
Lnet/minecraft/world/BlockView;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
intermediary method_8320
Lnet/minecraft/class_1922;method_8320(Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
official a_
Ldgm;a_(Ljh;)Ldxu;
-
getFluidState
Returns the fluid state atpos
.- Returns:
- the fluid state at
pos
- Implementation Note:
- This returns the fluid state for
Fluids.EMPTY
if the Y coordinate is outside the height limit. - Mappings:
Namespace Name Mixin selector named getFluidState
Lnet/minecraft/world/BlockView;getFluidState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/fluid/FluidState;
intermediary method_8316
Lnet/minecraft/class_1922;method_8316(Lnet/minecraft/class_2338;)Lnet/minecraft/class_3610;
official b_
Ldgm;b_(Ljh;)Letw;
-
setBlockState
- Specified by:
setBlockState
in classChunk
- Mappings:
Namespace Name Mixin selector named setBlockState
Lnet/minecraft/world/chunk/Chunk;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)Lnet/minecraft/block/BlockState;
intermediary method_12010
Lnet/minecraft/class_2791;method_12010(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)Lnet/minecraft/class_2680;
official a
Ldzp;a(Ljh;Ldxu;Z)Ldxu;
-
setBlockEntity
- Specified by:
setBlockEntity
in classChunk
- Mappings:
Namespace Name Mixin selector named setBlockEntity
Lnet/minecraft/world/chunk/Chunk;setBlockEntity(Lnet/minecraft/block/entity/BlockEntity;)V
intermediary method_12007
Lnet/minecraft/class_2791;method_12007(Lnet/minecraft/class_2586;)V
official a
Ldzp;a(Lduw;)V
-
getBlockEntity
Returns the block entity atpos
, ornull
if there is none.- Returns:
- the block entity at
pos
, ornull
if there is none - Mappings:
Namespace Name Mixin selector named getBlockEntity
Lnet/minecraft/world/BlockView;getBlockEntity(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/entity/BlockEntity;
intermediary method_8321
Lnet/minecraft/class_1922;method_8321(Lnet/minecraft/class_2338;)Lnet/minecraft/class_2586;
official c_
Ldgm;c_(Ljh;)Lduw;
-
getBlockEntities
- Mappings:
Namespace Name Mixin selector named getBlockEntities
Lnet/minecraft/world/chunk/ProtoChunk;getBlockEntities()Ljava/util/Map;
intermediary method_12309
Lnet/minecraft/class_2839;method_12309()Ljava/util/Map;
official H
Leaj;H()Ljava/util/Map;
-
addEntity
- Mappings:
Namespace Name Mixin selector named addEntity
Lnet/minecraft/world/chunk/ProtoChunk;addEntity(Lnet/minecraft/nbt/NbtCompound;)V
intermediary method_12302
Lnet/minecraft/class_2839;method_12302(Lnet/minecraft/class_2487;)V
official b
Leaj;b(Lux;)V
-
addEntity
-
setStructureStart
- Specified by:
setStructureStart
in interfaceStructureHolder
- Overrides:
setStructureStart
in classChunk
- Mappings:
Namespace Name Mixin selector named setStructureStart
Lnet/minecraft/world/StructureHolder;setStructureStart(Lnet/minecraft/world/gen/structure/Structure;Lnet/minecraft/structure/StructureStart;)V
intermediary method_12184
Lnet/minecraft/class_2810;method_12184(Lnet/minecraft/class_3195;Lnet/minecraft/class_3449;)V
official a
Leal;a(Leoj;Leor;)V
-
getEntities
- Mappings:
Namespace Name Mixin selector named getEntities
Lnet/minecraft/world/chunk/ProtoChunk;getEntities()Ljava/util/List;
intermediary method_12295
Lnet/minecraft/class_2839;method_12295()Ljava/util/List;
official I
Leaj;I()Ljava/util/List;
-
getStatus
-
setStatus
- Mappings:
Namespace Name Mixin selector named setStatus
Lnet/minecraft/world/chunk/ProtoChunk;setStatus(Lnet/minecraft/world/chunk/ChunkStatus;)V
intermediary method_12308
Lnet/minecraft/class_2839;method_12308(Lnet/minecraft/class_2806;)V
official a
Leaj;a(Leaq;)V
-
getBiomeForNoiseGen
- Specified by:
getBiomeForNoiseGen
in interfaceBiomeAccess.Storage
- Overrides:
getBiomeForNoiseGen
in classChunk
- Mappings:
Namespace Name Mixin selector named getBiomeForNoiseGen
Lnet/minecraft/world/biome/source/BiomeAccess$Storage;getBiomeForNoiseGen(III)Lnet/minecraft/registry/entry/RegistryEntry;
intermediary method_16359
Lnet/minecraft/class_4543$class_4544;method_16359(III)Lnet/minecraft/class_6880;
official getNoiseBiome
Ldil$a;getNoiseBiome(III)Ljq;
-
getPackedSectionRelative
- Mappings:
Namespace Name Mixin selector named getPackedSectionRelative
Lnet/minecraft/world/chunk/ProtoChunk;getPackedSectionRelative(Lnet/minecraft/util/math/BlockPos;)S
intermediary method_12300
Lnet/minecraft/class_2839;method_12300(Lnet/minecraft/class_2338;)S
official g
Leaj;g(Ljh;)S
-
joinBlockPos
- Mappings:
Namespace Name Mixin selector named joinBlockPos
Lnet/minecraft/world/chunk/ProtoChunk;joinBlockPos(SILnet/minecraft/util/math/ChunkPos;)Lnet/minecraft/util/math/BlockPos;
intermediary method_12314
Lnet/minecraft/class_2839;method_12314(SILnet/minecraft/class_1923;)Lnet/minecraft/class_2338;
official a
Leaj;a(SILdgn;)Ljh;
-
markBlockForPostProcessing
- Overrides:
markBlockForPostProcessing
in classChunk
- Mappings:
Namespace Name Mixin selector named markBlockForPostProcessing
Lnet/minecraft/world/chunk/Chunk;markBlockForPostProcessing(Lnet/minecraft/util/math/BlockPos;)V
intermediary method_12039
Lnet/minecraft/class_2791;method_12039(Lnet/minecraft/class_2338;)V
official e
Ldzp;e(Ljh;)V
-
markBlocksForPostProcessing
- Overrides:
markBlocksForPostProcessing
in classChunk
- Mappings:
Namespace Name Mixin selector named markBlocksForPostProcessing
Lnet/minecraft/world/chunk/Chunk;markBlocksForPostProcessing(Lit/unimi/dsi/fastutil/shorts/ShortList;I)V
intermediary method_12029
Lnet/minecraft/class_2791;method_12029(Lit/unimi/dsi/fastutil/shorts/ShortList;I)V
official a
Ldzp;a(Lit/unimi/dsi/fastutil/shorts/ShortList;I)V
-
getBlockEntityNbts
- Mappings:
Namespace Name Mixin selector named getBlockEntityNbts
Lnet/minecraft/world/chunk/ProtoChunk;getBlockEntityNbts()Ljava/util/Map;
intermediary method_12316
Lnet/minecraft/class_2839;method_12316()Ljava/util/Map;
official J
Leaj;J()Ljava/util/Map;
-
getPackedBlockEntityNbt
@Nullable public @Nullable NbtCompound getPackedBlockEntityNbt(BlockPos pos, RegistryWrapper.WrapperLookup registries) - Specified by:
getPackedBlockEntityNbt
in classChunk
- Mappings:
Namespace Name Mixin selector named getPackedBlockEntityNbt
Lnet/minecraft/world/chunk/Chunk;getPackedBlockEntityNbt(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/registry/RegistryWrapper$WrapperLookup;)Lnet/minecraft/nbt/NbtCompound;
intermediary method_20598
Lnet/minecraft/class_2791;method_20598(Lnet/minecraft/class_2338;Lnet/minecraft/class_7225$class_7874;)Lnet/minecraft/class_2487;
official a
Ldzp;a(Ljh;Ljs$a;)Lux;
-
removeBlockEntity
- Specified by:
removeBlockEntity
in classChunk
- Mappings:
Namespace Name Mixin selector named removeBlockEntity
Lnet/minecraft/world/chunk/Chunk;removeBlockEntity(Lnet/minecraft/util/math/BlockPos;)V
intermediary method_12041
Lnet/minecraft/class_2791;method_12041(Lnet/minecraft/class_2338;)V
official d
Ldzp;d(Ljh;)V
-
getCarvingMask
- Mappings:
Namespace Name Mixin selector named getCarvingMask
Lnet/minecraft/world/chunk/ProtoChunk;getCarvingMask()Lnet/minecraft/world/gen/carver/CarvingMask;
intermediary method_12025
Lnet/minecraft/class_2839;method_12025()Lnet/minecraft/class_6643;
official E
Leaj;E()Ldzo;
-
getOrCreateCarvingMask
- Mappings:
Namespace Name Mixin selector named getOrCreateCarvingMask
Lnet/minecraft/world/chunk/ProtoChunk;getOrCreateCarvingMask()Lnet/minecraft/world/gen/carver/CarvingMask;
intermediary method_28510
Lnet/minecraft/class_2839;method_28510()Lnet/minecraft/class_6643;
official F
Leaj;F()Ldzo;
-
setCarvingMask
- Mappings:
Namespace Name Mixin selector named setCarvingMask
Lnet/minecraft/world/chunk/ProtoChunk;setCarvingMask(Lnet/minecraft/world/gen/carver/CarvingMask;)V
intermediary method_12307
Lnet/minecraft/class_2839;method_12307(Lnet/minecraft/class_6643;)V
official a
Leaj;a(Ldzo;)V
-
setLightingProvider
- Mappings:
Namespace Name Mixin selector named setLightingProvider
Lnet/minecraft/world/chunk/ProtoChunk;setLightingProvider(Lnet/minecraft/world/chunk/light/LightingProvider;)V
intermediary method_17032
Lnet/minecraft/class_2839;method_17032(Lnet/minecraft/class_3568;)V
official a
Leaj;a(Letl;)V
-
setBelowZeroRetrogen
- Mappings:
Namespace Name Mixin selector named setBelowZeroRetrogen
Lnet/minecraft/world/chunk/ProtoChunk;setBelowZeroRetrogen(Lnet/minecraft/world/chunk/BelowZeroRetrogen;)V
intermediary method_39309
Lnet/minecraft/class_2839;method_39309(Lnet/minecraft/class_6746;)V
official a
Leaj;a(Ledd;)V
-
getBelowZeroRetrogen
- Overrides:
getBelowZeroRetrogen
in classChunk
- Mappings:
Namespace Name Mixin selector named getBelowZeroRetrogen
Lnet/minecraft/world/chunk/Chunk;getBelowZeroRetrogen()Lnet/minecraft/world/chunk/BelowZeroRetrogen;
intermediary method_39300
Lnet/minecraft/class_2791;method_39300()Lnet/minecraft/class_6746;
official z
Ldzp;z()Ledd;
-
createProtoTickScheduler
private static <T> ChunkTickScheduler<T> createProtoTickScheduler(SimpleTickScheduler<T> tickScheduler) - Mappings:
Namespace Name Mixin selector named createProtoTickScheduler
Lnet/minecraft/world/chunk/ProtoChunk;createProtoTickScheduler(Lnet/minecraft/world/tick/SimpleTickScheduler;)Lnet/minecraft/world/tick/ChunkTickScheduler;
intermediary method_39310
Lnet/minecraft/class_2839;method_39310(Lnet/minecraft/class_4296;)Lnet/minecraft/class_6755;
official a
Leaj;a(Lfdn;)Lfdk;
-
getBlockProtoTickScheduler
- Mappings:
Namespace Name Mixin selector named getBlockProtoTickScheduler
Lnet/minecraft/world/chunk/ProtoChunk;getBlockProtoTickScheduler()Lnet/minecraft/world/tick/ChunkTickScheduler;
intermediary method_39307
Lnet/minecraft/class_2839;method_39307()Lnet/minecraft/class_6755;
official K
Leaj;K()Lfdk;
-
getFluidProtoTickScheduler
- Mappings:
Namespace Name Mixin selector named getFluidProtoTickScheduler
Lnet/minecraft/world/chunk/ProtoChunk;getFluidProtoTickScheduler()Lnet/minecraft/world/tick/ChunkTickScheduler;
intermediary method_39308
Lnet/minecraft/class_2839;method_39308()Lnet/minecraft/class_6755;
official L
Leaj;L()Lfdk;
-
getHeightLimitView
- Overrides:
getHeightLimitView
in classChunk
- Mappings:
Namespace Name Mixin selector named getHeightLimitView
Lnet/minecraft/world/chunk/Chunk;getHeightLimitView()Lnet/minecraft/world/HeightLimitView;
intermediary method_39460
Lnet/minecraft/class_2791;method_39460()Lnet/minecraft/class_5539;
official B
Ldzp;B()Ldhj;
-