- Mr_Crayfish
- Curse Premium
-
Member for 12 years, 7 months, and 28 days
Last active Thu, Apr, 27 2017 07:17:06
- 173 Followers
- 1,325 Total Posts
- 787 Thanks
-
1
Nephros posted a message on Skyland! (turning into Sky Town!)Nice job.Posted in: Screenshots -
1
MrDeathKills posted a message on Skyland! (turning into Sky Town!)dang thats good.Posted in: Screenshots -
1
DS3R posted a message on Skyland! (turning into Sky Town!)Awesome work! :wink.gif:Posted in: Screenshots -
2
DinosaurXenon posted a message on Skyland! (turning into Sky Town!)Woah you did that all? How long did that take you?Posted in: Screenshots -
33
Strengthowns posted a message on [ModLoader][1.8.1] Strength's Tutorials/Help (28/11/11) *Generation*Posted in: TutorialsAdvanced Block
Booster Block
1. Add this to your BlockNamehere:
slipperiness = 1.5F;
so it would fit in here:
public BlockNamehere(int i, int j) { super(i, j, Material.ground); slipperiness = 1.5F; }
Bouncy Block
1. Add this to your BlockNamehere:
public void onEntityWalking(World world, int x, int y, int z, Entity entity) { entity.motionY += 2.0; }
so it would go here:
public int idDropped(int i, Random random) { return mod_Namehere.Namehere.blockID; } public void onEntityWalking(World world, int x, int y, int z, Entity entity) { entity.motionY += 2.0; } public int quantityDropped(Random random) { return 1; } }
Change the 2 to whatever you want, 5 will shoot you sky high!
Damage on contact1. Put this in your BlockNamehere:
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, (float)(j + 1) - f, (float)(k + 1) - f); } public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, j + 1, (float)(k + 1) - f); } public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity) { entity.attackEntityFrom(null, 4); }
So it would fit in here:
public int quantityDropped(Random random) { return 1; } public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, (float)(j + 1) - f, (float)(k + 1) - f); } public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, j + 1, (float)(k + 1) - f); } public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity) { entity.attackEntityFrom(DamageSource.causeThrownDamage(entity, entity), 4); } }
2. The 4 at the bottom is how many half-hearts of damage it does when you walk into it.
3. If you want it to heal you on contact, then change it to something like this:
entity.attackEntityFrom(null, -4);
4. The only downside to the heal block is the player still makes the hurt sounds...
Redstone Activation
1. All you do differently in the mod_* file is in the static the block has "false" in it. That is what it's normal state is.
mod_Nameherepackage net.minecraft.src; public class mod_Namehere extends BaseMod { public static Block Namehere; public mod_Namehere() { ModLoader.AddName(Namehere, "Namehere"); ModLoader.RegisterBlock(Namehere); } public String Version() { return "1.8.1"; } static { Namehere = (new BlockNamehere(233, ModLoader.addOverride("/terrain.png", "/Namehere.png"), false)).setHardness(0.2F).setBlockName("Namehere"); } }
BlockNameherepackage net.minecraft.src; import java.util.Random; public class BlockNamehere extends Block { public BlockNamehere(int i, int j, boolean flag) { super(i, Material.ground); blockIndexInTexture = j; } public int idDropped(int i, Random random) { return mod_Namehere.Namehere.blockID; } public void onNeighborBlockChange(World world, int i, int j, int k, int l) { if(world.isBlockIndirectlyGettingPowered(i, j, k)) { world.setBlockWithNotify(i, j + 1, k, Block.fire.blockID); } else { world.setBlockWithNotify(i, j + 1, k, 0); } } }
1. Everything is the same as normal up until the "onNeighborBlockChange" method.
2. Basically what it's saying it "If I'm getting powered, put a block of fire above me and if not, then put nothing there."
3. Refer to the "Structure Maker" tutorial for more help.
Heal on contact
1. Add this to your BlockNamehere file:
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, (float)(j + 1) - f, (float)(k + 1) - f); } public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int i, int j, int k) { float f = 0.0625F; return AxisAlignedBB.getBoundingBoxFromPool((float)i + f, j, (float)k + f, (float)(i + 1) - f, j + 1, (float)(k + 1) - f); } public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity) { if(ModLoader.getMinecraftInstance().thePlayer.health < 20) { ModLoader.getMinecraftInstance().thePlayer.heal(4); } }
2. Change the 4 at the bottom to how many half hearts you want it to heal you.
3. NOTE: It heals you very fast!
Structure Makermod_Nameherepackage net.minecraft.src; public class mod_Namehere extends BaseMod { public static final Block Namehere; public mod_Namehere() { ModLoader.AddName(Namehere, "Namehere Block"); ModLoader.RegisterBlock(Namehere); } public String Version() { return "1.8.1"; } static { Namehere = (new BlockNamehere(181, ModLoader.addOverride("/terrain.png", "/Namehere.png"))).setHardness(0.0F).setBlockName("Namehere"); } }
BlockNameherepackage net.minecraft.src; public class BlockNamehere extends Block { private World worldObj; protected BlockNamehere(int i, int j) { super(i, j, Material.ground); } public void onBlockClicked(World world, int i, int j, int k, EntityPlayer entityplayer) { world.setBlockWithNotify(i, j + 1, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 2, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 3, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 4, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 5, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 6, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 7, k, Block.dirt.blockID); world.setBlockWithNotify(i, j + 8, k, Block.dirt.blockID); } }
Help: mod_Namehere
1. Note: The way the code is done in this may look different but it makes things
Help: BlockNamehere
1. Everything is same as normal except for the "onBlockClicked" method.
2. In the "world.setBlockWithNotify" statements, the i, j, k letters stand for the coordinates x, y, z. After that it is saying what block it will put at those coordinates.
3. Optionally, if you are using the same block over and over and want to make it easier to write, you could set an integer like this:public void onBlockClicked(World world, int i, int j, int k, EntityPlayer entityplayer) { int block = Block.dirt.blockID; world.setBlockWithNotify(i, j + 1, k, block); world.setBlockWithNotify(i, j + 2, k, block); world.setBlockWithNotify(i, j + 3, k, block); world.setBlockWithNotify(i, j + 4, k, block); world.setBlockWithNotify(i, j + 5, k, block); world.setBlockWithNotify(i, j + 6, k, block); world.setBlockWithNotify(i, j + 7, k, block); world.setBlockWithNotify(i, j + 8, k, block); }
Then you would only have to write "block" to make it use dirt.
There you have it, a nice easy way to make a house or any structure you want!
-
30
Strengthowns posted a message on [ModLoader][1.8.1] Strength's Tutorials/Help (28/11/11) *Generation*Posted in: TutorialsSugarcane-like Plant
mod_Nameherepackage net.minecraft.src; import java.util.Random; public class mod_Namehere extends BaseMod { public mod_Namehere() { ModLoader.RegisterBlock(Namehere); ModLoader.AddName(Namehere, "Namehere"); ModLoader.AddRecipe(new ItemStack(Item.redstone, 3), new Object[] { "#", Character.valueOf('#'), Namehere }); } public void GenerateSurface(World world, Random random, int i, int j) { if(random.nextInt(20) == 0) { for(int k = 0; k < 16; k++) { for(int l = 0; l < 16; l++) { int i1 = random.nextInt(200); if(world.getBlockId(i + l, i1, j + k) != Block.grass.blockID || !world.isAirBlock(i + l, i1 + 1, j + k)) { continue; } int j1 = random.nextInt(2); if(j1 == 0) { world.setBlock(i + l, i1 + 1, j + k, Namehere.blockID); } if(j1 == 1) { world.setBlock(i + l, i1 + 1, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 2, j + k, Namehere.blockID); } if(j1 == 2) { world.setBlock(i + l, i1 + 1, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 2, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 3, j + k, Namehere.blockID); } if(j1 == 3) { world.setBlock(i + l, i1 + 1, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 2, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 3, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 4, j + k, Namehere.blockID); } } } } } public String Version() { return "1.7.3"; } public static Block Namehere = (new BlockNamehere(124, ModLoader.addOverride("/terrain.png", "/Namehere.png"))).setHardness(0.0F).setResistance(0.0F).setBlockName("Namehere"); }
BlockNameherepackage net.minecraft.src; import java.util.Random; public class BlockNamehere extends Block { protected BlockNamehere(int i, int j) { super(i, Material.plants); blockIndexInTexture = j; float f = 0.375F; setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); setTickOnLoad(true); } public void updateTick(World world, int i, int j, int k, Random random) { if(world.isAirBlock(i, j + 1, k)) { int l; for(l = 1; world.getBlockId(i, j - l, k) == blockID; l++) { } if(l < 3) { int i1 = world.getBlockMetadata(i, j, k); if(i1 == 15) { world.setBlockWithNotify(i, j + 1, k, blockID); world.setBlockMetadataWithNotify(i, j, k, 0); } else { world.setBlockMetadataWithNotify(i, j, k, i1 + 1); } } } } public boolean canPlaceBlockAt(World world, int i, int j, int k) { int l = world.getBlockId(i, j - 1, k); if(l == blockID) { return true; } return l == Block.grass.blockID || l == Block.dirt.blockID; } public void onNeighborBlockChange(World world, int i, int j, int k, int l) { checkBlockCoordValid(world, i, j, k); } protected final void checkBlockCoordValid(World world, int i, int j, int k) { if(!canBlockStay(world, i, j, k)) { dropBlockAsItem(world, i, j, k, world.getBlockMetadata(i, j, k)); world.setBlockWithNotify(i, j, k, 0); } } public boolean canBlockStay(World world, int i, int j, int k) { return canPlaceBlockAt(world, i, j, k); } public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int i, int j, int k) { return null; } public int idDropped(int i, Random random) { return mod_Namehere.Namehere.blockID; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return 1; } }
Help: mod_Namehere
1. Where it has all of this stuff, (4 parts to it)if(j1 == 1) { world.setBlock(i + l, i1 + 1, j + k, Namehere.blockID); world.setBlock(i + l, i1 + 2, j + k, Namehere.blockID); }
You can copy paste more onto the end to make it grow to a bigger height. Of course, you need to change some numbers around. Just look for the pattern.
Help: BlockNamehere
1. At this bit:public boolean canPlaceBlockAt(World world, int i, int j, int k) { int l = world.getBlockId(i, j - 1, k); if(l == blockID) { return true; } return l == Block.grass.blockID || l == Block.dirt.blockID;
You can change it or add more blocks to what you want it to be able to be placed on.
2. Your sugarcane-like plant will spawn on grass/dirt but for some reason it won't be beside water.
-
30
Strengthowns posted a message on [ModLoader][1.8.1] Strength's Tutorials/Help (28/11/11) *Generation*Posted in: TutorialsArmor
mod_Nameherepackage net.minecraft.src; import net.minecraft.client.Minecraft; public class mod_Namehere extends BaseMod { public mod_Namehere() { NamehereHelmet.iconIndex = ModLoader.addOverride("/gui/items.png", "/Nameherehelmet.png"); ModLoader.AddName(NamehereHelmet, "Namehere Helmet"); ModLoader.AddRecipe(new ItemStack(NamehereHelmet, 1), new Object[] { "rrr", "r r", " ", Character.valueOf('r'), Item.redstone }); NamehereBody.iconIndex = ModLoader.addOverride("/gui/items.png", "/Nameherebody.png"); ModLoader.AddName(NamehereBody, "Namehere Chestplate"); ModLoader.AddRecipe(new ItemStack(NamehereBody, 1), new Object[] { "r r", "rrr", "rrr", Character.valueOf('r'), Item.redstone }); NamehereLegs.iconIndex = ModLoader.addOverride("/gui/items.png", "/Nameherelegs.png"); ModLoader.AddName(NamehereLegs, "Namehere Leggings"); ModLoader.AddRecipe(new ItemStack(NamehereLegs, 1), new Object[] { "rrr", "r r", "r r", Character.valueOf('r'), Item.redstone }); NamehereBoots.iconIndex = ModLoader.addOverride("/gui/items.png", "/Namehereboots.png"); ModLoader.AddName(NamehereBoots, "Namehere Boots"); ModLoader.AddRecipe(new ItemStack(NamehereBoots, 1), new Object[] { " ", "r r", "r r", Character.valueOf('r'), Item.redstone }); } public String Version() { return "1.7.3"; } public static Item NamehereHelmet = (new ItemArmor(2612, 3, ModLoader.AddArmor("NamehereArmor"), 0)).setItemName("NamehereHelmet"); public static Item NamehereBody = (new ItemArmor(2613, 3, ModLoader.AddArmor("NamehereArmor"), 1)).setItemName("NamehereBody"); public static Item NamehereLegs = (new ItemArmor(2614, 3, ModLoader.AddArmor("NamehereArmor"), 2)).setItemName("NamehereLegs"); public static Item NamehereBoots = (new ItemArmor(2615, 3, ModLoader.AddArmor("NamehereArmor"), 3)).setItemName("NamehereBoots"); }
Help: mod_Namehere
1. You should have read the other tutorials and know it all up to the bottom part.
2. The 261? after new ItemArmor is the ID.
3. After that, the 3 is the material I'm pretty sure.
4. The 0, 1, 2, 3 is armor types. Leave them as they are.
5. After modloader.addarmor, the NamehereArmor is what your
???_1 and ???_2 are called.
6. It reads those files from the armor file in the jar.
7. That's it! Oh, and don't forget to make those armor textures!
Armor Effects
0. First, put this under all of your recipes etc.
ModLoader.SetInGameHook(this, true, false);
1. Then you can add this to your mod_Namehere file:
public boolean OnTickInGame(Minecraft minecraft) { ItemStack boots = minecraft.thePlayer.inventory.armorInventory[0]; ItemStack legs = minecraft.thePlayer.inventory.armorInventory[1]; ItemStack chest = minecraft.thePlayer.inventory.armorInventory[2]; ItemStack helm = minecraft.thePlayer.inventory.armorInventory[3]; if(boots == null || legs == null || chest == null || helm == null) { return true; } if(boots.itemID == NamehereBoots.shiftedIndex && legs.itemID == NamehereLegs.shiftedIndex && chest.itemID == NamehereBody.shiftedIndex && helm.itemID == NamehereHelmet.shiftedIndex) { minecraft.thePlayer.air = minecraft.thePlayer.maxAir; } return true; }
2. So it would fit in like this:
ModLoader.AddRecipe(new ItemStack(NamehereBoots, 1), new Object[] { " ", "r r", "r r", Character.valueOf('r'), Item.redstone }); ModLoader.SetInGameHook(this, true, false); } public boolean OnTickInGame(Minecraft minecraft) { ItemStack boots = minecraft.thePlayer.inventory.armorInventory[0]; ItemStack legs = minecraft.thePlayer.inventory.armorInventory[1]; ItemStack chest = minecraft.thePlayer.inventory.armorInventory[2]; ItemStack helm = minecraft.thePlayer.inventory.armorInventory[3]; if(boots == null || legs == null || chest == null || helm == null) { return true; } if(boots.itemID == NamehereBoots.shiftedIndex && legs.itemID == NamehereLegs.shiftedIndex && chest.itemID == NamehereBody.shiftedIndex && helm.itemID == NamehereHelmet.shiftedIndex) { minecraft.thePlayer.air = minecraft.thePlayer.maxAir; } return true; }
3. This means that when your armor set is worn, you will have infinite breath.
4. To have another armor effect for different armor, you can make it something like this:
public boolean OnTickInGame(Minecraft minecraft) { ItemStack boots = minecraft.thePlayer.inventory.armorInventory[0]; ItemStack legs = minecraft.thePlayer.inventory.armorInventory[1]; ItemStack chest = minecraft.thePlayer.inventory.armorInventory[2]; ItemStack helm = minecraft.thePlayer.inventory.armorInventory[3]; if(boots == null || legs == null || chest == null || helm == null) { return true; } if(boots.itemID == NamehereBoots.shiftedIndex && legs.itemID == NamehereLegs.shiftedIndex && chest.itemID == NamehereBody.shiftedIndex && helm.itemID == NamehereHelmet.shiftedIndex) { minecraft.thePlayer.air = minecraft.thePlayer.maxAir; } if(boots.itemID == Namehere1Boots.shiftedIndex && legs.itemID == Namehere1Legs.shiftedIndex && chest.itemID == Namehere1Body.shiftedIndex && helm.itemID == Namehere1Helmet.shiftedIndex) { minecraft.thePlayer.isImmuneToFire = true; } return true; }
That's it! Enjoy your new armor with effects!
Creating Overlays
mod_Nameherepackage net.minecraft.src; import net.minecraft.client.Minecraft; import org.lwjgl.opengl.GL11; public class mod_Namehere extends BaseMod { public String Version() { return "1.7.3"; } public mod_Namehere() { NamehereHelmet.iconIndex = ModLoader.addOverride("/gui/items.png", "/Nameherehelmet.png"); ModLoader.AddName(NamehereHelmet, "Namehere Helmet"); ModLoader.AddRecipe(new ItemStack(NamehereHelmet, 1), new Object[] { "rrr", "r r", " ", Character.valueOf('r'), Item.redstone }); ModLoader.SetInGameHook(this, true, false); } public boolean OnTickInGame(Minecraft minecraft) { if(minecraft == null) { minecraft = ModLoader.getMinecraftInstance(); } if(minecraft.thePlayer == null || minecraft.theWorld == null) { return false; } if(minecraft != null && !minecraft.gameSettings.thirdPersonView && minecraft.thePlayer.inventory.armorItemInSlot(3) != null && minecraft.thePlayer.inventory.armorItemInSlot(3).itemID != Block.pumpkin.blockID && minecraft.thePlayer.inventory.armorItemInSlot(3).itemID == NamehereHelmet.shiftedIndex) { overlay(minecraft, "%blur%/Myfolder/Namehereoverlay.png"); } return true; } public void overlay(Minecraft minecraft, String s) { ScaledResolution scaledresolution = new ScaledResolution(minecraft.gameSettings, minecraft.displayWidth, minecraft.displayHeight); int i = scaledresolution.getScaledWidth(); int j = scaledresolution.getScaledHeight(); GL11.glEnable(3042 /*GL_BLEND*/); GL11.glDisable(2929 /*GL_DEPTH_TEST*/); GL11.glDepthMask(false); GL11.glBlendFunc(770, 771); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(3008 /*GL_ALPHA_TEST*/); GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, minecraft.renderEngine.getTexture(s)); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(0.0D, j, -90D, 0.0D, 1.0D); tessellator.addVertexWithUV(i, j, -90D, 1.0D, 1.0D); tessellator.addVertexWithUV(i, 0.0D, -90D, 1.0D, 0.0D); tessellator.addVertexWithUV(0.0D, 0.0D, -90D, 0.0D, 0.0D); tessellator.draw(); GL11.glDepthMask(true); GL11.glEnable(2929 /*GL_DEPTH_TEST*/); GL11.glEnable(3008 /*GL_ALPHA_TEST*/); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(3042 /*GL_BLEND*/); } public static Item NamehereHelmet = (new ItemArmor(5001, 3, ModLoader.AddArmor("Namehere"), 0)).setItemName("NamehereHelmet"); }
Help: mod_Namehere
1. You know everything up till this bit:
if(minecraft != null && !minecraft.gameSettings.thirdPersonView && minecraft.thePlayer.inventory.armorItemInSlot(3) != null && minecraft.thePlayer.inventory.armorItemInSlot(3).itemID != Block.pumpkin.blockID && minecraft.thePlayer.inventory.armorItemInSlot(3).itemID == NamehereHelmet.shiftedIndex)
Change the NamehereHelmet at the end of it to what you want the overlay to be used for.
2. Just underneath that is this:
overlay(minecraft, "%blur%/Myfolder/Namehereoverlay.png");
Leave that %blur% at the front of it, and the Namehereoverlay is what it uses when you wear the helmet.
3. Leave the other stuff as is.
4. The overlay's dimensions that you make should be 512x512.
-
121
Arblyoko posted a message on "Better Books" Suggestion (Making Books Awsome) V2.0 (Completely Revamped)[V: 2.0 back from my break and completely revamping this suggestionPosted in: Suggestions
Suggestion Overview:
Books and bookshelves are useless but are some of the hardest items to get so this suggestion aims to make them useful
-There will be several different types of books which can be read
-regular books will contain information on how to make other book and bookshelves
-some will act as in game tutorials
-others will contain interesting stories and information for fun
-Some books will have random useful functions (like secret compartments and organizing maps)
-And of course there will be custom books
-Also new players will spawn with a regular book in inventory to help them make more books and access other tutorials (this is arguable)
Use for bookshelves:
Right now I’m not quite sure what the use of bookshelves should be and I’m torn between two different ideas so please tell me which you prefer or suggest your own use
Use 1: Bookshelves will store three books at a time and are required to read tutorial and story books (special books, regular books and customs books can all be read in inventory) With this suggestion you would use a custom book to take notes from other books before going on an adventure so you can access your notes anywhere
Use 2: Bookshelves would hold more books (possibly 5) and would be the only way to store books other than regular books (they would not be able to be deposited into a chest)
The books
All books could be crafted by combining a book with another item in a crafting grid (shapless)
The decription of the book will only list the secondary item used to craft the book (to save me the time of typing it)
Tutorial books
These books would help new and old players alike since many players are unaware of the wiki and tabing out can be annoying
Tool book - stick
List tools, what they’re for and their durability
Crafting Book- Crafting Table
Lists all recipes except for other books
Furnace book – Furnace
How furnaces work, different fuels
Book of Books- (combine 4 books, a special case)
Lists the recipes of all other books
Health book – Porkchop
Basics of health, different foods
Combat Book – Wooden Sword
Different weapons, combat system, different enemies
Armour Book – Leather
Lists armours, and how much the protect
Monster Book- bone
In-detail description of various hostile mobs
Animal Book – Feather
In-detail description of passive mobs and wolves (not squids)
Sea book – Boat
How boats work, description of fishing and of squid, drowing
Plant + Farming Book- Seeds
Tells of the various plants (and mushrooms) and how they grow, how bonemeal works and how to farm different plants
Dye book- Wool
How to get different dyes and how to shear sheep
Light Book- Torch
How light works and effects things (spawns, ice, etc)
Nether Book –obsidian
How to make a portal, everything about the nether
Piston Book- Piston
Mechanic s of Pistons
Minecart Book- Minecart
Information of minecarts, how tracks work, execration ect.
Redstone book – Redstone
Information about the basics of redstone
Advanced Redstone – (Special case, requires two pieces of redstone and a regular book)
The more advance ciruits and how to create logic gates
Liquid Book- Bucket
About how water and magma flow and react with each other.
Boom Book- Sulphur
All about tnt, its power and how to detonate it
Music Book – Noteblock
How noteblocks behave and how to tune them.
Story Books
These books serve no real purpose they are for entertainmant purposes only
Book of Notch- Apple
All about the story of the creator of minecraft
Ominous Book-Golden Apple
This strange book is titled… “Him”
(Apparently some people didn’t get the reference; this book is about hero brine)
History of Minecraft- Diamond
Tells the history of minecraft
Special Books
These books all serve different unique purposes
Secret Compartment book- Chest
When you read this book a chest with one space opens to hide an item in, This book looks almost exactly like the default book except for that it has a slight gold tinge
Dispenser Book – Dispenser
Right clicking this book will open up a single inventory space, whatever is place in here will be dispenses/fired when the book is read, This book looks almost exactly like the default book except that it has a slight grayish tinge
Atlas- Map
This book will show every map you have craft in that world, the maps however will not update if you view them with the book. (For balance issues I’m not sure if your location arrow should show up, let me know in the comments)
Custom Books-Ink Sac
Right clicking this book will open up a Gui like notepad that will allow you to write in it, this is useful for taking notes from other books before you go on an expedition
- Part of custom books is a new block called the Printing Press. This Block is similar to a furnace but uses ink sacs as fuel, you load in default books and you place a custom book into a special template spot and the press turns the book into custom books that are the same as the template (one book her ink sac)
Some Final Notes:
-First Off thanks to everyone who supports me I’ve gotten a ton of ideas from you guys and owe you all a lot (im sorry I didn’t give you guys credit, im working on a credits list now, its just taking awhile to gather all your oldly spelled names)
-Secondly, what do you think of Magic, I’ve been thinking of maybe adding spell books (The problem is trying to balance them) so let me know in the comments what you think and what kind of spells you think would be good, or if you even want such an idea
-Third a Modder has contacted me and we might collaborate on a better books mod together (he/she will do all the coding because I’m a complete java noob)
Closing!
If you really want to support me the best things to do are comment and put this banner somewhere (like in your signature!) This banner was a quick work so If any art savy people want to make a fancy banner I would love that and would give you credit.
Banner
[url=http://www.minecraftforum.net/viewtopic.php?f=1&t=180654] [img] http://i907.photobucket.com/albums/ac280/Arbwashere/bo-1.png[/img][/url]
THANKS! -
5
rosedragon posted a message on [Archive #4] Beta Survival Picture ThreadPosted in: Screenshots
This phoenix have gone through a reincarnation: the old smaller uglier version of it got burn by fire when server plugins gone broken. The serpent took weeks? months? to finish because I was busy with work and making the body of the serpent were so tricky. At the end I cheated here and there with worldedit copy paste, and it still looks awkward... Applied a lot of lessons from featherblade@thevoxelbox when making the serpent. Some revision on the phoenix also came from featherblade's constructive criticism. While the phoenix originally fighting the two headed dragon, the fight with serpent looks a lot more appropriate.
Made in rpg.montropolis.com
More of mine here: rosedragon's fantasy creations - To post a comment, please login.
1
2
1
1
Make abandoned mines rare because they are friggen everywhere at the moment and kinda ruins the fun of exploring a cave without finding one of these sticking in it half way. Also, because that they would be rare, better loot if you find a chest because it is a mine and i mean there is barely anything in them in the Pre-release
Strongholds need to be spawned more. 1 per world is not enough and is almost impossible to find.
A BIG ONE, the generating needs to be that nothing spawns in something. Like, you can find a ravine with a abandoned mine in it. or a stronghold with a abandoned mine going straight through it. This makes it all awkward and not neat.
Enderman are too easy to kill and they also need their our sounds, when they die they make a zombie dying sound. I want them to be really hard because it makes the game more fun and challenging. All mobs are around the skill, so make the Enderman like 20 hearts for it not to be.
So this is it, my list. Comment on your opinions about this.
1
3
Hey guys, I have been working on this project on and off for the past 5 weeks. This is my first big-ish build which I am proud of. This map will be up soon for download but just now I'm showing off some screenshots of what it looks like, so enjoy! After the map is released, I'm creating it into a puzzle map. It will work like the Hostile Maps where you collect the wool. Need feedback so comment :smile.gif:
1
Nightclub:
Outside
The guts
Inside
^Still gotta add tress, grass and landscape on this^
Windmill/Farm:
Airship Station:
My Workspace:
Overview:
So thats it, hope you liked and once I finish this project, I'll be releasing download link for those explorers haha also do you like this 'Lasers by Lupe Fiasco' picture I did using spritecraft?
Uploaded with ImageShack.us
OLD VIDEO UPDATE:
1
1
I've added the masion thing in background and a workhouse, both work in progress still. Also, just a little well which is my unlimited water source :smile.gif:
I'm kinda thinking of getting rid of the new mansion I built and make that a little town centre thing, which would look cool.
Original Thread:
http://www.minecraftforum.net/topic/498382-sky-town-wip
3
Hey guys, I'm Buildings a Sky Town (this is a work in progress). Got the idea after building just a bit of land flying with house on it. I'm planning to release a download link for the map once its 100% complete. Please comment on suggestion, building ideas or anything related to this. Check out the screenshot on progress :smile.gif: