Jump to content

TheGreyGhost

Members
  • Posts

    3280
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by TheGreyGhost

  1. Hi all Is there anyone on this forum who's got a bit of skill at creating a database with a decent web interface? the MCP chatbot is ok at a pinch but it's pretty clunky and probably its most serious shortcoming is that once someone has submitted a name, it can't be changed again. even it's wrong or contains spelling mistakes or the comment is rubbish. It's also a one-name-at-a-time thing and you can forget pattern matching. Unfortunately I know absolutely nothing about how to create something better, but surely one of you has the power? :-) I also wonder if we could collectively persuade Mojang to just release their source directly with the comments stripped and the variable names remapped to something meaningless (like they are now). The end result would be the same but would save a huge amount of effort and time delay at each release. Perhaps a kickstarter for funding, I have seen other studios say (eg) "Fund us $1m and we'll release the source code". Just dreaming aloud... -TGG
  2. Hi This might help http://greyminecraftcoder.blogspot.com.au/2013/12/overview-of-forge-and-what-it-can-do.html Be very careful to get the case of all your names right (upper/lower case). zip files are case-sensitive but windows aren't -TGG
  3. Hi I would suggest to use a TileEntity, and either 1) Implement an ISimpleBlockRenderingHandler, and ask your TileEntity for the information in the ISBRH rendering method; or 2) Create a TileEntitySimpleRenderingHandler for your TileEntity and render the texture there The choice between the two boils down to - 1) will only get updated when the block changes so it's harder to animate (is possible with animated textures eg like lava) 2) gets updated every rendering frame, but isn't drawn at all if you're more than 64 blocks away. -TGG
  4. Hi I'd suggest to use GameRegistry.findBlock, not GameData.findBlock. And make sure you add an import statement for GameRegistry. No worries, it takes a while to get used to it. I've been at it for six months and I still struggle sometimes. -TGG
  5. If you're running from Eclipse or another Integrated Debugging Environment, look at the console output. It will contain text like 2014-01-19 23:01:32 [iNFO] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Build Faster Mod 2014-01-19 23:01:32 [sEVERE] [Minecraft-Client] Using missing texture, unable to load: speedytools:textures/items/sceptreiconOoops.png 2014-01-19 23:01:33 [iNFO] [sTDOUT] 2014-01-19 23:01:33 [iNFO] [sTDOUT] Starting up SoundSystem... 2014-01-19 23:01:33 [iNFO] [sTDOUT] Initializing LWJGL OpenAL 2014-01-19 23:01:33 [iNFO] [sTDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) 2014-01-19 23:01:33 [iNFO] [sTDOUT] OpenAL initialized. 2014-01-19 23:01:33 [iNFO] [sTDOUT] and this bit is what you're interested in: 2014-01-19 23:01:32 [sEVERE] [Minecraft-Client] Using missing texture, unable to load: speedytools:textures/items/sceptreiconOoops.png This means it looked for /textures/items/sceptreiconOoops.png under the base path assets/speedytools If you aren't using an IDE, you can open the log file instead ForgeModLoader-client-0.log -TGG
  6. Hi That link just tells you a bit of background about Forge and what it does. If you want more specific instructions on how to install it, I know there are plenty around. For example this is a good introduction. -TGG
  7. Hi http://www.avajava.com/tutorials/lessons/how-do-i-locate-a-java-class-in-eclipse.html and some other useful ones http://eclipse.dzone.com/news/effective-eclipse-shortcut-key -TGG
  8. Hi Did you understand what I mean by this request? It may help us diagnose the problem. -TGG
  9. Hi Random ticks and scheduled ticks are not the same thing. Random ticks occur randomly and are for things like leaves disappearing when not attached to a tree, farmland reverting to dirt, water turning to ice, etc. Scheduled ticks are for things like water, buttons, etc. I think your original code was pretty close already, i.e. you placed the block and 6000 ticks later it changes? So what happened when you changed your 6000 to 6000 +Random.nextInt(100)? -TGG
  10. Well, for example, if you are trying to find the ID of my custom BlockOfAwesome in my Mod "TGGRulezOKMod", and I have registered my block using public static BlockOfAwesome blockOfAwesome; // ... GameRegistry.registerBlock(blockOfAwesome, "BlockOfAwesomeName"); Then your code will need to do Block tggBlockOfAwesome = GameRegistry.findBlock("TGGRulezOKMod", "BlockOfAwesomeName"); It entirely depends on what name I decided to use in my registerBlock. Could have been the unlocalised name, or not. If instead I used GameRegistry.registerBlock(blockOfAwesome, "ByCrikeyTGGyouGiveYourBlocksTheMostStupidlyLongAndAnnoyingNamesEver"); then guess what you will need to use :-) You can figure out what a mod has used to register their block by adding a breakpoint to GameData.findBlock, then inspecting the contents of modObjectTable. If you don't understand what I mean by that, let us know. -TGG
  11. Hi This might help a bit, depending on how much you already know. http://greyminecraftcoder.blogspot.com.au/p/list-of-topics.html See the "Overview of Forge (and what it can do for you)" sections. -TGG
  12. Hi From memory, tickRate does nothing unless you schedule the update yourself i.e. you need to call scheduleBlockUpdate each time the block is ticked anyway? If I've misunderstood your question, perhaps show us more of your code? -TGG
  13. Hi Are you using eclipse or IntelliJ IDEA for your programming environment? If so, there is a command to find a particular class, i.e. you type WorldGenBigTree and it opens the class for you without you having to go hunt for it. I use it myself all the time, saves a huge amount of effort. -TGG
  14. Hi I haven't ever seen a tutorial specifically for trees. I think your best bet is to check out the vanilla code eg WorldGenBigTree.generate If you copy it to your own code, you can fiddle with various bits to see how it works and what each part does. Should be an interesting challenge. Once you've figured it out you could even write your own tutorial for it :-) -TGG
  15. Show us the "missing texture, unable to load" error log? First thing to check is that the upper/lower case matches exactly. If you are still stuck, this link might help http://www.minecraftforge.net/forum/index.php?topic=11963.0 -TGG
  16. You mean GameRegistry.findBlock(modid, name)? "name" is exactly the same as what the mod used to register the block, GameRegistry.registerBlock("MyMod", "MyBlockName"); will be found by GameRegistry.findBlock("MyMod", "MyBlockName") If you're not sure what it is for the other mod, you can add a breakpoint to GameData.findBlock, then inspect the contents of modObjectTable. -TGG
  17. Hi re rendering - this link might be helpful - the sections on block and item rendering in particular. http://greyminecraftcoder.blogspot.com.au/p/list-of-topics.html http://greyminecraftcoder.blogspot.com.au/2013/08/rendering-inventory-items.html They are written for 1.6.4 but if you hunt through the vanilla code corresponding to RenderItem.renderItemAndEffectIntoGUI, you should be able to find out pretty easily how it works in 1.7.2. Kukipett might be on the right track with the ItemBlock. In 1.6.4, registering a Block automatically created an associated ItemBlock, and the default rendering for ItemBlocks is 3D. Perhaps 1.7.2 is subtly different. -TGG
  18. Hi So does the line start at the right spot but never end, or is it infinite in both directions? If so, perhaps your end coordinate is wrong. Alternatively, it might be because you're using tessellator.startDrawing(GL11.GL_LINE_STRIP); I think you actually need tessellator.startDrawing(GL11.GL_LINES); -TGG
  19. If you are generating your own custom Block then you could just override Block.dropBlockAsItemWithChance, and not bother with the event at all? -TGG
  20. An idea - perhaps you can use both events - i.e. in BreakEvent, record the block that the player is attempting to break. Then, in HarvestDropsEvent, the block that was broken is (presumably) the last one recorded in BreakEvent. (see ItemInWorldManager.tryHarvestBlock for the order that the various events and method occur) Worth a try I think. Just need to remember that blocks can be harvested by non-players (eg explosions) -TGG
  21. Hi Forge contains something called the Ore Dictionary which is specifically intended for sharing crafting materials between mods. Ores: OreDictionary, ShapedOreRecipes, ShapelessOreRecipes Alternatively, if you know what the Block is called you can probably used GameRegistry.findBlock to retrieve it. Likewise GameRegistry.findItem. Never used any of them myself so I'm not sure of details. -TGG
  22. Hi After looking at your youtube and checking out a couple of the vanilla TESR and one I wrote a while back, I'm now a bit confused. It does look in your video like there is some sort of translation happening relative to the player. I'll have a play around myself to try and get it straight in my head, might take a while, in the meantime you could try a couple of different combinations yourself. I suspect you need to add an extra translate by the renderTileEntityAt x,y,z parameters (par2, par4, par6 I mean), I think the par2, par4 and par6 are the displacement of the TileEntity world coordinates relative to the current player position, but I'm not certain any more. -TGG
  23. Hi If the texture isn't loading correctly then you should be seeing a "Using missing texture, unable to load" error - could you post that so we can look at it? Off the cuff-comment: pay close attention to upper/lower case because the case must match exactly This link might also help http://www.minecraftforge.net/forum/index.php?topic=11963.0 -TGG
  24. Hi If the other mods are properly written, they should register their Blocks & Items in the preinit phase, and you should register your recipes in the load phase, so you are guaranteed that the other mod will have registered its Blocks & Items by the time your recipe is registered. For more info see here http://greyminecraftcoder.blogspot.com.au/2013/11/how-forge-starts-up-your-code.html I'm not 100% sure how best to find the blocks registered by the other mod. I suspect GameRegistry.findBlock will do it for you, but I've never tried it so I'm not certain. (see http://greyminecraftcoder.blogspot.com.au/2013/12/forge-blocks.html) -TGG
  25. Hi You may find this link useful http://greyminecraftcoder.blogspot.com.au/2013/09/custom-item-rendering-using.html and some sample code http://greyminecraftcoder.blogspot.com.au/2013/09/sample-code-for-rendering-items.html I'd say the crash is because the caller doesn't always pass an entity in data. That's why it's got a variable argument list Object... after all. Do you even need the EntityLiving? -TGG
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.