JohnnyMccurm Posted February 21, 2015 Posted February 21, 2015 Hey guys. I wanted to make an addition to my "face" block. When I destroy this "face" block I wanted it to randomly spawn sheets of "rubble" adjacent to itself (With the same thickness as the placeholder snow sheets) How would I achieve this? ALSO If I planned on replacing these " rubble" sheets later with 3D rendered objects, would I need to replace the code? Quote Think Java is tough? try BrainFuck!
Draco18s Posted February 21, 2015 Posted February 21, 2015 Override the block fucntion removedByPlayer . Look at each adjacent block. If it is air, set the block to your rubble block. Done. Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
JohnnyMccurm Posted February 21, 2015 Author Posted February 21, 2015 Could you elaborate a little please? I tried writing a piece of code and it doesn't work. Quote Think Java is tough? try BrainFuck!
JohnnyMccurm Posted February 21, 2015 Author Posted February 21, 2015 I couldn't find a method that actually worked so I used a BlockEvent.BreakEvent and got the xyz of the source block and was going to use a few x - 1 and y - 1's but yeah, that didn't work, I didn't get far at all and I'd like some assistance if possible. Quote Think Java is tough? try BrainFuck!
JohnnyMccurm Posted February 22, 2015 Author Posted February 22, 2015 Okay, here's what I tried to do, I think this code just spawns stuff in the world though, NOT relevant to my block. How do I make it relevant? public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int p_149664_5_) { //l of src world.setBlock(0, 0, -1, ModBlocks.BlockJohnnyBlockRubble); //r of src world.setBlock(0, 0, 1, ModBlocks.BlockJohnnyBlockRubble); //n of src world.setBlock(1, 0, 0, ModBlocks.BlockJohnnyBlockRubble); //s of src world.setBlock(-1, 0, 0, ModBlocks.BlockJohnnyBlockRubble); //se of src world.setBlock(-1, 0, -1, ModBlocks.BlockJohnnyBlockRubble); //ne of src world.setBlock(1, 0, 1, ModBlocks.BlockJohnnyBlockRubble); } Quote Think Java is tough? try BrainFuck!
JohnnyMccurm Posted February 22, 2015 Author Posted February 22, 2015 I know that I have to do that because right now it spawns at world co-ords, like I said it's not relevant to the destroyed block. Could you elaborate at all? how would I do that? Quote Think Java is tough? try BrainFuck!
Anon10W1z Posted February 22, 2015 Posted February 22, 2015 I know that I have to do that because right now it spawns at world co-ords, like I said it's not relevant to the destroyed block. Could you elaborate at all? how would I do that? Sigh.... int x, int y, int z Are parameters. Use them. Quote Maker of the Craft++ mod.
JohnnyMccurm Posted February 22, 2015 Author Posted February 22, 2015 I'm an idiot. I was setting the x,y,z to 0,0,1 instead of using the x,y,z I recieved from the block code is now x + 1, z - 1 etc. problem solved. Quote Think Java is tough? try BrainFuck!
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.