MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / Block_DefineCustom

Function Block_DefineCustom

src/Block.c:439–459  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

437}
438
439void Block_DefineCustom(BlockID block, cc_bool checkSprite) {
440 PackedCol black = PackedCol_Make(0, 0, 0, 255);
441 cc_string name = Block_UNSAFE_GetName(block);
442 /* necessary if servers redefined core blocks, before extended collide types were added */
443 cc_uint8 collide = DefaultSet_MapOldCollide(block, Blocks.Collide[block]);
444 Blocks.Tinted[block] = Blocks.FogCol[block] != black && String_IndexOf(&name, '#') >= 0;
445
446 Block_SetCollide(block, collide);
447 Block_SetDrawType(block, Blocks.Draw[block]);
448 Block_CalcRenderBounds(block);
449 Block_UpdateCulling(block);
450 Block_CalcLightOffset(block);
451
452 Inventory_AddDefault(block);
453 Block_SetCustomDefined(block, true);
454 Event_RaiseVoid(&BlockEvents.BlockDefChanged);
455
456 if (!checkSprite) return; /* TODO eliminate this */
457 /* Update sprite BoundingBox if necessary */
458 if (Blocks.Draw[block] == DRAW_SPRITE) Block_RecalculateBB(block);
459}
460
461void Block_UndefineCustom(BlockID block) {
462 Block_ResetProps(block);

Callers 4

Cw_Callback_4Function · 0.85
BlockEditCommand_ExecuteFunction · 0.85
BlockDefs_DefineBlockFunction · 0.85
BlockDefs_DefineBlockExtFunction · 0.85

Calls 11

Block_UNSAFE_GetNameFunction · 0.85
DefaultSet_MapOldCollideFunction · 0.85
Block_SetCollideFunction · 0.85
Block_SetDrawTypeFunction · 0.85
Block_CalcRenderBoundsFunction · 0.85
Block_UpdateCullingFunction · 0.85
Block_CalcLightOffsetFunction · 0.85
Inventory_AddDefaultFunction · 0.85
Block_SetCustomDefinedFunction · 0.85
Event_RaiseVoidFunction · 0.85
Block_RecalculateBBFunction · 0.85

Tested by

no test coverage detected