Create a block by using a block and getting the block in a ring by using a block

The title used 4 block's :p
Anyways,
What do i mean is this:


(Its gonna report the block in a ring)

I made a version of the first block, though it's not as simple as you might have liked:
https://snap.berkeley.edu/snap/snap.html#present:Username=helicoptur&ProjectName=create-custom-blocks
Note that the percentage signs in the spec mean names, not types.

i loaded it and uh

ok, it should work now. i accidentally deleted the definition while debugging, but i managed to recover it.

is any way how to make something like this?
image

yes, i updated the project with that block. but there's no point in the "from category" part, since blocks aren't allowed to have the same names, even if they are in different categories.

also don't put nothing in the ring it will break the project big time just put something random in there and remove it later if you want the definition to be empty (which is doubtful anyway)

btw what are the list of all label part specs?
like

%n - Text
etc

Bug - When i click the block multiple times it clones the block:
image

Oh by the way those blocks should be added:
scratchblocks (55)

Okay, this list is from a pretty old project, so chances are some won't work anymore or will have changed, but here you go:

%upvar: Upvar
%obj: Object
%n: Number
%cmdRing: Command (inline)
%cs: Command (C-shape)
%ca: Command (C-shape loop)
%txt: Text
%s: Any type
%repRing: Reporter
%anyUE: Any (unevaluated)
%l: List
%b: Boolean (T/F)
%predRing: Predicate
%boolUE: Boolean (unevaluated)
%mlt: Multi-line
%code: Code
%msg: Messages
%spr: Objects
%cst: Costumes
%snd: Sounds
%var: Variables
%note: Piano keyboard
%dir: 360° dial
%att: Attribute
%bool: Boolean
%cln: Clones
%clr: Color picker
%cl: Command
%cla: Command loop
%cmd: Command (inside)
%dst : Destination
%exp: Expansion
%get: Get attribute
%shd: Inheritables
%inputName: Input name
%imgsource: Image source
%lo: Location
%self: Objects (includes self)
%ringparms: Ring parameters
%scriptVars: Script variables
%col: Touching
%inputs: With inputs
%words: Words
%audio: Audio properties (volume, ..., resolution)
%codeListPart: Codification list maps (list, item, delimiter)
%codeKind: Codification section maps (code, header)
%mapValue: Codification type maps (String, ..., false)
%dates: Date options (year, ..., time in milliseconds)
%delim: Delimiters (letter, ..., json)
%dim: Dimensions (current)
%eff: Effect (color, ..., negative)
%interaction: Event (clicked, ..., stopped)
%fun: Functions (abs, ..., 2^)
%hsva: HSVA (hue, ..., transparency)
%idx: Indices (1, last, random)
%ida: Indices (1, last, all)
%inst: Instrument ((1) sine, ... (4) triangle)
%img: Image properties (name, ..., pixels)
%key: Keys (0, ..., z)
%layer: Layer depth (front, back)
%month: Month (January, ..., December)
%pen: Pen values (size, ..., transparency)
%rel: Relation (distance, direction)
%rate: Sample rates (22.05 kHz, ..., 96 kHz)
%setting: Settings (turbo mode, ..., mirror video)
%aa : Sound properties (name, ..., samples)
%stopChoices: Stop choices (all, ..., other scripts in sprite)
%txtfun: Text functions (encode URI, ..., hex sha512 hash)
%typ: Types (number, ..., predicate)
%asp: Value at location (hue, ..., sprites)
%vid: Video options (snap, motion, direction)
%lst: 3 lists
%codeKind: Code mapping
%c: Command
%loop: Command loop
%rc: Command ring
%f: Function
%keyHat: Key (for hat)
%msgHat: Message (for hat)
%rp: Predicate ring
%rr: Reporter ring
%r: Reporter slot
%p: Reporter slot (?)
%t: Template
%br: Break
%greenflag: Green start flag
%clockwise: Clockwise arrow
%counterclockwise: Counter-clockwise arrow
%blitz: Lightning
%loopArrow: Loop arrow
%pause: Pause icon
%stop: Stop sign
%turtle: Turtle
%turtleOutline: Turtle outline

ok
Edit: I made it so it won't clone the block when you click multiple times.
Edit: The "does block exist" block is redundant because you can just check if the "get block _" block invoked with that spec is not false. Looking into "delete block" though.

Thanks, Also how do i make a reporter / boolean block in your block?

oh yeah, i forgot about that. will add that as well.

i made the delete block thing

ok cool

most likely they haven't changed because if they did, it would break old projects.

I mean the buggy ones, like %f or %lst

ah, ok.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.