Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


Forge Modder
  • Content Count

  • Joined

  • Last visited

Community Reputation

36 Excellent

About rich1051414

  • Rank
    Creeper Killer


  • Gender
  • Location
    United States
  • Personal Text
    Creator of the Paint Mod and Damage Indicators Mod

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I raytraced from the block back to the player head, and then back to the players feet, to see if I ran into another block, manually. Seemed like the most direct way to the solution, but it is still expensive. I was hoping minecraft kept a list of non-skipped or skipped blocks, but it appears to only care if blocks are directly obstructed instead of not visible by foreground blocks not touching it. At the moment, I have simply delayed my lookup to twice a second to minimize performance impact, maybe I will think of something later.
  2. I am currently working on a mod which requires me to check if a block is currently visible to a player. Grabbing a collection of blocks within this area is not a performance issue, however, checking if each block within it is visible or not is. This check is done on an area of 16x16x16 so it needs to be optimized. Is there a list that forge keeps, for rendering purposes, that I could use to speed this process up? If not, does anyone have an idea of a trick to make the check faster?
  3. You are totally right. I never realized it made the actual player move side to side, and not just the camera, but it really became noticeable when the player was shrink. Disabling head bobbing stopped it.
  4. I am currently working on a mod which miniaturizes the player, but this causes certain things to get exaggerated, like move speed, and the usually subtle sway back and forth the player does when walking. I cannot seem to be able to locate the code responsible for the swaying, so maybe someone can point me in the right direction. What I mean by sway is, when the player is moving, the model moves slightly from left to right as he moves forward. It is also not directly related to the limbswing, as the swaying gets out of sync with the leg movement. I will have no difficulty correcting the is
  5. Couldn't you do something like this: public AxisAlignedBB rotateBoundingBox(AxisAlignedBB bb, int steps){ AxisAlignedBB ret = bb.copy(); for(int i = 0; i < steps; i++){ ret.minX = bb.maxZ; ret.maxX = bb.minX; ret.minZ = bb.maxX; ret.maxZ = bb.minZ; } return ret; } Not sure if I got the order of the dimension shifting right, but should be universal.
  6. So after updating and migrating my code to forge 1.8, I have noticed what I think is a bug with the DynamicTexture object, but I am not totally sure if I am just doing it wrong. Currently I have my own texture loading code for skinning, which uses the DynamicTexture object and fills the objects texture data manually. It will then call DynamicTexture.updateDynamicTexture() to bind the texture before drawing it. However, it now seems to not be binding properly. I have checked and the DynamicTexture is properly getting its image data, but updateDynamicTexture() does not seem to be binding no
  7. We already went through this idea -- the problem is that would block all entities, including players. He wants to only block certain mobs from crossing. Overriding the addCollisionBoxToList will allow you to selectively block things. Look at the code I posted. Also, the vanilla Pathfinding will path around the invisible blocks, as they are stacked 2 high, as well. The only real caveat is if you bury the block, in a hole, the mob could walk over the invisible blocks, but i would call that user error, as they aren't using the block right. You could even add a simple check for such a th
  8. I think you may be making this harder on yourself. All you need is an invisible block to occupy the block position above the block. You would only need something like this in your actual block code: public void onBlockAdded(World par1World, int par2, int par3, int par4) { super.onBlockAdded(par1World, par2, par3, par4); if(par1World.isAirBlock(par2, par3 + 1, par4)){ par1World.setBlock(par2, par3 + 1, par4, MyBlocks.pathBlockingBlock); } if(par1World.isAirBlock(par2, par3 + 2, par4)){ par1World.setBlock(par2, par3 + 2, par4, MyBlocks.pathBlockingBlock);
  9. Line 89-90 of ModelRenderer: TextureOffset textureoffset = this.baseModel.getTextureOffset(par1Str); this.setTextureOffset(textureoffset.textureOffsetX, textureoffset.textureOffsetY); You need to set your texture offsets first.
  10. First of all, the model must be centered on the relative point 0,0,0. By that I mean, in your model rendering, the offset point x=0, y=0, z=0 is the center-most point in your model. Then any rotations will rotate at the center point in the model.
  11. gradlew cleancache --refresh-dependencies That fixed the issue for me.
  12. gradlew build The issue has also been recreated by others, and is on the ForgeGradle bug list.
  13. Everything seems good to go, except gradle fails everytime on the reobf stage: FAILURE: Build failed with an exception. * What went wrong: A problem was found with the configuration of task ':reobf'. > No value has been specified for property 'deobfFile'. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 5.909 secs Bit confused what i am missing Edit: Here is my build file: buildscript { repositories { mavenCentral() maven { name = "forg
  14. It would be fairly easy to implement your own. First output your data into a byte array, then split it up into chunks the size you want and send them, then after sending the last part, send a small final packet so the client can know the packet is done, then merge those parts back together client side and then extract whatever data it holds.
  15. I assume you mean how do you get the end user to get the library loaded so you can use it? You can add the library to the mods folder too, but forge will give a warning since its not a real mod, but it will inject it, or you can simply extract the library jar and add it to your mod. That is if the distribution rules on the library allows for that.
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.