Skip to content

Releases: Program132/BlueprintRobloxEditor

V1.0: For in ipairs/pairs, new events, Local Player and more !

24 Nov 13:34

Choose a tag to compare

News

New statement nodes:

  • For in pairs
  • For in ipairs

New nodes from Color3:

  • new
  • fromHSV
  • fromRGB

New nodes from BrickColor:

  • New
  • Random
  • To RGB

New enums nodes:

  • EasingDirection
  • EasingStyle

New nodes for TweenService:

  • TweenInfo.new
  • Create
  • Cancel
  • Play

New nodes for Local Player & Humanoid:

  • Get Local Player
  • Get Character
  • Get Humanoid
  • Get Humanoid State
  • Humanoid Take Damage
  • Get Humanoid State

UDim2 nodes:

  • UDim2.new
  • UDim2.fromScale
  • UDim2.fromOffset

New nodes for RemoteEvents:

  • FireClient
  • FireServer

New events:

  • Died (Humanoid)
  • HealthChanged (Humanoid)
  • StateChanged (Humanoid)
  • ChildAdded
  • ChildRemoved
  • Changed (Instance, when a property is updated)
  • OnServerEvent
  • OnServerInvoke

Example

For In

image image

Color3

image image

Tweens

image image

Player & Humanoid

image image

ChildAdded

image image

Remote Events

image image

Kill Brick Example

image image
{
    "version": "2.0",
    "scripts": [
        {
            "id": "script-1763990649166",
            "name": "Main",
            "nodes": [
                {
                    "id": "node-1763990657293",
                    "name": "touched",
                    "type": "EVENT",
                    "x": 49,
                    "y": 350.609,
                    "inputs": {}
                },
                {
                    "id": "node-1763990664191",
                    "name": "getproperty",
                    "type": "FUNCTION",
                    "x": -290,
                    "y": 528.609,
                    "inputs": {
                        "PropertyName": "Parent"
                    }
                },
                {
                    "id": "node-1763990677640",
                    "name": "isa",
                    "type": "FUNCTION",
                    "x": 50,
                    "y": 543.609,
                    "inputs": {
                        "className": "Player"
                    }
                },
                {
                    "id": "node-1763990729292",
                    "name": "if",
                    "type": "METHOD",
                    "x": 398,
                    "y": 353.609,
                    "inputs": {}
                },
                {
                    "id": "node-1763990762539",
                    "name": "start",
                    "type": "EVENT",
                    "x": -34,
                    "y": 45.609,
                    "inputs": {}
                },
                {
                    "id": "node-1763990772704",
                    "name": "set",
                    "type": "METHOD",
                    "x": 643.565,
                    "y": 60.063,
                    "inputs": {
                        "name": "part"
                    }
                },
                {
                    "id": "node-1763990776970",
                    "name": "get",
                    "type": "FUNCTION",
                    "x": -279.842,
                    "y": 382.291,
                    "inputs": {
                        "name": "part"
                    }
                },
                {
                    "id": "node-1763990789907",
                    "name": "getservice",
                    "type": "FUNCTION",
                    "x": -139,
                    "y": 183.609,
                    "inputs": {
                        "ServiceName": "Workspace"
                    }
                },
                {
                    "id": "node-1763990796596",
                    "name": "findfirstchild",
                    "type": "FUNCTION",
                    "x": 242,
                    "y": 164.609,
                    "inputs": {
                        "childName": "Part"
                    }
                },
                {
                    "id": "node-1763990843329",
                    "name": "takedamage",
                    "type": "METHOD",
                    "x": 901,
                    "y": 388.609,
                    "inputs": {
                        "damage": "100"
                    }
                },
                {
                    "id": "node-1763990869957",
                    "name": "set",
                    "type": "METHOD",
                    "x": 630.223,
                    "y": 367.379,
                    "inputs": {
                        "name": "plr"
                    }
                },
                {
                    "id": "node-1763990883426",
                    "name": "gethumanoid",
                    "type": "FUNCTION",
                    "x": 626,
                    "y": 697.609,
                    "inputs": {}
                },
                {
                    "id": "node-1763990901047",
                    "name": "getcharacter",
                    "type": "FUNCTION",
                    "x": 291,
                    "y": 697.609,
                    "inputs": {}
                },
                {
                    "id": "node-1763990918423",
                    "name": "get",
                    "type": "FUNCTION",
                    "x": -47.79,
                    "y": 696.487,
                    "inputs": {
                        "name": "plr"
                    }
                },
                {
                    "id": "node-1763991061488",
                    "name": "getproperty",
                    "type": "FUNCTION",
                    "x": 415,
                    "y": 559.609,
                    "inputs": {
                        "PropertyName": "Parent"
                    }
                }
            ],
            "connections": [
                {
                    "fromNode": "node-1763990657293",
                    "fromPort": "otherPart",
                    "toNode": "node-1763990664191",
                    "toPort": "instance",
                    "type": "data"
                },
                {
                    "fromNode": "node-1763990664191",
                    "fromPort": "value",
                    "toNode": "node-1763990677640",
                    "toPort": "instance",
                    "type": "data"
                },
                {
                    "fromNode": "node-1763990677640",
                    "fromPort": "result",
                    "toNode": "node-1763990729292",
                    "toPort": "condition",
                    "type": "data"
                },
                {
                    "fromNode": "node-1763990657293",
                    "fromPort": "ExecOut",
                    "toNode": "node-1763990729292",
                    "toPort": "ExecIn",
                    "type": "exec"
                },
                {
                    "fromNode": "node-1763990762539",
                    "fromPort": "ExecOut",
                    "toNode": "node-1763990772704",
                    "toPort": "ExecIn",
                    "type": "exec"
                },
                {
                    "fromNode": "node-1763990776970",
                    "fromPort": "value",
                    "toNode": "node-1763990657293",
                    "toPort": "instance",
                    "type": "data"
                },
                {
                    "fromNode": "node-1763990789907",
                    "fromPort": "service",
                    "toNode": "node-1763990796596",
                    "toPort": "instance",
                    "type": "data"
                },
                {
                    "fromNode": "node-1763990796596",
                    "fromPort": "child",
                    "toNode": "node-1763990772704",
                    "toPort": "value",
                    "type": "data"
                },
                {
                    "fromNode": "node-176399072...
Read more

V0.9: 3D Positioning, Enums & Game Loop

23 Nov 18:15

Choose a tag to compare

Issues Solved / Fixs

Enums - New type for nodes @Program132

News

New node type to create custom enums:

{
    "type": "ENUM",
    "title": "Enum title",
    "color": [200,200,200],
    "inputs": {
        "input_name": {
            "defaultValue": "default_input_value"
            "values": [
                "value1",
                "value2",
                "value3"
            ]
        }
    },
    "outputs": [
        "output_name"
    ]
}

Enums added:

  • Material
  • HumanoidStateType

Moreover, you can add a description to your nodes :

{
    "type": "FUNCTION",
    "title": "Node",
    "description": "My description",
    "inputs": {
        "from": {
            "defaultValue": ""
        },
        "to": {
            "defaultValue": ""
        }
    },
    "outputs": [
        "Output 1"
    ]
}

New nodes about Vector3 :

  • Builder: create an Vector3 from x,y,z.
  • Add: addition of two vectors
  • Sub: substraction of two vectors
  • Mul: multiplication of two vectors
  • Div: division of two vectors
  • Get Vector3 Components : Get x,y,z from a vec3

Added CFrame nodes:

  • CFrame Builder (CFrame.new)
  • CFrame Angles (CFrame.Angles)
  • CFrame Look At (CFrame.lookAt)
  • Ge CFrame Position (cframe.Position)

Added async nodes:

  • task.wait
  • task.defer
  • task.delay
  • task.spawn

Added two events (from BasePart):

  • Touched
  • TouchEnded
  • RenderStepped from RunService
  • Heartbeat from RunService

Example

Enum Type

Image Image

Vector3

image image

CFrame

image image

Touched event

image image

V0.8 : Instance, GetService, Find Child and more !

21 Nov 18:38

Choose a tag to compare

Issues / Fixs

Due to a lot of problem with String, I decided to remove the automatic detection of values type, it means now you have to put " yourself or you can use the String node.

News

New node "Instance New" : you can create instance from Roblox Studio like :

  • Part
  • Model
  • etc.
    Make sure to specify the classname (part, model etc.) and the parent.

New node "Get Service" : you can call services from Roblox like Workspace, ReplicatedStorage, ServerScriptService and more !

New nodes to get & set a property of an instance, like get / set the name of a part !

New nodes to find a child from an instance (FindFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, WaitForChild), I added as well IsA which return a boolean.

New async nodes:

  • task.wait
  • task.delay
  • task.defer
  • task.spawn

New events :

  • InputBegan
  • InputEnded

New enums:

  • KeyCode
  • UserInputType

Example

image image
image image
image image
image image
image image
image image
image image

V0.7: Rework + new nodes !

20 Nov 18:26

Choose a tag to compare

I reworked the backend system to address new issues I was facing, such as handling multiple events and enabling the creation of custom functions.
By the way, you can now have more than one “script”/graph in your project!

News

Fixs / Issues solved

Rework backend + new elements about frontend @Program132

Format

Make sure to follow the format, now title is mandatory !

{
    "type": "METHOD",
    "title": "My Custom Node",
    "inputs": {
        "input_name": {
            "defaultValue": "default_input_value"
        }
    },
    "outputs": [
        "output_name"
    ]
}

You can set the color of you node by the way:

{
    "type": "METHOD",
    "title": "My Custom Node",
    "color": [255,23,56],
    "inputs": {
        "input_name": {
            "defaultValue": "default_input_value"
        }
    },
    "outputs": [
        "output_name"
    ]
}

Table (Arrays + Dict)

You can create arrays using table nodes:

  • Construct Table return an empty array
  • Table Insert insert the element given in the array
  • Table Length return the length of the array

You can create dict using table nodes:

  • Construct Table return an empty dict
  • Table SET insert the element given in the dict, with the key given
  • Table Length return the length of the dict
  • Table GET return the value of the key given

Events

Two events got added:

  • PlayerAdded
  • CharacterAdded (from PlayerAdded)

Variables

GET node got an update, now it's a FUNCTION node, not METHOD.

General

Added two more nodes:

  • warn: like print but for warnings
  • error: like print but for errors

Values nodes (can use them to specifiy the real value if you want to simulate):

  • string
  • int
  • number
  • boolean

Example

image image
image image image

V0.5 : If, while, for and much more :) !

13 Nov 19:19

Choose a tag to compare

News

New node "IF":

  • Take one condition (as boolean) in inputs
  • Return 3 EXEC output: when the conditon is true, when the condition is false (else) and when the "if node is over" (next to end)

New node "WHILE":

  • Take one condition as input
  • Return 2 EXEC: one about the loop body, last one once the condition is true (next to end)

New node "FOR" (Range):

  • Take one variable (only the name, not a variable you created) as input
  • Take number for start
  • Take number for end
  • Take number for step

New nodes to convert:

  • tonumber
  • tostring

New nodes about booleans:

  • and
  • not
  • <=
  • >=
  • ==
  • ~=
  • <
  • >

New way to create custom statement (it's if definition):

{
    "color": [200,200,200],
    "type": "METHOD",
    "inputs": {
        "condition": {
            "defaultValue": "true"
        }
    },
    "outputs": [],
    "exec": ["True", "False", "Continue"]
}

Example

image

if

image image image image

while

image image image image

for (range)

image image

Next updates

  • Arrays & Dict
  • Custom function
  • Multiple scripts
  • Custom events (from Roblox)

V0.2: Fixs and more nodes about math & string

13 Nov 10:08

Choose a tag to compare

Fixs

News

New Math nodes (from math lib):

  • arctangent2
  • ceiling
  • degree
  • extract mantissa & exponent
  • floating point remainder
  • floor
  • load exponent
  • log10
  • min
  • max
  • modulo fractional
  • pi
  • positive infinity (highest value)
  • power
  • radians
  • random seed

New String nodes (from string lib):

  • concat
  • upper
  • lower
  • length
  • byte
  • char
  • reverse
  • find
  • repeat
  • replace

New format, you can now set the "title" of the node:

{
    "title": "sqrt",
    "type": "FUNCTION",
    "inputs": {
        "a": {
            "defaultValue": "0"
        }
    },
    "outputs": ["result"]
}

Example

image image image

V0.15: Fixs and more nodes !

10 Nov 23:18

Choose a tag to compare

Fixs

New

New nodes:

  • Add renamed Addition
  • Subtraction
  • Multiplication
  • Division
  • Squareroot
  • Logarithm
  • Exponential
  • Cos
  • Sin
  • Tan
  • Cosh
  • Sinh
  • Tanh
  • Arcos
  • Arcsin
  • Arctan
  • Absolute (abs)

New format to follow to create your own nodes (color is not mandatory, you can remove it):

{
    "color": [255,255,255],
    "type": "METHOD",
    "inputs": {
        "node_name": {
            "defaultValue": "<default value>"
        }
    },
    "outputs": [
    "output_name"
    ]
}

Variables:

  • Can be saved in you project file (.json) when you're clicking on the button "Save".
  • Can be loaded from a .json file.
  • SET node to update the value
  • GET node to get the value

Example

image image

V0.1 : BRE Start

09 Nov 17:47

Choose a tag to compare

The BRE project arrives with its first official version! Featuring a new system and new methods for programming in Blueprint, for "transforming" into Luau, and a very important element, an editor, in this case a web application.

Additions

  1. New method to convert from Blueprint to Luau
  2. Editor available on a website
  3. START node
  4. PRINT node
  5. ADD node

Removals

  1. Old backend system for coding in Blueprint, replaced by a simpler and more efficient one
  2. Nodes were not defined in JSON format

Upcoming Changes

  1. Addition of blocks for variables
  2. Basic blocks, such as those for math, strings, etc.