The blockbuilder is used to... build blocks (you totally didn't see that one coming, right... right?).
Once you created it you can set various properties which will be outlined by the separate methods.

You can also change the block's type to create a more specialized form of block (e.g. stairs or Blocks that can be rotated in the same way logs can). To tell CoT that you want the block to appear ingame you need to call this#build(String) and specify a valid resource location path.

This class was added by a mod with mod-id contenttweaker. Так что если вы хотите использовать эту функцию, вам нужно установить этот мод.

Импорт класса

Link to импорт-класса

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

ZenScript
Copy
import mods.contenttweaker.block.BlockBuilder;

Implemented Interfaces

Link to implemented-interfaces

BlockBuilder implements the following interfaces. That means all methods defined in these interfaces are also available in BlockBuilder

Creates a new BlockBuilder.
Remember that this will not create a new block in the game, you need to call this#build(String) for that.

ZenScript
Copy
new BlockBuilder(material as MCMaterial) as BlockBuilder
new BlockBuilder(<blockmaterial:earth>);
ПараметрТипОписаниеOptionalDefaultValue
Параметр
material
Тип
MCMaterial
Описание
The material this block will have
Optional
true
DefaultValue
blockmaterial:iron

Name: notSolid

Instructs CoT that this block is not solid.

This is required if your model is not a full block (16x16x16). It is also required if your model is see-through (like glass). Set this if your block creates some X-Ray effects when it's placed.

Returns: This builder, used for chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.notSolid() as BlockBuilder

myBlockBuilder.notSolid();

Name: opaque

Sets that the block is opaque, like vanilla glass.

Returns: The builder, used for method chaining.
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.opaque() as BlockBuilder

myBlockBuilder.opaque();

Name: setRequiresTool

Sets that the block needs a tool to harvest.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.setRequiresTool() as BlockBuilder

myBlockBuilder.setRequiresTool();

Link to withHardnessAndResistance

Name: withHardnessAndResistance

Sets the block's hardness and resistance levels. Unlike the other method, this one only accepts one parameter and will use that value for both properties.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withHardnessAndResistance(hardnessAndResistance as float) as BlockBuilder

myBlockBuilder.withHardnessAndResistance(0.5f);
ПараметрТипОписание
Параметр
hardnessAndResistance
Тип
float
Описание
The value to set for hardness and for resistance.

Link to withHardnessAndResistance

Name: withHardnessAndResistance

Sets the block's hardness and resistance levels. Unlike the other method, this one allows you to set each property one to a separate value.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withHardnessAndResistance(hardnessIn as float, resistanceIn as float) as BlockBuilder

myBlockBuilder.withHardnessAndResistance(0.5f, 0.5f);
ПараметрТипОписание
Параметр
hardnessIn
Тип
float
Описание
The value to set for hardness
Параметр
resistanceIn
Тип
float
Описание
The value to set for resistance.

Link to withHarvestLevel

Name: withHarvestLevel

Sets the mining level required to mine this block

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withHarvestLevel(harvestLevel as int) as BlockBuilder

myBlockBuilder.withHarvestLevel(3);
ПараметрТипОписание
Параметр
harvestLevel
Тип
int
Описание
The harvest level requried

Name: withHarvestTool

Sets the tool required to harvest this block

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withHarvestTool(harvestTool as ToolType) as BlockBuilder

myBlockBuilder.withHarvestTool(<tooltype:shovel>);
ПараметрТипОписание
Параметр
harvestTool
Тип
ToolType
Описание
The tool type

Name: withItemGroup

Sets the item group in which this block will appear

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withItemGroup(group as ItemGroup) as BlockBuilder

myBlockBuilder.withItemGroup(<itemgroup:building_blocks>);
ПараметрТипОписание
Параметр
group
Тип
ItemGroup
Описание
The group to set

Name: withJumpFactor

Sets the jump factor.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withJumpFactor(jumpFactorIn as float) as BlockBuilder

myBlockBuilder.withJumpFactor(2.5f);
ПараметрТипОписание
Параметр
jumpFactorIn
Тип
float
Описание
The value to set

Name: withLightValue

Sets the block's light value.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withLightValue(lightValueIn as int) as BlockBuilder

myBlockBuilder.withLightValue(15);
ПараметрТипОписание
Параметр
lightValueIn
Тип
int
Описание
The light level to set

Name: withLootFrom

Will instruct CoT to override this block's loot table with the one of the block Provided. Currently this will still create a loot table entry, though it will be ignored by the game.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withLootFrom(blockIn as MCBlock) as BlockBuilder

myBlockBuilder.withLootFrom(<block:minecraft:diamond>);
ПараметрТипОписание
Параметр
blockIn
Тип
MCBlock
Описание
The block whose loot table should be applied

Link to withMaxStackSize

Name: withMaxStackSize

Sets the maximum Stack size that this block can have when in your inventory. Will be 64 if unchanged.

Returns: This builder, used for chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withMaxStackSize(size as int) as BlockBuilder

myBlockBuilder.withMaxStackSize(16);
ПараметрТипОписание
Параметр
size
Тип
int
Описание
The size to set.

Name: withRarity

Allows you to set the rarity of this block.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withRarity(rarity as string) as BlockBuilder

myBlockBuilder.withRarity("UNCOMMON");
ПараметрТипОписание
Параметр
rarity
Тип
string
Описание
The rarity

Name: withRenderType

Sets the block's render type. Will also set the block as this#notSolid() if the argument is not solid

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withRenderType(renderType as BlockRenderType) as BlockBuilder

myBlockBuilder.withRenderType(BlockRenderType.TRANSLUCENT);
ПараметрТипОписание
Параметр
renderType
Тип
BlockRenderType
Описание
No Description Provided

Link to withSlipperiness

Name: withSlipperiness

Sets the slipperiness.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withSlipperiness(slipperinessIn as float) as BlockBuilder

myBlockBuilder.withSlipperiness(0.5f);
ПараметрТипОписание
Параметр
slipperinessIn
Тип
float
Описание
The value to set

Name: withSpeedFactor

Sets the speed factor.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withSpeedFactor(speedFactorIn as float) as BlockBuilder

myBlockBuilder.withSpeedFactor(2.5f);
ПараметрТипОписание
Параметр
speedFactorIn
Тип
float
Описание
The value to set

Link to withTickRandomly

Name: withTickRandomly

Sets that the block should be ticked randomly.

Returns: The builder, used for method chaining.
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withTickRandomly() as BlockBuilder

myBlockBuilder.withTickRandomly();

Name: withType

Sets the specific type of this block. After this method is called the builder's context will switch to the more provided type builder. That means that the methods of this builder will no longer be available, so any properties you wish to set should be set before you call this method.

Returns: A builder with the given block.
Return Type: T

ZenScript
Copy
BlockBuilder.withType<T : BlockTypeBuilder>() as T
ПараметрТипОписание
Параметр
T
Тип
BlockTypeBuilder
Описание
The Type of block that this should become

Link to withVariableOpacity

Name: withVariableOpacity

Sets that the block has variable opacity.

Returns: The builder, used for method chaining.
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withVariableOpacity() as BlockBuilder

myBlockBuilder.withVariableOpacity();

Name: withoutDrops

Will instruct CoT that this block will not have any loot entries. Currently this will still create a loot table entry, though it will be ignored by the game.

Returns: This builder, used for method chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withoutDrops() as BlockBuilder

myBlockBuilder.withoutDrops();

Link to withoutMovementBlocking

Name: withoutMovementBlocking

Instructs CoT that this block will does not block movement. Will also set the block as this#notSolid()

Returns: This builder, used for chaining
Return Type: BlockBuilder

ZenScript
Copy
// BlockBuilder.withoutMovementBlocking() as BlockBuilder

myBlockBuilder.withoutMovementBlocking();