# Making an extension for every JavaScript exclusive feature I can think of!

**URL:** https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766
**Category:** Arcade
**Tags:** extension
**Created:** [May 19, 2025, 1:32am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766 "2025-05-19T01:32:23Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![Sarge](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/sarge/32/19590_2.png) [@Sarge](https://forum.makecode.com/u/Sarge)
#### Post date: [April 28, 2026, 9:05pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/61 "2026-04-28T21:05:22Z")

</div>

I made that a looong time ago, using number arrays to store image data was the best I could come up with then. So it’s not out of the question that the method for storing images could be improved and optimized

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [April 28, 2026, 11:22pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/62 "2026-04-28T23:22:54Z")

</div>

Richard explained on stream that the ofBuffer function is a very complicated function that is used to store images such that they are page aligned in memory, making them faster. I do not think I’ll add it to this extension. Eventually, if you are using advanced functions like that. you should just switch to JavaScript.

---

<div class="post-metadata">

### Author: ![NeverStopTheCoder](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/neverstopthecoder/32/21194_2.png) [@NeverStopTheCoder](https://forum.makecode.com/u/NeverStopTheCoder)
#### Post date: [April 29, 2026, 3:07am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/63 "2026-04-29T03:07:15Z")

</div>

wait so ofbuffer can store a image into say “medhsnxhnx” something like this or "myimage’

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [April 29, 2026, 5:18pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/64 "2026-04-29T17:18:49Z")

</div>

No. I wrote wrong. ofBuffer is only for decoding. There is no exposed function for encoding. You have to copy that part from somewhere else (watch stream to figure that out I guess)

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [May 30, 2026, 5:10pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/65 "2026-05-30T17:10:45Z")

</div>

Ok someone in stream chat today said I should add the sprite follow block with the extra option for turn rate that exists in JavaScript, so I have added that. I have also added the Parse Int and To String blocks that @AlexK suggested. I… think they work.

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [May 30, 2026, 8:49pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/66 "2026-05-30T20:49:44Z")

</div>

ooh the one with acceleration

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [May 30, 2026, 11:19pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/67 "2026-05-30T23:19:59Z")

</div>

The variable name is called “turnRate” internally so I would assume it’s that.

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [May 31, 2026, 3:36am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/68 "2026-05-31T03:36:47Z")

</div>

huh i always called it acceleration because thats what it does

---

<div class="post-metadata">

### Author: ![AlexK](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexk/32/33339_2.png) [@AlexK](https://forum.makecode.com/u/AlexK)
#### Post date: [July 26, 2026, 6:29pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/69 "2026-07-26T18:29:12Z")

</div>

Don’t know why I didn’t think of this before, WoofWoof, but there are all of the “set” operations that can be applied to arrays. If you want an extra challenge. 😃

```typescript
myArray.concat()
myArray.splice()
myArray.join()
myArray.some()
myArray.every()
myArray.sort()
myArray.map()
myArray.filter()
myArray.find() // Not the same as myArray.indexOf()
myArray.reduce()
myArray.fill()

```

---

<div class="post-metadata">

### Author: ![BitBot](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/bitbot/32/33272_2.png) [@BitBot](https://forum.makecode.com/u/BitBot)
#### Post date: [July 26, 2026, 9:06pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/70 "2026-07-26T21:06:41Z")

</div>

Try doing this: screen.fillCircle(80, 60, 20, 5)

It’s a feature I recently found that’s not avalable in blocks.

---

<div class="post-metadata">

### Author: ![AlexK](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexk/32/33339_2.png) [@AlexK](https://forum.makecode.com/u/AlexK)
#### Post date: [July 27, 2026, 9:23pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/71 "2026-07-27T21:23:15Z")

</div>

Another random one that I’ve seen lately: A block that lets you programmatically turn stats on and off.

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [July 27, 2026, 9:23pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/72 "2026-07-27T21:23:51Z")

</div>

`import SargeDev/better-arrays`  
Ok done!

Edit: thanks for the like 🫠

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [July 27, 2026, 9:24pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/73 "2026-07-27T21:24:58Z")

</div>

I feel like I already have that in there but I’ll look.

---

<div class="post-metadata">

### Author: ![AlexK](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexk/32/33339_2.png) [@AlexK](https://forum.makecode.com/u/AlexK)
#### Post date: [July 27, 2026, 9:25pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/74 "2026-07-27T21:25:33Z")

</div>

I thought you did, too, but I didn’t see it as I scanned your code. Quick scan, I’ll admit. 😃

---

<div class="post-metadata">

### Author: ![TheEarth](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/theearth/32/34579_2.png) [@TheEarth](https://forum.makecode.com/u/TheEarth)
#### Post date: [August 7, 2026, 9:18pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/75 "2026-08-07T21:18:25Z")

</div>

If you haven’t you should implement sprite.id into the extension

---

<div class="post-metadata">

### Author: ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)
#### Post date: [August 7, 2026, 9:20pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/76 "2026-08-07T21:20:42Z")

</div>

yeah actually there have been several times on stream where i’ve wanted that… it’s actually pretty useful.

the sprite id is unique to each sprite and they always ascend in order created, so you can use it to determine if one sprite is older than another.

it’s also nifty because sometimes you want to do something for a pair of sprites each frame but you don’t want to accidentally do the work twice (e.g. if you’re looping over a list of all sprites). the id makes it easy because you can code your check to only run if sprite A’s id is higher than sprite B’s

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [August 7, 2026, 10:32pm UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/77 "2026-08-07T22:32:23Z")

</div>

COMING SOON TO EXTENSIONS NEAR YOU:

 ![Screenshot 2026-08-07 at 6.10.55 PM](https://us1.discourse-cdn.com/flex020/uploads/makecode/original/3X/f/0/f08f555aeb6ede29859398eda7776e52c2ec11ef.png)

---

<div class="post-metadata">

### Author: ![CodaKnight](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/codaknight/32/33491_2.png) [@CodaKnight](https://forum.makecode.com/u/CodaKnight)
#### Post date: [August 8, 2026, 1:22am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/78 "2026-08-08T01:22:33Z")

</div>

Hey @WoofWoof , for block users, maybe you should make another for loop so you can actually decide whether it does -= or +=?

Also, suggestion, maybe you could move the bit operators and stuff into either //% advanced or a subcategory?

---

<div class="post-metadata">

### Author: ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)
#### Post date: [August 8, 2026, 4:06am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/79 "2026-08-08T04:06:03Z")

</div>

Going through this list slowly implementing and most of these I’ve never used before. .some and .every I would just write a For Of loop for, but how on earth did I forget about .sort and .concat!

I bet using those functions instead of a For loop is probably faster… hmmmmmm…

---

<div class="post-metadata">

### Author: ![AlexK](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/alexk/32/33339_2.png) [@AlexK](https://forum.makecode.com/u/AlexK)
#### Post date: [August 8, 2026, 4:16am UTC](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766/80 "2026-08-08T04:16:59Z")

</div>

All of those functions are for compatibility with the backing JavaScript type. `Array.prototype.some()` and `Array.prototype.every()` are kinda niche functions, I agree.

[Previous page](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766.md?page=3)

[Next page](https://forum.makecode.com/t/making-an-extension-for-every-javascript-exclusive-feature-i-can-think-of/36766.md?page=5)
