Discuss Scratch

Alberknyis
Scratcher
1000+ posts

Button to enable "hacked" blocks

A lot of us have seen/made a hacked block before. If you've never seen/made a hacked block before, here's an example:


(list) // I have a variable
add [] to [a list v] // I have a block
//UGH
add [“3ḅaė;œ»] to (list) // Varlistblock
What happened is that the variable (or any reporter block) was placed somewhere it usually would not be allowed to go. The most awesome part of this is that it's perfectly functional (what did you expect, it's Scratch). Scratchers make these “hacks” by downloading the project as a zip, editing the project as text (where you're able to hack blocks anywhere you want), and reuploading the project back on Scratch.

These hacks can turn out useful/convenient. Here's an example:
add (10000) items to [list v] ranging from (1) to (100000) //Hacked custom block
define add (n) items to (list) ranging from (low) to (high)
delete (all v) of (list)
repeat (n)
add (pick random (low) to (high)) to (list)
end
Using hacked blocks, I'm able to make a custom block affect any list of my choice, something not possible with normal Scratch methods.

These methods have been named “hacks” because they produce something not possible when using Scratch normally. I believe the Scratch Team has it this way to not cause confusion, and I support that. However, as we're already able to “hack” blocks, and since they are functional, the Scratch Team might as well make it easier on us.

My pitch:
  • Under the “edit” tab (the one to the right of the file tab), there should be an option to allow “hacked” blocks.
  • To prevent people new to the community being confused by these blocks, new Scratchers are unable to use these blocks, and have to reach the Scratcher status to enable it.
rh_junr
Scratcher
81 posts

Button to enable "hacked" blocks

Maybe just a hacked block warning? If one uses hacked blocks in a project, people viewing it would be able to see a warning saying that the blocks are non-reproducible in normal means.
Sheep_maker
Scratcher
1000+ posts

Button to enable "hacked" blocks

Once something is reproducible without hacking, it isn't hacked anymore

I do support being able to put reporters (and booleans) in all dropdowns, not just the select few we have right now.
LostLittleChick738
Scratcher
500+ posts

Button to enable "hacked" blocks

Every time I hack a block, it turns into an undefined red hatblock.
Luvexina
Scratcher
500+ posts

Button to enable "hacked" blocks

LostLittleChick738 wrote:

Every time I hack a block, it turns into an undefined red hatblock.
Please don't necropost on old threads unless it adds to the discussion.
mlcreater
Scratcher
1000+ posts

Button to enable "hacked" blocks

LostLittleChick738 wrote:

Every time I hack a block, it turns into an undefined red hatblock.
Save one of them in a project, find the project id number, copy/paste
https://catblocks-archive.glitch.me/#
into your address bar, copy/paste your project id number after the hash sign in your address bar, then go for a cute surprise…
RB4905
Scratcher
35 posts

Button to enable "hacked" blocks

is it just me or does the file look like this when you upload it
PK
]��Q�5U�a project.json���r�0�_ţr�̸�|� P����I�tJ��ub“[IIBߝ�ݴЛ^Y�^���A[b����dx�%��624j .�Y�g��\�b�d��ݒ��>.�E�뽣��^��~����� B=��қ{��R�T[<fJ2��'[�|�J���x?ڜ~._��ї�g���%�@�����V� W
kC��R�4LA�h�u���%��O�������d|a)�ĵ�P��wdX0���� V vY�a�.��7
\R-
3���,v�kأ�%���0эK�Lw���'���2�U����R�
FR���6�=w#bZ�9� <�c?�4��E��BO#F��|��l|tU<�^���� �93�H���;�Kɮ�r��”� �Ͻ���O�=֬����Ӑ���YR�� �,⼀�Da2xbo��Gq�V�*v�%b�D(EͪF���_���~)�g�-�J����Ulj�8�v�F�a��U�AN�u�x9�E�s㳱T�����r���3Vϖ�3�[g�U�.�T�� �Zc+�
� ��ZYzԣ�AVhP/��~�@��� h@}����a�ʶ���ߥ� ��ӻ��7�H�'�:Mn���Ø�^��}��~��4q8����O��\G� p>A��}g4W���t�<Q�R/M� +��?��� PK
]��Q��50$83a9787d4cb6f3b7632b4ddfebf74367.wav0��RIFF(WAVEfmt +“Vdata��r
�S<#�$� �sU�_�`č�i����G�A���&�GJa}o#p
a�D�*��j���%��9���� �`pv�y�h�EgJ�l�z�ށk�q���!��0}]�y�7q�M���O����i�O���\ <P_�oiVN
$q�Y�g���x���hڣ �6kW)f�_�F������΢�2�����9(Q�V4IN+,۾���Ѽ�ݼ<.�KY'R]9��qŭ�)���а��z?�Q�Qk?}���ց��U��ռ�*�3�A�@,/ W�ճ���t˜�zz �6�?�8:$���Ά���Q�k~% :A�8�#S/�V�*���Z��I�”�5�<�5J#Z G��w�
�f�o��3*x0�+<�d����֬���)\�#H��R�p����3���$��J��|��5�
��z�g��,_�^= t������������ J��7 y������������
�Ua�PK
]��Q����$cd21514d0531fdffb22204e0ec5ed84a.svgmMK� �{�׷Į4¢IO��J�T������Z�Mf1�o�V��B�%Br=Y��5n���ՙt�Y!����M��8G��hi�H)�t�> �*�Rl�G�ɣ������k��� ���\���o�u�N�G7�>9� `L��KPK
]��Q�5U�a project.jsonPK
]��Q��50$�83a9787d4cb6f3b7632b4ddfebf74367.wavPK
]��Q����$9cd21514d0531fdffb22204e0ec5ed84a.svgPK�
gosoccerboy5
Scratcher
1000+ posts

Button to enable "hacked" blocks

Why not implement these suggestions instead of asking for “hacked blocks”?

Last edited by gosoccerboy5 (Dec. 10, 2020 20:39:57)

MDCCCLXVII
Scratcher
1000+ posts

Button to enable "hacked" blocks

gosoccerboy5 wrote:

Why not implement these suggestions instead of asking for “hacked blocks”?
They've been patched in 3.0.
Actually, they're not “patched”, it's just because Scratch 3.0 uses Blockly as the base for its blocks.

obvious now?

Last edited by MDCCCLXVII (Dec. 10, 2020 22:26:47)

GachaN0nsense
Scratcher
500+ posts

Button to enable "hacked" blocks

RB4905 wrote:

is it just me or does the file look like this when you upload it
-snip-
please don't spam.

MDCCCLXVII wrote:

gosoccerboy5 wrote:

Why not implement these suggestions instead of asking for “hacked blocks”?
They've been patched in 3.0.
Actually, they're not “patched”, it's just because Scratch 3.0 is based off of Blockly.
Proof that its based off of Block.ly and not the other way around? (Scratch 3.0 is made with JavaScript and HTML)
gosoccerboy5
Scratcher
1000+ posts

Button to enable "hacked" blocks

This is absolutely stupid, I know, but I'll mention that I occasionally inspect element on Scratch (god knows why) and the blocks seem to have something in the HTML called “class = blockly-path”. This suggests that rendering 3.0 blocks is based on blockly in some way..
btw it's not block.ly but developers.google.com/blockly
-InsanityPlays-
Scratcher
1000+ posts

Button to enable "hacked" blocks

Not all hacked blocks are patched. The <loud?> block (which isn't really hacked) from 1.4 still works.
Also, check out this project for a library of hacked blocks:
1036176
Scratcher
8 posts

Button to enable "hacked" blocks

RB4905 wrote:

is it just me or does the file look like this when you upload it
PK
]��Q�5U�a project.json���r�0�_ţr�̸�|� P����I�tJ��ub“[IIBߝ�ݴЛ^Y�^���A[b����dx�%��624j .�Y�g��\�b�d��ݒ��>.�E�뽣��^��~����� B=��қ{��R�T[<fJ2��'[�|�J���x?ڜ~._��ї�g���%�@�����V� W
kC��R�4LA�h�u���%��O�������d|a)�ĵ�P��wdX0���� V vY�a�.��7
\R-
3���,v�kأ�%���0эK�Lw���'���2�U����R�
FR���6�=w#bZ�9� <�c?�4��E��BO#F��|��l|tU<�^���� �93�H���;�Kɮ�r��”� �Ͻ���O�=֬����Ӑ���YR�� �,⼀�Da2xbo��Gq�V�*v�%b�D(EͪF���_���~)�g�-�J����Ulj�8�v�F�a��U�AN�u�x9�E�s㳱T�����r���3Vϖ�3�[g�U�.�T�� �Zc+�
� ��ZYzԣ�AVhP/��~�@��� h@}����a�ʶ���ߥ� ��ӻ��7�H�'�:Mn���Ø�^��}��~��4q8����O��\G� p>A��}g4W���t�<Q�R/M� +��?��� PK
]��Q��50$83a9787d4cb6f3b7632b4ddfebf74367.wav0��RIFF(WAVEfmt +“Vdata��r
�S<#�$� �sU�_�`č�i����G�A���&�GJa}o#p
a�D�*��j���%��9���� �`pv�y�h�EgJ�l�z�ށk�q���!��0}]�y�7q�M���O����i�O���\ <P_�oiVN
$q�Y�g���x���hڣ �6kW)f�_�F������΢�2�����9(Q�V4IN+,۾���Ѽ�ݼ<.�KY'R]9��qŭ�)���а��z?�Q�Qk?}���ց��U��ռ�*�3�A�@,/ W�ճ���t˜�zz �6�?�8:$���Ά���Q�k~% :A�8�#S/�V�*���Z��I�”�5�<�5J#Z G��w�
�f�o��3*x0�+<�d����֬���)\�#H��R�p����3���$��J��|��5�
��z�g��,_�^= t������������ J��7 y������������
�Ua�PK
]��Q����$cd21514d0531fdffb22204e0ec5ed84a.svgmMK� �{�׷Į4¢IO��J�T������Z�Mf1�o�V��B�%Br=Y��5n���ՙt�Y!����M��8G��hi�H)�t�> �*�Rl�G�ɣ������k��� ���\���o�u�N�G7�>9� `L��KPK
]��Q�5U�a project.jsonPK
]��Q��50$�83a9787d4cb6f3b7632b4ddfebf74367.wavPK
]��Q����$9cd21514d0531fdffb22204e0ec5ed84a.svgPK�
actually just change the extension to .zip hope helped
Codingfairy07
Scratcher
500+ posts

Button to enable "hacked" blocks

What I don't understand?
if <problem> then
go to [fix it! v]
end
Codingfairy07
Scratcher
500+ posts

Button to enable "hacked" blocks

I'm not sure what a hacked block is.

Last edited by Codingfairy07 (May 31, 2021 20:26:51)

Scratchperson1000000
Scratcher
500+ posts

Button to enable "hacked" blocks

Codingfairy07 wrote:

I'm not sure what a hacked block is.


forever
if <bored> then
go to [Scratch until i'm not! v]

end
end
Then why did you reply? And also please dont blockspam
rdococ
Scratcher
1000+ posts

Button to enable "hacked" blocks

Sheep_maker wrote:

Once something is reproducible without hacking, it isn't hacked anymore

I do support being able to put reporters (and booleans) in all dropdowns, not just the select few we have right now.
I support this… except in the case of variable blocks. Creating global or sprite-only variables with arbitrary names on the fly without (or even with) some way to delete them sounds like a recipe for new Scratcher confusion and frustration.

A far better solution for that case specifically would be to add support for script-only variables, that you can use in a script without worrying about it interfering with other scripts. A full implementation would be more intuitive for new Scratchers, simpler to use, and less likely to cause bugs or strange behaviour.

There's also the issue of hat blocks that need to know the value of their inputs at all times, and therefore would need to re-evaluate them constantly if you could drop blocks into them. Then again, we already have the "when [timer v] > (value)" block, so who knows?
PATSATDAT
Scratcher
1000+ posts

Button to enable "hacked" blocks

RB4905 wrote:

is it just me or does the file look like this when you upload it
PK
]��Q�5U�a project.json���r�0�_ţr�̸�|� P����I�tJ��ub“[IIBߝ�ݴЛ^Y�^���A[b����dx�%��624j .�Y�g��\�b�d��ݒ��>.�E�뽣��^��~����� B=��қ{��R�T[<fJ2��'[�|�J���x?ڜ~._��ї�g���%�@�����V� W
kC��R�4LA�h�u���%��O�������d|a)�ĵ�P��wdX0���� V vY�a�.��7
\R-
3���,v�kأ�%���0эK�Lw���'���2�U����R�
FR���6�=w#bZ�9� <�c?�4��E��BO#F��|��l|tU<�^���� �93�H���;�Kɮ�r��”� �Ͻ���O�=֬����Ӑ���YR�� �,⼀�Da2xbo��Gq�V�*v�%b�D(EͪF���_���~)�g�-�J����Ulj�8�v�F�a��U�AN�u�x9�E�s㳱T�����r���3Vϖ�3�[g�U�.�T�� �Zc+�
� ��ZYzԣ�AVhP/��~�@��� h@}����a�ʶ���ߥ� ��ӻ��7�H�'�:Mn���Ø�^��}��~��4q8����O��\G� p>A��}g4W���t�<Q�R/M� +��?��� PK
]��Q��50$83a9787d4cb6f3b7632b4ddfebf74367.wav0��RIFF(WAVEfmt +“Vdata��r
�S<#�$� �sU�_�`č�i����G�A���&�GJa}o#p
a�D�*��j���%��9���� �`pv�y�h�EgJ�l�z�ށk�q���!��0}]�y�7q�M���O����i�O���\ <P_�oiVN
$q�Y�g���x���hڣ �6kW)f�_�F������΢�2�����9(Q�V4IN+,۾���Ѽ�ݼ<.�KY'R]9��qŭ�)���а��z?�Q�Qk?}���ց��U��ռ�*�3�A�@,/ W�ճ���t˜�zz �6�?�8:$���Ά���Q�k~% :A�8�#S/�V�*���Z��I�”�5�<�5J#Z G��w�
�f�o��3*x0�+<�d����֬���)\�#H��R�p����3���$��J��|��5�
��z�g��,_�^= t������������ J��7 y������������
�Ua�PK
]��Q����$cd21514d0531fdffb22204e0ec5ed84a.svgmMK� �{�׷Į4¢IO��J�T������Z�Mf1�o�V��B�%Br=Y��5n���ՙt�Y!����M��8G��hi�H)�t�> �*�Rl�G�ɣ������k��� ���\���o�u�N�G7�>9� `L��KPK
]��Q�5U�a project.jsonPK
]��Q��50$�83a9787d4cb6f3b7632b4ddfebf74367.wavPK
]��Q����$9cd21514d0531fdffb22204e0ec5ed84a.svgPK�
zip it by renaming it .zip then decompress it
PATSATDAT
Scratcher
1000+ posts

Button to enable "hacked" blocks

Alberknyis wrote:

  • To prevent people new to the community being confused by these blocks, new Scratchers are unable to use these blocks, and have to reach the Scratcher status to enable it.
No support. New Scratcher rank just exists to reduce spam and the blocks are not confusing

Alberknyis wrote:

  • Under the “edit” tab (the one to the right of the file tab), there should be an option to allow “hacked” blocks.
just allow? That would be useless if you mean add allow you to make hacked blocks without editing the JSON then support becuase you can't do that in scratch 3.0 and it's very time-consuming
reallysoftuser
Scratcher
1000+ posts

Button to enable "hacked" blocks

gosoccerboy5 wrote:

This is absolutely stupid, I know, but I'll mention that I occasionally inspect element on Scratch (god knows why) and the blocks seem to have something in the HTML called “class = blockly-path”. This suggests that rendering 3.0 blocks is based on blockly in some way..
btw it's not block.ly but developers.google.com/blockly
https://developers.googleblog.com/2019/01/scratch-30s-new-programming-blocks.html

Powered by DjangoBB