function rfb_addAlias(%db, %name) { // Save so we know to delete any other bricks with this UI name $rfb_uiNames[%name] = %db; // overwrite in uiNameTable if inferior bricks exist, // and insert as an "alias" if not; this ensures load compatibility. $uiNameTable[%name] = %db; } function rfb_addCompatibleUiNames(%db){ rfb_addAlias(%db, %db.uiName); %l = %db.brickSizeX; %w = %db.brickSizeY; %h = %db.brickSizeZ; %lw = %l @ "x" @ %w; if(%h==1) { rfb_addAlias(%db, %lw @ "f"); // actual name, Brick_1x14Plate, Brick_1x15Plate, Brick_8x, Brick_9Pack, Brick_10x, Brick_BlackDragonIV, Brick_BlackDragonIV_Filler, Brick_DemiansBB rfb_addAlias(%db, %lw @ " Plate"); // Brick_32x64, Brick_Other_Bricks if(%l%16==0 && %w%16==0) rfb_addAlias(%db, %lw @ " Base"); // actual name for baseplates, Brick_BlackDragonIV } else if(%h==2) { rfb_addAlias(%db, %lw @ "h"); // actual name, Brick_BlackDragonIV, Brick_BlackDragonIV_Filler, Brick_Halfbrick rfb_addAlias(%db, %lw @ "x2f"); // Brick_RedFill old versions } else if(%h==3) { rfb_addAlias(%db, %lw); // actual name, Brick_6xWidth, Brick_8x, Brick_9Pack, Brick_DemiansBB rfb_addAlias(%db, %lw @ "x1"); // Brick_DemiansBB2, Brick_DemiansBB3, Brick_Dr rfb_addAlias(%db, %lw @ " Brick"); // Brick_32x64, Brick_Other_Bricks if(%l%16==0 && %w%16==0) rfb_addAlias(%db, %lw @ "x1 Base"); // Brick_32x_Base_variations (not actually needed) } else if(%h%3==0) { rfb_addAlias(%db, %lw @ "x" @ %h/3); // actual name, Brick_Pit10xHeight, Brick_Sgt_Gary, Brick_Jirue, Brick_4xheight, Brick_BlackDragonIV, Brick_BlackDragonIV_Filler, Brick_DemiansBB, Brick_jbskier13 } else { rfb_addAlias(%lw @ "x" @ %h @ "f"); // actual name } } // Delete the datablocks of inferior brick packs, and map all compatible UI names // to RedFill bricks. function rfb_initCompatibility() { echo("Brick_RUltimateFiller: Deleting compatible brick datablocks."); // Record all UINames any RedFill brick has or can replace. for(%i=0; %i0) warn("Brick_RUltimateFiller: Consider disabling the inferior brick packs listed above."); } package rfb_compatibility { function verifyBrickUiNames() { rfb_initCompatibility(); parent::verifyBrickUiNames(); } }; activatePackage(rfb_compatibility);