Jump to content

micdoodle8

Forge Modder
  • Posts

    65
  • Joined

  • Last visited

Everything posted by micdoodle8

  1. Okay I see it now in that one, but getting a different stack trace now... java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(Unknown Source) at java.util.HashMap$ValueIterator.next(Unknown Source) at net.minecraft.src.MapGenStructure.generateStructuresInChunk(MapGenStructure.java:47) at micdoodle8.mods.galacticraft.GCChunkProvider.populate(GCChunkProvider.java:451) at net.minecraft.src.ChunkProviderServer.populate(ChunkProviderServer.java:218) at net.minecraft.src.Chunk.populateChunk(Chunk.java:1185) at net.minecraft.src.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118) at net.minecraft.src.PlayerInstance.<init>(PlayerInstance.java:26) at net.minecraft.src.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:88) at net.minecraft.src.PlayerManager.updateMountedMovingPlayer(PlayerManager.java:244) at net.minecraft.src.ServerConfigurationManager.serverUpdateMountedMovingPlayer(ServerConfigurationManager.java:197) at net.minecraft.src.NetServerHandler.handleFlying(NetServerHandler.java:341) at net.minecraft.src.Packet10Flying.processPacket(Packet10Flying.java:51) at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:78) at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:76) at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:55) at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:111) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:645) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:562) at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:107) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:468) at net.minecraft.src.ThreadServerApplication.run(ThreadServerApplication.java:18)
  2. Getting the following error when working with Structures... The only thing I found when searching this site and google are when people are spawning entities in the client thread, nothing about Structures spawning in a chunk. Any ideas? Thanks.
  3. I thought you just had to register the provider and providertype, since the provider is set through the WorldClient on client-side, which gets the provider from DimensionManager. Edit: In the for loop on line 230 of MinecraftServer.java, is DimensionManager.getIDs() supposed to have a length of zero? That's where I traced the problem back to. Edit2: Nevermind, the problem was WorldProvider.setDimension(id) was setting the wrong variable, submitted a pull request.
  4. So... SkyProvider is useless most of the time. Wouldn't there be a way to fix that? Edit: Found the problem, FMLClientHandler.instance().getClient().theWorld instanceof CustomWorldProvider returns true when you join the world for the first time, but after logging back in again, returns false.
  5. Hey, I've tried creating a new instance of my SkyProvider by adding: this.setSkyProvider(new CustomSkyProvider()); into the constructor. Inside the render method in the sky provider I added a log output to see if the method was called, and nothing happens. Is this feature broken in the latest builds, or do you set the Sky Provider some other way? Using build #269 Thanks. Edit: After further investigation, the sky renderer works the first time you join the dimension, but after leaving and joining again it goes back to the old sky.
  6. Into MinecraftForgeClient.java: public static HashMap<String, EntityFX> customParticles = new HashMap<String, EntityFX>(); public static void addCustomParticle(String name, EntityFX fx) { if (customParticles.containsKey(name)) { return; } customParticles.put(name, fx); } RenderGlobal.java public EntityFX func_72726_b(String par1Str, double par2, double par4, double par6, double par8, double par10, double par12) { ... if (par1Str.equals("hugeexplosion")) { this.mc.effectRenderer.addEffect(var21 = new EntityHugeExplodeFX(this.theWorld, par2, par4, par6, par8, par10, par12)); } else if (par1Str.equals("largeexplode")) { this.mc.effectRenderer.addEffect(var21 = new EntityLargeExplodeFX(this.renderEngine, this.theWorld, par2, par4, par6, par8, par10, par12)); } // New: for (int i = 0; i < MinecraftForgeClient.customParticles.size(); i++) { EntityFX fx = null; fx = MinecraftForgeClient.customParticles.get(par1Str); if (fx != null) { this.mc.effectRenderer.addEffect(fx); } } ...
  7. Hey. I am getting this error when I log out holding a crossbow (my mod). The error occurs when logging back in after logging out with a crossbow in hand. Says "Internal Server Error" (SSP), and shows this in the log: 2012-08-20 10:59:56 [sEVERE] [ForgeModLoader] A critical server error occured handling a packet, kicking gz@75871653 This is probably a problem with my mod, but I'm getting no stack trace and it's FML-related obviously, so if anyone knows how to solve this the help would be appreciated. Thanks.
  8. It's in the vanilla code?
  9. I know I'm probably an idiot for doing it like this but here it is anyway: With ModLoader's onTickInGame method, I would just set the hook to send partial ticks, and the overlay would work. When using FML, I am getting severe flicker. I have tried using different tick types, with no success. mc.gameSettings.hideGUI = true; ScaledResolution scaledresolution = new ScaledResolution(mc.gameSettings, mc.displayWidth, mc.displayHeight); int i = scaledresolution.getScaledWidth(); int k = scaledresolution.getScaledHeight(); mc.entityRenderer.setupOverlayRendering(); GL11.glEnable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glDepthMask(false); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBindTexture(GL11.GL_TEXTURE_2D, mc.renderEngine.getTexture("/Mic'sMods/CrossbowMod/gui/attachmentShortScope.png")); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(i / 2 - 2 * k, k, -90D, 0.0D, 1.0D); tessellator.addVertexWithUV(i / 2 + 2 * k, k, -90D, 1.0D, 1.0D); tessellator.addVertexWithUV(i / 2 + 2 * k, 0.0D, -90D, 1.0D, 0.0D); tessellator.addVertexWithUV(i / 2 - 2 * k, 0.0D, -90D, 0.0D, 0.0D); tessellator.draw(); GL11.glDepthMask(true); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); What do I need to do to get a non-flickering game overlay? Thanks.
  10. Ah okay, that makes sense. So how would I go about spawning a non-mob entity? ItemBow does it exactly the same as 1.2.5, and works fine with world.isRemote, whereas mine is spawning dummy entities when world.isRemote is true. The code is almost exactly the same as vanilla.
  11. Okay so putting FMLLog.info("world.isRemote: " + world.isRemote); into the onUpdate method shows that world.isRemote is changing from true to false...
  12. Ready to un-ignore this?
  13. Hey guys, I've been having a problem with an automatic crossbow in Forge 4.0.0, and I don't know what's happening. All I know is that I have a message written to the log every 24 ticks, and it works fine until I put it inside an if statement checking whether the world is remote. When I put it in that if statement, it will work fine for a couple seconds, then it will randomly stop for about 5 seconds, then keep going, and repeats the cycle. This works fine: FMLLog.info("message"); if (!world.isRemote) { world.spawnEntityInWorld(entitybolt); } This will stop randomly: if (!world.isRemote) { FMLLog.info("message"); world.spawnEntityInWorld(entitybolt); } Can anyone reproduce the problem or let me know what the problem might be? Thanks.
  14. Okay, just making sure I wasn't being ignored. I have this feeling Lex doesn't like me, lol.
  15. Anyone? I thought this would be a pretty reasonable and easy addition.
  16. Pretty self-explanatory. I'd like to see this implemented into IItemRenderer, which lets you decide whether you want the item to render the swing progress or not. public enum ItemRendererHelper { + SWING_PROGRESS } public void renderItemInFirstPerson(float par1) { ... if (custom.shouldUseRenderHelper(FIRST_PERSON_MAP, var14, SWING_PROGRESS)) { var7 = 0.8F; var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * (float)Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float)Math.PI); GL11.glTranslatef(-var10 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var17) * (float)Math.PI * 2.0F) * 0.2F, -var18 * 0.2F); var17 = 1.0F - var4 / 45.0F + 0.1F; if (var17 < 0.0F) { var17 = 0.0F; } if (var17 > 1.0F) { var17 = 1.0F; } var17 = -MathHelper.cos(var17 * (float)Math.PI) * 0.5F + 0.5F; GL11.glTranslatef(0.0F, 0.0F * var7 - (1.0F - var2) * 1.2F - var17 * 0.5F + 0.04F, -0.9F * var7); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var17 * -85.0F, 0.0F, 0.0F, 1.0F); } ...
  17. The actual entity position would still be buggy though would it not?
  18. Well in the video I have the EntityTracker set to update it every 0.05s. I've also tried lower, higher, same as the default arrow, etc with no success. The vanilla EntityArrow Tracker Entry: this.trackEntity(par1Entity, 64, 20, false); Mine (currently): MinecraftForge.registerEntity(net.minecraft.src.EntityWoodBolt.class, this, 0, 64, 5, true);
  19. Hello! When porting my crossbow mod to SMP, I've been relatively successful except for one problem. The problem is shown in the video below, but I'll explain it anyway. Seems to be a problem with RotationYaw, although I have tried sending my own packets from the server to update it client-side with no success. [embed=650,480] [/embed] Any help would be greatly appreciated. Thanks for your time.
  20. Ah, didn't think of that. Thanks Lex.
  21. Okay so replaced all that with the following code in load() MinecraftForge.registerAchievementPage(new AchievementPage("Mod Name", achievOne, achievTwo)); And still the same thing.
  22. I've looked around a bit and can't find an answer to this, so I'll try here. How do you get the achievement gui to show up in custom pages? Do I have to add anything other than what I have below? MinecraftForge.registerAchievementPage(new ModTestAchievementPage()); package net.minecraft.src; import net.minecraft.src.forge.AchievementPage; public class ModTestAchievementPage extends AchievementPage { public static Achievement achievTest= (new Achievement(4920, "achievTest", 0, 0, mod_ModName.blockName, (Achievement)null)).setIndependent().setSpecial().registerAchievement(); public ModTestAchievementPage() { super("Mod Name", new Achievement[] {achievTest}); ModLoader.addLocalization("achievement.achievTest", "Test an Achievement"); } } Thank you.
×
×
  • Create New...

Important Information

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