TRANSCRIPTEnglish

How to make The Forge in Roblox! [Part 1: Mining] (Roblox Studio Scripting Tutorial 2026)

24m 49s4,650 words658 segmentsEnglish

FULL TRANSCRIPT

0:01

Yo, what's going on? Today's video I got

0:03

how to make the forge um Roblox. Uh this

0:07

is part one in the series and stuff

0:09

stuff like that. Sorry again guys for

0:11

the time in between videos. Got a wisdom

0:13

teeth for move a week or two ago. So had

0:16

to recover had to recover from that.

0:18

Couldn't really talk. But yeah, um happy

0:20

new year to everybody. So hope

0:21

everybody's having a great 2026 so far

0:23

as you guys already know or if you're

0:25

new around here. As long as you show the

0:26

series love and support and it continues

0:28

to receive love and support, I will

0:29

continue. keep series going. If not, I

0:30

would not continue the series. It's that

0:32

simple. But yeah, I've heard a lot about

0:34

the forge. People wanted me to make a

0:35

video on it. So, this is part one. Um,

0:37

seems a pretty cool game. Pretty chill

0:38

RPG and stuff like that. Simple

0:40

mechanics. So, yeah, let's go and get

0:42

straight into it. Okay, so for the first

0:43

video, I'm just going to cover basics.

0:45

Just making a mining system. So, a few

0:47

things I do already have pre-made. Um,

0:51

first things first, let's just let's

0:52

just make a rock. Let's start off very

0:54

simple, right? Let's make a rock. So,

0:56

what I'm going to do is I'm going to uh

0:58

go go up here to the top, click right

1:00

here. I'm going to click spear. We're

1:01

just going to make a very basic rock.

1:03

Okay. So, for anyone who's new here, I'm

1:05

just a scriptor, not a modeler, not a

1:06

builder, none of that. So, every all

1:09

demonstrations will be very simple, I

1:11

should say. So, we're just going to make

1:12

it black. Um material just, you know,

1:16

we're making a rock. So, make material

1:18

rock, right? Um

1:22

and then you want to make sure it's

1:23

anchored, right? And then you could just

1:24

go ahead and just name it rock. Right?

1:29

Then we're going to need to add three

1:30

things. We're going to need to insert

1:31

three things into it. So first we're

1:33

going to need a number value. This is

1:35

going to be the health. Right? So number

1:37

value, rename it to be health. Now I'm

1:39

pretty sure as you guys can tell um when

1:41

a player tries to mine said rock and

1:43

stuff, it's going to slowly chip away at

1:45

the health until it reaches zero. So you

1:46

can set this to whatever you want it to

1:47

be. I'm just going to set it to be uh

1:49

15, right? It's completely up to you

1:51

guys for whatever number you want it to

1:53

be. Then we're going to insert a bool

1:55

value, right? And then we're going to

1:57

set we're going to call this is minable.

2:00

And then make sure it is set to true,

2:02

right? Cuz I'm I'm guessing there will

2:04

probably be objects that are um maybe

2:07

that might have like a health that might

2:09

have like a health value that may not um

2:12

that may not be minable. So just make

2:13

sure it's set to true, bull value. And

2:15

then obviously if it's set to true, then

2:16

that means players can mine it. And then

2:17

for the last thing, we need a hit box,

2:19

right? So, let's insert a part into the

2:21

rock, right? And then we're just going

2:23

to design a little hitbox. So, you can

2:25

set this transparency to 0.5 for now,

2:27

right? Um, this is what's going to

2:29

detect when the player is making contact

2:31

with it. Um, now, keep in mind, it's not

2:34

going to be the player's pickaxe. It's

2:36

going to be the player's body. So, you

2:37

just want this to be So, you want this

2:39

to be around it, or well, the player's

2:42

hitbox, I should say. Not the player's

2:43

body, the hitbox. So, you just want it

2:45

to be kind of around it. So something

2:47

like so yeah something like that right

2:49

but it doesn't have to be exactly like

2:51

mine can be however you guys want it to

2:52

be and then what you guys can do is call

2:54

this object pit box right few important

2:57

properties disable can't collide make

3:00

sure it's anchored and then set

3:01

transparency to be one and then just

3:03

like that we are done with our rock

3:06

right then we're going to need a remote

3:07

event to communicate between the server

3:08

and the client so head on over to

3:10

replicated storage click the plus icon

3:12

insert a remote event rename this remote

3:13

event to be core event Right. Then from

3:18

there, um, let's go ahead and let's work

3:20

on our hot bar. As you guys know,

3:22

there's a custom hot bar where you can

3:23

equip like your axe, um, any weapons you

3:26

have, stuff like that. So, let's head on

3:27

over to starter GUI. Hit the plus icon.

3:30

Screen GUI. Um, rename this to be core

3:34

GUI. Disable reset on spawn. Then, what

3:37

you want to do is you want to insert a

3:38

frame. This is going to be our hot bar

3:42

frame, right? I'm going to drag this

3:44

down to the bottom middle. And then I'm

3:46

going to set the size to be like 500 by

3:49

100, something like that. Then just have

3:51

it in the middle. Right. Boom. Then I'm

3:54

going to insert a UI grid layout into

3:57

it. And then you guys can set this to

3:59

whatever you want it to be, but what I

4:00

chose to go with was 8, 0. And then for

4:04

the cell size, um, I went with 80 by 80.

4:08

So boom. Right. So then now it'll

4:10

automatically size and position

4:12

everything you um, insert into it. So

4:14

then hot bar frame. You can set this

4:16

background transparency to be one. Then

4:18

you can insert a text button. And then

4:21

we only need one for for the first part

4:23

of the series um first video. So I'll

4:25

rename this to be pickaxe

4:29

text button. Right? This should be for

4:30

our pickaxe so players can equip and

4:32

equip their pickaxe. Right.

4:35

Going to make the background color nice

4:37

black. Set the background transparency

4:40

to be like 0.5.

4:43

Um, and then from there

4:46

you can clear out the text.

4:51

And then, um, this is Well, you know

4:52

what? Just do it anyway. So, then we're

4:54

going to insert a UI corner, right?

4:56

Insert a UI corner into it, right? Then

5:01

from there, we're going to go ahead and

5:03

insert a text. Well, we're going to need

5:05

two, but for now, we'll just do this

5:07

one. We're going to insert a text label,

5:08

right? And then we could call this

5:10

number text label, right? So this just

5:12

going to be the number at the top. This

5:13

is going to be the first item in our um

5:17

what is this code again? Yeah, hot bar.

5:19

Um so we're just going to set the text

5:20

to be one. So scale text. Text color

5:23

will be white. Text stroke color will be

5:26

black. And text stroke transparency will

5:27

be set to zero. And then obviously we

5:29

just need this to be a lot smaller. So

5:31

let's try like 20 by 20. Yep. 20 by 20.

5:35

Just like that. And it's in the corner.

5:37

Perfect. Okay. Then we will set the

5:39

background transparency to be one. And

5:41

then boom. Yep. Perfect. And then now we

5:45

just need a name text level. So we will

5:48

um I'll just duplicate this. Control

5:50

plus. So select it. Control + D or just

5:53

home and then duplicate at the top left.

5:55

We'll drag this down to the bottom

5:57

middle. So align it at the middle. If I

6:00

can get it right. What is the

6:05

Okay. So we'll do that. And then you you

6:06

just want to re um we just rename this

6:09

to be name text label, right? And then

6:13

here you're going to put whatever the

6:15

default pickaxe is in your game. I'm

6:17

just going to call mine rusty axe, but

6:19

it's up to you guys. I'm going to call

6:20

mine rusty axe. And then I just need to

6:23

make this wider. So like 100.

6:27

And let's see. No, that's too wide.

6:31

80.

6:36

to go up a little bit

6:38

or no I think that's fine. Yeah. And

6:41

then something like that. Okay. All

6:42

right. And then we are done with the UI.

6:44

Okay. Perfect.

6:46

So from here um the next thing let's

6:50

head on over to server storage. As you

6:51

guys can see I have a rusty axe already.

6:54

Drag this over to workspace to show you

6:55

guys if it if it will let me.

7:01

What the?

7:03

Okay, there we go. All right, so as you

7:05

guys can see, we have an axe. Okay, so

7:07

it's guys, it's really not that it's

7:08

really not that hard. Just literally go

7:10

to the toolbox, search for an axe if you

7:12

don't have an axe model, and then just

7:13

turn it into a tool. It's not that it's

7:15

just not difficult. Or just search up a

7:18

an axe model or pickaxe model. It

7:20

doesn't really matter. All All you

7:22

literally have to do is just plus icon

7:25

tool, name it whatever. Make sure it has

7:28

a handle. This is the This is just

7:30

literally This is just a regular part.

7:31

That's all this is. This is just a

7:33

regular part. This is where the player's

7:35

hand is going to be. So, it has to be

7:37

named handle and it has to be has to

7:38

literally named handle and inside of the

7:40

the tool, right? And then the P and then

7:42

this part is just the actual model

7:44

itself. This is just like a 3D mesh. So,

7:47

yeah, it's very simple. Um once you have

7:49

that, again, make sure the names match.

7:50

See how see how the names match? So,

7:52

once you do that, you're going to head

7:53

on over to um server storage because

7:54

obviously we want to store all this

7:56

stuff properly, right? So inside of

7:57

server storage plus icon, insert a

7:59

folder. Rename this folder to be items.

8:02

Then insert a folder into that folder.

8:04

And then you can just name this folder

8:07

axis. And then you can put your rusty

8:09

axe in there. Whatever your starter or

8:10

default ax is in your game. So we'll

8:12

just have that there. Um,

8:16

and then I do have two sounds. Again, I

8:18

got them from the toolbox. Just search

8:20

axe sounds. One's hit, one's swing. So

8:22

one is when you, you know, just swing

8:24

the the pickaxe. Otherwise, when you

8:26

actually hit something, you literally

8:27

just go literally go to the toolbox, go

8:29

to sounds, search back ax, and then just

8:32

um click them and then just make sure

8:34

they're in they're inside of sound

8:35

service. That simple. Okay, so open up

8:38

starter player. Now, let's get to the

8:39

scripting. So, starter player scripts

8:41

plus icon local script. Rename the

8:43

script to be core script in parenthesis

8:46

put local. We'll be here for just a few

8:48

minutes. So, let's create a few

8:49

variables. First, we're going to create

8:50

a variable for the user input service.

8:52

We're going to say local UIS is equal to

8:54

game get service includation marks user

8:58

input service. Then we're going to

9:00

create a variable for our remote event.

9:02

So core event is equal to gamerelicated

9:05

storage way for child core events. Then

9:07

we're going to create a variable for our

9:08

local player. So say player is equal to

9:11

game.local

9:13

player. Then we're going to set up our

9:15

first function. So core event onclient

9:17

event connect function in parenthesis

9:19

put event type. So it'll be the specific

9:21

event. Then press enter. Then we'll say

9:24

if event type is equal to in quotation

9:26

marks disable backpack. Keep in mind we

9:28

have a custom um backpack hot bar or hot

9:32

bar whatever you want to call it. So we

9:33

don't need the default Roblox enabled.

9:35

So enter. Then we will simply then we'll

9:38

simply just say local starty. It's equal

9:42

to game.st starter GUI colon set core

9:46

GUI enables. Then you just say nm.coregy

9:48

core GUI type backpack, false, right?

9:52

And then on to our next function. So,

9:55

first we'll create a variable be a

9:56

boolean. So, axe equipped is equal to

9:58

false. This is what we'll use to check

10:00

if whether or not the axe is currently

10:01

equipped. So, that we know if the

10:03

player's um either trying to equip the

10:04

axe or they're trying to unequip the axe

10:06

when they press the one key. So we'll

10:09

say UIS to input began connect function

10:12

in parenthesis put input comma processed

10:15

enter and we'll say if input do user

10:19

input type is equal to nm user input

10:21

type keyboard and not process which

10:24

pretty much just means the player is not

10:25

typing in chat when they press the key

10:27

enter. Then you'll say if input keycode

10:31

is equal to nm.keycode this can be

10:34

whatever you want it to be. I'm just

10:35

going to set mine to one enter. Then

10:37

you'll say if axe equipped, which is

10:39

just the same as saying if axe equipped

10:40

is equal to true, which means the you

10:42

know players ax is currently equipped.

10:44

Enter. Then you're going to say core

10:45

events fire server inclution marks

10:48

unequip

10:49

unequip. Wait, unequipped. Yeah, no, I

10:52

spelled that right. Unequip axe, right?

10:54

And then axe equipped will be set to

10:56

false. And then we'll just do the vice

10:57

versa. else if not axe equipped then

11:01

core events fire server equip

11:05

axe right and then you'll say axe

11:09

equipped is equal to true and then boom

11:10

it's just that simple now we can move on

11:12

to the server script all right let me

11:14

just make sure everything okay we are

11:15

good okay so then heading over to server

11:17

script service one last thing that I

11:19

already have done is an animation again

11:21

I got this from the toolbox I get

11:23

literally everything from the toolbox

11:24

except for the script that's literally

11:26

just it but yeah So just search up uh

11:30

like pickaxe animations and stuff like

11:32

that and then just find you an animation

11:34

and then so you just simply click right

11:36

here animation. Click that rename it.

11:39

Throw your animation ID in there. You

11:41

can't use my animation ID. It literally

11:43

will not work. You have to your own

11:44

animation ID. So then um click the plus

11:48

icon server script service. Insert a

11:50

script and then just drag your animation

11:52

inside of the script. All right. So

11:54

we'll rename the script to be core

11:56

script and parenthesis put server.

11:58

Right? We will delete print hello world

12:00

and then we will create a couple

12:01

variables. First create a variable for

12:02

the sound service. We say local

12:06

ss is equal to game get service. Sound

12:09

service for our sound effects. Remember

12:11

down here. Then for our next variable we

12:14

will we will create a variable for our

12:15

remote event. Core event is equal to

12:18

game. Replicated storage for child core

12:20

event. Then we'll create a variable for

12:22

our items folder. So items folder is

12:25

equal to games server storage for child

12:28

items. Then we'll go ahead and set up

12:30

our function. So gameplayers player

12:33

added connect function in parenthesis

12:35

put pl which is just short for the

12:36

player who joined the game. Um and then

12:39

we're going to create two variables.

12:40

First in or inventory folder, right?

12:44

This is going to this is a folder that's

12:45

going to keep track of um the the so

12:48

first the ores the player currently has

12:50

as well as the names of or not the name

12:52

the amount of them but also the names as

12:54

well. So or inventory it's equal to

12:57

instance new it's going to be a folder

13:00

or inventory.name is equal to quotation

13:03

marks or inventory.

13:06

Then or inventory.parent is equal to

13:08

player. Then we're going to create a

13:10

variable called equipped ax. So we know

13:12

like what um axe the player currently

13:14

has equipped or

13:17

Yeah. Yeah. Cuz it's Yeah. It's called

13:20

axe. So pickaxe axe. We'll just we'll

13:22

just call it that. Yeah. So we'll just

13:23

say equipped axe is equal to instance

13:27

new. This should be a string value,

13:29

right? Equipped axe.name is equal to

13:33

equipped axe. And then equipped axe

13:36

value should be rusty.

13:40

Remember, you want your names to be

13:42

consistent. So, whatever you name this

13:44

is what it should be here. So, rusty

13:46

axe,

13:48

right? Then equipped axe.

13:52

Is equal to player,

13:55

right? And then [clears throat] you're

13:56

going to set up a function player. Added

13:58

connect function in parenthesis put

14:00

character enter. And then we're going to

14:04

disable the backpack. So, go every time.

14:06

Make sure it's fire client singular.

14:08

We're going to disable the backpack each

14:09

time. player, comma, disable backpack.

14:14

After that, we're going to create a

14:15

hitbox for the player so that they're

14:16

able to, you know, be able to uh mine

14:18

things in combat and as well as I I

14:21

don't know. I don't think you can fight

14:22

other players, but I know you can fight

14:24

NPCs. So, we're going to create a

14:25

hitbox. So,

14:27

hitbox equal to instance new incl.

14:31

And then you're going to say hitbox.name

14:34

is equal to incl.

14:36

You're going to say hitbox.ed anchored

14:38

is set to false.

14:40

Hitbox can collide is set to false.

14:44

Hitbox.mmassless

14:47

is equal to true.

14:49

Hitbox.transparency is equal to 1.

14:53

Hitbox size is equal to vector 3 new. In

14:56

parentheses, put five, 6, 2.5.

15:01

Hitbox color is equal to color 3 new.

15:04

I'm going to make mine red, but it's up

15:05

to you guys. one comma 0 comma 0. Right?

15:08

Just going to be for testing purposes.

15:10

And then you're going to say hitbox

15:12

pivot 2 character humanoid root part C

15:19

frame. Then you're going to um weld it.

15:22

So we need to create a weld weld

15:23

constraint. So weld constraint is equal

15:26

to instance new. Weld constraint. Welds

15:29

constraint.Aart

15:32

zero is equal to hitbox. And wells

15:34

constraint.part part one is equal to

15:37

character dot humanoid road part. So now

15:40

they're welded together. Then

15:43

hitbox.parent

15:45

is equal to hitbox. And then boom, we

15:48

are done with the first function.

15:51

Now on to the um equipment equip and

15:54

unequip ax as well as being able to mine

15:57

things with with set ax. So we're going

15:58

to say core events on server events

16:00

connect function in parentheses put pl

16:03

for the player then comma event type

16:05

enter create a variable for the player's

16:07

character. So character is equal to

16:10

player character right then you're going

16:12

to say if event type is equal to

16:15

quotation marks equip ax enter

16:19

then you're going to say you're going to

16:21

create a variable for set x assuming we

16:24

can find it of course. So we're going to

16:25

see item folders.axes

16:27

find first child player.quipped

16:31

axe dot value. So if we can find set ax.

16:34

So if axe then you will say axe is equal

16:37

to make sure you clone it right. And

16:40

then you'll set its parent to be

16:42

player's character.

16:45

Then we'll say axe.act or I'm dot

16:49

activated which means the player just

16:51

clicked while they had the tool

16:52

equipped. connect function close

16:55

parenthesis. Press enter. Right? We're

16:58

going to play the swing. We're going to

16:59

play the swing animation. So, we're

17:01

going to say going to create before

17:03

animation track. So, it's equal to

17:05

character.humoid.animator

17:08

load animation. In parenthesis, you're

17:10

going to say script.axwing animation

17:13

at play. Right? Then you're also going

17:17

to play the sound effects. So, SS.ax

17:20

swing play. Right? You don't have to

17:23

have sound effects if you don't want to,

17:24

by the way. Um,

17:26

and then we're going to do some ray

17:27

casting. So, first let's get our start

17:29

position. So, start position

17:32

is equal to characterhumanoid

17:35

root part.h hitbox.position.

17:39

Then we're going to get our direction

17:41

which is equal to character.humoid

17:44

root part.h hitbox C frame.

17:50

V vector. Right. Then we're going to set

17:52

up our raycast parameter. So we're going

17:54

to say raycast params is equal to

17:57

raycast params new close parenthesis

18:00

raycast params filter type is equal to

18:02

nom.cast filter type.exclude and then

18:04

raycast params dot filter descendants

18:07

instances equal to special brackets. And

18:09

then you're going to say character colon

18:11

get to descendants right

18:14

and then you're going to finally create

18:15

our array. So ray is equal to workspace

18:18

ray cast start position, direction. Very

18:22

important. You need to multiply this

18:24

times something because what what's

18:25

going to happen is the ray is not going

18:26

to make it that far unless you like

18:28

multiply the direction. So I'm going to

18:30

set this to be five. You guys can mess

18:31

around with this number. The greater the

18:33

number, the further the range out. For

18:35

example, if you set this to if you set

18:36

this to be like five, then that means a

18:38

player can mine it when they're like

18:39

standing, you know, pretty close to it.

18:40

They don't have to be right up on it,

18:42

but pretty close to it. If you set it to

18:44

like 30, then that means that player

18:45

will be able to mine it from like all

18:46

the way over here. So yeah, choose a

18:49

number that worked for you. Then comma

18:51

raycast prams ray. Then from there,

18:55

we're going to use an if statement.

18:56

We're going to say if ray and

18:57

ray.instance, which means it made

18:59

contact with an object and

19:01

ray.stance.name

19:03

is equal to object hitbox, right? And I

19:08

specifically named um I wanted the part

19:10

the hitbox for the rock the rock the or

19:13

whatever you want to call it to be named

19:15

object hitbox because I'm not I don't

19:16

know I don't know if in the game you can

19:19

hurt other players. I don't know if

19:20

that's how that works. So that's why I

19:22

just wanted specifically to just be able

19:23

to just mine for now

19:26

press plus I don't know if you could

19:27

even use a pickaxe as a weapon. I don't

19:28

know if that does damage to NPCs but

19:30

anyway. So then we're going to create a

19:32

variable for our object [snorts] is

19:34

equal to ray.instance.parent parent

19:36

because remember the hitbox is a child

19:38

of our object, right? So then from there

19:44

um

19:46

you're then going to use n you're going

19:48

to say if object find first child we

19:50

need to make sure you know is when it

19:53

has this value and that is set to true.

19:55

So object is minable value is set to

19:59

true. Enter. If it is then we'll play

20:01

the sound effect.

20:03

Axe hit. So we hit something,

20:06

play will take away from its health.

20:08

Object.alth value is less than equal to

20:10

five. You can set this to whatever you

20:12

want it to be. Completely up to you

20:13

guys. Then we'll say if object health

20:17

value is less than or equal to zero,

20:19

which means it needs to be destroyed.

20:20

Then we need to we need to see if the

20:22

player already um has one of the um one

20:26

or more of the um objects inside their

20:28

or inventory or inventory. So if

20:31

player.org

20:33

inventory

20:36

find first child object.name

20:40

enter. Then all we need to do is simply

20:41

just do this player.org inventory

20:44

regular brackets. And then you're just

20:45

simply going to say object.name go on

20:48

the outside do value plus equal one

20:50

because they now have um an extra one

20:52

now or another one. However, if it's

20:55

not, we need to create the value. So if

20:57

player do or inventory

21:01

find first child object.name enter

21:07

then we're now going to create that

21:09

value. So we're going to say or is equal

21:12

to instance new. This is going to be a

21:14

number value. Right? Did not mean to do

21:16

that. Going to be a number value. You're

21:19

going to say orname is equal to

21:21

object.name.

21:23

Or do value should be one.

21:26

And then or.parent should be player.org

21:30

or inventory.

21:32

And then after you're going to skip

21:33

this. You're going to skip this end.

21:36

Is that's after? Yeah, that's Yeah,

21:38

that's after. Then you're going to

21:40

destroy the object regardless of whether

21:42

or not uh whichever one it goes. You're

21:44

going to destroy the object. And then

21:46

all right. [snorts] Then after that,

21:47

you're going to skip five ends. So very

21:51

simple. One, two, three, four, five.

21:54

Then you're going to press enter. You're

21:56

going to say else if that's how you

21:58

spell that. Else if event type is equal

22:00

to in quotation marks

22:02

unequip axe enter. Then you're going to

22:06

again create a variable for the axe is

22:08

equal to this time it's character find

22:11

first child player.equipped axe. Got to

22:15

make sure they still have it value. If

22:17

it's found then axe will be destroyed.

22:20

Very simple. All right, guys. Let's go

22:22

ahead and test to make sure everything

22:23

works. As always, if you guys want

22:24

access to any one of my scripts or

22:26

models, just simply read the description

22:28

to figure out how to gain access to

22:29

that. That goes for this video or any of

22:31

my other ones. What is that box? Oh, I'm

22:33

stupid. My bad, guys. My bad. This is

22:35

supposed to be supposed to be worlds

22:37

constraint that parent.

22:39

I've never even seen that error before.

22:41

My bad. But yeah, so just read the

22:43

description to find figure out how to

22:44

get access to that. Okay, so if I press

22:45

one, as you can see, I can equip,

22:47

unequip, equip, unequip. I'm able to

22:49

equip the axe. If I left click

22:53

box is not a valid member. I don't have

22:55

a hit box.

22:58

It's not good.

23:01

I think I think I know what it is. Hold

23:03

on. Reset my character. We're going to

23:05

be here for about 10 minutes because Oh,

23:07

okay. Never mind. And then if I have it

23:11

I think I know what it is.

23:14

No, I don't know what it is. Huh. That's

23:18

so weird. Why don't I have a hit box?

23:22

Why am I missing a hitbox?

23:25

I am so stupid. I never parented the

23:27

hitbox. My bad, guys. My bad. That's on

23:29

me. Oh, I see what I was supposed to do.

23:32

Never mind. I see what I was supposed to

23:33

do. Okay. I was supposed to do. Yeah, I

23:34

see. I see now. Okay. Right here, you're

23:37

supposed to hitbox. E equals to

23:39

character.oid

23:41

root part. Then we'll get down parent.

23:43

There we go. There we go. My bad, guys.

23:44

I forgot to parent this stuff. That's

23:45

why. That's why I had hitbox because I

23:47

was supposed to do that first but then I

23:48

got confused. Okay. Now, if I hit play

23:51

and I spelled it wrong. Fantastic. Okay.

23:54

Okay guys, make sure you didn't spell it

23:56

wrong.

23:58

Speed uppercase R. Okay. Now, let's hope

24:00

for the best.

24:02

Okay. There we go. Okay. As you guys can

24:04

see,

24:06

well, and here as well, you hear the

24:08

sound effect. Now, if I go over here,

24:10

we'll look at the rock and notice the

24:12

health, right? Boom. And you can hear

24:14

the sound as well.

24:16

Boom. Boom. Destroyed. Right. Then if I

24:20

go over here, my ore inventory, you'll

24:22

see I have one rock. So yeah, guys, this

24:24

is part one to how to make the forge. If

24:26

the series does well, I'll continue with

24:29

more videos. As long as the series gets

24:30

love and support, I will continue with

24:31

more and more videos and stuff. Let me

24:33

know if any bugs you guys find, anything

24:34

else you want to see, even if it's not

24:35

related to the series and stuff. Again,

24:37

sorry for the delay of the videos. I had

24:38

my wisdom teeth from moved not too long

24:39

ago. Hope everybody's having a great

24:41

2026 so far, and I hope you guys enjoyed

24:43

the video. If you did, definitely leave

24:44

a like and subscribe and I'll see you

24:46

guys in the next video.

UNLOCK MORE

Sign up free to access premium features

INTERACTIVE VIEWER

Watch the video with synced subtitles, adjustable overlay, and full playback control.

SIGN UP FREE TO UNLOCK

AI SUMMARY

Get an instant AI-generated summary of the video content, key points, and takeaways.

SIGN UP FREE TO UNLOCK

TRANSLATE

Translate the transcript to 100+ languages with one click. Download in any format.

SIGN UP FREE TO UNLOCK

MIND MAP

Visualize the transcript as an interactive mind map. Understand structure at a glance.

SIGN UP FREE TO UNLOCK

CHAT WITH TRANSCRIPT

Ask questions about the video content. Get answers powered by AI directly from the transcript.

SIGN UP FREE TO UNLOCK

GET MORE FROM YOUR TRANSCRIPTS

Sign up for free and unlock interactive viewer, AI summaries, translations, mind maps, and more. No credit card required.