soiz1 commited on
Commit
5ea4073
·
verified ·
1 Parent(s): 0ce199c

Update src/lib/libraries/extensions/index.jsx

Browse files
Files changed (1) hide show
  1. src/lib/libraries/extensions/index.jsx +351 -143
src/lib/libraries/extensions/index.jsx CHANGED
@@ -8,6 +8,10 @@ import musicInsetIconURL from './music/music-small.svg';
8
 
9
  import penIconURL from './pen/pen.png';
10
  import penInsetIconURL from './pen/pen-small.svg';
 
 
 
 
11
 
12
  import videoSensingIconURL from './videoSensing/video-sensing.png';
13
  import videoSensingInsetIconURL from './videoSensing/video-sensing-small.svg';
@@ -68,7 +72,6 @@ import jgJSONExtensionIcon from './penguinmod/extensions/json.png';
68
  import jgTailgatingExtensionIcon from './penguinmod/extensions/tailgating.png';
69
  import jgRuntimeExtensionIcon from './penguinmod/extensions/runtime.svg';
70
  import jgPrismExtensionIcon from './penguinmod/extensions/prism.png';
71
- import jgDebuggingIcon from './penguinmod/extensions/debugging.svg';
72
 
73
  import jwProtoExtensionIcon from './penguinmod/extensions/proto.svg';
74
  import jwUniteExtensionIcon from './penguinmod/extensions/Unite.png';
@@ -80,7 +83,6 @@ import jwArrayExtensionThumb from './penguinmod/extensions/jwArray.svg';
80
  import jwTargetsExtensionThumb from './penguinmod/extensions/jwTargets.svg';
81
  import jwNumExtensionThumb from './penguinmod/extensions/jwNum.svg';
82
  import jwColorExtensionThumb from './penguinmod/extensions/jwColor.svg';
83
- import jwVectorExtensionThumb from './penguinmod/extensions/jwVector.svg';
84
 
85
  import iygPerlinNoiseExtensionIcon from './penguinmod/extensions/perlinnoisebanner.png';
86
 
@@ -149,7 +151,6 @@ import sharkpoolMBPIcon from './penguinmod/extensions/myBlocksPlus.svg';
149
  import sharkpoolBCIcon from './penguinmod/extensions/BetterComments.svg';
150
  import sharkpoolPEIcon from './penguinmod/extensions/particleEngine.svg';
151
  import jgScriptsExtensionIcon from './penguinmod/extensions/scripts.svg';
152
- import sharkpoolLooksExpandedIcon from './penguinmod/extensions/looksExpanded.svg';
153
 
154
  // events
155
  import jgStorageExtensionIcon from './penguinmod/extensions/storage.png';
@@ -176,7 +177,209 @@ const urlParams = new URLSearchParams(location.search);
176
  const IsLocal = String(window.location.href).startsWith(`http://localhost:`);
177
  const IsLiveTests = urlParams.has('livetests');
178
 
179
- const menuItems = [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  {
181
  name: (
182
  <FormattedMessage
@@ -227,7 +430,7 @@ const menuItems = [
227
  insetIconURL: animatedTextInsetIconURL,
228
  customInsetColor: '#9A66FF',
229
  tags: ['scratch'],
230
- description: 'Bring words to life.',
231
  featured: true
232
  },
233
  {
@@ -293,7 +496,7 @@ const menuItems = [
293
  tags: ['scratch'],
294
  description: (
295
  <FormattedMessage
296
- defaultMessage="Translate text into many languages."
297
  description="Description for the Translate extension"
298
  id="gui.extension.translate.description"
299
  />
@@ -301,6 +504,41 @@ const menuItems = [
301
  featured: true,
302
  internetConnectionRequired: true
303
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  {
305
  name: 'Makey Makey',
306
  extensionId: 'makeymakey',
@@ -311,7 +549,7 @@ const menuItems = [
311
  tags: ['scratch', 'hardware'],
312
  description: (
313
  <FormattedMessage
314
- defaultMessage="Make anything into a key."
315
  description="Description for the 'Makey Makey' extension"
316
  id="gui.extension.makeymakey.description"
317
  />
@@ -325,7 +563,7 @@ const menuItems = [
325
  tags: ['penguinmod'],
326
  description: (
327
  <FormattedMessage
328
- defaultMessage="Allows the camera to move around anywhere on the stage."
329
  description="The description for the PenguinMod Camera extension."
330
  id="pm.extension.camera.description"
331
  />
@@ -340,7 +578,7 @@ const menuItems = [
340
  iconURL: filesExtensionIcon,
341
  insetIconURL: turbowarpIcon,
342
  tags: ['turbowarp', 'datamgmt'],
343
- description: 'Blocks for reading and creating files.',
344
  featured: true
345
  },
346
  {
@@ -349,7 +587,7 @@ const menuItems = [
349
  iconURL: 'https://extensions.turbowarp.org/images/CST1229/zip.svg',
350
  insetIconURL: turbowarpIcon,
351
  tags: ['turbowarp', 'datamgmt'],
352
- description: 'Create and edit .zip format files, including .sb3 files.',
353
  twDeveloper: 'CST1229',
354
  featured: true
355
  },
@@ -358,7 +596,7 @@ const menuItems = [
358
  extensionId: 'https://extensions.penguinmod.com/extensions/ObviousAlexC/PenPlus.js',
359
  tags: ['categoryexpansion', 'graphics'],
360
  iconURL: 'https://extensions.penguinmod.com/images/ObviousAlexC/PenPlus.svg',
361
- description: 'An extension to the Pen category! Adds blocks for drawing triangles using textures and tints, drawing images and editing their pixels, etc.',
362
  featured: true,
363
  extDeveloper: 'pinksheep2917'
364
  },
@@ -367,7 +605,7 @@ const menuItems = [
367
  extensionId: 'jgExtendedAudio',
368
  iconURL: jgExtendedAudioExtensionIcon,
369
  tags: ['penguinmod', 'categoryexpansion', 'noisemaker'],
370
- description: 'An audio grouping system for more intensive audio work.',
371
  featured: true
372
  },
373
  {
@@ -375,7 +613,7 @@ const menuItems = [
375
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Tune-Shark-V3.js',
376
  iconURL: sharkpoolTuneIcon,
377
  tags: ['penguinmod', 'categoryexpansion', 'noisemaker'],
378
- description: 'Advanced audio engine with complex sound control, multiple audio effects and more!',
379
  extDeveloper: 'SharkPool',
380
  featured: true
381
  },
@@ -384,25 +622,16 @@ const menuItems = [
384
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Sound-Waves.js',
385
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Sound-Waves.svg',
386
  tags: ['penguinmod', 'noisemaker'],
387
- description: 'Make sounds with oscillators!',
388
  extDeveloper: 'SharkPool',
389
  featured: true
390
  },
391
- {
392
- name: 'Looks Expanded',
393
- extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Looks-Expanded.js',
394
- iconURL: sharkpoolLooksExpandedIcon,
395
- tags: ['penguinmod', 'categoryexpansion', 'graphics'],
396
- description: 'Expansion of the Looks Category.',
397
- extDeveloper: 'SharkPool, CST1229',
398
- featured: true
399
- },
400
  {
401
  name: 'Motion Expansion',
402
  extensionId: 'pmMotionExpansion',
403
  iconURL: pmMotionExpansionExtensionIcon,
404
  tags: ['penguinmod', 'categoryexpansion'],
405
- description: 'More small motion blocks for movement or collision.',
406
  featured: true,
407
  credits: 'Some blocks from NexusKitten'
408
  },
@@ -411,7 +640,7 @@ const menuItems = [
411
  extensionId: 'pmEventsExpansion',
412
  iconURL: pmEventsExpansionExtensionIcon,
413
  tags: ['penguinmod', 'categoryexpansion'],
414
- description: 'More events for sending & receiving information, notifing specific sprites or better control when things should happen.',
415
  featured: true,
416
  credits: 'Some blocks from LilyMakesThings'
417
  },
@@ -420,7 +649,7 @@ const menuItems = [
420
  extensionId: 'pmControlsExpansion',
421
  iconURL: pmControlsExpansionExtensionIcon,
422
  tags: ['penguinmod', 'categoryexpansion'],
423
- description: 'More control blocks for animations, complex systems or cleaner one-time use blocks.',
424
  featured: true,
425
  credits: '"new thread" by CubesterYT, CST1229, SharkPool'
426
  },
@@ -429,7 +658,7 @@ const menuItems = [
429
  extensionId: 'pmSensingExpansion',
430
  iconURL: pmSensingExpansionExtensionIcon,
431
  tags: ['penguinmod', 'categoryexpansion'],
432
- description: "More sensing blocks for specific use cases or interacting with the user's device.",
433
  credits: 'Some blocks from SharkPool-SP',
434
  featured: true
435
  },
@@ -438,7 +667,7 @@ const menuItems = [
438
  extensionId: 'pmOperatorsExpansion',
439
  iconURL: pmOperatorsExpansionExtensionIcon,
440
  tags: ['penguinmod', 'categoryexpansion', 'math'],
441
- description: 'More operators like nand, nor, character code to character, reading multiple lined text line by line, etc.',
442
  featured: true
443
  },
444
  {
@@ -446,7 +675,7 @@ const menuItems = [
446
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/My-Blocks-Plus.js',
447
  iconURL: sharkpoolMBPIcon,
448
  tags: ['penguinmod', 'categoryexpansion'],
449
- description: 'Create private or global custom blocks with custom inputs, colors, and more!',
450
  extDeveloper: 'SharkPool, CST1229, 0znzw',
451
  featured: true
452
  },
@@ -455,7 +684,7 @@ const menuItems = [
455
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Better-Comments.js',
456
  iconURL: sharkpoolBCIcon,
457
  tags: ['penguinmod', 'categoryexpansion'],
458
- description: 'Better Comments with Customization and Markdown support',
459
  extDeveloper: 'SharkPool',
460
  featured: true
461
  },
@@ -464,7 +693,7 @@ const menuItems = [
464
  extensionId: 'jgJSON',
465
  iconURL: jgJSONExtensionIcon,
466
  tags: ['penguinmod', 'datamgmt'],
467
- description: 'Blocks for handling JSON objects and Arrays.',
468
  featured: true
469
  },
470
  {
@@ -473,7 +702,7 @@ const menuItems = [
473
  iconURL: spJSONExtensionIcon,
474
  tags: ['penguinmod', 'datamgmt'],
475
  extDeveloper: 'SharkPool',
476
- description: 'POTENTIALLY DANGEROUS, but faster extension for handling JSON objects and arrays. Recommended if you are heavily using JSON several times in a project.',
477
  featured: true
478
  },
479
  {
@@ -481,7 +710,7 @@ const menuItems = [
481
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Particle-Engine.js',
482
  iconURL: sharkpoolPEIcon,
483
  tags: ['penguinmod', 'graphics'],
484
- description: 'Create powerful Particle Engines without Clones',
485
  extDeveloper: 'SharkPool',
486
  featured: true
487
  },
@@ -490,7 +719,7 @@ const menuItems = [
490
  extensionId: 'shovelcss',
491
  iconURL: theshovelCustomStylesIcon,
492
  tags: ['penguinmod', 'graphics'],
493
- description: 'Customize the appearance of variable monitors and prompts in your project.',
494
  extDeveloper: 'TheShovel',
495
  featured: true
496
  },
@@ -501,7 +730,7 @@ const menuItems = [
501
  extDeveloper: 'griffpatch',
502
  iconURL: griffpatchPhysicsThumb,
503
  insetIconURL: griffpatchPhysicsIcon,
504
- description: 'Box2D Physics extension created by Griffpatch.',
505
  customInsetColor: '#D9F0FF',
506
  featured: true
507
  },
@@ -509,7 +738,7 @@ const menuItems = [
509
  name: 'Tweening',
510
  extensionId: 'jgTween',
511
  credits: 'easings.net, Arrow & GarboMuffin',
512
- description: 'Smoothly animating values using different easing functions and directions.',
513
  iconURL: 'https://extensions.turbowarp.org/images/JeremyGamer13/tween.svg',
514
  tags: ['penguinmod'],
515
  featured: true
@@ -517,7 +746,7 @@ const menuItems = [
517
  {
518
  name: 'Tailgating',
519
  extensionId: 'jgTailgating',
520
- description: 'Have sprites & clones follow behind other sprites & clones by an offset, like RPG party members.',
521
  iconURL: jgTailgatingExtensionIcon,
522
  tags: ['penguinmod'],
523
  featured: true
@@ -527,7 +756,7 @@ const menuItems = [
527
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Tile-Grids.js',
528
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Tile-Grids.svg',
529
  tags: ['penguinmod'],
530
- description: 'Place sprites on grids.',
531
  extDeveloper: 'SharkPool-SP',
532
  featured: true
533
  },
@@ -536,7 +765,7 @@ const menuItems = [
536
  extensionId: 'theshovelcanvaseffects',
537
  iconURL: theshovelCanvasEffectsIcon,
538
  tags: ['penguinmod', 'graphics'],
539
- description: 'Apply visual effects to the entire stage.',
540
  extDeveloper: 'TheShovel',
541
  credits: 'SharkPool',
542
  featured: true
@@ -547,7 +776,7 @@ const menuItems = [
547
  tags: ['turbowarp', 'categoryexpansion'],
548
  iconURL: 'https://extensions.turbowarp.org/images/Lily/ClonesPlus.svg',
549
  insetIconURL: turbowarpIcon,
550
- description: "Expansion of Scratch's clone features.",
551
  featured: true,
552
  twDeveloper: 'LilyMakesThings'
553
  },
@@ -557,7 +786,7 @@ const menuItems = [
557
  tags: ['turbowarp', 'graphics'],
558
  iconURL: 'https://extensions.turbowarp.org/images/Lily/Skins.svg',
559
  insetIconURL: turbowarpIcon,
560
- description: 'Have your sprites show themselves as other images or costumes.',
561
  featured: true,
562
  twDeveloper: 'LilyMakesThings'
563
  },
@@ -566,7 +795,7 @@ const menuItems = [
566
  extensionId: 'jgTimers',
567
  iconURL: jgTimersExtensionIcon,
568
  tags: ['penguinmod'],
569
- description: 'Create different timers you can control seperately.',
570
  eventSubmittor: 'Arrow',
571
  featured: true
572
  },
@@ -575,7 +804,7 @@ const menuItems = [
575
  extensionId: 'tempVars',
576
  iconURL: gsaTempVariablesExtensionIcon,
577
  tags: ['penguinmod'],
578
- description: 'Create variables for use in one block stack. Useful to not clutter the variable list with variables you only use once.',
579
  credits: 'LilyMakesThings',
580
  featured: true
581
  },
@@ -584,7 +813,7 @@ const menuItems = [
584
  extensionId: 'lmsTempVars2',
585
  iconURL: lilyTempVariablesExtensionIcon,
586
  tags: ['turbowarp'],
587
- description: 'Create disposable runtime or thread variables.',
588
  insetIconURL: turbowarpIcon,
589
  credits: 'LilyMakesThings',
590
  featured: true
@@ -594,7 +823,7 @@ const menuItems = [
594
  extensionId: 'jgRuntime',
595
  tags: ['penguinmod'],
596
  iconURL: jgRuntimeExtensionIcon,
597
- description: 'Blocks for updating Scratch objects like the stage and sprites.',
598
  credits: 'TheShovel, showierdata9978, SharkPool',
599
  featured: true
600
  },
@@ -603,7 +832,7 @@ const menuItems = [
603
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Font-Manager.js',
604
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Font-Manager.svg',
605
  tags: ['penguinmod', 'graphics'],
606
- description: 'Manage, create, and delete fonts.',
607
  credits: 'SharkPool, Ashimee',
608
  featured: true
609
  },
@@ -612,7 +841,7 @@ const menuItems = [
612
  extensionId: 'jgStorage',
613
  iconURL: jgStorageExtensionIcon,
614
  tags: ['penguinmod', 'datamgmt'],
615
- description: 'Store data after PenguinMod has already been closed out. Basic Server Storage is also included.',
616
  eventSubmittor: 'Fir & silvxrcat',
617
  featured: true
618
  },
@@ -622,7 +851,7 @@ const menuItems = [
622
  iconURL: 'https://extensions.turbowarp.org/images/godslayerakp/http.svg',
623
  insetIconURL: turbowarpIcon,
624
  tags: ['turbowarp'],
625
- description: 'Comprehensive extension for interacting with external websites.',
626
  featured: true,
627
  internetConnectionRequired: true,
628
  customInsetColor: '#ff4d4d'
@@ -633,7 +862,7 @@ const menuItems = [
633
  tags: ['turbowarp', 'penguinmod'],
634
  insetIconURL: cloudlinkIcon,
635
  iconURL: 'https://extensions.penguinmod.com/images/MikeDev101/cloudlink.svg',
636
- description: 'A powerful WebSocket extension for Scratch.',
637
  featured: true,
638
  extDeveloper: 'MikeDev',
639
  internetConnectionRequired: true
@@ -643,7 +872,7 @@ const menuItems = [
643
  extensionId: 'jgScripts',
644
  iconURL: jgScriptsExtensionIcon,
645
  tags: ['penguinmod', 'datamgmt'],
646
- description: 'Create compiled scripts with blocks while the project is running.',
647
  featured: true
648
  },
649
  {
@@ -651,7 +880,7 @@ const menuItems = [
651
  extensionId: 'https://extensions.penguinmod.com/extensions/SammerLOL/pangapi.js',
652
  iconURL: 'https://extensions.penguinmod.com/images/SammerLOL/pangapi.png',
653
  tags: ['penguinmod'],
654
- description: 'Fetch information from the PenguinMod API.',
655
  extDeveloper: 'oc9x97, Ianyourgod',
656
  featured: true
657
  },
@@ -660,7 +889,7 @@ const menuItems = [
660
  extensionId: 'https://extensions.penguinmod.com/extensions/ObviousAlexC/3DMath.js',
661
  iconURL: 'https://extensions.penguinmod.com/images/ObviousAlexC/3DMath.svg',
662
  tags: ['penguinmod', '3d', 'graphics', 'math'],
663
- description: 'A handful of utilities for making your own sprite-based 3D engine.',
664
  extDeveloper: 'pinksheep2917',
665
  featured: true
666
  },
@@ -669,7 +898,7 @@ const menuItems = [
669
  extensionId: 'https://extensions.penguinmod.com/extensions/jwklong/mathematics.js',
670
  iconURL: 'https://extensions.penguinmod.com/images/jwklong/mathematics.png',
671
  tags: ['penguinmod', 'categoryexpansion', 'math'],
672
- description: 'Complicated maths extension for nerds.',
673
  extDeveloper: 'jwklong',
674
  featured: false
675
  },*/
@@ -678,7 +907,7 @@ const menuItems = [
678
  extensionId: 'https://extensions.penguinmod.com/extensions/Gen1x/random_utils.js',
679
  iconURL: 'https://extensions.penguinmod.com/images/Gen1x/randomutils.png',
680
  tags: ['penguinmod'],
681
- description: 'Many blocks related to generating random values, including seed-based number generation, true number generation, UUID\'s, random strings, etc.',
682
  extDeveloper: 'G1nX',
683
  featured: true
684
  },
@@ -687,7 +916,7 @@ const menuItems = [
687
  extensionId: 'shovellzcompresss',
688
  iconURL: theshovelLzCompressIcon,
689
  tags: ['penguinmod', 'datamgmt'],
690
- description: 'Compress and decompress text using lz-string.',
691
  extDeveloper: 'TheShovel',
692
  featured: true
693
  },
@@ -696,7 +925,7 @@ const menuItems = [
696
  extensionId: 'jgPrism',
697
  tags: ['penguinmod', 'datamgmt'],
698
  iconURL: jgPrismExtensionIcon,
699
- description: 'Blocks for specific use-cases or major convenience.',
700
  featured: true
701
  },
702
  {
@@ -704,7 +933,7 @@ const menuItems = [
704
  extensionId: 'oddMessage',
705
  tags: ['penguinmod'],
706
  iconURL: silvxrcatOddMessagesExtensionIcon,
707
- description: 'For logging and variable utilization.',
708
  featured: true,
709
  extDeveloper: 'silvxrcat'
710
  },
@@ -713,7 +942,7 @@ const menuItems = [
713
  extensionId: 'jgIframe',
714
  iconURL: jgIframeExtensionIcon,
715
  tags: ['penguinmod'],
716
- description: 'Blocks to place and move around frames that contain HTML content or websites.',
717
  featured: true,
718
  internetConnectionRequired: true
719
  },
@@ -722,7 +951,7 @@ const menuItems = [
722
  extensionId: 'shovelColorPicker',
723
  iconURL: theshovelColorPickerIcon,
724
  tags: ['penguinmod'],
725
- description: 'Allow the user to choose a color using the built-in color picker, so you don\'t need to make your own.',
726
  extDeveloper: 'TheShovel',
727
  featured: true
728
  },
@@ -731,7 +960,7 @@ const menuItems = [
731
  extensionId: 'colors',
732
  iconURL: gsaColorUtilExtensionIcon,
733
  tags: ['penguinmod'],
734
- description: 'Converters for Hex, RGB, HSV and Decimal colors and other color related things.',
735
  featured: true
736
  },
737
  {
@@ -739,7 +968,7 @@ const menuItems = [
739
  extensionId: 'https://extensions.penguinmod.com/extensions/Lily/AllMenus.js',
740
  iconURL: 'https://extensions.penguinmod.com/images/Lily/AllMenus.svg',
741
  tags: ['penguinmod'],
742
- description: 'Every dropdown menu for each block, in one extension.',
743
  extDeveloper: 'LilyMakesThings',
744
  featured: true
745
  },
@@ -777,7 +1006,7 @@ const menuItems = [
777
  iconURL: iygPerlinNoiseExtensionIcon,
778
  description: (
779
  <FormattedMessage
780
- defaultMessage="Blocks for generating and using Perlin noise. Good for generating terrain, clouds, and other things."
781
  description="Description of perlin noise extension"
782
  id="iygPerlin.iygPerlinExtension.description"
783
  />
@@ -793,7 +1022,7 @@ const menuItems = [
793
  iconURL: gp,
794
  description: (
795
  <FormattedMessage
796
- defaultMessage="Directly access gamepads instead of just mapping buttons to keys."
797
  description="Description for the 'GamePad' extension"
798
  id="GamepadExtension.GamepadExtension.description"
799
  />
@@ -805,7 +1034,7 @@ const menuItems = [
805
  tags: ['penguinmod', 'hardware'],
806
  extensionId: 'sharkpoolPrinting',
807
  iconURL: sharkpoolPrintingIcon,
808
- description: 'Allows you to show a dialog for printing text, images, and custom HTML to a printer.',
809
  featured: true
810
  },
811
  {
@@ -814,7 +1043,7 @@ const menuItems = [
814
  iconURL: clippingblending,
815
  tags: ['turbowarp', 'graphics'],
816
  insetIconURL: turbowarpIcon,
817
- description: 'Clipping outside of a specified rectangular area and additive color blending.',
818
  featured: true,
819
  twDeveloper: 'Vadik1'
820
  },
@@ -826,7 +1055,7 @@ const menuItems = [
826
  iconURL: pointerlockThumb,
827
  description: (
828
  <FormattedMessage
829
- defaultMessage="A extension to lock the mouse cursor in the stage."
830
  description="Scratch utilities"
831
  id="gui.extension.pointerlock.description"
832
  />
@@ -843,7 +1072,7 @@ const menuItems = [
843
  iconURL: 'https://extensions.turbowarp.org/images/cursor.png',
844
  description: (
845
  <FormattedMessage
846
- defaultMessage="A extension to change what the mouse cursor looks like on the stage."
847
  description="Scratch utilities"
848
  id="gui.extension.MouseCursor.description"
849
  />
@@ -857,7 +1086,7 @@ const menuItems = [
857
  extensionId: 'jgScratchAuthenticate',
858
  iconURL: jgScratchAuthExtensionIcon,
859
  tags: ['penguinmod'],
860
- description: "Interact with Scratch Authentication to prove the player is a real scratch user.",
861
  featured: true
862
  },
863
  {
@@ -865,7 +1094,7 @@ const menuItems = [
865
  extensionId: 'jgJavascript',
866
  iconURL: jgJavascriptExtensionIcon,
867
  tags: ['penguinmod', 'programminglanguage'],
868
- description: 'Run your own custom code written in JavaScript!',
869
  featured: true
870
  },
871
  {
@@ -873,7 +1102,7 @@ const menuItems = [
873
  extensionId: 'jwArray',
874
  iconURL: jwArrayExtensionThumb,
875
  tags: ['penguinmod', 'datamgmt'],
876
- description: 'Store data efficiently in multi-purpose arrays.',
877
  extDeveloper: 'jwklong',
878
  featured: true
879
  },
@@ -882,7 +1111,7 @@ const menuItems = [
882
  extensionId: 'jwTargets',
883
  iconURL: jwTargetsExtensionThumb,
884
  tags: ['penguinmod'],
885
- description: 'Direct access to sprites and their clones.',
886
  extDeveloper: 'jwklong',
887
  featured: true
888
  },
@@ -891,7 +1120,7 @@ const menuItems = [
891
  extensionId: 'jwNum',
892
  iconURL: jwNumExtensionThumb,
893
  tags: ['penguinmod', 'math'],
894
- description: 'Advanced number type capable of really big numbers.',
895
  extDeveloper: 'jwklong',
896
  credits: 'Naruyoko for ExpantaNum.js',
897
  featured: true
@@ -901,16 +1130,7 @@ const menuItems = [
901
  extensionId: 'jwColor',
902
  iconURL: jwColorExtensionThumb,
903
  tags: ['penguinmod', 'graphics'],
904
- description: 'Utilities for anything involving colors.',
905
- extDeveloper: 'jwklong',
906
- featured: true
907
- },
908
- {
909
- name: 'Vector',
910
- extensionId: 'jwVector',
911
- iconURL: jwVectorExtensionThumb,
912
- tags: ['penguinmod', 'math'],
913
- description: 'Vector type for calculating with X and Y coordinates.',
914
  extDeveloper: 'jwklong',
915
  featured: true
916
  },
@@ -986,7 +1206,7 @@ const menuItems = [
986
  tags: ['scratch', 'hardware'],
987
  description: (
988
  <FormattedMessage
989
- defaultMessage="Bring robotic creations to life."
990
  description="Description for the 'LEGO BOOST' extension"
991
  id="gui.extension.boost.description"
992
  />
@@ -1018,7 +1238,7 @@ const menuItems = [
1018
  insetIconURL: wedo2InsetIconURL,
1019
  description: (
1020
  <FormattedMessage
1021
- defaultMessage="Build with motors and sensors."
1022
  description="Description for the 'LEGO WeDo 2.0' extension"
1023
  id="gui.extension.wedo2.description"
1024
  />
@@ -1053,7 +1273,7 @@ const menuItems = [
1053
  tags: ['scratch', 'hardware'],
1054
  description: (
1055
  <FormattedMessage
1056
- defaultMessage="Sense push, pull, motion, and spin."
1057
  description="Description for the Vernier Go Direct Force and Acceleration sensor extension"
1058
  id="gui.extension.gdxfor.description"
1059
  />
@@ -1088,7 +1308,7 @@ const menuItems = [
1088
  iconURL: penguinmodLibraryExtensionIcon,
1089
  description: (
1090
  <FormattedMessage
1091
- defaultMessage="See some user-submitted extensions. Opens in a new tab."
1092
  description="Description of library item to open the Extra Extensions gallery"
1093
  id="pm.extraLibraryExtensions.description"
1094
  />
@@ -1113,7 +1333,7 @@ const menuItems = [
1113
  description: (
1114
  <FormattedMessage
1115
  // eslint-disable-next-line max-len
1116
- defaultMessage="We list many TurboWarp extensions here for convenience, but you can find even more on extensions.turbowarp.org."
1117
  description="Description of extensions.turbowarp.org in extension library"
1118
  id="tw.extensionGallery.description"
1119
  />
@@ -1123,10 +1343,10 @@ const menuItems = [
1123
  },
1124
  {
1125
  name: 'SharkPool\'s Extension Collection',
1126
- href: 'https://sharkpools-extensions.vercel.app/?originPM=true',
1127
  extensionId: 'special_sharkpoolExtensionLibrary',
1128
  iconURL: sharkpoolGalleryIcon,
1129
- description: 'Tons of extensions created by SharkPool.\n\nClick on an extension while this menu is open to add it to your project.',
1130
  credits: 'Listed in the site',
1131
  tags: ['library'],
1132
  featured: true
@@ -1136,7 +1356,7 @@ const menuItems = [
1136
  href: 'https://jwklong.github.io/extforge',
1137
  extensionId: 'special_extforge',
1138
  iconURL: ExtForgeIcon,
1139
- description: 'Create extensions with a block-based UI.',
1140
  extDeveloper: 'jwklong',
1141
  isNew: true,
1142
  tags: ['extcreate'],
@@ -1148,7 +1368,7 @@ const menuItems = [
1148
  href: 'https://turbobuilder.vercel.app/',
1149
  extensionId: 'special_turboBuilder',
1150
  iconURL: turboBuilderIcon,
1151
- description: 'Create your own amazing extensions using a scratch-based UI!',
1152
  credits: 'Started by JeremyGamer13, continued by jwklong',
1153
  tags: ['extcreate'],
1154
  featured: true,
@@ -1160,7 +1380,7 @@ const menuItems = [
1160
  href: 'https://turbobuilder-dev.vercel.app/',
1161
  extensionId: 'special_turboBuilderDev',
1162
  iconURL: turboBuilderDevIcon,
1163
- description: 'Publicly available developer branch, with the latest features.',
1164
  credits: 'Started by JeremyGamer13, continued by jwklong',
1165
  tags: ['extcreate'],
1166
  featured: true
@@ -1178,7 +1398,7 @@ const menuItems = [
1178
  iconURL: customExtensionIcon,
1179
  description: (
1180
  <FormattedMessage
1181
- defaultMessage="Load custom extensions from URLs, files, or JavaScript source code."
1182
  description="Description of library item to load a custom extension from a custom source"
1183
  id="tw.customExtension.description"
1184
  />
@@ -1216,7 +1436,7 @@ if (IsLocal || IsLiveTests) {
1216
  customInsetColor: '#0094FF',
1217
  description: (
1218
  <FormattedMessage
1219
- defaultMessage="Extra drawing tools using an HTML Canvas. Works well when used with other extensions."
1220
  description="Description of Text extension"
1221
  id="text.description"
1222
  />
@@ -1230,7 +1450,7 @@ if (IsLocal || IsLiveTests) {
1230
  tags: ['penguinmod'],
1231
  insetIconURL: canvasExtensionIcon,
1232
  customInsetColor: '#0094FF',
1233
- description: 'depracated version of HTML Canvas.',
1234
  featured: true
1235
  },
1236
  {
@@ -1238,7 +1458,7 @@ if (IsLocal || IsLiveTests) {
1238
  extensionId: 'jgFiles',
1239
  iconURL: defaultExtensionIcon,
1240
  tags: ['penguinmod', 'datamgmt'],
1241
- description: 'Basic blocks for files. This has been replaced by the TurboWarp files extension.',
1242
  featured: true
1243
  },
1244
  {
@@ -1246,7 +1466,7 @@ if (IsLocal || IsLiveTests) {
1246
  extensionId: 'jgClones',
1247
  iconURL: jgCloneManagerExtensionIcon,
1248
  tags: ['penguinmod'],
1249
- description: 'Mainly sharing data between clones and the main sprite, but also some other small features. This has been replaced by the TurboWarp Clones+ extension.',
1250
  featured: true
1251
  },
1252
  {
@@ -1254,7 +1474,7 @@ if (IsLocal || IsLiveTests) {
1254
  extensionId: 'jgEasySave',
1255
  iconURL: defaultExtensionIcon,
1256
  tags: ['penguinmod', 'datamgmt'],
1257
- description: 'Save variables, lists and extra info to a file, then load those things back in.',
1258
  featured: true
1259
  },
1260
  {
@@ -1273,7 +1493,7 @@ if (IsLocal || IsLiveTests) {
1273
  tags: ['turbowarp'],
1274
  insetIconURL: turbowarpIcon,
1275
  iconURL: twIcon,
1276
- description: 'Weird new blocks. Replaced by Sensing Expansion.',
1277
  featured: true
1278
  },
1279
  {
@@ -1298,7 +1518,7 @@ if (IsLocal || IsLiveTests) {
1298
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/epic.png',
1299
  internetConnectionRequired: true,
1300
  tags: ['penguinmod', 'joke'],
1301
- description: 'this is SUCH A GOOD EXTENSION USE IT NOW',
1302
  featured: true
1303
  },
1304
  {
@@ -1306,7 +1526,7 @@ if (IsLocal || IsLiveTests) {
1306
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/AprilFools.js',
1307
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/epicutils.png',
1308
  tags: ['penguinmod', 'joke'],
1309
- description: 'the super good utilities brought to you by todays sponsor sharkpool (the epic utilities)',
1310
  featured: true
1311
  },
1312
  {
@@ -1314,7 +1534,7 @@ if (IsLocal || IsLiveTests) {
1314
  extensionId: 'https://extensions.penguinmod.com/extensions/Gen1x/CATS.js',
1315
  iconURL: 'https://extensions.penguinmod.com/images/Gen1x/cats.png',
1316
  tags: ['penguinmod', 'joke'],
1317
- description: 'Blocks related to cats.',
1318
  extDeveloper: 'G1nX',
1319
  featured: true
1320
  },
@@ -1324,7 +1544,7 @@ if (IsLocal || IsLiveTests) {
1324
  tags: ['turbowarp', 'joke'],
1325
  iconURL: 'https://extensions.turbowarp.org/images/Lily/McUtils.png',
1326
  insetIconURL: turbowarpIcon,
1327
- description: 'Basic utilities for any fast food employee',
1328
  featured: true,
1329
  twDeveloper: 'LilyMakesThings'
1330
  },
@@ -1334,7 +1554,7 @@ if (IsLocal || IsLiveTests) {
1334
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/screenshot1.png',
1335
  tags: ['penguinmod', 'joke'],
1336
  internetConnectionRequired: true,
1337
- description: 'who needs cat blocks when you have penguin block',
1338
  extDeveloper: 'Ashimee, 0znzw, CST1229',
1339
  featured: true
1340
  },
@@ -1344,7 +1564,7 @@ if (IsLocal || IsLiveTests) {
1344
  iconURL: 'https://library.penguinmod.com/files/emojis/cluelesssmile.png',
1345
  tags: ['penguinmod', 'joke'],
1346
  internetConnectionRequired: true,
1347
- description: 'april fools took too long man this joke is not funny anymore',
1348
  featured: true
1349
  },
1350
  {
@@ -1352,7 +1572,7 @@ if (IsLocal || IsLiveTests) {
1352
  extensionId: 'jwUnite',
1353
  iconURL: jwUniteExtensionIcon,
1354
  tags: ['penguinmod'],
1355
- description: 'Legacy extension that was eventually merged into the default toolbox.',
1356
  featured: true
1357
  },
1358
  {
@@ -1360,7 +1580,7 @@ if (IsLocal || IsLiveTests) {
1360
  extensionId: 'jwXml',
1361
  iconURL: jwXmlExtensionIcon,
1362
  tags: ['penguinmod', 'datamgmt'],
1363
- description: 'Enables the creation and getting of XML data. Not yet able to modify data.',
1364
  extDeveloper: 'jwklong',
1365
  featured: true
1366
  },
@@ -1369,7 +1589,7 @@ if (IsLocal || IsLiveTests) {
1369
  extensionId: 'jgDebugging',
1370
  iconURL: jgDebuggingIcon,
1371
  tags: ['penguinmod'],
1372
- description: 'Log information and run commands. Good for debugging packaged projects or just easily changing things.',
1373
  featured: true
1374
  },
1375
  {
@@ -1377,15 +1597,7 @@ if (IsLocal || IsLiveTests) {
1377
  href: 'https://studio.penguinmod.com/loadExt.html',
1378
  extensionId: 'special_testExtensionLibrary',
1379
  iconURL: defaultExtensionIcon,
1380
- description: 'Test loading extensions from a library. For developers.',
1381
- featured: true
1382
- },
1383
- {
1384
- name: 'Editor',
1385
- href: 'https://studio.penguinmod.com/editor.html',
1386
- extensionId: 'special_editorExtensionLibrary',
1387
- iconURL: penguinmodLibraryExtensionIcon,
1388
- description: 'Opens the editor with this tab as the parent, still with the library opened. For developers.',
1389
  featured: true
1390
  },
1391
  {
@@ -1401,7 +1613,7 @@ if (IsLocal || IsLiveTests) {
1401
  iconURL: jwStructsExtensionIcon,
1402
  description: (
1403
  <FormattedMessage
1404
- defaultMessage="Removed from list. OOP blocks. OOp is a programming paradigm that uses objects and their interactions to design applications and computer programs."
1405
  description="Description of OOP extension"
1406
  id="jwStructs.jwStructsExtension.description"
1407
  />
@@ -1413,7 +1625,7 @@ if (IsLocal || IsLiveTests) {
1413
  extensionId: 'JgPermissionBlocks',
1414
  iconURL: jgPermissionExtensionIcon,
1415
  tags: ['penguinmod'],
1416
- description: 'Legacy extension, old blocks no longer serve a real purpose. Direct blocks to manage permissions that PenguinMod requires you have to do certain tasks.',
1417
  featured: true
1418
  },
1419
  {
@@ -1421,20 +1633,19 @@ if (IsLocal || IsLiveTests) {
1421
  extensionId: 'jgDev',
1422
  iconURL: defaultExtensionIcon,
1423
  tags: ['penguinmod'],
1424
- description: 'Test extension to see if things are possible.\nDO NOT USE THIS IN PRODUCTION as blocks are subject to change and may corrupt your projects.',
1425
  credits: 'Some features added from LilyMakesThings, CubesterYT, TheShovel',
1426
  featured: true
1427
  },
1428
  {
1429
  name: '3D',
1430
  extensionId: 'jg3d',
1431
- iconURL: defaultExtensionIcon,
1432
  tags: ['penguinmod', '3d'],
1433
  customInsetColor: '#B200FF',
1434
  insetIconURL: jg3dInsetExtensionIcon,
1435
- description: 'Do not use for real projects. Not recommended, unstable, and will be rewritten/remade entirely at a later date. In development.',
1436
- featured: true,
1437
- extensionWarningOnImport: true
1438
  },
1439
  {
1440
  name: '3D Physics',
@@ -1443,7 +1654,7 @@ if (IsLocal || IsLiveTests) {
1443
  tags: ['penguinmod', '3d'],
1444
  customInsetColor: '#D066FE',
1445
  insetIconURL: fr3dPhysicsInsetExtensionIcon,
1446
- description: 'Physics for the 3D extension.',
1447
  featured: true
1448
  },
1449
  {
@@ -1453,7 +1664,7 @@ if (IsLocal || IsLiveTests) {
1453
  tags: ['penguinmod', 'hardware', '3d'],
1454
  customInsetColor: '#B200FF',
1455
  insetIconURL: jg3dVrInsetExtensionIcon,
1456
- description: 'Do not use for real projects. Not recommended, unstable, and will be rewritten/remade entirely at a later date. In development. May break compatibility. Allow players to really jump into your world!',
1457
  featured: true,
1458
  extensionWarningOnImport: true
1459
  },
@@ -1463,7 +1674,7 @@ if (IsLocal || IsLiveTests) {
1463
  iconURL: jgsilvxrcatInterfacesExtensionIcon,
1464
  credits: 'silvxrcat',
1465
  tags: ['penguinmod'],
1466
- description: 'In development.',
1467
  featured: true
1468
  },
1469
  {
@@ -1474,16 +1685,16 @@ if (IsLocal || IsLiveTests) {
1474
  twDeveloper: 'CubesterYT',
1475
  customInsetColor: '#66B8FF',
1476
  tags: ['penguinmod', 'packager'],
1477
- description: 'In development. Do extra things in packaged applications that you can\'t do in the website!',
1478
  featured: true
1479
  },
1480
-
1481
  {
1482
  name: 'Inline Blocks',
1483
  extensionId: 'pmInlineBlocks',
1484
  iconURL: pmInlineBlocksExtensionIcon,
1485
  tags: ['penguinmod'],
1486
- description: 'Create quick blocks for simple tasks. Insert them into any circle spot and have them return any value you want.',
1487
  featured: true
1488
  },
1489
  {
@@ -1499,7 +1710,7 @@ if (IsLocal || IsLiveTests) {
1499
  iconURL: jgPathfindingExtensionIcon,
1500
  description: (
1501
  <FormattedMessage
1502
- defaultMessage="(Unstable and or laggy; Needs further work) Have sprites navigate around obstacles in your game instead of clipping into them."
1503
  description="Description of Pathfinding extension"
1504
  id="jgPathfinding.Pathfinding.description"
1505
  />
@@ -1511,7 +1722,7 @@ if (IsLocal || IsLiveTests) {
1511
  extensionId: 'jgAnimation',
1512
  iconURL: jgAnimationExtensionIcon,
1513
  tags: ['penguinmod'],
1514
- description: 'In development. Currently buggy and missing features.',
1515
  featured: true
1516
  },
1517
  {
@@ -1519,21 +1730,18 @@ if (IsLocal || IsLiveTests) {
1519
  extensionId: 'jgVr',
1520
  iconURL: jgVrExtensionIcon,
1521
  tags: ['penguinmod', 'hardware'],
1522
- description: 'In development.',
1523
- extDeveloper: "JeremyGamer13",
1524
- extraLabels: [
1525
- {
1526
- name: "Uses code from",
1527
- value: "\"Augmented Reality\" by Vadik1"
1528
- }
1529
- ],
1530
- featured: true,
1531
- extensionWarningOnImport: true
1532
  }
1533
  ];
1534
  extras.forEach(ext => {
1535
  menuItems.push(ext);
1536
  });
1537
  }
 
 
 
1538
 
1539
- export default menuItems;
 
8
 
9
  import penIconURL from './pen/pen.png';
10
  import penInsetIconURL from './pen/pen-small.svg';
11
+ import sharkpoolLooksExpandedIcon from './penguinmod/extensions/looksExpanded.svg';
12
+ import jgDebuggingIcon from './penguinmod/extensions/debugging.svg';
13
+ import posenet4scratchIcon from './izum00/posenet4scratch/icon.png';
14
+ import posenet4scratchThumb from './izum00/posenet4scratch/thumb.png';
15
 
16
  import videoSensingIconURL from './videoSensing/video-sensing.png';
17
  import videoSensingInsetIconURL from './videoSensing/video-sensing-small.svg';
 
72
  import jgTailgatingExtensionIcon from './penguinmod/extensions/tailgating.png';
73
  import jgRuntimeExtensionIcon from './penguinmod/extensions/runtime.svg';
74
  import jgPrismExtensionIcon from './penguinmod/extensions/prism.png';
 
75
 
76
  import jwProtoExtensionIcon from './penguinmod/extensions/proto.svg';
77
  import jwUniteExtensionIcon from './penguinmod/extensions/Unite.png';
 
83
  import jwTargetsExtensionThumb from './penguinmod/extensions/jwTargets.svg';
84
  import jwNumExtensionThumb from './penguinmod/extensions/jwNum.svg';
85
  import jwColorExtensionThumb from './penguinmod/extensions/jwColor.svg';
 
86
 
87
  import iygPerlinNoiseExtensionIcon from './penguinmod/extensions/perlinnoisebanner.png';
88
 
 
151
  import sharkpoolBCIcon from './penguinmod/extensions/BetterComments.svg';
152
  import sharkpoolPEIcon from './penguinmod/extensions/particleEngine.svg';
153
  import jgScriptsExtensionIcon from './penguinmod/extensions/scripts.svg';
 
154
 
155
  // events
156
  import jgStorageExtensionIcon from './penguinmod/extensions/storage.png';
 
177
  const IsLocal = String(window.location.href).startsWith(`http://localhost:`);
178
  const IsLiveTests = urlParams.has('livetests');
179
 
180
+ let menuItems = [
181
+ {
182
+ name: 'TMPose2Scratch',
183
+ extensionId: 'tmpose2scratch',
184
+ collaborator: 'Tsukurusha, YengawaLab and Google',
185
+ iconURL: 'https://github.com/champierre/tmpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/tmpose2scratch/tmpose2scratch.png',
186
+ insetIconURL: 'https://github.com/champierre/tmpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/tmpose2scratch/tmpose2scratch-small.png',
187
+ description: (
188
+ <FormattedMessage
189
+ defaultMessage='Recognize your own poses.'
190
+ description='Recognize your own poses.'
191
+ id='gui.extension.tmpose2scratchblocks.description'
192
+ />
193
+ ),
194
+ featured: true,
195
+ disabled: false,
196
+ internetConnectionRequired: true,
197
+ bluetoothRequired: false,
198
+ translationMap: {
199
+ 'ja': {
200
+ 'gui.extension.tmpose2scratchblocks.description': 'ポーズを学習させよう。'
201
+ },
202
+ 'ja-Hira': {
203
+ 'gui.extension.tmpose2scratchblocks.description': 'ポーズをがくしゅうさせよう。'
204
+ },
205
+ 'en': {
206
+ 'gui.extension.tmpose2scratchblocks.description': 'Recognize your own poses.'
207
+ },
208
+ 'ko': {
209
+ 'gui.extension.tmpose2scratchblocks.description': '나의 몸동작 포즈를 인식해볼까요'
210
+ }
211
+ }
212
+ },
213
+
214
+ {
215
+ name: 'ImageClassifier2Scratch',
216
+ extensionId: 'ic2scratch',
217
+ collaborator: 'champierre',
218
+ iconURL: 'https://github.com/champierre/ic2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/ic2scratch/ic2scratch.png',
219
+ insetIconURL: 'https://github.com/champierre/ic2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/ic2scratch/ic2scratch-small.png',
220
+ description: (
221
+ <FormattedMessage
222
+ defaultMessage='カメラ画像に写っているものを認識します。結果は英語で返されます。'
223
+ description='Image Classifier Blocks.'
224
+ id='gui.extension.ic2scratchblocks.description'
225
+ />
226
+ ),
227
+ featured: true,
228
+ disabled: false,
229
+ internetConnectionRequired: true,
230
+ bluetoothRequired: false
231
+ },
232
+ {
233
+ name: 'BlockAI',
234
+ extensionId: 'https://huggingface.co/datasets/soiz1/my-scratch-ai-extensions/raw/main/block-ai.js',
235
+ collaborator: 'TheShovel',
236
+ iconURL: 'https://extensions.penguinmod.com/images/TheShovel/thumbnail-blockAI.png',
237
+ insetIconURL: 'https://huggingface.co/datasets/soiz1/my-scratch-ai-extensions/resolve/main/BlockAI-ICON.png?download=true',
238
+ description: 'geminiでコーディングのサポートをします。実験的で、間違った情報などを返す場合があります。',
239
+ featured: true,
240
+ disabled: false,
241
+ internetConnectionRequired: true,
242
+ },
243
+ {
244
+ name: 'NewHandpose2Scratch',
245
+ extensionId: 'newhandpose2scratch',
246
+ collaborator: 'champierre',
247
+ iconURL: 'https://github.com/champierre/handpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch.png',
248
+ insetIconURL: 'https://github.com/champierre/handpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch-small.png',
249
+ description: (
250
+ <FormattedMessage
251
+ defaultMessage='新しい手の形を認識する拡張機能です。かなり高速で、奥行き(z座標)は検出できません。'
252
+ description='HandPose2Scratch Blocks.'
253
+ id='gui.extension.newhandpose2scratchblocks.description'
254
+ />
255
+ ),
256
+ featured: true,
257
+ disabled: false,
258
+ internetConnectionRequired: true,
259
+ bluetoothRequired: false,
260
+ helpLink: 'https://champierre.github.io/handpose2scratch/'
261
+ },
262
+ {
263
+ name: 'Handpose2Scratch',
264
+ extensionId: 'handpose2scratch',
265
+ collaborator: 'champierre',
266
+ iconURL: 'https://github.com/champierre/handpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch.png',
267
+ insetIconURL: 'https://github.com/champierre/handpose2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch-small.png',
268
+ description: (
269
+ <FormattedMessage
270
+ defaultMessage='これは古い手のポーズトラッキングで、少し処理が遅いです。奥行き(z座標)も取得できます。'
271
+ description='HandPose2Scratch Blocks.'
272
+ id='gui.extension.handpose2scratchblocks.description'
273
+ />
274
+ ),
275
+ featured: true,
276
+ disabled: false,
277
+ internetConnectionRequired: true,
278
+ bluetoothRequired: false,
279
+ helpLink: 'https://champierre.github.io/handpose2scratch/'
280
+ },
281
+ {
282
+ name: 'TM2Scratch',
283
+ extensionId: 'tm2scratch',
284
+ collaborator: 'Tsukurusha, YengawaLab and Google',
285
+ iconURL: 'https://github.com/champierre/tm2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/tm2scratch/tm2scratch.png',
286
+ insetIconURL: 'https://github.com/champierre/tm2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/tm2scratch/tm2scratch-small.png',
287
+ description: (
288
+ <FormattedMessage
289
+ defaultMessage='画像や音声を学習させよう。'
290
+ description='画像や音声を学習させよう。'
291
+ id='gui.extension.tm2scratchblocks.description'
292
+ />
293
+ ),
294
+ featured: true,
295
+ disabled: false,
296
+ internetConnectionRequired: true,
297
+ bluetoothRequired: false,
298
+ translationMap: {
299
+ 'ja': {
300
+ 'gui.extension.tm2scratchblocks.description': '画像や音声を学習させよう。'
301
+ },
302
+ 'ja-Hira': {
303
+ 'gui.extension.tm2scratchblocks.description': 'がぞうやおんせいをがくしゅうさせよう。'
304
+ },
305
+ 'en': {
306
+ 'gui.extension.tm2scratchblocks.description': 'Recognize your own images and sounds.'
307
+ },
308
+ 'zh-cn': {
309
+ 'gui.extension.tm2scratchblocks.description': 'Recognize your own images and sounds.'
310
+ },
311
+ 'ko': {
312
+ 'gui.extension.tm2scratchblocks.description': '나의 이미지와 소리를 인식해볼까요'
313
+ },
314
+ 'zh-tw': {
315
+ 'gui.extension.tm2scratchblocks.description': 'Recognize your own images and sounds.'
316
+ }
317
+ }
318
+ },
319
+ {
320
+ name: 'ML2Scratch',
321
+ extensionId: 'ml2scratch',
322
+ extensionURL: 'ml2scratch',
323
+ collaborator: 'champierre',
324
+ iconURL: 'https://github.com/champierre/ml2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/ml2scratch/ml2scratch.png',
325
+ insetIconURL: 'https://github.com/champierre/ml2scratch/raw/refs/heads/master/scratch-gui/src/lib/libraries/extensions/ml2scratch/ml2scratch-small.png',
326
+ description: (
327
+ <FormattedMessage
328
+ defaultMessage="プロジェクト内でカメラやステージの画像を学習・認識できます。"
329
+ description="Description for ML2Scratch Blocks."
330
+ id="gui.extension.ml2scratch.description"
331
+ />
332
+ ),
333
+ featured: true,
334
+ disabled: false,
335
+ bluetoothRequired: false,
336
+ internetConnectionRequired: true,
337
+ helpLink: 'https://github.com/champierre/ml2scratch/'
338
+ },
339
+ {
340
+ name: 'Posenet2Scratch',
341
+ extensionId: 'posenet2scratch',
342
+ iconURL: 'https://www.adacraft.org/studio/static/assets/cc4d68fe9d6a77c7f35f9d5461b60967.png',
343
+ insetIconURL: 'https://raw.githubusercontent.com/champierre/posenet2scratch/master/scratch-gui/src/lib/libraries/extensions/posenet2scratch/posenet2scratch-small.png',
344
+ collaborator: 'champierre',
345
+ internetConnectionRequired: true,
346
+ tags: ['other_mods', 'ai'],
347
+ description: '特別なデバイスを使わずに、通常のWebカメラで人間のポーズを迅速かつ正確に検出します',
348
+ featured: true
349
+ },
350
+ {
351
+ name: 'Facemesh2scratch',
352
+ extensionId: 'facemesh2scratch',
353
+ iconURL: 'https://raw.githubusercontent.com/champierre/facemesh2scratch/master/scratch-gui/src/lib/libraries/extensions/facemesh2scratch/facemesh2scratch.png',
354
+ insetIconURL: 'https://raw.githubusercontent.com/champierre/facemesh2scratch/master/scratch-gui/src/lib/libraries/extensions/facemesh2scratch/facemesh2scratch-small.png',
355
+ collaborator: 'champierre',
356
+ internetConnectionRequired: true,
357
+ tags: ['other_mods', 'ai'],
358
+ description: 'プロジェクトでフェイストラッキングを活用しましょう!',
359
+ featured: true
360
+ },
361
+ {
362
+ name: 'Handpose2scratch',
363
+ extensionId: 'handpose2scratch',
364
+ iconURL: 'https://raw.githubusercontent.com/champierre/handpose2scratch/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch.png',
365
+ insetIconURL: 'https://raw.githubusercontent.com/champierre/handpose2scratch/master/scratch-gui/src/lib/libraries/extensions/handpose2scratch/handpose2scratch-small.png',
366
+ collaborator: 'champierre',
367
+ internetConnectionRequired: true,
368
+ tags: ['other_mods'],
369
+ description: '手の細かい部位の座標を取得・トラッキングできます。',
370
+ featured: true
371
+ },
372
+ {
373
+ name: 'p5js',
374
+ extensionId: 'https://huggingface.co/datasets/soiz1/my-scratch-ai-extensions/raw/main/p5js.js',
375
+ iconURL: 'https://www.adacraft.org/studio/static/assets/48d03d1d2794e30b221465fc07da79f7.png',
376
+ insetIconURL: 'https://www.adacraft.org/studio/static/assets/ae362c23f226c3c27c295174205442fb.svg',
377
+ collaborator: 'adacraft',
378
+ internetConnectionRequired: true,
379
+ tags: [],
380
+ description: 'Some blocks that use the p5.js library.',
381
+ featured: true
382
+ },
383
  {
384
  name: (
385
  <FormattedMessage
 
430
  insetIconURL: animatedTextInsetIconURL,
431
  customInsetColor: '#9A66FF',
432
  tags: ['scratch'],
433
+ description: '文字に命を吹き込みます。元々、Scratch公式が開発中のものでした。',
434
  featured: true
435
  },
436
  {
 
496
  tags: ['scratch'],
497
  description: (
498
  <FormattedMessage
499
+ defaultMessage="テキストを多くの言語に翻訳します。"
500
  description="Description for the Translate extension"
501
  id="gui.extension.translate.description"
502
  />
 
504
  featured: true,
505
  internetConnectionRequired: true
506
  },
507
+ {
508
+ name: 'Looks Expanded',
509
+ extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Looks-Expanded.js',
510
+ iconURL: sharkpoolLooksExpandedIcon,
511
+ tags: ['penguinmod', 'categoryexpansion', 'graphics'],
512
+ description: 'Expansion of the Looks Category.',
513
+ extDeveloper: 'SharkPool, CST1229',
514
+ featured: true
515
+ },
516
+ {
517
+ name: 'Sensing Plus',
518
+ extensionId: 'https://extensions.turbowarp.org/obviousAlexC/SensingPlus.js',
519
+ collaborator: 'ObviousAlexC',
520
+ iconURL: 'https://extensions.turbowarp.org/images/obviousAlexC/SensingPlus.svg',
521
+ tags: ['turbowarp'],
522
+ description: 'An extension to the sensing category.',
523
+ featured: true
524
+ },
525
+ {
526
+ name: 'Window Controls',
527
+ extensionId: 'https://extensions.turbowarp.org/CubesterYT/WindowControls.js',
528
+ collaborator: 'Created:BlueDome77 Updated:CubesterYT.',
529
+ iconURL: 'https://extensions.turbowarp.org/images/CubesterYT/WindowControls.svg',
530
+ tags: ['turbowap'],
531
+ description: 'Move, resize, rename the window, enter fullscreen, get screen size, and more.',
532
+ featured: true
533
+ },
534
+ {
535
+ name: 'Stretch',
536
+ extensionId: 'https://extensions.turbowarp.org/stretch.js',
537
+ iconURL: 'https://extensions.turbowarp.org/images/stretch.svg',
538
+ tags: ['turbowap'],
539
+ description: 'Stretch sprites horizontally or vertically.',
540
+ featured: true
541
+ },
542
  {
543
  name: 'Makey Makey',
544
  extensionId: 'makeymakey',
 
549
  tags: ['scratch', 'hardware'],
550
  description: (
551
  <FormattedMessage
552
+ defaultMessage="何でもキーに変えられます。"
553
  description="Description for the 'Makey Makey' extension"
554
  id="gui.extension.makeymakey.description"
555
  />
 
563
  tags: ['penguinmod'],
564
  description: (
565
  <FormattedMessage
566
+ defaultMessage="ステージ上のどこにでもカメラを移動したり、拡大率を設定したりできます。"
567
  description="The description for the PenguinMod Camera extension."
568
  id="pm.extension.camera.description"
569
  />
 
578
  iconURL: filesExtensionIcon,
579
  insetIconURL: turbowarpIcon,
580
  tags: ['turbowarp', 'datamgmt'],
581
+ description: 'ファイルの読み取りと作成のためのブロック。',
582
  featured: true
583
  },
584
  {
 
587
  iconURL: 'https://extensions.turbowarp.org/images/CST1229/zip.svg',
588
  insetIconURL: turbowarpIcon,
589
  tags: ['turbowarp', 'datamgmt'],
590
+ description: '.sb3、s4s.txtファイルを含むzip形式のファイルを作成および編集します。',
591
  twDeveloper: 'CST1229',
592
  featured: true
593
  },
 
596
  extensionId: 'https://extensions.penguinmod.com/extensions/ObviousAlexC/PenPlus.js',
597
  tags: ['categoryexpansion', 'graphics'],
598
  iconURL: 'https://extensions.penguinmod.com/images/ObviousAlexC/PenPlus.svg',
599
+ description: 'Scratchのデフォルトのペン拡張機能を拡張します。テクスチャや色合いを使用して三角形を描いたり、画像を描画してピクセルを編集したりするためのブロックを追加します。',
600
  featured: true,
601
  extDeveloper: 'pinksheep2917'
602
  },
 
605
  extensionId: 'jgExtendedAudio',
606
  iconURL: jgExtendedAudioExtensionIcon,
607
  tags: ['penguinmod', 'categoryexpansion', 'noisemaker'],
608
+ description: 'より集中的なオーディオ作業のためのオーディオ グループ化システム。',
609
  featured: true
610
  },
611
  {
 
613
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Tune-Shark-V3.js',
614
  iconURL: sharkpoolTuneIcon,
615
  tags: ['penguinmod', 'categoryexpansion', 'noisemaker'],
616
+ description: '複雑なサウンドコントロール、複数のオーディオ効果などを備えた高度なオーディオ エンジン。',
617
  extDeveloper: 'SharkPool',
618
  featured: true
619
  },
 
622
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Sound-Waves.js',
623
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Sound-Waves.svg',
624
  tags: ['penguinmod', 'noisemaker'],
625
+ description: '音を作ろう!',
626
  extDeveloper: 'SharkPool',
627
  featured: true
628
  },
 
 
 
 
 
 
 
 
 
629
  {
630
  name: 'Motion Expansion',
631
  extensionId: 'pmMotionExpansion',
632
  iconURL: pmMotionExpansionExtensionIcon,
633
  tags: ['penguinmod', 'categoryexpansion'],
634
+ description: '移動や衝突のための小さなモーション ブロックが増えました。',
635
  featured: true,
636
  credits: 'Some blocks from NexusKitten'
637
  },
 
640
  extensionId: 'pmEventsExpansion',
641
  iconURL: pmEventsExpansionExtensionIcon,
642
  tags: ['penguinmod', 'categoryexpansion'],
643
+ description: '情報の送受信、特定のスプライトの通知、または物事が起こるタイミングをより適切に制御するためのイベントが増えます。',
644
  featured: true,
645
  credits: 'Some blocks from LilyMakesThings'
646
  },
 
649
  extensionId: 'pmControlsExpansion',
650
  iconURL: pmControlsExpansionExtensionIcon,
651
  tags: ['penguinmod', 'categoryexpansion'],
652
+ description: 'アニメーション、複雑なシステム、またはよりクリーンな 1 回限りの使用ブロック用のコントロール ブロックが増えました。',
653
  featured: true,
654
  credits: '"new thread" by CubesterYT, CST1229, SharkPool'
655
  },
 
658
  extensionId: 'pmSensingExpansion',
659
  iconURL: pmSensingExpansionExtensionIcon,
660
  tags: ['penguinmod', 'categoryexpansion'],
661
+ description: "特定のユースケースやユーザーのデバイスとの対話のための、より多くのセンシング ブロック。",
662
  credits: 'Some blocks from SharkPool-SP',
663
  featured: true
664
  },
 
667
  extensionId: 'pmOperatorsExpansion',
668
  iconURL: pmOperatorsExpansionExtensionIcon,
669
  tags: ['penguinmod', 'categoryexpansion', 'math'],
670
+ description: 'NAND、NOR、文字コードから文字への変換、複数行のテキストを行ごとに読み取るなどの演算子。',
671
  featured: true
672
  },
673
  {
 
675
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/My-Blocks-Plus.js',
676
  iconURL: sharkpoolMBPIcon,
677
  tags: ['penguinmod', 'categoryexpansion'],
678
+ description: 'カスタム入力、色などを使用して、プライベートまたはグローバルのカスタム ブロックを作成します。',
679
  extDeveloper: 'SharkPool, CST1229, 0znzw',
680
  featured: true
681
  },
 
684
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Better-Comments.js',
685
  iconURL: sharkpoolBCIcon,
686
  tags: ['penguinmod', 'categoryexpansion'],
687
+ description: 'カスタマイズとマークダウンのサポートにより、コメントの見た目を良くします。',
688
  extDeveloper: 'SharkPool',
689
  featured: true
690
  },
 
693
  extensionId: 'jgJSON',
694
  iconURL: jgJSONExtensionIcon,
695
  tags: ['penguinmod', 'datamgmt'],
696
+ description: 'JSON オブジェクトと配列を処理するためのブロック。',
697
  featured: true
698
  },
699
  {
 
702
  iconURL: spJSONExtensionIcon,
703
  tags: ['penguinmod', 'datamgmt'],
704
  extDeveloper: 'SharkPool',
705
+ description: '潜在的に危険ですが、JSONオブジェクトと配列の処理を高速化する拡張機能です。プロジェクトでJSONを頻繁に使用する場合に推奨されます。',
706
  featured: true
707
  },
708
  {
 
710
  extensionId: 'https://sharkpools-extensions.vercel.app/extension-code/Particle-Engine.js',
711
  iconURL: sharkpoolPEIcon,
712
  tags: ['penguinmod', 'graphics'],
713
+ description: 'クローンなしで強力なパーティクルエンジンを作成する',
714
  extDeveloper: 'SharkPool',
715
  featured: true
716
  },
 
719
  extensionId: 'shovelcss',
720
  iconURL: theshovelCustomStylesIcon,
721
  tags: ['penguinmod', 'graphics'],
722
+ description: 'プロジェクト内の変数モニターとプロンプトの外観をカスタマイズします。',
723
  extDeveloper: 'TheShovel',
724
  featured: true
725
  },
 
730
  extDeveloper: 'griffpatch',
731
  iconURL: griffpatchPhysicsThumb,
732
  insetIconURL: griffpatchPhysicsIcon,
733
+ description: 'Griffpatch によって作成された物理処理をとても簡単にするBox2D拡張機能。',
734
  customInsetColor: '#D9F0FF',
735
  featured: true
736
  },
 
738
  name: 'Tweening',
739
  extensionId: 'jgTween',
740
  credits: 'easings.net, Arrow & GarboMuffin',
741
+ description: 'さまざまなイージング関数と方向を使用して値をスムーズにアニメーション化します。',
742
  iconURL: 'https://extensions.turbowarp.org/images/JeremyGamer13/tween.svg',
743
  tags: ['penguinmod'],
744
  featured: true
 
746
  {
747
  name: 'Tailgating',
748
  extensionId: 'jgTailgating',
749
+ description: 'RPG のパーティ メンバーのように、スプライトとクローンを他のスプライトとクローンの後ろをオフセットで追従させます。',
750
  iconURL: jgTailgatingExtensionIcon,
751
  tags: ['penguinmod'],
752
  featured: true
 
756
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Tile-Grids.js',
757
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Tile-Grids.svg',
758
  tags: ['penguinmod'],
759
+ description: 'スプライトをグリッド上に配置します。',
760
  extDeveloper: 'SharkPool-SP',
761
  featured: true
762
  },
 
765
  extensionId: 'theshovelcanvaseffects',
766
  iconURL: theshovelCanvasEffectsIcon,
767
  tags: ['penguinmod', 'graphics'],
768
+ description: 'ステージ全体に視覚効果を適用します。',
769
  extDeveloper: 'TheShovel',
770
  credits: 'SharkPool',
771
  featured: true
 
776
  tags: ['turbowarp', 'categoryexpansion'],
777
  iconURL: 'https://extensions.turbowarp.org/images/Lily/ClonesPlus.svg',
778
  insetIconURL: turbowarpIcon,
779
+ description: "Scratchのクローン機能を拡張します。",
780
  featured: true,
781
  twDeveloper: 'LilyMakesThings'
782
  },
 
786
  tags: ['turbowarp', 'graphics'],
787
  iconURL: 'https://extensions.turbowarp.org/images/Lily/Skins.svg',
788
  insetIconURL: turbowarpIcon,
789
+ description: 'スプライトを他の画像や衣装として表示します。',
790
  featured: true,
791
  twDeveloper: 'LilyMakesThings'
792
  },
 
795
  extensionId: 'jgTimers',
796
  iconURL: jgTimersExtensionIcon,
797
  tags: ['penguinmod'],
798
+ description: '個別に制御できるタイマーを作成します。',
799
  eventSubmittor: 'Arrow',
800
  featured: true
801
  },
 
804
  extensionId: 'tempVars',
805
  iconURL: gsaTempVariablesExtensionIcon,
806
  tags: ['penguinmod'],
807
+ description: '1つのブロックスタック内でのみ使用する変数を作成します。一度しか使用しない変数で変数リストが乱雑になるのを防ぐのに役立ちます。',
808
  credits: 'LilyMakesThings',
809
  featured: true
810
  },
 
813
  extensionId: 'lmsTempVars2',
814
  iconURL: lilyTempVariablesExtensionIcon,
815
  tags: ['turbowarp'],
816
+ description: '使い捨てのランタイム変数またはスレッド変数を作成します。',
817
  insetIconURL: turbowarpIcon,
818
  credits: 'LilyMakesThings',
819
  featured: true
 
823
  extensionId: 'jgRuntime',
824
  tags: ['penguinmod'],
825
  iconURL: jgRuntimeExtensionIcon,
826
+ description: 'ステージやスプライトなどの Scratch オブジェクトを更新するためのブロック。',
827
  credits: 'TheShovel, showierdata9978, SharkPool',
828
  featured: true
829
  },
 
832
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/Font-Manager.js',
833
  iconURL: 'https://extensions.penguinmod.com/images/SharkPool/Font-Manager.svg',
834
  tags: ['penguinmod', 'graphics'],
835
+ description: 'フォントを管理、作成、削除します。',
836
  credits: 'SharkPool, Ashimee',
837
  featured: true
838
  },
 
841
  extensionId: 'jgStorage',
842
  iconURL: jgStorageExtensionIcon,
843
  tags: ['penguinmod', 'datamgmt'],
844
+ description: 'プロジェクトが閉じられた後でもデータを保存します。基本サーバーストレージも含まれます。',
845
  eventSubmittor: 'Fir & silvxrcat',
846
  featured: true
847
  },
 
851
  iconURL: 'https://extensions.turbowarp.org/images/godslayerakp/http.svg',
852
  insetIconURL: turbowarpIcon,
853
  tags: ['turbowarp'],
854
+ description: '外部 Web サイトとやりとりするための包括的な拡張機能。',
855
  featured: true,
856
  internetConnectionRequired: true,
857
  customInsetColor: '#ff4d4d'
 
862
  tags: ['turbowarp', 'penguinmod'],
863
  insetIconURL: cloudlinkIcon,
864
  iconURL: 'https://extensions.penguinmod.com/images/MikeDev101/cloudlink.svg',
865
+ description: '強力なWebSocket拡張機能。',
866
  featured: true,
867
  extDeveloper: 'MikeDev',
868
  internetConnectionRequired: true
 
872
  extensionId: 'jgScripts',
873
  iconURL: jgScriptsExtensionIcon,
874
  tags: ['penguinmod', 'datamgmt'],
875
+ description: 'プロジェクトの実行中にブロックを使用してコンパイルされたスクリプトを作成します。',
876
  featured: true
877
  },
878
  {
 
880
  extensionId: 'https://extensions.penguinmod.com/extensions/SammerLOL/pangapi.js',
881
  iconURL: 'https://extensions.penguinmod.com/images/SammerLOL/pangapi.png',
882
  tags: ['penguinmod'],
883
+ description: 'PenguinMod APIから情報を取得します。',
884
  extDeveloper: 'oc9x97, Ianyourgod',
885
  featured: true
886
  },
 
889
  extensionId: 'https://extensions.penguinmod.com/extensions/ObviousAlexC/3DMath.js',
890
  iconURL: 'https://extensions.penguinmod.com/images/ObviousAlexC/3DMath.svg',
891
  tags: ['penguinmod', '3d', 'graphics', 'math'],
892
+ description: '独自のスプライトベースの 3D エンジンを作成するためのユーティリティ。',
893
  extDeveloper: 'pinksheep2917',
894
  featured: true
895
  },
 
898
  extensionId: 'https://extensions.penguinmod.com/extensions/jwklong/mathematics.js',
899
  iconURL: 'https://extensions.penguinmod.com/images/jwklong/mathematics.png',
900
  tags: ['penguinmod', 'categoryexpansion', 'math'],
901
+ description: 'とても複雑な数学拡張機能。',
902
  extDeveloper: 'jwklong',
903
  featured: false
904
  },*/
 
907
  extensionId: 'https://extensions.penguinmod.com/extensions/Gen1x/random_utils.js',
908
  iconURL: 'https://extensions.penguinmod.com/images/Gen1x/randomutils.png',
909
  tags: ['penguinmod'],
910
+ description: 'シードベースの数値生成、真の数値生成、UUID、ランダム文字列など、ランダム値の生成に関連する多くのブロック。',
911
  extDeveloper: 'G1nX',
912
  featured: true
913
  },
 
916
  extensionId: 'shovellzcompresss',
917
  iconURL: theshovelLzCompressIcon,
918
  tags: ['penguinmod', 'datamgmt'],
919
+ description: 'lz-stringを使用してテキストを圧縮および解凍します。',
920
  extDeveloper: 'TheShovel',
921
  featured: true
922
  },
 
925
  extensionId: 'jgPrism',
926
  tags: ['penguinmod', 'datamgmt'],
927
  iconURL: jgPrismExtensionIcon,
928
+ description: '特定のユースケースまたは主要な利便性のためのブロック。',
929
  featured: true
930
  },
931
  {
 
933
  extensionId: 'oddMessage',
934
  tags: ['penguinmod'],
935
  iconURL: silvxrcatOddMessagesExtensionIcon,
936
+ description: 'ログ記録と変数の利用。',
937
  featured: true,
938
  extDeveloper: 'silvxrcat'
939
  },
 
942
  extensionId: 'jgIframe',
943
  iconURL: jgIframeExtensionIcon,
944
  tags: ['penguinmod'],
945
+ description: 'HTML コンテンツまたは Web サイトを含むフレームを配置および移動するためのブロック。',
946
  featured: true,
947
  internetConnectionRequired: true
948
  },
 
951
  extensionId: 'shovelColorPicker',
952
  iconURL: theshovelColorPickerIcon,
953
  tags: ['penguinmod'],
954
+ description: 'ユーザーが組み込みのカラーピッカーを使用して色を選択できるようにすることで、独自にカラーピッカーを作成する必要はありません。',
955
  extDeveloper: 'TheShovel',
956
  featured: true
957
  },
 
960
  extensionId: 'colors',
961
  iconURL: gsaColorUtilExtensionIcon,
962
  tags: ['penguinmod'],
963
+ description: '16 進数、RGBHSV、10 進数の色やその他の色関連のコンバーター。',
964
  featured: true
965
  },
966
  {
 
968
  extensionId: 'https://extensions.penguinmod.com/extensions/Lily/AllMenus.js',
969
  iconURL: 'https://extensions.penguinmod.com/images/Lily/AllMenus.svg',
970
  tags: ['penguinmod'],
971
+ description: '各ブロックのすべてのドロップダウンメニューを抽出します。',
972
  extDeveloper: 'LilyMakesThings',
973
  featured: true
974
  },
 
1006
  iconURL: iygPerlinNoiseExtensionIcon,
1007
  description: (
1008
  <FormattedMessage
1009
+ defaultMessage="Perlinノイズを生成・使用するためのブロック。地形や雲などの生成に適しています。"
1010
  description="Description of perlin noise extension"
1011
  id="iygPerlin.iygPerlinExtension.description"
1012
  />
 
1022
  iconURL: gp,
1023
  description: (
1024
  <FormattedMessage
1025
+ defaultMessage="ボタンをキーにマッピングするのではなく、ゲームパッドに直接アクセスします。"
1026
  description="Description for the 'GamePad' extension"
1027
  id="GamepadExtension.GamepadExtension.description"
1028
  />
 
1034
  tags: ['penguinmod', 'hardware'],
1035
  extensionId: 'sharkpoolPrinting',
1036
  iconURL: sharkpoolPrintingIcon,
1037
+ description: 'テキスト、画像、カスタム HTML をプリンターに印刷するためのダイアログを表示できます。',
1038
  featured: true
1039
  },
1040
  {
 
1043
  iconURL: clippingblending,
1044
  tags: ['turbowarp', 'graphics'],
1045
  insetIconURL: turbowarpIcon,
1046
+ description: '指定された長方形領域の外側をクリッピングし、加法的なカラーブレンドを行います。',
1047
  featured: true,
1048
  twDeveloper: 'Vadik1'
1049
  },
 
1055
  iconURL: pointerlockThumb,
1056
  description: (
1057
  <FormattedMessage
1058
+ defaultMessage="マウスカーソルをステージ上に固定する拡張機能。"
1059
  description="Scratch utilities"
1060
  id="gui.extension.pointerlock.description"
1061
  />
 
1072
  iconURL: 'https://extensions.turbowarp.org/images/cursor.png',
1073
  description: (
1074
  <FormattedMessage
1075
+ defaultMessage="ステージ上でのマウス カーソルの外観を変更する拡張機能。"
1076
  description="Scratch utilities"
1077
  id="gui.extension.MouseCursor.description"
1078
  />
 
1086
  extensionId: 'jgScratchAuthenticate',
1087
  iconURL: jgScratchAuthExtensionIcon,
1088
  tags: ['penguinmod'],
1089
+ description: "Scratch 認証と対話して、プレーヤーが実際の Scratch ユーザーであることを証明します。",
1090
  featured: true
1091
  },
1092
  {
 
1094
  extensionId: 'jgJavascript',
1095
  iconURL: jgJavascriptExtensionIcon,
1096
  tags: ['penguinmod', 'programminglanguage'],
1097
+ description: 'JavaScript で記述された独自のカスタム コードを実行しましょう。',
1098
  featured: true
1099
  },
1100
  {
 
1102
  extensionId: 'jwArray',
1103
  iconURL: jwArrayExtensionThumb,
1104
  tags: ['penguinmod', 'datamgmt'],
1105
+ description: '多目的配列にデータを効率的に保存します。',
1106
  extDeveloper: 'jwklong',
1107
  featured: true
1108
  },
 
1111
  extensionId: 'jwTargets',
1112
  iconURL: jwTargetsExtensionThumb,
1113
  tags: ['penguinmod'],
1114
+ description: 'スプライトとそのクローンへの直接アクセス。',
1115
  extDeveloper: 'jwklong',
1116
  featured: true
1117
  },
 
1120
  extensionId: 'jwNum',
1121
  iconURL: jwNumExtensionThumb,
1122
  tags: ['penguinmod', 'math'],
1123
+ description: '非常に大きな数値を扱える高度な数値タイプです。',
1124
  extDeveloper: 'jwklong',
1125
  credits: 'Naruyoko for ExpantaNum.js',
1126
  featured: true
 
1130
  extensionId: 'jwColor',
1131
  iconURL: jwColorExtensionThumb,
1132
  tags: ['penguinmod', 'graphics'],
1133
+ description: '色に関わるあらゆるもののためのユーティリティ。',
 
 
 
 
 
 
 
 
 
1134
  extDeveloper: 'jwklong',
1135
  featured: true
1136
  },
 
1206
  tags: ['scratch', 'hardware'],
1207
  description: (
1208
  <FormattedMessage
1209
+ defaultMessage="ロボット作品に命を吹き込みます。"
1210
  description="Description for the 'LEGO BOOST' extension"
1211
  id="gui.extension.boost.description"
1212
  />
 
1238
  insetIconURL: wedo2InsetIconURL,
1239
  description: (
1240
  <FormattedMessage
1241
+ defaultMessage="モーターとセンサーを使って組み立てます。"
1242
  description="Description for the 'LEGO WeDo 2.0' extension"
1243
  id="gui.extension.wedo2.description"
1244
  />
 
1273
  tags: ['scratch', 'hardware'],
1274
  description: (
1275
  <FormattedMessage
1276
+ defaultMessage="押す、引く、動く、回転するといった動作を感知します。"
1277
  description="Description for the Vernier Go Direct Force and Acceleration sensor extension"
1278
  id="gui.extension.gdxfor.description"
1279
  />
 
1308
  iconURL: penguinmodLibraryExtensionIcon,
1309
  description: (
1310
  <FormattedMessage
1311
+ defaultMessage="Penguinmodユーザーが投稿した拡張機能をいくつかご覧ください。新しいタブで開きます。"
1312
  description="Description of library item to open the Extra Extensions gallery"
1313
  id="pm.extraLibraryExtensions.description"
1314
  />
 
1333
  description: (
1334
  <FormattedMessage
1335
  // eslint-disable-next-line max-len
1336
+ defaultMessage="ここでは多くの TurboWarp 拡張機能をリストしていますが、extensions.turbowarp.org でさらに多くの拡張機能を見つけることができます。"
1337
  description="Description of extensions.turbowarp.org in extension library"
1338
  id="tw.extensionGallery.description"
1339
  />
 
1343
  },
1344
  {
1345
  name: 'SharkPool\'s Extension Collection',
1346
+ href: 'https://soiz1-sharkpool-extension.hf.space?originPM=true',
1347
  extensionId: 'special_sharkpoolExtensionLibrary',
1348
  iconURL: sharkpoolGalleryIcon,
1349
+ description: 'SharkPool によって作成された多数の拡張機能。\nこのメニューが開いているときに拡張機能をクリックすると、プロジェクトに追加されます。CORS制限のため、別のホストですが機能は同じで自動更新されます。',
1350
  credits: 'Listed in the site',
1351
  tags: ['library'],
1352
  featured: true
 
1356
  href: 'https://jwklong.github.io/extforge',
1357
  extensionId: 'special_extforge',
1358
  iconURL: ExtForgeIcon,
1359
+ description: 'ブロックベースの UI を使用して拡張機能を作成します。',
1360
  extDeveloper: 'jwklong',
1361
  isNew: true,
1362
  tags: ['extcreate'],
 
1368
  href: 'https://turbobuilder.vercel.app/',
1369
  extensionId: 'special_turboBuilder',
1370
  iconURL: turboBuilderIcon,
1371
+ description: 'スクラッチベースの UI を使用して独自の素晴らしい拡張機能を作成しましょう。',
1372
  credits: 'Started by JeremyGamer13, continued by jwklong',
1373
  tags: ['extcreate'],
1374
  featured: true,
 
1380
  href: 'https://turbobuilder-dev.vercel.app/',
1381
  extensionId: 'special_turboBuilderDev',
1382
  iconURL: turboBuilderDevIcon,
1383
+ description: '最新の機能を備えた、公開されている開発者ブランチ。',
1384
  credits: 'Started by JeremyGamer13, continued by jwklong',
1385
  tags: ['extcreate'],
1386
  featured: true
 
1398
  iconURL: customExtensionIcon,
1399
  description: (
1400
  <FormattedMessage
1401
+ defaultMessage="好きな拡張機能を読み込むことができます。"
1402
  description="Description of library item to load a custom extension from a custom source"
1403
  id="tw.customExtension.description"
1404
  />
 
1436
  customInsetColor: '#0094FF',
1437
  description: (
1438
  <FormattedMessage
1439
+ defaultMessage="HTML キャンバスを使用した追加の描画ツール。他の拡張機能と併用すると効果的です。"
1440
  description="Description of Text extension"
1441
  id="text.description"
1442
  />
 
1450
  tags: ['penguinmod'],
1451
  insetIconURL: canvasExtensionIcon,
1452
  customInsetColor: '#0094FF',
1453
+ description: 'HTML Canvas の非推奨バージョン。',
1454
  featured: true
1455
  },
1456
  {
 
1458
  extensionId: 'jgFiles',
1459
  iconURL: defaultExtensionIcon,
1460
  tags: ['penguinmod', 'datamgmt'],
1461
+ description: 'ファイルの基本ブロック。これはTurboWarpファイル拡張子に置き換えられました。',
1462
  featured: true
1463
  },
1464
  {
 
1466
  extensionId: 'jgClones',
1467
  iconURL: jgCloneManagerExtensionIcon,
1468
  tags: ['penguinmod'],
1469
+ description: 'クローンとメインスプライト間のデータ共有が主な機能ですが、他にもいくつかの小さな機能があります。この機能はTurboWarp Clones+拡張機能に置き換えられました。',
1470
  featured: true
1471
  },
1472
  {
 
1474
  extensionId: 'jgEasySave',
1475
  iconURL: defaultExtensionIcon,
1476
  tags: ['penguinmod', 'datamgmt'],
1477
+ description: '変数、リスト、および追加情報をファイルに保存し、それらを再度読み込みます。',
1478
  featured: true
1479
  },
1480
  {
 
1493
  tags: ['turbowarp'],
1494
  insetIconURL: turbowarpIcon,
1495
  iconURL: twIcon,
1496
+ description: '奇妙な新しいブロック。感知拡張に置き換えられました。',
1497
  featured: true
1498
  },
1499
  {
 
1518
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/epic.png',
1519
  internetConnectionRequired: true,
1520
  tags: ['penguinmod', 'joke'],
1521
+ description: 'これは本当に良い拡張機能です。今すぐ使ってください。',
1522
  featured: true
1523
  },
1524
  {
 
1526
  extensionId: 'https://extensions.penguinmod.com/extensions/SharkPool/AprilFools.js',
1527
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/epicutils.png',
1528
  tags: ['penguinmod', 'joke'],
1529
+ description: '本日のスポンサーである sharkpool (the epic utilities) がお届けする、非常に優れたユーティリティ',
1530
  featured: true
1531
  },
1532
  {
 
1534
  extensionId: 'https://extensions.penguinmod.com/extensions/Gen1x/CATS.js',
1535
  iconURL: 'https://extensions.penguinmod.com/images/Gen1x/cats.png',
1536
  tags: ['penguinmod', 'joke'],
1537
+ description: '猫に関するブロック。',
1538
  extDeveloper: 'G1nX',
1539
  featured: true
1540
  },
 
1544
  tags: ['turbowarp', 'joke'],
1545
  iconURL: 'https://extensions.turbowarp.org/images/Lily/McUtils.png',
1546
  insetIconURL: turbowarpIcon,
1547
+ description: 'ファーストフード店員のための基本的なユーティリティ',
1548
  featured: true,
1549
  twDeveloper: 'LilyMakesThings'
1550
  },
 
1554
  iconURL: 'https://extensions.penguinmod.com/images/JeremyGamer13/screenshot1.png',
1555
  tags: ['penguinmod', 'joke'],
1556
  internetConnectionRequired: true,
1557
+ description: 'ペンギンブロックがあるのに猫ブロックなんて必要ない',
1558
  extDeveloper: 'Ashimee, 0znzw, CST1229',
1559
  featured: true
1560
  },
 
1564
  iconURL: 'https://library.penguinmod.com/files/emojis/cluelesssmile.png',
1565
  tags: ['penguinmod', 'joke'],
1566
  internetConnectionRequired: true,
1567
+ description: 'エイプリルフールは長すぎたね、このジョークはもう面白くない',
1568
  featured: true
1569
  },
1570
  {
 
1572
  extensionId: 'jwUnite',
1573
  iconURL: jwUniteExtensionIcon,
1574
  tags: ['penguinmod'],
1575
+ description: '最終的にデフォルトのツールボックスに統合されたレガシー拡張機能。',
1576
  featured: true
1577
  },
1578
  {
 
1580
  extensionId: 'jwXml',
1581
  iconURL: jwXmlExtensionIcon,
1582
  tags: ['penguinmod', 'datamgmt'],
1583
+ description: 'XMLデータの作成と取得を可能にします。データの変更はまだできません。',
1584
  extDeveloper: 'jwklong',
1585
  featured: true
1586
  },
 
1589
  extensionId: 'jgDebugging',
1590
  iconURL: jgDebuggingIcon,
1591
  tags: ['penguinmod'],
1592
+ description: '情報をログに記録し、コマンドを実行します。パッケージ化されたプロジェクトのデバッグや、ちょっとした変更に最適です。',
1593
  featured: true
1594
  },
1595
  {
 
1597
  href: 'https://studio.penguinmod.com/loadExt.html',
1598
  extensionId: 'special_testExtensionLibrary',
1599
  iconURL: defaultExtensionIcon,
1600
+ description: 'ライブラリから拡張機能を読み込むテスト。開発者向け。',
 
 
 
 
 
 
 
 
1601
  featured: true
1602
  },
1603
  {
 
1613
  iconURL: jwStructsExtensionIcon,
1614
  description: (
1615
  <FormattedMessage
1616
+ defaultMessage="リストから削除されました。OOP ブロック。OOp は、オブジェクトとその相互作用を使用してアプリケーションやコンピュータ プログラムを設計するプログラミングパラダイムです。"
1617
  description="Description of OOP extension"
1618
  id="jwStructs.jwStructsExtension.description"
1619
  />
 
1625
  extensionId: 'JgPermissionBlocks',
1626
  iconURL: jgPermissionExtensionIcon,
1627
  tags: ['penguinmod'],
1628
+ description: 'レガシー拡張機能。古いブロックはもはや本来の用途を果たせません。PenguinModが特定のタスクを実行する際に要求する権限を管理するための直接ブロックです。',
1629
  featured: true
1630
  },
1631
  {
 
1633
  extensionId: 'jgDev',
1634
  iconURL: defaultExtensionIcon,
1635
  tags: ['penguinmod'],
1636
+ description: '拡張機能をテストして、可能かどうかを確認します。\nブロックは変更される可能性があり、プロジェクトが破損する可能性があるため、本番環境では使用しないでください。',
1637
  credits: 'Some features added from LilyMakesThings, CubesterYT, TheShovel',
1638
  featured: true
1639
  },
1640
  {
1641
  name: '3D',
1642
  extensionId: 'jg3d',
1643
+ iconURL: jg3dExtensionIcon,
1644
  tags: ['penguinmod', '3d'],
1645
  customInsetColor: '#B200FF',
1646
  insetIconURL: jg3dInsetExtensionIcon,
1647
+ description: '3D の魔法を使ってプロジェクトに彩りを添えましょう。',
1648
+ featured: true
 
1649
  },
1650
  {
1651
  name: '3D Physics',
 
1654
  tags: ['penguinmod', '3d'],
1655
  customInsetColor: '#D066FE',
1656
  insetIconURL: fr3dPhysicsInsetExtensionIcon,
1657
+ description: '3D 拡張のための物理。',
1658
  featured: true
1659
  },
1660
  {
 
1664
  tags: ['penguinmod', 'hardware', '3d'],
1665
  customInsetColor: '#B200FF',
1666
  insetIconURL: jg3dVrInsetExtensionIcon,
1667
+ description: '開発中。互換性が損なわれる可能性があります。プレイヤーがあなたの世界に飛び込めるようにしましょう!',
1668
  featured: true,
1669
  extensionWarningOnImport: true
1670
  },
 
1674
  iconURL: jgsilvxrcatInterfacesExtensionIcon,
1675
  credits: 'silvxrcat',
1676
  tags: ['penguinmod'],
1677
+ description: '開発中',
1678
  featured: true
1679
  },
1680
  {
 
1685
  twDeveloper: 'CubesterYT',
1686
  customInsetColor: '#66B8FF',
1687
  tags: ['penguinmod', 'packager'],
1688
+ description: '開発中。Web サイトでできないことをパッケージ アプリケーションで実現できます。',
1689
  featured: true
1690
  },
1691
+
1692
  {
1693
  name: 'Inline Blocks',
1694
  extensionId: 'pmInlineBlocks',
1695
  iconURL: pmInlineBlocksExtensionIcon,
1696
  tags: ['penguinmod'],
1697
+ description: '簡単なタスク用のクイックブロックを作成します。任意の円形の場所に挿入して、任意の値を返すように設定できます。',
1698
  featured: true
1699
  },
1700
  {
 
1710
  iconURL: jgPathfindingExtensionIcon,
1711
  description: (
1712
  <FormattedMessage
1713
+ defaultMessage="(不安定または遅延あり。さらなる作業が必要です) スプライトがゲーム内の障害物にクリップするのではなく、障害物を回避できるようにします。"
1714
  description="Description of Pathfinding extension"
1715
  id="jgPathfinding.Pathfinding.description"
1716
  />
 
1722
  extensionId: 'jgAnimation',
1723
  iconURL: jgAnimationExtensionIcon,
1724
  tags: ['penguinmod'],
1725
+ description: '開発中。現在バグがあり、機能が不足しています。',
1726
  featured: true
1727
  },
1728
  {
 
1730
  extensionId: 'jgVr',
1731
  iconURL: jgVrExtensionIcon,
1732
  tags: ['penguinmod', 'hardware'],
1733
+ description: '開発中',
1734
+ credits: 'Vadik1',
1735
+ extensionWarningOnImport: true,
1736
+ featured: true
 
 
 
 
 
 
1737
  }
1738
  ];
1739
  extras.forEach(ext => {
1740
  menuItems.push(ext);
1741
  });
1742
  }
1743
+ const filteredMenuItems = (typeof ENV !== 'undefined' && ENV.CanLoadCustomExtension === false)
1744
+ ? menuItems.filter(item => item.extensionId !== '')
1745
+ : menuItems;
1746
 
1747
+ export default filteredMenuItems;