This Mod is a WIP(Work In Progress) Mod, no release posted yet...
This mod adds almost all the weapons from the popular anime Sword Art Online/Alfheim Online
The Weapons I Have Coded So Far Are As Follows...
Air Slicer
Anneal Blade
Annihilator
Antidote Crystal
Armageddon
Black Iron Great Sword
Calm Mind
Crystallite Ingot(for the Dark Repulser)
Dark Repulser
Death's Smasher
Dragon Striker
Elucidator
Excalibur
Gram
Ground Gorge
Guilty Thorn
Health Crystal
Karakurenai
Lambent Light
Liberator
Teleport Crystal(Wont Render)
Tyrant Dragon
The Weapons Left To Code Are As Follows...
Executioner's Skull -
Fallen Angel -
Fern Slasher -
Fiery Shadow -
Fish Stick -
Hell's Defender -
Iron Shredder -
Jagged River -
Lava Streamer -
Lightning Striker -
Motor Shock -
Neon Thorn -
Oak Blade -
Oblivion -
Power Impact -
Prism Edge -
Razor Guard -
Scorpio Stinger -
Shining Blade Of Destruction -
Slender Piercer -
Snow Crusher -
Sunny Day -
The Hollow Tree -
The Red Protector -
Throwing Needle -
Thunder Obliterator -
Triple Threat -
Wild Bringer -
Wind Slayer -
SORRY FOR THE ANNOYING LINE OVERLAP MCFORUM'S BBCODE IS ACTING WEIRD
Why would Forge create a resources folder if we're not supposed to put resources in it? I think you are giving dangerous advice here.
Assets such as textures and the language file belong in paths that look like:
Forge\src\main\resources\assets\<MODID>\textures\items...
or
Forge\src\main\resources\assets\<MODID>\lang...
And the mcmod.info file belongs in resources itself.
If that's not working for somebody, then either their setup is off the Forge standard, or else they're not correctly using their path info in their code. See how vanilla Minecraft organizes assets in the net\minecraft\assets\... heirarchy, and then imitate that in your own (your modid in your folder paths takes the place of "minecraft" in vanilla). Everything below that should match exactly.
Imitating the vanilla structure will bring the vanilla code onto your side. Doing otherwise will mean needing to override more methods, and then you run the risk of something not happening like it should.
EDIT:
In the case of Ebony Ore, the PNG file needs to be one level deeper. Put it in a "blocks" folder under "textures". Eclipse can be a pain when trying to work in deep nested folders, so I would use the filesystem itself to create folders as needed. Then Eclipse can refresh to see what you did.
I think it will work either way, depending on how you like to organize your workplace. For me, i like having all of my folders in one place, if it were up to me, i'd get rid of the src/main/resources for good, but forge recommends that you have an mcmod.info file and it can only detect it if it's placed in the src/main/ressources folder.
ebonyOre = new BlockEbonyOre(Material.rock) <--- Right here, so that it'll look like this
ebonyOre = new BlockEbonyOre(Material.rock).setBlockName("this is the name you use in the lang file").setBlockaTextureName(Reference.MODID + ":" + "the name of your image").setCreativeTab(CreativeTabs.tabBlock);
oh, and dont put your assets packages under src/main/resources put them under src/main/java
if it still wont work then, send me the error logs again!
nice guides, im reading through them to refresh my memory and maybe learn something new, i did spot a typo though
event.entityLiving.entityDropItem(new ItemStack(Item.apple), dropped); Should be:
event.entityLiving.entityDropItem(new ItemStack(Items.apple), dropped);
Thats in the drop handler
I notice your missing a sounds tutorial,i wrote this back in january (before my long time away from modding made me rusty...hay not my fault forge mods have taken so long to update lol!) http://www.minecraft..._sound_tutorial
i did 2 more advanced tutorials as well (one on adding a chat bot to a mod and one on adding true multisystem speech synth, both are on the wiki)
feel free to use them on here as you see fit, either as is or reworded, i wrote them to help people after all
I must also say a huge congrats and thank you for taking the time to make these guides, they are appreciated
When attempting to make an instant structure, I place the block(I haven't made a texture for it yet) and nothing happens. There aren't any errors or anything the console. Here is my file:
package coo.moddingtutorial.block;
import java.util.Random;
import coo.moddingtutorial.ModdingMain;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class SwimmingPool extends Block
{
Blocks b;
public SwimmingPool(Material material)
{
super(material);
}
public void onBlockPlacedBy(World world, Random random, int x, int y, int z, EntityLivingBase entity, ItemStack itemstack)
{
//Super
super.onBlockPlacedBy(world, x, y, z, entity, itemstack);
//Sets the block to air on the x, y, and z coords from where you placed the block
world.setBlockToAir(x, y, z);
//Sets the block on the x, y, and z coords starting from where you placed the block
world.setBlock(x+1, y, z, b.stonebrick);
world.setBlock(x-1, y, z, b.stonebrick);
world.setBlock(x, y, z+1, b.stonebrick);
world.setBlock(x, y, z-1, b.stonebrick);
world.setBlock(x+1, y, z+1, b.stonebrick);
world.setBlock(x+1, y, z-1, b.stonebrick);
world.setBlock(x-1, y, z-1, b.stonebrick);
world.setBlock(x-1, y, z+1, b.stonebrick);
world.setBlock(x, y+1, z, b.water);
world.setBlock(x+1, y+1, z, b.water);
world.setBlock(x-1, y+1, z, b.water);
world.setBlock(x, y+1, z+1, b.water);
world.setBlock(x, y+1, z-1, b.water);
world.setBlock(x+1, y+1, z+1, b.water);
world.setBlock(x+1, y+1, z-1, b.water);
world.setBlock(x-1, y+1, z-1, b.water);
world.setBlock(x-1, y+1, z+1, b.water);
world.setBlock(x, y+2, z, b.water);
world.setBlock(x+1, y+2, z, b.water);
world.setBlock(x-1, y+2, z, b.water);
world.setBlock(x, y+2, z+1, b.water);
world.setBlock(x, y+2, z-1, b.water);
world.setBlock(x+1, y+2, z+1, b.water);
world.setBlock(x+1, y+2, z-1, b.water);
world.setBlock(x-1, y+2, z-1, b.water);
world.setBlock(x-1, y+2, z+1, b.water);
world.setBlock(x+2, y, z, b.stonebrick);
world.setBlock(x-2, y, z, b.stonebrick);
world.setBlock(x, y, z+2, b.stonebrick);
world.setBlock(x, y, z-2, b.stonebrick);
world.setBlock(x+2, y, z+1, b.stonebrick);
world.setBlock(x+2, y, z+2, b.stonebrick);
world.setBlock(x+1, y, z+2, b.stonebrick);
world.setBlock(x+2, y, z-1, b.stonebrick);
world.setBlock(x+2, y, z-2, b.stonebrick);
world.setBlock(x+1, y, z-2, b.stonebrick);
world.setBlock(x-2, y, z+1, b.stonebrick);
world.setBlock(x-2, y, z+2, b.stonebrick);
world.setBlock(x-1, y, z+2, b.stonebrick);
world.setBlock(x-2, y, z-1, b.stonebrick);
world.setBlock(x-2, y, z-2, b.stonebrick);
world.setBlock(x-1, y, z-2, b.stonebrick);
world.setBlock(x+2, y+1, z, b.stonebrick);
world.setBlock(x-2, y+1, z, b.stonebrick);
world.setBlock(x, y+1, z+2, b.stonebrick);
world.setBlock(x, y+1, z-2, b.stonebrick);
world.setBlock(x+2, y+1, z+1, b.stonebrick);
world.setBlock(x+2, y+1, z+2, b.stonebrick);
world.setBlock(x+1, y+1, z+2, b.stonebrick);
world.setBlock(x+2, y+1, z-1, b.stonebrick);
world.setBlock(x+2, y+1, z-2, b.stonebrick);
world.setBlock(x+1, y+1, z-2, b.stonebrick);
world.setBlock(x-2, y+1, z+1, b.stonebrick);
world.setBlock(x-2, y+1, z+2, b.stonebrick);
world.setBlock(x-1, y+1, z+2, b.stonebrick);
world.setBlock(x-2, y+1, z-1, b.stonebrick);
world.setBlock(x-2, y+1, z-2, b.stonebrick);
world.setBlock(x-1, y+1, z-2, b.stonebrick);
world.setBlock(x+2, y+2, z, b.stonebrick);
world.setBlock(x-2, y+2, z, b.stonebrick);
world.setBlock(x, y+2, z+2, b.stonebrick);
world.setBlock(x, y+2, z-2, b.stonebrick);
world.setBlock(x+2, y+2, z+1, b.stonebrick);
world.setBlock(x+2, y+2, z+2, b.stonebrick);
world.setBlock(x+1, y+2, z+2, b.stonebrick);
world.setBlock(x+2, y+2, z-1, b.stonebrick);
world.setBlock(x+2, y+2, z-2, b.stonebrick);
world.setBlock(x+1, y+2, z-2, b.stonebrick);
world.setBlock(x-2, y+2, z+1, b.stonebrick);
world.setBlock(x-2, y+2, z+2, b.stonebrick);
world.setBlock(x-1, y+2, z+2, b.stonebrick);
world.setBlock(x-2, y+2, z-1, b.stonebrick);
world.setBlock(x-2, y+2, z-2, b.stonebrick);
world.setBlock(x-1, y+2, z-2, b.stonebrick);
//Sets the block(with set metadata) on the x, y, and z coords from where you placed the block
//world.setBlock(x, y, z, b.planks, 2, 2); //This is for birch planks, if you want other planks, search 'Minecraft Block Metadata' in google or find it on the MinecraftWiki
}
}
Try getting rid of the super constructor, it may not need to be there, i'll look into this more though
mmm right clicking does nothing, and i also cleared the set to air, and the others to see if that would work, but it doesnt seem to do anything right now
Hmmmmmmmm, interesting, i'm still confused, anyway you could send me a screenshot of your classes?
public BlockStructure(Material p_i45394_1_) {
super(p_i45394_1_);
}
public void OnBlockPlacedBy(World world, Random random, int x, int y, int z
, EntityLivingBase entity, ItemStack itemstack){
world.setBlockToAir(x, y, z);
world.setBlock(x, y, z, b.cobblestone);
world.setBlock(x, y, z, b.planks, 2, 2);
}
}
edit: an idea for another tutorial, how to do custom keybinds (:
I think it may be because in that constructor, you set to air, then to cobblestone, then to birch planks, try placeing your block in the world and right clicking or something, your problem is confuzzling me, i'm tring to wrap my mind around it and see what's up
0
If your forge folder is on your desktop, type in cmd: cd
Then click and drag your forge folder(the one with the bin, build, gradlew, etc. inside) into cmd and hit enter...
That will bring cmd to look in your forge folder for gradlew, if you didnt do this, then cmd wouldnt be able to find gradlew.bat...
"cd" just means Change Directory
So basically youre just "Changing the directory to look in" to your forge/mcp folder
1
2
Anneal Blade
Annihilator
Antidote Crystal
Armageddon
Black Iron Great Sword
Calm Mind
Crystallite Ingot(for the Dark Repulser)
Dark Repulser
Death's Smasher
Dragon Striker
Elucidator
Excalibur
Gram
Ground Gorge
Guilty Thorn
Health Crystal
Karakurenai
Lambent Light
Liberator
Teleport Crystal(Wont Render)
Tyrant Dragon
The Weapons Left To Code Are As Follows...
Fallen Angel -
Fern Slasher -
Fiery Shadow -
Fish Stick -
Hell's Defender -
Iron Shredder -
Jagged River -
Lava Streamer -
Lightning Striker -
Motor Shock -
Neon Thorn -
Oak Blade -
Oblivion -
Power Impact -
Prism Edge -
Razor Guard -
Scorpio Stinger -
Shining Blade Of Destruction -
Slender Piercer -
Snow Crusher -
Sunny Day -
The Hollow Tree -
The Red Protector -
Throwing Needle -
Thunder Obliterator -
Triple Threat -
Wild Bringer -
Wind Slayer -
1
Dont put void before init, preInit, or postInit, it messes it up
0
I think it will work either way, depending on how you like to organize your workplace. For me, i like having all of my folders in one place, if it were up to me, i'd get rid of the src/main/resources for good, but forge recommends that you have an mcmod.info file and it can only detect it if it's placed in the src/main/ressources folder.
I'll add it to my "To work out for my modding tutorials" list
0
HEY! I FIGURED OUT YOUR PROBLEM! YAY! just put void after all the publics
public void preInit
public void init
public void postInit
0
in your BlockEbonyOre.class you should put these...
setBlockName();
setBlockTextureName();
setCreativeTab();
after this...
ebonyOre = new BlockEbonyOre(Material.rock) <--- Right here, so that it'll look like this
ebonyOre = new BlockEbonyOre(Material.rock).setBlockName("this is the name you use in the lang file").setBlockaTextureName(Reference.MODID + ":" + "the name of your image").setCreativeTab(CreativeTabs.tabBlock);
oh, and dont put your assets packages under src/main/resources put them under src/main/java
if it still wont work then, send me the error logs again!
Thank you for your help! i'll add look into it!
Try getting rid of the super constructor, it may not need to be there, i'll look into this more though
0
Thanks dude! i'll add that to my tut asap!
0
I have been trying to figure out fluids since 1.2.5, but ive had no luck, theyre elusive...but ill try harder and ill post a tut asap
0
yeah, just get rid of the void modifier, so it's public testBlock(Material material)
and you don't put quotation marks around Test Block in the en_US.lang file
You're welcome!
0
No, i mean a picture of the actual class, so i can see the code and look for errors
0
Hmmmmmmmm, interesting, i'm still confused, anyway you could send me a screenshot of your classes?
0
I think it may be because in that constructor, you set to air, then to cobblestone, then to birch planks, try placeing your block in the world and right clicking or something, your problem is confuzzling me, i'm tring to wrap my mind around it and see what's up
0
Not at all
0
I would be able to help a lot more if i could see screenshots of your class files