Jump to content

SanAndreaP

Forge Modder
  • Posts

    1689
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by SanAndreaP

  1. There's nothing you can do except replacing the water texture, but that would affect any water.
  2. I may see what's going on. You register your blocks / items in FMLInitializationEvent (namely in the method init) You should register them during preInit (FMLPreInitializationEvent) See if that's the problem.
  3. In your Forge Folder, there's a file called ForgeModLoader-client-0.log put the content on a pastebin site (e.g. https://gist.github.com/) and post the link to it here.
  4. I see. Can I see your full log? (in spoilers please)
  5. You need to add your block/item to one of the creative tabs in order to see them in the search tab. https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/registry/ESPModRegistry.java#L185-L188 In your block / item initialization add .setCreativeTab (or whatever the equivalent to it is in 1.7.x). The parameter is the creative tab you wanna put your item in. In my example I have a custom one, but for your purposes you can use one of the instances within the class CreativeTabs (like CreativeTabs.tabBlock)
  6. where do you search for your block?
  7. net.minecraft.command <- In there are all commands. Look for the class with tellraw and read what it does. To execute a command codewise, look what the Command Block does (net.minecraft.tileentity.TileEntityCommandBlock). In 1.6.4 the method where you can find this is called "executeCommandOnPowered". I don't know in 1.7.4 if it's still the same name, though.
  8. The problem about setting the water's color is that it gets multiplied by the value you define, hence the name waterColorMultiplier. Water is default blue (0x0000FF, it's not true but let's say that), you define a color multiplier of 0x00FFFF. The end result would be 0x0000FF * 0x00FFFF -> 0x0000FF If you would define a multiplier of 0x000000 then it would be 0x0000FF * 0x000000 -> 0x000000 or if 0x008080 then 0x0000FF * 0x008080 -> 0x000080 For easier understanding you can always look at those hex values like rgb values: 0x0000FF = rgb(0,0,255) 0xFF0000 = rgb(255,0,0) Thus 0x0000FF * 0xFF0000 = rgb(0*255, 0*0, 255*0) = rgb(0,0,0)
  9. What do you mean by "biome's mutation"?
  10. The best way to find that out is to test it for yourself.
  11. Every entity has already a dataWatcher instance. Everything else is explained in my previous post.
  12. 2 things I find severely wrong and one minor complaint: 1. this line: ResourceLocation textures = (new ResourceLocation("bettermc:textures/blocks/Counter.png")); You call it every render tick (or frame), which means you always load the same texture over and over from your file system. move this outside your method and define it as private/protected/public, static and final 2. you never call your model's render method. Also your model's render method is designed for entities. For blocks make your own one. Look at what I did: https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/client/model/ModelBiomeChanger.java https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/client/render/RenderTileEntityBiomeChanger.java Also: Minecraft.getMinecraft().renderEngine.func_110577_a(textures);;; Wouldn't one semicolon be enough?
  13. I suspect that your fuse counter (variable within your entity class) does only change within the serverside scope, which means the fuse won't be visible to the client and thus rendering your entity white all the time. You need to sync the fuse with the client and the easiest way to do this is to use a DataWatcher. Define a new DataWatcherObject (with this.dataWatcher.addObject(...)) within entityInit on the server side (if worldObj.isRemote == false) set the object's value to the fuse variable in your onUpdate method after it gets updated with dataWatcher.updateObject(...) on the client side (if worldObj.isRemote == true) set the value of the fuse variable to the dataWatcherObject's value with getWatchableObjectInt(...) If you don't understand what I mean, here have some pseudocode: Entity Class ---------- entityInit(): dataWatcher->addObject(id, Integer.valueOf(0)) | id must be unique! If you get a crash because an already given ID, try another one | second param must be casted to the datatype you wanna put in there, here Integer (BTW, the cast is not pseudocode) onUpdate(): (at the end within the method) if world is not remote: dataWatcher->updateObject(id, fuse) | id must be the same as the above defined one else: fuse = dataWatcher->getWatchableObjectInt(id) | id, same as above
  14. Basic math. From your code, when you have a rotation of 0° (which is idle), the code only multiplies values which means 0 * [a value] * [another value] = 0 And yes, Math.cos(0) is 1, but the second parameter (here f1) is also 0, so in all it's 0 When it moves, the values have a value != 0, so you'll have a difference between the rotation of the upper and lower part, since they multiply with different values. Solution? Add a standard rotation to the calculated value, like rightarm.rotateAngleX = Math.cos(...) * ... + [rotation] Play with the value of [rotation] until it's right. Or take the value from the model constructor, where you initialize the rightarm ModelRenderer. Little note: I made the effort and tried to find out what those setRotationAngles (and some other methods) parameters mean (or what they should be called). You can see the result here: https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/client/model/ModelEnderIgnis.java#L154
  15. 1. You either would need to access the onTick method for the chest tileentity (which wouldn't work unless you explicit tell it that it should tick) and thus make base-edits (very bad) or make a coremod (complicated) or make a TickHandler, search for all chests, read their content, check for your items and reduce durabillity, but this is a HUGE performance eater! 2. Problem with all those methods is that the chunks need to be loaded in order to have the chests tick / search for them. You could force chunks to stay loaded, but again that would result in a HUGE performance decrease.
  16. Look at my repo: https://github.com/SanAndreasP/EnderStuffPlus I have a custom compass in there, but you can always use your TextureCalendar class. Especially look at those files: Item class: https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/item/ItemAvisCompass.java#L22 Event class: https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/client/registry/IconRegistry.java Texture class (use your TextureCalendar for this one): https://github.com/SanAndreasP/EnderStuffPlus/blob/master/java/sanandreasp/mods/EnderStuffPlus/client/texture/TextureAvisCompass.java
  17. Alright, I see. I will make a custom build bat then. Thanks for your help, appreciate it
  18. oh, I didn't know you have to do it like this, but yeah, it works now. One question though, is there a way to reference the mcp'ed jar directly from the build folder of the Manager Pack? like Forge |__SAPManagerPack |__build |__libs |__mcp.jar |__build.gradle |__EnderStuffPlus << this mod references the mcp.jar from above |__build.gradle |__... ... |__build.gradle |__settings.gradle |__... ...
  19. Sorry for DP, but it doesn't work. I still get the same errors. Here are my new build.gradle files: (SAPManagerPack) https://gist.github.com/anonymous/9da75f3c4c50ff69d70b (EnderStuffPlus) https://gist.github.com/anonymous/2b8717ff3bb1b42804a8
  20. Ah, thanks! I'll try the local jar stuff. The maven stuff sounds interesting, I'll look into that later.
  21. Question: do I need a maven repo? What's it used for? I've never used maven before.
  22. EDIT: I've noticed I've posted it into the wrong forum. Can a moderator please move this to the support forum? Thanks. So I recently switched to Forge Gradle and must say I really dig the new system. The only thing I don't get is, how do you build a mod which depends on another mod? The thing is both mods will be build at the same time and have seperate source folders: /Forge /SAPManagerPack /java /resources /EnderStuffPlus /java /resources Here the mod EnderStuffPlus is dependent on the (core)mod SAPManagerPack. If I try to build only SAPManagerPack everything works fine, but if I try to compile EnderStuffPlus (alongside with SAPManagerPack), I get "cannot find symbol [insert class from SAPManangerPack here]" errors. Here's the settings.gradle within the Forge folder: https://gist.github.com/anonymous/8eca6f78174e07e4fc37 This is the build.gradle file for SAPManagerPack: https://gist.github.com/anonymous/adae0cdb9839442142f0 and for EnderStuffPlus: https://gist.github.com/anonymous/6ec1164eca5673525db8 Here's the build log: https://gist.github.com/anonymous/1b6541aa54be45aec1f1 It would be great if someone here could tell me what I should do in order to get it to work.
  23. Then change the parameter type of it to EntityLivingBase. Overall, it's your method
  24. You also need to login and play the game once, so it can download all the files needed. Você também precisa fazer o login e jogar o jogo uma vez, para que ele possa baixar todos os arquivos necessários. (Google Translate)
  25. Are you on Windows (because of the /Users/) or on Linux (or Mac, since on Linux the /Users/... would be invalid)? For Windows just run install.bat or try this cd /Users/crocano861/Downloads/forge/ sh install.sh
×
×
  • Create New...

Important Information

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