Jump to content

leftler

Members
  • Posts

    34
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

leftler's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. ModloaderMP and Forge are incompatible, either the mod author will need to switch off of ModloaderMP to something that is compatible (or forge itself) or you can choose not to use forge.
  2. The issue is that it replaces pc.class and pd.class. Anything that modifies base classes will produce unpredictable results with FML.
  3. No, not really, I am making a tool to place preview .schematic files inside minecraft, I want to draw the blocks from the schematics without actually placing the blocks as I want this to happen entirely client side and I do not want the client and server side to get out of sync. I could do your method but that would mean I would need to, at run time, somehow call my own custom getCollisionBoundingBoxFromPool instead of the original block's. My original idea was to make block shaped entities that where not collideable and not affected by gravity but if I can get "MinecraftForgeClient.renderBlock" to work that would be a much better solution. The big issue is I want this to be compatible with any mods that implement a custom renderer. So eventually I will need to call the block's renderer, whatever that my be.
  4. I need to render the appearance of a block without actually having the block exist in the world. I thought it would be as simple as the following: @ForgeSubscribe public void RenderWorld(RenderWorldLastEvent event) { //example test, should render a diamond at the world coordinates 70, 70, 70; MinecraftForgeClient.renderBlock(event.context.globalRenderBlocks, Block.blockDiamond, 70, 70, 70); } Putting a breakpoint in shows my code is being called from the Event Bus. However, if I travel to 70,70,70 the fax-diamond block is not there. (see attached image) I thought I had to maybe call "Tessellator.instance.draw();" but that gives a me a Exception because I am not tessellating Adding in a "Tessellator.instance.startDrawingQuads();" gets it to git rid of the error but the block still does not show up in the world. @ForgeSubscribe public void RenderWorld(RenderWorldLastEvent event) { Tessellator.instance.startDrawingQuads(); MinecraftForgeClient.renderBlock(event.context.globalRenderBlocks, Block.blockDiamond, 70, 70, 70); Tessellator.instance.draw(); } What is the correct way to manually render a block in the world when that block does not truly "Exist"?
  5. In a vanilla MCP copy "MCP_LOC\src\minecraft\net\minecraft\src\Tessellator.java" the "instance" field is marked final public static final Tessellator instance = new Tessellator(2097152); When you clone FML and run the setupbuildenviorment it produces the following in "MCP_LOC\src_work" and "MCP_LOC\src" public static final Tessellator field_78398_a = new Tessellator(2097152); However, in Forge's src_base, which in theory should be the same as FML's src_work folder, I have public static Tessellator instance = new Tessellator(2097152); Somewhere between Forge and FML that final disappeared, but for the life of me I can not figure out where this happened. The only place I could think to check is Tessellator.java.patch in forge, but that patch does not change that line of Tessellator.java. Also FML does not patch Tessellator.java at all. This is being done with Forge commit 7828ff9 and FML 8656fd5.
  6. Except that you skipped the part about if you don't name the folder "forge" instead of the default "ForgeClient" it breaks the build. Or that the two eclipse projects are not added and must be added by and that will mess up the ".metadata" folder so you will need to not commit those changes, or whats the difference between Clean-Client and Forge-Client, or how the build script works, or the 100 other little things that come up that could be easily explained in a step by tutorial.
  7. I have figured out what I need to do to submit a pull request but I did not find a singular location describing how to do it and explaining the build environment. I am having concerns I did it wrong due to some of the things I have noticed while setting up my build environment. For example, if I set my workspace to "C:\ForgeFork\mcp71\MinecraftForge\eclipse" (after running "setup.bat") neither "Clean-Client" nor "Forge-Client" show up as projects and need to be added by hand Is there any tutorial that I just missed? I just want to make sure I am not starting down the wrong path.
  8. Can you post the constructor for ThorMod_UltraOre(int, int) and any static variables that have initializers it has (anything that is declared static and has a = on the same line. public static SomeClass SomeVariable = new SomeClass(); Edit: If the class has a super class the static variables from the super class too. Edit2: Let me explain what I think is going on: "ThorMod.<clinit>" means while it was trying to create the class (before even the constructor was called, but I am not 100% sure) one of the static field variables thew a NoClassDefFoundError when trying to find the obfuscated class apn. apn is net/minecraft/src/GuiScreen, so likely the bad line is similar to static final GuiScreen someGuiScreen = new GuiScreen(); change the code to @SideOnly(Side.CLIENT) static final GuiScreen someGuiScreen = new GuiScreen(); and that may fix your problem, it will no longer initialize the GuiScreen on the server side.
  9. You can see where the problem is in the stack trace So in ThorMod.java line 57 is where the error occurs, Give us all of ThorMod.java and point out as a comment in the code which line is line 57.
  10. Just so you know, for the future, hit the + next to "this" ("this" represents the class you currently are stopped inside) You would see something like. Name Value this Reinforced_blocks(id=54) naquadahbomb naquadhbomb(id=123) naquadahingot null event FMLInitializationEvent (id=55) That would have told you that naquadahingot was null and you where trying to use it. If what you want are not inside "this" or one of the automatic variaibles you can add a variable to the "watch list" forces the item to be in the list. You do this by highlighting the variable you want, right click, then click "watch".
  11. Technical Need: I am replacing the Tessellator as a way to affect the opacity of all objects drawn during a time span even if they use a custom renderer. I am concerned if another mod also replaced the tessellator I will get InvalidCast exceptions when I try to call my "setOpacity" function. I would like my mod not to load, but not crash the game if some other mod has replaced the tessellator. Gameplay Application: I want to make a "Preview" of a structure from a schematic file visable inside a live game world. I need the player to see through the blocks in this preview as they do not really exist and I do not want to obstruct his view or make him thing there is a ledge when there really is not. Other Applications: If someone wanted to make a "Ghost village" mod they could use the same technique I used so villages and the villagers therein would be see-through. I guess I don't need it to gracefully fail and I can crash the game if there is a conflicting mod, I just did not want to do it as there would be no risk of "blocks turned to air" as I do not add any new blocks and any entities I make are not written out to the NBT and are only stored in memory. I think, for now, I will just go with the "Throw a exception and let the game show the crash screen" rout until the "enable/disable" mod functionality is fleshed out in a few major revisions and more mature methods of checking to see if anyone else clobbered your environment and gracefully failing to load is available.
  12. I don't know if you are being serious or not, but if you are, click on the line you want to add a breakpoint on and press ctrl+shift+B Breakpoints don't solve the problem, they let you stop the code and look at what values the variables have, check to see what the variables are before the function then if you have to do a "step in to" do go inside the function and find where the null is happening. Also please include your entire main mod file, not just those 4 lines of code.
  13. Either "Reinforced_blocks" or "Reinforced_blocks.naquadahbomb" is null. Put a breakpoint right before you add the recipe and see if either one is null.
  14. cpw did you ever get a chance to look at this thread? I still have not found a solution on how to gracefully fail to load a mod.
  15. Can you post the class declaration and the constructor for TileEntityMillChest?
×
×
  • Create New...

Important Information

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