ms/packages/sponge/src/typings/org.spongepowered.api.block...

105 lines
5.7 KiB
TypeScript

declare namespace org {
namespace spongepowered {
namespace api {
namespace block {
// @ts-ignore
interface BlockState extends org.spongepowered.api.data.ImmutableDataHolder, org.spongepowered.api.data.property.DirectionRelativePropertyHolder, org.spongepowered.api.CatalogType {
/**
* Creates a new {@link Builder} for building {@link BlockState}s.
*/
// @ts-ignore
builder(): org.spongepowered.api.block.BlockState.Builder;
/**
* Constructs a new {@link MatcherBuilder} to construct a {@link StateMatcher}.
*/
// @ts-ignore
matcher(type: org.spongepowered.api.block.BlockType): org.spongepowered.api.block.BlockState.MatcherBuilder;
/**
* Gets the base type of block.
* <p>The type does not include block data such as the contents of
* inventories.</p>
*/
// @ts-ignore
getType(): org.spongepowered.api.block.BlockType;
/**
* Applies extended properties for the current @{link BlockType} if any to
* the current {@link BlockState}. This usually is gathered from surrounding
* {@link BlockState}'s.
* <p>Note: This should only be called for live {@link BlockState}'s at
* a specific {@link Location} for accurate results.</p>
* <p>
* Examples of some extended properties are:
* </p>
* <ul>
* <li>snow on podzul dirt block</li>
* <li>occupied status for beds</li>
* <li>fence connections</li>
* </ul>
*/
// @ts-ignore
withExtendedProperties(location: org.spongepowered.api.world.Location): org.spongepowered.api.block.BlockState;
/**
* Gets the associated {@link BlockState} with the cycled
* {@link BaseValue}. Note that only {@link Cycleable} values can be
* cycled. To change a particular {@link Key}'ed {@link Value}, usage
* of the {@link BlockState#with(Key, Object)} is recommended.
*/
// @ts-ignore
cycleValue(key: org.spongepowered.api.data.key.Key): org.spongepowered.api.block.BlockState;
/**
* Creates a new {@link BlockSnapshot} with this current {@link BlockState}
* at the desired {@link Location}. If the {@link Location} has the same
* {@link BlockState}, and the {@link BlockType} can house a
* {@link TileEntity}, the data from the tile entity may be included in the
* returned {@link BlockSnapshot}.
*/
// @ts-ignore
snapshotFor(location: org.spongepowered.api.world.Location): org.spongepowered.api.block.BlockSnapshot;
/**
* Gets the {@link Comparable} value for the specific {@link BlockTrait}
* such that if the {@link BlockState} does not support the
* {@link BlockTrait}, {@link Optional#empty()} is returned.
*/
// @ts-ignore
getTraitValue(blockTrait: org.spongepowered.api.block.trait.BlockTrait): any;
/**
* Attempts to retrieve the {@link BlockTrait} instance associated with
* this {@link BlockState}s {@link BlockType} by string id. If there is no
* {@link BlockTrait} available, {@link Optional#empty()} is returned.
*/
// @ts-ignore
getTrait(blockTrait: string): any;
/**
* Gets the {@link BlockState} with the appropriate value for the given
* {@link BlockTrait}. If the {@link BlockTrait} is not supported,
* {@link Optional#empty()} is returned. If the object is not either
* an instance contained in {@link BlockTrait#getPossibleValues()} or
* an instance {@link Object#toString()}, {@link Optional#empty()} may be
* returned.
*/
// @ts-ignore
withTrait(trait: org.spongepowered.api.block.trait.BlockTrait, value: any): any;
/**
* Gets an immutable {@link Collection} of all applicable
* {@link BlockTrait}s for this {@link BlockState}.
*/
// @ts-ignore
getTraits(): any[] /*java.util.Collection*/;
/**
* Gets an immutable {@link Collection} of all the values for all
* {@link BlockTrait}s for this {@link BlockState}.
*/
// @ts-ignore
getTraitValues(): any[] /*java.util.Collection*/;
/**
* Gets an immutable or unmodifiable {@link Map} of the known {@link BlockTrait}s
* to their current values for this {@link BlockState}.
*/
// @ts-ignore
getTraitMap(): Map<any, any> /*java.util.Map*/;
}
}
}
}
}