Creating Minecraft in Python [with the Ursina Engine]

Video Information

Hello there in this tutorial we are going to create a really basic minecraft clone in python and well it works like any other minecraft game you can create blocks you can destroy blocks and i also have different blocks that you can just switch to just to make it a bit easier and there

Are quite a few different ones and you can just work with them and play around pretty straightforward when it comes down to it and of course with that you can make well in my case a really simple house but if you want the tube you could just

Add more stuff to it or get rid of stuff well it’s basically how minecraft works and all of this is made with the usina game engine so let’s talk about that one the ostina game engine was released sometime last year and it’s a really neat engine it can do really

Powerful stuff with very few lines of code for example the entire game you just saw took about 90 lines of code to write and you can make it in about an hour it’s really easy so it’s quite a good engine for beginners i feel and especially for 3d games osena is

Quite a bit more powerful than pygame for example but that doesn’t mean it doesn’t have problems and there’s one big warning i do have to give that your cena game engine is only available for windows and linux so if you have mac os i’m really sorry

This tutorial is not going to be for you but with all of that out of the way let’s first do a brief introduction to the cena game engine and once we have the basics covered we can actually come to making the game so for this part we’re talking about how

Cena works and how we can make some basic stuff with it and obviously the very first thing you have to do is to install it so in the powershell type pip install cena and then you should see a fairly lengthy dialog to install it and once that’s done you should be good

To go this works like literally any other module for python and once you have installed it go to the code editor of your choice in my case sublime and type import or cena and now if you run it you should be getting a message that is something like this

The really important part you’re looking for here is that you’re not getting an error message if you don’t you have installed it properly and now that we have that let me close it we can actually start working in oceana and the first thing we need to do is

That i don’t want to import usina by itself instead i want to go from from yocena import everything so star and the reason for that is that there are lots of objects that rely on oceana and having to type ocena every time is going to be quite cumbersome

And now we need two lines to create the entire game the first line is to create the basic instance of the game and this has to be stored in a variable that i’m going to call app and to create this one all we have to type is orcina

And make sure the first letter is capitalized that one is important and once we have that what i want to do is app.run so i create an instance and i run the instance and with that if i run my code now we get a really basic window we can see our frame rate

And we can close the window that’s about it nothing much happens yet but it’s already a really good start that we have a window with just two lines of code so for example this would be much easier than pygame for example now we have to figure out how can we

Actually put stuff on the screen and for that we have to understand the most important concept for oceana and that is called entities and an entity in oceana can basically be anything it can be square it can be a cube it can be a circle it could also be a button basically

Anything you see on the screen is going to be an entity and then when you create this entity you can customize it quite a bit and once it’s created it’s automatically added to the game so all you have to take care of is creating it and then you’re good to go

So let’s create one i want to create let’s say let’s call it test square where i just want to create a basic square on the screen and for that we have to create an entity and now we have to give it a couple of arguments the first one is what’s called the model

And this one determines what kind of shape it’s going to take so is it going to be a cube is it going to be square is it going to be a circle and for now let’s just go with circle that tends to be a really easy shape

And with that we would get a circle and now let’s give it a color argument and for that i need the color keyword and to assign it any color i need the keyword color and then the color i want to go with let’s say for now let’s go with red

And with that we should have a red circle so let me run the code and we can see a red circle right in the middle of our screen so this one’s working really well and what you can do now is change this circle to something else

So for example if you want to square you would need the quad keyword and if i want to go now we get a square now you could if you wanted a cube so a three-dimensional object you could type cube in here although if i run this because we’re looking at only

One side of this cube we can’t really see it but we’re going to come to that in just a bit for now don’t worry about it and let’s leave it at the quad for now that one’s the easiest to see and what you can also do in the

Parameters here is you can for example set a scale and then they can pass in a tuple with the x and the y scale so if i passed in let’s say one and four we would stretch it four on the y and one on the x axis

And of course you could also change the position and this could for example be let’s say five and one and let’s see what happens so now we have moved the entire thing one unit upwards and five units to the right and a really important thing here is

That the origin point is in the center of the screen so y has to be positive if you want to go up has to be negative if you want to go down kind of like it would make sense and just to demonstrate it let’s make this a higher value

To 4 and now we get even higher so this would be quite different compared to pie game for example so now we have a basic thing on the screen how could we move it and that is also really easy in oceana because all we need

Is to create a function so def and this function has to be called update it doesn’t need any arguments and this update function is going to be called biocena on every frame automatically so as long as you have this name and function you are good to go

So for example what i could be doing in here is just to print test and then run the entire thing and now in the console you can see we get test quite a bit and now if i wanted to move this test square all i would have to do

Is to get the object itself and then influence one parameter for now let’s go with x and i could just change the values so i could go with minus equal 1 which would move it to the left although if i were to run this right now we go really fast

So this is way too fast and this would also not adjust to different frame rates so this would be quite inconsistent but all we have to do to fix that is to add times time dot delta so this is the time between different frames so if we multiply this with the movement

Speed our object is going to move in accordance with the frame rate which is going to make our game quite smooth so now let’s try it again and there we go this feels much better cool and we could even make it a bit faster let’s go with minus equal

Four and yeah that feels better cool now you could make this even more sophisticated by adding keyboard input and for that all you need is held keys and from that we just have to pass in one specific key let’s say my case a and now i have to indent this

And i can just run the game again and now this thing is only going to move to the right if i press a and that’s all we need and this could be any letter on your keyboard any number or even your mouse keys it’s really flexible

And all right with that we have our basic object and we have a way to move it now what we can also do let me add another square and let’s call this sun’s you’ve seen a second why and for this one i want to add a custom

Texture but i can add any kind of picture i want into this and for this i am still going to need an entity and the entity is supposed to be a quart again so we’re getting a square and now i want to add a custom picture

To this and for that i will need the texture keyword and now for the texture i have to create a texture and there are a couple of ways of doing it the one i would recommend is to create a texture in its own variable and then we need the keyword

Load texture and then you can select from your folder in my case i have a folder called assets and in that folder i have a file called sans.png and now that i can just pass in here and let’s try now let’s see what happens and now we get suns from undertale

Pretty nice and easy and we can actually make this easier we don’t actually have to do this entire line we could just pass this straight into here and it would load automatically so if i run this now this would also work perfectly fine so this would be fine but i generally

Feel like importing all your textures at the beginning is a more readable way to approach this but it’s ultimately up to you so with that we have a couple of really simple objects in our game but in an actual game you really want to have more control

Over all of these things so this kind of thing is generally just to create really simple ones if we wanted to create more complex ones we could also do that and for that we have to create an entirely class that inherits from an entity for example so

Let’s create a more complex cube and with that we can also go into 3d so i want to create a new class and let’s call this one test cube and this one has to inherit from entity and now and there i want to create an init method it needs self and nothing else

Or you could pass something in there would be fine and then there i want my super method and then the init and now when i initiate the parent i can specify a ton of different arguments so in here for example i could create a model

For now i want a cube i could give it a color let’s give it let’s say the color white just for now and then of course i can also give it a texture and osena has a couple of textures in build that you can use one of those is called white underscore cube

So this one you don’t have to load it’s inbuilt into a c now and with this we have our own class that we can add lots of stuff to that is something we are going to do in just a bit and now all we have to do

To create an actual block from this class is well to call it so let me call my test cube and this is supposed to be my test cube class and now if we run this we can see a white cube right in the middle of our screen and

You can’t really see that it’s a cube yet so let’s give it some rotation and for that all i have to do is to give it a rotation argument and this one needs to be a vector 3 with the x y and z rotation and let’s just go with 45

45 and 45. so now if we run this we can see our cube so this one is working pretty well and you could still move this thing around with position and this would work perfectly well now with that we have already quite a few things covered but there’s one more concept we need

Before we can get to the actual game and that is to create a button and buttons work slightly differently or well not that much let’s actually create one that’s going to be the fastest way so to create a button i still have to create a class

And i’m going to call it test button and this one has to inherit from a class called button itself and now here i have to create again a done there init method that needs self and inside of that i want to get my super method and init

That one and in here i can create lots of different stuff for the button so for example my button could be a cube just like my test cube i could give it a texture and let’s say another inbuilt one is called brick i could give it a color and this one

Would be let’s go with color blue just to use one we haven’t seen yet and with that we have a really basic button let’s actually create it and let me get rid of the test cube just so we don’t have it in the way so now instead of test cube i want a

Test button and now if i run this we can see a giant button and you can see if i hover over it it gets slightly brighter but now it is kind of weird how buttons work because this button is significantly larger than this test cube

And the reason for that is that a test button needs one more argument and is called the parent argument and the parent we need is the scene so the actual game scene again and now if i run this again now we can see the normal size button

I am not actually sure why the parent argument is needed for the test button but not for the test cube it’s a little bit weird but if you want to create a button this has to be parented to the scene and that’s the actual game what we can also do

For a button is to give it different colors depending on what you do with it so for example there is a highlight underscore color argument that changes the color if we hover over the button so this could for example be color let’s go with red and then we also have a pressed

Underscore color and this is the color we get when the button is pressed and for this one let’s go with color dot lime and now if we run this again we get our button if i have over it it becomes red and if i click it it becomes green so

This one is working quite well and now how could we use a button and well this one is also incredibly easy all we have to do is to create a new method that is called input it needs self as usual and then it needs one more argument that

Is called key and that’s the key we are pressing to activate it and now inside of that method we have to create an if statement that if self dot overt so if our mouse is over the button and inside of that what we want to check is if key

So the key we pass into it is equal to the left mouse button argument which is called left mouse down and if that is the case let’s just print button pressed and now if i run out of this it’s still working and if i press on the button

We get button pressed so this one is working pretty well and with that we can actually come to the game so let’s talk about minecraft and really the one important thing you have to know about minecraft is that minecraft is a voxel-based game and really all that means

Is that every single block that you see in minecraft is a voxel so these are the things that we have to create ourselves but besides that there really isn’t other much else that we do need so let’s actually jump straight into our code again and let’s have a look at this all right

Welcome back i have gotten rid of all the code i have used to explain with cena itself so all we have now if we run the code is an empty window that we can use to create an actual game and the first thing i have to do

Is to create a new class for all the voxels we want to create so the class is going to be called voxel and this one has to inherit from the button class for the simple reason that whenever i click on a voxel i want to create another voxel right next to it

So i need to know where each voxel is that’s why it’s a button and in here we need our init method again itself and nothing else for now at least and let me just type it properly and in here we again need the super method with the underscore init

And now we have to specify a couple of arguments the first one is parent the one that we have seen earlier this would be scene so the actual scene of the game next up we would need a position and the position for now let me just place it at

0 0 and 0. although this we are going to change later when we set up the game next up i want to create a model so what the thing is going to look like and this one for now is going to be a cube although this also is going to

Change at least somewhat then i need the origin y so effectively the height and 3d space of this cube and this one is going to be 0.5 and once we have that we need a texture so we can actually see the cube and for the texture for now i’m just

Going to go with white underscore cube the one that we have seen earlier and this also we are going to change in just a bit for now i just want to have a basic setup and next up we are going to need a color and one important thing you need both a

Texture and a color and both of these colors are going to be multiplied together so if you only have the texture and no color it is going to look weird and for now let’s just stick with white i think that’s going to be fine and besides that i also want to create a

High light underscore color and this one let’s go with color dot lime so really all that’s happening here is we create a button that is going to be a cube with a white texture and if we hover over it then it’s going to be lime colored

Then we have a position 0 0 and 0 so it’s right in the middle except it’s slightly lifted up by 0.5 that’s really that’s all that’s happening here so now that we have all of that we have to create our button and for that let me put it right between

Those two lines of code i could just create voxel is equal to voxel and let’s actually run this and let’s see what happens so now we can see one button and it becomes greenish when we hover over it so this one well it’s a start but

I don’t just want to create a single button i want to create multiple and to create multiple buttons really all i need is for z in let’s go with range of 8 so i want to create eight blocks in the z space and inside of that

I’m going to go for x in range eight so effectively what i have done is i have gone forwards and backwards by eight units and then i’ve also gone left and right for each of these units and now what i can do in there is to create a voxel and then this voxel

Is always going to get the voxel class itself so this way we are creating 64 voxels and now if we run this we still can’t really see it and the reason for that right now is because they are all in the same position so this one doesn’t

Really help us so i have to place in some kind of information in here to customize the position so when i call this class on the init method i want to give it a position that by default is supposed to be zero zero and zero so that we always end

Up with this position if nothing is passed in here and this one is getting position so if i run this again now nothing is going to change but what i can do now when i create all of these voxels i can pass an x 0 and z so that we actually use this

Information and this information to place each individual voxel so now if i run this again we are getting an error because all of this has to be a tuple and i could even give it the position keyboard and now let’s try this again there we go now we can see all of them

Right next to each other the problem now is how can we actually create a first person character in all of this and in here usina makes this incredibly easy because it has a couple of predefined classes that we can use to just create a first person character

We don’t really have to do anything ourselves for that and really all we have to do is to import something else first and what we have to import is from usina dot prefabs dot first underscore person underscore controller and then import first person controller i hope i spelled that right

So this by default is not being imported into oceana so we have to do it ourself but once we do have it all we have to do to create a first person character is to create a new variable where we store it and then call first person controller and this is also class

So we have to call it and now i can run the game and we get a first person player so well with that we already have really the basics of what we need for a game and the buttons also work and the collision between them also works

Automatically so you don’t have to worry about this at all which is really powerful and now if you do want to close the game because you can’t use the mouse anymore i just switch between my windows and then close it from there this tends to be the easiest

And cool now we have our first person controller and if you want to make all of this larger we could go with something like 20 times 20. and now we have a much larger field although one of the problems with the game right now is that if you added too

Many of these fields the game would slow down so there would be quite a bit of optimization work to do but all right what we have to figure out now is how to make all of this more interactive so how can you create and destroy blocks

And again this is going to be super easy because effectively what we want to do is that if you press on the voxel button then we want to create a new block on that position so the first thing we have to do is to create a new button press functionality

And this is something we have seen earlier because this voxel is just a button that we can press so we can give it an input method and this one itself and key separated by a comma and in here again i need if self dot avert and now i want to check is if

E is equal to left mouse down and if that is the case i want to create a new voxel and this one again is going to need the voxel class so really what’s happening in here is if we are pressing this button we are creating a new button in a

Certain position that we can specify and now we actually have to specify the position of this button and there are two parts we have to combine the first one is self dot position so that we get the position of the button we are pressing right now but then we have to add mouse

Dot normal and once we have that i can actually try all of this and see if it works so now if i press on any button we get a new well voxel button cube thing so this one is actually pretty good start so what’s happening here and let me

Explain in the game that’s going to be the easiest so here we have some more space so right now i’m looking at this button here or this voxel so i get the position of the voxel itself and the normal is the surface we are looking at so

Right now the normal is pointing upwards and this is what we are using when we create a new voxel button that we want to get the position itself plus the upward direction so when we press it that’s where we are going to create the new voxel button

And this we can do for any kind of surface that we just get the position itself plus the surface we are pointing at and in what way it’s facing and once we have that we can really create all the different cubes that we wanted and this is pretty much a perfect minecraft functionality

So really nice what we can do now is to add another if statement if we wanted to destroy all of these boxes so if key is equal to right mouse down and all i need to destroy a button is the destroy self and this is literally all we needed so

Now i can run the thing again and if i left click i create a voxel if i right click i destroy it and with that we can even create our bottom itself and fall into a bottomless pit of nothingness hey it’s working and one more thing that we could be doing

Is to change the color and give it a bit more variety so right now every single block is perfectly white which well tends to get a little bit boring even if we added textures so instead what we can do is to give it color.color and in here we can specify rgb values

And in my case i want this to be 0 and 0 and then i want random dot uniform and this is supposed to between 0.9 and 1 so that the color of every block is going to be slightly random and now if we run this it still works

And now each of these blocks gets a slightly different shade of gray although there’s one more thing that i am slightly confused about is that what these specific arguments in here mean is a bit confusing because if you change this one from zero to one nothing really seems to change however

If you change the second one to a one now the entire thing is going to be red so i assume these values are going to be rgba but i’m really not entirely sure but let’s leave it for now as it is and it’s perfectly fine

And all right with that we have a really basic setup for a very simple and nice game setup that works kind of like minecraft and all of this is exactly the same setup for one of the demos for usina and this is exactly what i have copied

So if you’ve gotten this far you have basically replicated one demo from the cena game so definitely check out the github page and there are lots more examples i would really recommend to check them out they’re really fun to play around with but alright now that we have our basic

Setup we can make all of this look much better and there are a couple of things that we need to make all of this work and let’s start by creating proper cubes that we can use this is going to be the biggest change that we can and to create proper blocks with the

Proper textures we do have to cover one specific topic that right now we have used an inbuilt cube which worked decently fine but it’s very limited in terms of how you can add a texture to it and the reason for that is that there’s no uv map for

It and a uv map is basically how you wrap a texture around a cube or really any 3d object and the default cube in oceana doesn’t really have a uv map so when we apply the proper texture to it it wouldn’t really work so what we have to do is to create

Our own block and apply texture to it and then import all of that into oceana which fortunately is really easy and i have used blender to create a basic block and in the project folder for this game i’m going to link the blender file in

Case you want to have a look at this but i’m going to import the finished file itself which is going to be the most straightforward way but let’s go through it step by step that’s going to be the easiest one so here i’m back in my code and the

First thing i want to do is to get rid of this cube and instead what i want to do is to import from my assets folder and there i have a file called block and this is assets block and this block is a block i have created

In blender that has a uv map so if we applied a more proper texture to it it would show up properly as a matter of fact i have created a couple of textures and just to save me some typing let me paste them all in

So i have a grass texture i have a stone texture i have a brick texture and i have a dirt texture and all of these get a texture loaded right into the game and now i don’t want to use the white cube texture anymore instead for now let’s just go with the

Grass texture and let’s actually look how this looks ah and if i run this now we get an error but a simple reason that we first have to create oceana and only then we can load textures so i need app is equal to cena first and then i can run all of this

And now let’s try it again this should be working now and there we go now you can kind of see the problem that the positioning is kind of messed up and the reasoning here is that the default buttons are a different size from the buttons we have imported

But that we can change very easily all we need is scale is equal to 0.5 so now if i try this again now this looks much better and i can still create all of the blocks and i get my basic blocks so this one is still working exactly the same way

Except now we have a nicer looking texture edit and also what i want to do now i want to get rid of this highlight color because it makes the entire thing look kind of weird so now let’s try it again and yeah i feel this is looking a bit better

But you could leave it if you wanted to alright so now we’re making some progress but i don’t want this grass texture every time instead i want to be able to pick from any of these textures so what i want to do is when i create this voxel class

I want to assign it a texture and by default this should be the grass texture but if i specify the keyword this could be any texture in here so now if i run all of this again we should still see the same outcome cool but now what we could be doing

Is when we are specifying the voxel itself let’s do it down here actually let’s do it up here so you can see the difference a bit better so whenever i click on a voxel i want to give it a more specific texture and let’s go with the stone

Texture so now the default voxels are going to be the grass texture but when i click on one i’m creating a stone texture or a stone so now if i click on something we are getting a stone cool this is working pretty well and really all we have to do now is to

Figure out some kind of input that we can select specific kind of textures and what i have done is i have created an update function so the same thing we have seen earlier and this one is going to be run on every single frame and effectively what i have done in here

I have created a new variable actually outside of it that i’ve called block underscore pick and by default this is one and then all i’m doing in here is if held underscore keys one then i want to set block pick to one and now i can copy this thing a couple

Of times and change this to two three and four and then 2 3 and 4. and i have to set this to global block pick so really all that’s happening in here is that if i press any of this button this block pick gets a different number

And this we can then use further down here to influence how this entire thing is going to look so instead of just creating a texture itself i also want to check if log pic is equal to 1 and if that is the case only then do i want to create a voxel

With the let’s put this one for the grass texture and i think can put all of them on the same line that makes it a bit more readable and with that i am only going to create a grass texture if block pick is equal to one but let’s say if i pressed two

Then i want to create a stone texture if i picked 3 i want this to be a thing i call this a brick texture it was indeed a brick texture and then for number four i want this to be a dirt texture and all right let’s try this now let’s see what happens

So i’m still in my basic game if i clicked just by itself we get this but now if i press two on my keyboard and try this again we’re getting a stone block if i press three we’re getting a brick and if i press four we’re getting some dirt

Or however you call this one and alright this is really starting to come together so this is already helping to make the game look nicer but there are three more elements that can really help to bring the game across number one is the skybox number two is a

Hand and number three is sounds and let’s go for them step by step the first one is a sky box and a skybox basically is what we can see as sky but to emulate this in our game all we basically do is we create a giant sphere that has a

Sky texture on it that’s really all it is and well we can go straight to creating it it’s super easy to do so here i’m back in my code and what i want to do is to create a new class that i’m going to call sky and this one is just going to

Inherit from entity and in there i need def init and it needs self nothing else and in there i need my super and then init and in here we have to specify a couple of things the first one just to be sure is the parent which needs to be the scene so we’re

Part of the actual game but now for the model we need something new and that is a sphere so well a round object and now for the texture i want to create a sky texture and this one doesn’t exist yet but all we have to do is to import it

So in my textures i want a sky texture and let me line it up properly i want to lower texture again and in my assets folder there is one file that is called sky box dot png and this is the one i want to use

Let me add a bit more space below the class itself and this would actually already give us something so let me actually create it so below the player i’m also going to create a new variable called sky and this one gets my sky class and let’s run the entire thing and see

What happens i’m getting an error because this is supposed to be a comma now we go okay right now i can’t see anything but if i turn around there we can see a very tiny world so this thing we want to scale up massively

And really all we have to do is to give it a scale argument and in there i passed in 150 so now if i run this again we can’t well we can’t see anything and well the reason for that is that this texture right now is only on the outside

So if we are inside of this object we can’t see it but we can change this very easily all we need is double underscore cited and this needs to be true and now if i run this again this should be working and there we go now this is looking much nicer

Although this isn’t the perfect sky texture especially you can see there there’s one seam this is where the texture start and end connect so well this isn’t great but i think it’s good enough for now so with that we have our sky now i can close this class and never think about

It again now the next thing i’m going to need is a hand and this one is purely decorative it doesn’t really do anything besides simulating having a hand it’s a really simple thing and for that we are going to learn one new thing but i think this is best explained by

Actually implementing it and i want to create a new class that i call hand and this one is also going to be an entity and in there as always i need my done there init method that needs self and nothing else and inside of that i need my super

And then init for that one and in here we have to specify the parent but the parent is not going to be the scene instead it is going to be camera dot ui and let me explain what that is so far we have only used the scene and

This is the actual 3d space of our game the camera ui is the actual 2d space of our camera so if you want to create a ui it would be on this space and this one is not going to move along with the game itself

It’s just a static space that is kind of on top of the game itself it’s essentially a glass sheet that the player is looking through or in most other game engines this would be a viewport this would also be a good way to think about it

Now what i also want is to give this a model and again i have a custom model that is in my assets folder and it’s just called arm and this also has a texture and the texture let’s load it straight in there and i call this one arm

Texture that needs an equal and load texture and this one is also an assets and i’ve called this one arm texture dot png and now i can assign this texture it’s arm texture and with that we have our basic hand let’s actually create this object using the class so i call this hand

And let’s see what happens so well um it’s a touch large i feel so what we have to do for now is to make this entire thing a little bit smaller so i want to go scale 0.2 an equal sign and let’s try this now and now we get a much better

Proportioned hand although it’s pointing right at us so that’s not great and for that all i have to do is to give it a rotation and a position and the rotation is going to be a vector3 and the rotation i went with is 150 negative 10 and 0. and let’s try this now

And there we go now we can see our hand a little bit better although it’s still in the completely wrong position but well we are making progress and the rest still works perfectly fine so now let’s give it a position so position is equal to and this needs to be a

Vector 2 because we’re moving in a 2d space and i have moved this 0.4 to the right and then downwards by negative 0.6 and now let’s try this again and now this is looking much nicer cool so with that we have a basic hand but right now it doesn’t animate and

Well that looks a bit weird so let’s add a really basic animation although calling it an animation is well kind of overkill of course all i’ve effectively done is that if the player presses the mouse button their hand is in one position if the mouse button is not pressed

The hand is in the default position that’s really all that’s happening here it’s not really an animation but you could very easily make it one all i really have to do is to create a method for this hand that i called active and in itself and in there i changed

The hand position and rotation to be more in the middle of the screen so i need self position and self dot rotation and no comma or bracket afterward and for the position i went with 0.3 and negative 0.5 and the rotation i actually didn’t touch

So we can just leave it as it is and then for the other state passive ozone itself and for this one i just took this position and assigned it to it so self dot position so now we have two methods that can influence the position

Of the hand and if i click the mouse i want the active method to run if i don’t click the mouse i want the passive method to run so with that i have to go to my update function and add another if statement in here and

Let’s do it right at the top although it doesn’t really matter and really all i want to do is if held keys as left mouse or held keys is equal to right mouse so for pressing the left mouse button or the right mouse button we want to trigger one of these

And here’s something slightly weird that if you use the update function you have to use the left mouse however when you use a button you have to use the left mouse down so it’s a slight difference be careful with that but right now we have our if statement

And all i have to do in there is either hand dot active and if that’s not the case i want hand dot passive and that’s literally all we have to do for the hand and if i run the code now and if i click my hand moves a tiny bit

Or at least we get the illusion of a movement but everything else still works really well and well this is quite nice so we are really making some good progress cool and really all that’s left to do now is to add a sound to it and this is also really easily done i

First have to import a sound and i have called mind punch sound and this now happens with the keyword audio and this is also new class and when we initiate this sound we need again a file and i have one in assets and i called this punch

Underscore sound and i didn’t need the file ending and now we have to specify a couple more things the first one is loop and this one is supposed to be false because we only want one punch sound and i need autoplay and this is also supposed to be

False and with that we have imported our audio file so now we have to figure out when to play it and the one i went with let me minimize all the other parts is that whenever you click or delete one of these cubes then we are going to play the sound

And all i have to do to play a sound is to get the sound itself and then play and i want to do this for both creating and deleting a block so let me put this above destroy it feels better and now if we try all of this we ah i

Think i made one mistake let me get out of it so right now the sound is kind of double playing and the reason is well quite simple that whenever i call the input method and we’re hovering over any of the buttons then we are playing the sound but i only

Want to play the sound if we’re actually pressing it so that way it’s going to work properly and now let’s try this again and this is feeling so much better and cool this is basically the finished game there are a couple of tiny things that you can do

And well they’re really tiny basic things so let me do an all the way to top what we could do for example is window dot fps underscore counter dot enabled a build is true right now but i want this to be false so we can see a tiny number in the top

Right i hope this i feel makes the game look a bit nicer and since we’re not using the escape button we can also hide that one so window dot exit underscore button dot visible is equal to false and now we get the whole window and this is literally what i have showed you

Earlier at the beginning of this video really what you can do now is just keep on building different blocks and just add more and more stuff towards it and get rid of stuff if you don’t like it it works pretty well so well that’s pretty much it there are a couple

Of things you do want to be aware of number one is that well lots of things are missing that we don’t have an inventory we only create a very basic square and not much is happening yet so if you wanted to expand this entire thing

You would have to add quite a bit more code because in the current setup if you had too many blocks the game slows down very noticeably so this would be one thing to work on number two is that if you look very closely at the textures you can see it very well here

Is that there are lots of little seams between them which happens because i well i didn’t spend too much time making them because this is just a demo but if you spend a bit more time on them you can make them look much nicer and well you can also add an inventory

And lots more tiny things but well what you have so far is essentially a basic start for the game so if you play rhombus more you can probably make quite a bit more of this so i hope you enjoyed and i will see you around bye

This video, titled ‘Creating Minecraft in Python [with the Ursina Engine]’, was uploaded by Clear Code on 2020-12-02 11:00:03. It has garnered views and [vid_likes] likes. The duration of the video is or seconds.

A basic tutorial on how to create Minecraft in Python by using the Ursina Game Engine. This also includes a general introduction …

  • Join Minewind for the Ultimate Minecraft Experience

    Join Minewind for the Ultimate Minecraft Experience Welcome to Newsminecraft.com, where we bring you the latest and greatest in the world of Minecraft! Today, we want to talk to you about the amazing Minewind server. If you’re a fan of chill vibes and good times in Vanilla Minecraft, then Minewind is the place for you. Imagine a world where you can explore, build, and survive with a community of like-minded players. Minewind offers a unique and immersive Minecraft experience that will keep you coming back for more. With a focus on creativity and collaboration, Minewind is the perfect place to unleash your inner builder and adventurer…. Read More

  • Join Minewind Minecraft Server for a Trendy Gaming Experience!

    Join Minewind Minecraft Server for a Trendy Gaming Experience! Welcome to NewsMinecraft.com, where we bring you the latest updates and trends from the Minecraft community. Today, we stumbled upon a hilarious YouTube video titled “Müslüman kurt köpeği Minecraft #trend #shorts #minecraftshorts.” While the video itself may not be about Minewind Minecraft Server, it got us thinking – why not join a server that embraces creativity, humor, and a sense of community like Minewind? Minewind is a unique Minecraft server that offers a one-of-a-kind experience for players looking to explore a world filled with endless possibilities. With a focus on player interaction and creativity, Minewind encourages players to build,… Read More

  • Crafting Chaos: A Minecraft Quest Begins

    Crafting Chaos: A Minecraft Quest Begins Welcome, fellow gamers, to a brand new tale, Where Minecraft adventures never fail. In this first episode, we start our journey bright, Exploring new places, day turning into night. Quarries and caves, secrets to unveil, With every step, our courage doesn’t pale. Join me in this world, where creativity reigns, In Minecraft, where nothing ever wanes. So hit that like button, share with all your friends, Subscribe for more fun, as our journey never ends. Thanks for watching, your support means a lot, Stay tuned for more episodes, where we’ll give it all we’ve got! Read More

  • Block Shock: Skyblock Dwellers & Terror Mods (Ep.1)

    Block Shock: Skyblock Dwellers & Terror Mods (Ep.1) In the world of Minecraft, a tale unfolds, With duellers and mods, the story molds. Kazutto, the hero, faces fears with grace, Surviving the night, in this eerie place. From One Block Skyblock, the adventure begins, With creatures lurking, as the darkness spins. The Man From The Fog, The Midnight Lurker too, Each mod brings terror, a chilling debut. The Mimic Dweller, The Goatman’s call, Eyes In The Darkness, beware them all. In this world of horror, Kazutto stands tall, Crafting his way, through the night’s thrall. With wit and humor, he faces his fears, Building his world, amidst… Read More

  • Unleash Your Creativity on Minewind Minecraft Server

    Unleash Your Creativity on Minewind Minecraft Server Welcome to NewsMinecraft.com! Today, we stumbled upon a fascinating YouTube video discussing the top 5 best secret texture packs for Minecraft. While texture packs can enhance your gaming experience, have you ever considered taking it a step further by joining a unique Minecraft server like Minewind? Minewind offers a one-of-a-kind gameplay experience that you won’t find anywhere else. With its intense survival mode, player-driven economy, and thrilling PvP battles, Minewind is the perfect place to put your newly discovered texture packs to the test. So, why not take your Minecraft adventures to the next level and join the Minewind… Read More

  • Homebound Duo: Minecraft SMP Adventure

    Homebound Duo: Minecraft SMP Adventure In the world of Minecraft, our hero roams, With Vexes in tow, finding their way home. Crafting and building, with friends by their side, Adventure awaits, in every stride. The journey is long, but the end is near, With laughter and fun, there’s nothing to fear. Exploring new lands, with stories to tell, In the world of Minecraft, where all is well. So join in the fun, with Kroberto and crew, As they conquer the game, with rhymes that ring true. Subscribe and like, to show your support, For the adventures in Minecraft, of a special sort. Read More

  • Join Minewind Minecraft Server for Ultimate Gaming Escape!

    Join Minewind Minecraft Server for Ultimate Gaming Escape! Welcome to NewsMinecraft.com! Are you a fan of exciting Minecraft gameplay and looking for a new server to join? Look no further than Minewind! With a vibrant community and endless possibilities, Minewind is the place to be for all Minecraft enthusiasts. But why should you join Minewind, you ask? Well, imagine a world where you can escape traps and navigate through different challenges with ease. Just like in the YouTube video “How to escape traps 😍 at different Brawl star ranks #shorts #minecraft”, Minewind offers a thrilling experience where you can test your skills and creativity. Whether you’re a… Read More

  • Dragon Egg Delight: Minecraft’s S5João Flight

    Dragon Egg Delight: Minecraft's S5João Flight In the world of Minecraft, where dragons roam free, I hatched an egg, a sight to see. With skills and wit, I faced the challenge, And now my dragon soars, a true balance. Exploring caves, oceans, and lands afar, In search of treasures, under the star. Facing zombies, skeletons, and creepers with might, Protecting my base, day and night. With friends or solo, the game is a delight, Building castles, homes, a true sight. So dive into Minecraft, let your creativity flow, Subscribe, like, and share, let the world know. In this sandbox world, the possibilities are vast, Adventure… Read More

  • Elemental Surprise: Minecraft Angela 2

    Elemental Surprise: Minecraft Angela 2 In the world of Minecraft, a secret elemental lies, In My Talking Angela 2, a cosplay surprise. Angel Angela, pure and divine, Devil Angela, with mischief in her design. Watch as they clash in a battle so grand, Light versus dark, in a captivating stand. Join Angela on her journey, full of charm and delight, In this epic showdown, who will win the fight? Subscribe and like to follow along, As Angela’s story unfolds, in a rhyming song. Stay tuned for more updates, don’t miss a beat, In the world of Minecraft, where stories meet. Read More

  • Experience Epic Adventures on Minewind Minecraft Server

    Experience Epic Adventures on Minewind Minecraft Server Are you a fan of Minecraft cinematic movies like the one in this video? Do you enjoy exploring new worlds and building amazing structures? If so, you need to join Minewind Minecraft Server. With a vibrant community of players and endless possibilities for creativity, Minewind is the perfect place to unleash your imagination and have fun. Join us today at YT.MINEWIND.NET and start your epic Minecraft journey! Read More

  • Insane Speedrun Attempt with Proto King Arche!!

    Insane Speedrun Attempt with Proto King Arche!!Video Information This video, titled ‘Minecraft Hardcore Speedrun Attempt #6 – I don’t know what I’m doing!!’, was uploaded by Proto King Arche on 2024-03-14 17:00:06. It has garnered 3 views and 0 likes. The duration of the video is 01:04:19 or 3859 seconds. How many attempts will it take for me to speedrun Minecraft to the End? I have decided to try to speedrun Minecraft for a personal goal. This is in no way to try to compete with actually speedruns. I have only beat The End 1 time back in beta with a bunch of friends. I want… Read More

  • “INSANE Minecraft Pink House Build! 😱🏠” #Minecraft #Shorts

    "INSANE Minecraft Pink House Build! 😱🏠" #Minecraft #ShortsVideo Information [Music] oh Angels sent from up above you know you make my world light up when I was down when I was hurt you came to lift me up life is a dream and loves a Dr oh now I think I must be my mys up when I was a river Tred up it came to rain to FL said drink for me drink for me when I was so thirsty put on a no I just can’t This video, titled ‘Minecraft Pink House Build #minecraft #minecraftbuilding #shorts #trending #viral #gaming #gameplay’, was uploaded by GamePlay Simulation… Read More

  • Join Doge on a CRAZY Minecraft SMP Adventure! #SMPMadness

    Join Doge on a CRAZY Minecraft SMP Adventure! #SMPMadnessVideo Information [Music] I thought you said you was going to stream because it’s your issues with your weather shut up all right weather decided to change for the good and so yeah so yeah the weather decid to change for good so yeah I’m back yay you know why you going H for huh what’s up with the huh for know what I forgot to do I forgot to put this back up hello hello you know what I copied hello Zan I copied some guy castle in the middle of nowhere like if I stand right here in… Read More

  • CaptainSparklez goes head to head with Master Hand in Minecraft!

    CaptainSparklez goes head to head with Master Hand in Minecraft!Video Information hello everybody and welcome back to prominence I have actually done some work in between episodes because as it turns out TPS only cost one level no matter what dimension they’re in it doesn’t cost three levels for the Nether and I guess that’s to offset the fact that in the Overworld it costs a level to do just about anything which you might take as a ripoff but we make up for it here so I will be able to show you some of the work that I did on on base beautification and stuff like that… Read More

  • “Mewcraft Ep.1: Insane VTuber Plays Minecraft!” #smallstreamer #envtuberclip

    "Mewcraft Ep.1: Insane VTuber Plays Minecraft!" #smallstreamer #envtuberclipVideo Information I played mod Minecraft for the first time this is how it went this is so beautiful there’s a [Music] raccoon oh my God hello a take it oh oh it took the food a how cute yeah wonder where you get when you kill him huh be do you think you’ll have to give them honey oh it attacked me oh no no no no no no no no oh no no no no I I diad idiot leave me alone stupid zombie die um I died what are those what are what there’s something in [Music]… Read More

  • Unbelievable RNG in Minecraft 2 – Epic Loot Drops!

    Unbelievable RNG in Minecraft 2 - Epic Loot Drops!Video Information it’s been a while since we’ve done any random loot drops so today that is exactly what we’re going to do and it’s going to be so awesome here’s the seed in case you want to follow along just like old times and by old times I mean I don’t know a few months ago year ago however long it’s been since we last did this still in 1.20 we’ll have to do it when 1.21 comes out assuming that the data pack generator gets updated and all that stuff um but we’re just doing random loot drops… Read More

  • INSANE Dating Show on Minecraft!! GID DATIN’ NOW!【KoziiChu】

    INSANE Dating Show on Minecraft!! GID DATIN' NOW!【KoziiChu】Video Information for oh my God hi oh my God hello hello everyone hello hello hello oh my God how are you all doing today oh my God welcome in hello don’t you people leave me oh my God hi all right I’ll I’ll explain oh it’s good oh my God hello kid hello hello I uh I had a small problem there trying to figure out which way is forwards on on you uh what do you what do you mean uh just uh you know I think I need to get my eyes tested I’m just you know… Read More

  • Sunlit Survival

    Sunlit SurvivalSunlit Survival is a brand new 18+ 1.19 semi-vanilla community oriented survival server, inviting groups of friends and individuals alike to join us for their next Minecraft adventure. With a fresh 1.19 world, come join us to discover the deep dark cities and kill the ender dragon. Our many features include a player based economy with easy player shops, land claiming to organize and protect your property, server wide time and weather voting, NPC quests that can be completed for rewards, rare items and sets to collect, RTP to find the perfect building spot, TPA to teleport to your friends,… Read More

  • Spuds Semi-Vanilla SMP, GriefPrevention, Germany, 1.20.4

    Spuds Server Hello there adventurer! Are you a big fan of potatoes and prefer a vanilla Minecraft experience? Look no further! Spuds is the perfect server for you. At Spuds, we only use a minimal amount of plugins to ensure smooth gameplay. These include GriefPrevention (claiming), LuckPerms (permissions), and a custom-made plugin for fun additions like dad jokes. The server is hosted in Germany on a dedicated server for a lag-free experience. We hope to see you there! -Fred with staff IP: spuds.cloud Read More

  • Minecraft Memes – Where’s the blocky bois at?

    Minecraft Memes - Where's the blocky bois at?Well, looks like someone tried to mine for humor but ended up in the wrong game! Looks like they need to level up their meme skills to get a better score next time. Read More

  • Steve’s Showdown: Enderman’s Frown

    Steve's Showdown: Enderman's Frown In the world of Minecraft, where adventures unfold, Steve faces challenges, both new and old. In this short episode, a chicken is taken, By an Enderman, leaving Steve shaken. But fear not, for Steve is brave and bold, With friends by his side, the story is told. Through battles and dangers, he’ll fight with might, In the world of Minecraft, where day turns to night. So subscribe to the channel, don’t miss a beat, For Steve’s life is a tale, both funny and sweet. With animations and music, the story comes alive, In the world of Minecraft, where heroes… Read More

  • Hot Minecraft Memes: The Viral Video Edition!

    Hot Minecraft Memes: The Viral Video Edition! Why did the creeper go to therapy? Because it had too much TNTsion! #minecraftmemes #boomtastic Read More

  • Join Minewind: Where Every Player’s Journey is Unique

    Join Minewind: Where Every Player's Journey is Unique Welcome to NewsMinecraft.com, where we bring you the latest updates and exciting news from the world of Minecraft! Today, we want to share with you a unique video titled “Beating Minecraft with Dementia.” This video showcases the incredible journey of overcoming challenges in Minecraft while dealing with dementia. While this video may not be directly related to Minewind Minecraft Server, it highlights the power of gaming to bring people together and create unforgettable experiences. At Minewind, we believe in fostering a welcoming and inclusive community where players can connect, explore, and create memories together. If you’re looking for a… Read More

  • Infiltrating Minecraft Server Staff!

    Infiltrating Minecraft Server Staff! The Intriguing World of Minecraft: A Look Inside a Server Exploring Skylodia: A Minecraft Adventure In a thrilling video collaboration with Skylodia, our intrepid explorer managed to infiltrate the staff of a Minecraft server, assuming the role of an administrator. The journey begins with a partnership with Skylodia, a vibrant community within the Minecraft universe. 🎮 Unveiling Skylodia’s Discord and Server IP The adventure unfolds with a visit to Skylodia’s Discord server, a hub of communication and camaraderie among players. Join the community at https://discord.gg/YpADrRvegD. The action then shifts to the server itself, accessible at play.skylodia.fr in version 1.20.4…. Read More

  • 🔥 Jerome’s Troll Base REVEALED! Minecraft Secret Base 🤫

    🔥 Jerome's Troll Base REVEALED! Minecraft Secret Base 🤫Video Information This video, titled ‘Creating The ULTIMATE Troll Base! Minecraft Secret Base.’, was uploaded by Jerome LIVE on 2024-01-26 16:15:01. It has garnered 8905 views and 382 likes. The duration of the video is 01:36:58 or 5818 seconds. Creating The ULTIMATE Troll Base! Minecraft Secret Base. Buy My Shirts: http://jeromeasf.store/ Follow Luminosity: https://twitter.com/Luminosity ▬▬▬▬▬▬▬▬▬▬▬▬▬ Business Inquiries: [email protected] ▬▬▬▬▬▬▬▬▬▬▬▬▬ Join our discord here: https://discord.gg/JeromeASF ▬▬▬▬▬▬▬▬▬▬▬▬▬ MY CHANNELS Roblox – https://www.youtube.com/channel/UCXnZRyqhMZlydNijw_nUpvg Gaming – http://www.youtube.com/JeromeACE Real Life – http://www.youtube.com/Jerome ▬▬▬▬▬▬▬▬▬▬▬▬▬ FOLLOW ME Follow me on Twitter: http://www.twitter.com/JeromeASF Follow My Instagram: http://www.instagram.com/JeromeAceti Like me on Facebook: http://www.facebook.com/JeromeASF Check out my Snapchat: JeromeASF ▬▬▬▬▬▬▬▬▬▬▬▬▬… Read More

  • Ultimate Minecraft Biomes Challenge

    Ultimate Minecraft Biomes ChallengeVideo Information This video, titled ‘MINECRAFT BUT THERE ARE OP BIOMES RODS!!’, was uploaded by Bz Gamerz on 2024-05-10 15:41:21. It has garnered 183 views and likes. The duration of the video is 00:06:50 or 410 seconds. Watch this if you want a cookie, 🍪 IIN THIS VEDIO I WILLPLAY MINECRAFT,MINECRAFT BUT THERE ARE OP BIOMES ROD!!, SO WATCH TILL END, SURVIVAL #1 link,, MINECRAFT BUT VILLAGERS TRADE ULTRA OP ITEMS, MINECRAFT 1V1 MANHUNT HUNTER IS SN AI, ______________________________________________, 1 ROD,—–(COMMENT), 2ND BEE ROD, CAN I FLY ON IT , AND I KNOW H@CK of this rod (don’t miss), 3nd… Read More

  • INTENSE Hardcore Minecraft Gameplay – STAG 500’s First Time!

    INTENSE Hardcore Minecraft Gameplay - STAG 500's First Time!Video Information This video, titled ‘☠️My First Time In Hardcore☠️ #minecraft #minecraftshorts’, was uploaded by STAG 500 GAMING on 2024-05-06 18:41:55. It has garnered 7006 views and 237 likes. The duration of the video is 00:00:12 or 12 seconds. #shortvideo #shortsvideo #ytshorts #minecraftvideos #minecrafthardcoremode #minecraftviral Read More

  • Tom GrAnnY H0use EscApe Level 27 – EPIC Horror Game!!

    Tom GrAnnY H0use EscApe Level 27 - EPIC Horror Game!!Video Information This video, titled ‘Tom.Granny House Escape Chapter 27 Horror Gameplay’, was uploaded by wasad Gaming on 2024-02-24 03:22:20. It has garnered 46 views and likes. The duration of the video is 00:05:24 or 324 seconds. roblox horror game poppy playtime 3 granny minecraft techno gamerz poppy playtime chapter 3 gameplay poppy playtime chapter 3 ending gta v game roblox game poppy playtime horror khaleel and motu skibidibopyesyesyes tv show sfm blender movie war documentary fiction secret episode secret new episode business skibidi multiverse multiverse skibidi toilet multiverse titan cameraman action comedy prank fortnite worst best mrbeast challenge surprise… Read More

  • Uncovered: Secret SMP IP for Pro Gamers! #Minecraft

    Uncovered: Secret SMP IP for Pro Gamers! #MinecraftVideo Information This video, titled ‘lapata smp ki IP fek lapata smp ip #minecraft’, was uploaded by Phd1 geming on 2024-04-04 15:11:43. It has garnered 63 views and 6 likes. The duration of the video is 00:00:19 or 19 seconds. lapata smp ip #minecraft Read More

  • INSANE Blue Demon VS I.M.P Edit! WATCH NOW!

    INSANE Blue Demon VS I.M.P Edit! WATCH NOW!Video Information This video, titled ‘Blue Demon #vs I.M.P | #shorts @maphariseemola4004’, was uploaded by Kenzi Editz on 2024-04-21 13:18:46. It has garnered 287 views and 18 likes. The duration of the video is 00:00:21 or 21 seconds. #fyp #fypシ #edit #edits #battle #debate #1v1 #whoisstronger #whoisstrongest #whowillwin #minecraft #minecraftedit #minecraftshorts #annoyingvillagers #mrfudgemonkeyz #bluedemon #helluvaboss #helluvabossedits #imp Read More

  • INSANE Plot Twist: Ollie Wins Pekora’s Minecraft House Contest!

    INSANE Plot Twist: Ollie Wins Pekora's Minecraft House Contest!Video Information This video, titled ‘Ollie wins Pekora’s “best house” contest in Minecraft’, was uploaded by Karl’s Clips on 2024-05-16 12:53:51. It has garnered 3565 views and 311 likes. The duration of the video is 00:04:25 or 265 seconds. Read More

  • INSANE TWIST! Tyler Nator’s EPIC Modded Minecraft Adventure!

    INSANE TWIST! Tyler Nator's EPIC Modded Minecraft Adventure!Video Information This video, titled ‘Minecraft Modded Survival LIVE Episode 22’, was uploaded by Tyler Nator on 2024-02-18 04:51:34. It has garnered 29 views and 1 likes. The duration of the video is 06:07:42 or 22062 seconds. Follow me on Instagram @tylernatoryt Read More

  • Minecraft Pro TERRIFIED by Helldivers 2

    Minecraft Pro TERRIFIED by Helldivers 2Video Information This video, titled ‘Minecraft Player tries Helldivers 2’, was uploaded by JackStarHeart on 2024-03-13 03:22:53. It has garnered 80 views and 6 likes. The duration of the video is 02:49:16 or 10156 seconds. Hello it’s helldivers time #jackstarheart @DoesWeBargeIn @Kroby_ Read More

  • ACEWIND

    ACEWINDLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. 192.99.254.118:25588 Read More

  • DOMINION Semi-vanilla 1.20 Whitelist Hermit-Like 18+ SMP No Resets LGBTQ+ Welcome

    Dominion Minecraft Server Welcome to Dominion! Dominion is a community of adult players seeking a true vanilla Minecraft experience without land claiming or excessive additions. Our focus is on community interaction and player camaraderie. Join our Discord server to apply! Apply Here Learn more on our website! dominionserver.net Our Founding Philosophies The Vanilla Experience Dominion preserves the vanilla Minecraft experience without added plugins or enhancements. Transparency We are transparent about donations and server decisions. Community Voice We value feedback and involve the community in server changes. Playing Together We encourage player collaboration through events and projects. New Content Now We… Read More

  • Spuds

    SpudsHello there adventurer!You’re a big fan of potatoes and also prefer having an experience close to vanilla Minecraft?Look no further! Spuds is the perfect server for you.At Spuds we only have the minimal amount of plugins to make sure everything runs smooth.These are: GriefPrevention (claiming), DiscordSRV (chat bridge), LuckPerms (permissions) and a custom-made plugin that doesn’t alter gameplay (for example we have dad jokes).The server is hosted in Germany on a dedicated server to ensure we are having a lag-free experience.I hope to see you there,Fred with staff Read More

  • Minecraft Memes – Clickbait will never be the same: Average Minecraft thumbnail!

    “I clicked on the thumbnail expecting epic gameplay, but all I got was a 20-minute tutorial on how to build a dirt house.” Read More

  • Minecraft Meme Madness: Part 4 #hotminecraftmemes

    Minecraft Meme Madness: Part 4 #hotminecraftmemes Why did the creeper break up with his girlfriend? Because she couldn’t handle his explosive personality! #minecraftmemes #relationshipgoals Read More

  • Underwater Prank at Home!

    Underwater Prank at Home! Minecraft Just Survival: A Dive into Strange Events Exploring the world of Minecraft can lead to unexpected and bizarre encounters. In a recent episode of Minecraft Just Survival, Bahayo and LoSerhat found themselves facing a peculiar situation – flooding their house with water! Let’s delve into the details of this intriguing event. The Unusual Incident As Bahayo and LoSerhat were going about their usual survival tasks, they stumbled upon a mysterious mechanism that, unbeknownst to them, triggered a flood of water into their humble abode. The sudden rush of water caught them off guard, leading to a chaotic yet… Read More

Creating Minecraft in Python [with the Ursina Engine]