Back When I were Young, My parents got a new computer. This computer came with Some Demos, and I am fairly sure there were about 10 of them. I can list the ones I remember.
1 - Diablo 1
2 - Dungeon Keeper
3 - Quake
4 - Blood
5 - Doom
6 - Duke Nukem 3D
7 - Little Big Adventure
8 - Theme Hospital
9 - Death Rally
10 - Fatal Racing
However despite this, im almost certain that there is/was another in this collection. This has now been confirmed, the disk physically says there were 11 disks in the set.
Project Progress
Monday, 20 February 2012
Monday, 30 January 2012
Dungeon Keeper Minecraft
Over the past couple of months, I have been working on a Mod for minecraft. you can see the video of what I have completed so far, if you look at my youtube channel.
I have however come to a stall/Roadblock. In order to make this mod look half decent, The textures I am using are 64 by 64 pixels. In the futre, there may even by Textures larger than this, at 256 by 256 pixels.
But I digress. Those you have played with minecraft texture packs will be aware of the file terrain.png.
When adding new blocks to the game, using modloader or similar, people will find a blank space in terrain.png (this is often a funky purple colour) replace this blank space with their new texture, then refer to it. Sometimes people will create a PNG file that is 16 by 16. Then they will refer to the file location of this text file, and the modloader plugin will find a blank slot on the terrain.png (ie one that isnt being referenced, and override it with this new one.
This means however that there can only be 256 textures in the game. baring in mind that the vanilla game uses lots of these textures, leaving approx 40 for mod use. Currently my mod is using over 100!
This necessitated using a plugin called minecraft forge. Among other things, minecraft forge has the ability to add a new "terrain.png" However whenever i try to add textures to minecraft, I end up with the following crazy image:

Excuse me while i try to sus out what the hell is going on :)
Edit:
I found out!!!
It turns out, that I need to tell the program where the png file is located in the mod file and the text file. Then it works.
I have got a lot done today, and I would really like to show some screenies, but I want to blow everyone away with the first demo. Not that anyone but me reads this lol.
I have however come to a stall/Roadblock. In order to make this mod look half decent, The textures I am using are 64 by 64 pixels. In the futre, there may even by Textures larger than this, at 256 by 256 pixels.
But I digress. Those you have played with minecraft texture packs will be aware of the file terrain.png.
When adding new blocks to the game, using modloader or similar, people will find a blank space in terrain.png (this is often a funky purple colour) replace this blank space with their new texture, then refer to it. Sometimes people will create a PNG file that is 16 by 16. Then they will refer to the file location of this text file, and the modloader plugin will find a blank slot on the terrain.png (ie one that isnt being referenced, and override it with this new one.
This means however that there can only be 256 textures in the game. baring in mind that the vanilla game uses lots of these textures, leaving approx 40 for mod use. Currently my mod is using over 100!
This necessitated using a plugin called minecraft forge. Among other things, minecraft forge has the ability to add a new "terrain.png" However whenever i try to add textures to minecraft, I end up with the following crazy image:

Excuse me while i try to sus out what the hell is going on :)
Edit:
I found out!!!
It turns out, that I need to tell the program where the png file is located in the mod file and the text file. Then it works.
I have got a lot done today, and I would really like to show some screenies, but I want to blow everyone away with the first demo. Not that anyone but me reads this lol.
Saturday, 28 January 2012
MC ArrowSlit Mod
This is a mod of my own Design. The reason I have moved onto this one, instead of completing the mod mentioned in the previous post, is that I dont know how to use java to read and write Text files. If I'm being honest,file streams etc are so much easier in C.
The idea for this mod came from castles and castle walls I have seen people build. In the days before Snow golumns people would use dispensers sometimes combined with pressure plates to shoot at Mobs that were near the walls/castle walls. As cool as dispensers are, they are really ugly, I dont think they fit in, with the context of castle/seige defence. That is how I came up with the idea for the Arrow Slit block.
Currently I have lots of funky secret plans and clever tricks, which will hopefully make the implementing of this mod very cool. This plans may involve pistons, and block swapping. But that is dependent on my abilities with redstone. I may draw a state diagram describing my plans for the demonstation of this new block. I hope that it will be very cool. There is however one limitation, and that is that I am not a talented texture artist. Sure I will try my best, but I definatly reserve the right to outsource that department :). More news to follow.
The idea for this mod came from castles and castle walls I have seen people build. In the days before Snow golumns people would use dispensers sometimes combined with pressure plates to shoot at Mobs that were near the walls/castle walls. As cool as dispensers are, they are really ugly, I dont think they fit in, with the context of castle/seige defence. That is how I came up with the idea for the Arrow Slit block.
Currently I have lots of funky secret plans and clever tricks, which will hopefully make the implementing of this mod very cool. This plans may involve pistons, and block swapping. But that is dependent on my abilities with redstone. I may draw a state diagram describing my plans for the demonstation of this new block. I hope that it will be very cool. There is however one limitation, and that is that I am not a talented texture artist. Sure I will try my best, but I definatly reserve the right to outsource that department :). More news to follow.
Friday, 27 January 2012
Minecraft Rotator Mod.
A while ago, during my exams or maybe just before my exams, there was a post on reddit, which I will link below.
http://www.reddit.com/r/ModdingMC/comments/o0e9p/reorient_pumpkins_with_wrench
This is quite an interesting project because my previous experience with modding is adding new blocks with fancy textures. I havnt dealt with rotation before. So let us disguss what makes a rotated object different.
Here is a stair block in minecraft:

Here are the 4 stairs, pointing in all sorts of magical directions. But what about them is different??
As all good (and newbie) MC modders know, each block has its own block ID. Could these stairs each have their different block ID? As it turns out no, they do not. It turns out that the game calculates what direction the player is facing, then creates the stair block with a variable called "Metadata" As far as I could tell, When it came to stairs, acceptable metadata values for stairs varied from 0 to 3 (ie 4 values). I did not know which value refered to which direction. Which lead to an experiment!!!
The Hoe in minecraft is an item which turns 1 block (grass or dirt) into another block (tilled soil). So, using modloader I modified it so that it would change the direction of the Stairs to meta data zero. The code below shows only the function that was changed in order to achieve the desired effect. Apart from the Item Icon, the rest of the hoe's functions remain the same.
The code above was designed to make the stairs face in the direction of metadata zero. no matter what part of the stairs were clicked (the l==5 variable refers a side of the block, ie pointing north, however we are not sure which l refers to which side).
After this code was impletented, the program was compiled, and the tool was used on the stairs. A sign was placed in the dection of metadata 0. Then all of the code was changed to point the sign to metadata 1. After running this, A sign was used to indicate metadata 1. The following diagram shows the results.

I am surprised That the numberes were not in order. but that was irrelevent. The next Step was to Send each value of L to a different direction. Bare in mind that i did not know which value of L refered to the Metadata I wanted. So the code was as below:
And then this was compiled, and the program was run. I chose a random direction, and applied the tool.

As you can see, by clicking on the side next to metadata = 2, the stairs points to metadata = 0. Looking at the code above, we can see that when l = 2, metadata is changed to equal 0. We know know that we want to change it to metadata = 2.
This method was used with the rest of the directions. Now, whenever the side of the stairs is clicked, the stairs will rotate in that direction. The following youtube video will hopefully explain this better. As the video was recorded on a none optifined Minecraft, the sound isnt too spectacular, I recomend turning the sound off if it annoys you.
What I learned:
http://www.reddit.com/r/ModdingMC/comments/o0e9p/reorient_pumpkins_with_wrench
This is quite an interesting project because my previous experience with modding is adding new blocks with fancy textures. I havnt dealt with rotation before. So let us disguss what makes a rotated object different.
Here is a stair block in minecraft:

Here are the 4 stairs, pointing in all sorts of magical directions. But what about them is different??
As all good (and newbie) MC modders know, each block has its own block ID. Could these stairs each have their different block ID? As it turns out no, they do not. It turns out that the game calculates what direction the player is facing, then creates the stair block with a variable called "Metadata" As far as I could tell, When it came to stairs, acceptable metadata values for stairs varied from 0 to 3 (ie 4 values). I did not know which value refered to which direction. Which lead to an experiment!!!
The Hoe in minecraft is an item which turns 1 block (grass or dirt) into another block (tilled soil). So, using modloader I modified it so that it would change the direction of the Stairs to meta data zero. The code below shows only the function that was changed in order to achieve the desired effect. Apart from the Item Icon, the rest of the hoe's functions remain the same.
Click anywhere inside the box to show spoiler.
Source Code For Changer
public boolean onItemUse(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l)
{
if(!entityplayer.canPlayerEdit(i, j, k))
{
return false;
}
int i1 = world.getBlockId(i, j, k);
//For the selecting of the block.
if(world.multiplayerWorld)
{
return true;
}
else
{
if (l == 2)
{
world.setBlockMetadataWithNotify(i, j, k, 0);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 3)
{
world.setBlockMetadataWithNotify(i, j, k, 0);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 4)
{
world.setBlockMetadataWithNotify(i, j, k, 0);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 5)
{
world.setBlockMetadataWithNotify(i, j, k, 0);
itemstack.damageItem(1, entityplayer);
return true;
}
return true;
}
}
The code above was designed to make the stairs face in the direction of metadata zero. no matter what part of the stairs were clicked (the l==5 variable refers a side of the block, ie pointing north, however we are not sure which l refers to which side).
After this code was impletented, the program was compiled, and the tool was used on the stairs. A sign was placed in the dection of metadata 0. Then all of the code was changed to point the sign to metadata 1. After running this, A sign was used to indicate metadata 1. The following diagram shows the results.

I am surprised That the numberes were not in order. but that was irrelevent. The next Step was to Send each value of L to a different direction. Bare in mind that i did not know which value of L refered to the Metadata I wanted. So the code was as below:
Click anywhere inside the box to show spoiler.
Source Code For Changer
public boolean onItemUse(ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l)
{
if(!entityplayer.canPlayerEdit(i, j, k))
{
return false;
}
int i1 = world.getBlockId(i, j, k);
//For the selecting of the block.
if(world.multiplayerWorld)
{
return true;
}
else
{
if (l == 2)
{
world.setBlockMetadataWithNotify(i, j, k, 0);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 3)
{
world.setBlockMetadataWithNotify(i, j, k, 1);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 4)
{
world.setBlockMetadataWithNotify(i, j, k, 2);
itemstack.damageItem(1, entityplayer);
return true;
}
if (l == 5)
{
world.setBlockMetadataWithNotify(i, j, k, 3);
itemstack.damageItem(1, entityplayer);
return true;
}
return true;
}
}
And then this was compiled, and the program was run. I chose a random direction, and applied the tool.

As you can see, by clicking on the side next to metadata = 2, the stairs points to metadata = 0. Looking at the code above, we can see that when l = 2, metadata is changed to equal 0. We know know that we want to change it to metadata = 2.
This method was used with the rest of the directions. Now, whenever the side of the stairs is clicked, the stairs will rotate in that direction. The following youtube video will hopefully explain this better. As the video was recorded on a none optifined Minecraft, the sound isnt too spectacular, I recomend turning the sound off if it annoys you.
What I learned:
- How To use an item to affect a Block
- That metadata affects the rotation in some blocks
- That my computer is too slow for effective Frapsing
- Expand this to pumpkins + Jacko lanterns
- see if it is possible to make the above look upwards
- If not, then to add a new block.
Up and Coming Projects.
Recently, I have been getting into programming. Normally (without blowing my own trumpet) im quite good at implementing ideas, but shite at coming up with ideas. When I get in idea, its normally too hard or unrealistic to complete (ie a robot that climbs walls, and follows a chalk line).
So this is where this blog comes in, My plan is to include the following in each post.
What I have done/progress so far.
What I learned from what I have done.
What I am going from here on said project.
On occasion, this blog may also contain youtube clips and images.
This blog may also contain ideas etc, as a rule all my ideas posted here are generally for the purposes of my own learning and interest. As such they are "open source".
Just like instructables.com, I would be delighted if somebody used my idea as an inspiration, and improved upon it. I know damn well, that as this is my first post, no-body is going to read this. Unless they decide to look at my past posts. My plan is to start spreading the word/generating interest when I have some posts up.
My first project post could come immediatly afterwards.
So this is where this blog comes in, My plan is to include the following in each post.
What I have done/progress so far.
What I learned from what I have done.
What I am going from here on said project.
On occasion, this blog may also contain youtube clips and images.
This blog may also contain ideas etc, as a rule all my ideas posted here are generally for the purposes of my own learning and interest. As such they are "open source".
Just like instructables.com, I would be delighted if somebody used my idea as an inspiration, and improved upon it. I know damn well, that as this is my first post, no-body is going to read this. Unless they decide to look at my past posts. My plan is to start spreading the word/generating interest when I have some posts up.
My first project post could come immediatly afterwards.
Subscribe to:
Posts (Atom)