• 0

    posted a message on 100,000 Things to do in Minecraft

    2249: Kill the Ender Dragon and the Wither at the same time

    2250: Kill the Ender Dragon WITH the wither

    2251: Clear a water temple without water breathing on anything (torches :P)

    2252: Fight the Wither on a platform in the sky (At least 30x30)

    2253: Kill the Ender Dragon without shooting any Ender Crystals

    2254: Kill the Ender Dragon BY shooting Ender Crystals (Explosion Damage)

    2255: Kill 2+ Withers at once

    Posted in: Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]

    56

    Quote from Chronos02»

    I just tried it from scratch the way I think it would work, and it worked :D it took 5 hours tho...


    Nice :) Sorry I couldn't help you with that. Sometimes things do take that long though lol

    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»

    Yeah, i tried everything, copy pasting, copy pasting AND adjusting, you name it, it didn't work :/


    Well, sorry then :\ did you copy all of the files? Like Render & Entity file?

    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»

    Aaaaannndddd its me again. Sick of me yet? xD but in all seriousness I kinda need to know the EXACT codeset to make a mob simply climb a wall to get to a player, similarly to a spider. I have read the spider code many times over to see what makes it happen, then copy-pasted as a last-ditch effort to getting it to work. I was hoping you knew, because apparently google doesn't.

    Cheers


    Ooh. Spiders are tricky. So when you copied the spider code did it work for you? Cause that's the first place to start. Just copy the game's original code, and work your way off of that. That was one of the only points that confused me in the game :\ sorry. So just start with the default game's version, then one step at a time work your way to what you want.

    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»

    THANK YOU SO MUCH! It actually worked. I found the code in the setThrowableHeading method where this set of code was found:
     @Override
     public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_)
     {
     float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_);
     p_70186_1_ /= (double)f2;
     p_70186_3_ /= (double)f2;
     p_70186_5_ /= (double)f2;
    
    //this is the adjustable thing v
     p_70186_1_ += this.rand.nextGaussian() * 0.307499999832361937D * (double)p_70186_8_;
     p_70186_3_ += this.rand.nextGaussian() * 0.307499999832361937D * (double)p_70186_8_;
     p_70186_5_ += this.rand.nextGaussian() * 0.307499999832361937D * (double)p_70186_8_;
    
    
     p_70186_1_ *= (double)p_70186_7_;
     p_70186_3_ *= (double)p_70186_7_;
     p_70186_5_ *= (double)p_70186_7_;
     this.motionX = p_70186_1_;
     this.motionY = p_70186_3_;
     this.motionZ = p_70186_5_;
     float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_);
     this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI);
     this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI);
     }

    Glad I helped :) Good luck bro
    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»

    I understand this is for fireball based projectiles with vectors and other nitty gritty thing. I have an EntityThrowable based projectile, therefore this doesn't work.

    Should've said so than :P an easy way to do it is to look in the EntityThrowable class' constructor where it sets the velocity based on the direction of the EntityLivingBase. So all you would have to do is copy that code into your constructor, or overwrite it after calling the constructor.

    So you'd take the code that sets the motion's direction, and make it so the variable that controls the straying (probably f something, or d something, or it would look like rand.nextGuissian() * 0.05F) and make it a little bigger.

    so if it was a variable, you'd make the variable a little bigger, or if it was nextGuissian, make the * 0.05F bigger, like * 0.125F. I'm almost positive it's going to be nextGuissian though.
    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    56
    Quote from Chronos02»
    Hey it's me again I was wondering if there was a way to make custom projectiles have more spread (you know that slight offset with projectile fire? I need it quadrupled). If for whatever reason you need to know why it's for my fire staff. Thanks in advance :D

    If you see a rand.nextGuissian (Idk how you spell it XD) than change the number it's multiplied by if it's in the velocity arguments(Or if it's being set by this.motionX = Xmotion * rand.nextGuissian() * 0.05F;) So for example:
    EntitySmallFireball e = new EntitySmallFireball(this, accelX, accelY, accelZ);
    float xzSpread = 0.125F;
    float ySpread = 0.1F;
    e.motionX += rand.nextGuissian() * xzSpread;
    e.motionY += rand.nextGuissian() * ySpread;
    e.motionZ += rand.nextGuissian() * xzSpread;

    or
     
    
    EntitySmallFireball e = new EntitySmallFireball(this, accelX, accelY, accelZ);
    float xzSpread = 0.125F;
    float ySpread = 0.1F;
    e.setVelocity(accelX + rand.nextGuissian() * xzSpread, accelY + rand.nextGuissian() * ySpread, accelZ + rand.nextGuissian() * xzSpread);

    90
    Posted in: Mods Discussion
  • 0

    posted a message on [1.8] How to setup a Minecraft Forge Workspace (Outdated-ish)
    Quote from Silvercatcher»
    Well, thanks for this walkthrough.



    But could you explain what the steps 4+5 do?

    (the last ones)

    [pre]-Dfml.ignoreInvalidMinecraftCertificates=true[/pre]
    [pre]
    [/pre]
    [pre]--version 1.7 
         - The version of either the decompiler or minecraft. Works as 1.7, so I wouldn't suggest changing it, cause that may crash[/pre]
    [pre]
    --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker
     - This is required, without it, minecraft crashes.[/pre]
    [pre]
    --accessToken=Player001 
     - Same as the username, Not entirely sure the purpose, but I'm pretty sure it crashes if you don't have it.[/pre]
    [pre]
    --username=Player001 
     - The username you wanna use for the testing[/pre]
    [pre]
    --assetsDir=eclipse/assets 
     - For sounds, you want to put this if you want them![/pre]
    [pre]
    --userProperties=Player001 
     - The same as username and accessToken. Not entirely sure, but it's better just to keep it the same as the other two.[/pre]
    [pre]
    [/pre]
    [pre]So if you really need any really specific descriptions (I know that I didn't do the best job explaining here), you could go to google, or youtube probably has something too. But pretty much everything there is required to run a modded minecraft. XD Just ignore the [pre] [/pre][/pre]
    Posted in: Mapping and Modding Tutorials
  • 1

    posted a message on [1.8] How to setup a Minecraft Forge Workspace (Outdated-ish)
    Quote from Jonas_Plays_MC»
    U forgot something to add you have to type after setupDecompWorkspace --refresh-dependencies

    You're right, I'll update that. Thanks :)

    Edit: Saw the post above, and that should be what you need to do @keomate88
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»





    Ok, I got lost way to quickly, so I decided i'd just make the fields static, so they are synchronised. This works, but makes all mobs of that type have the animation but i'm fine with that. (My mob is intended to be deformed and creepy)

    The simplest way is the way is coolAlias' way, if you want an easy way to do it.

    Basically what he's saying is there is 2 methods. 1 byte, which I'll use as a variable, and an actual variable:

    byte id = 7;
    worldObj.setEntityState(id);

    then you call:

    public void handleHealthUpdate(byte id)
    {
        if(id == 7)
        {
            this.animationVariable = 15; //15 tick animation, so 3/4 a second
        }
    }

    then you get that variable in the model class with the method he showed above
    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    Quote from Chronos02»
    W00T! It Worked! Thanks so much

    My Legendary Void Creature actually does something now.

    EDIT: Darnit, it didn't, it was just my walking animation. My attackAngle field is not detected from my model class, requiring me to create it withing itself resulting in no effect. hmmmmmm...

    Quote from coolAlias»

    Whatever field you use from your entity class MUST be synchronized to the client, or it will not be available. Again, I exhort you to look at the Iron Golem's entity and model classes for an example. Note that in the golem's case, rather than storing a precise angle, it simply has a timer (cheaper to synchronize an int than a float/double) and the animation angles are calculated from that within the model class.

    Two easy ways (as in you don't need to write custom packets) of synchronizing data in an entity are:
    1. DataWatcher
    2. World#setEntityState in combination with YourEntity#handleHealthUpdate

    To Chronos, DataWatcher is your best friend when it comes to alterations of mobs or animations. I use DataWatcher for entity states and variations in entities (like different horses) and use effects that apply to all types of the entity with a variable (instead of datawatcher).

    And for the way I described above, you need 2 variables of attackAngle. One for the entity class, and another for the model class, The one in the entity class is the one you do everything but the animating with. The one in the model class is the one that determines the animation, and is just set to the one in the entity class.

    If you were to use DataWatcher, you'd just need the method "entityInit" in the entity class. That will be the place to register your DataWatcher objects. Then you can access the DataWatcher objects anywhere, whether you want to edit them or use them.

    But coolAlias is right, using DataWatcher is a really good idea too, it's just a little longer of a line than 2 variables, which obviously makes it harder to read/edit the code. The variable is a shorter line in the animating, but you need to add another function to the class and you need 2 new variables, which could clutter up a file depending on how many you have. So both ways would work is what I'm trying to say :)
    Posted in: Mods Discussion
  • 0

    posted a message on Modding FAQ! [1.7.2] [forge]
    You just need to add a variable in the entity class, which determines the angle for the model part.

    Example: In the entity class, you have a float called "attackAngle", and in the model, you rotate the jaws, or whatever part, on a sin/cos rotation based on the attackAngle variable. You would use the function "updateLivingAnimations" (should be named similar to that) in the model class to set another instance of the attackAngle float. If you need help with that, just look at the ModelDragon's method. That's how I learned it. but that's how I would do it.

    So the animation would look like this:

    float animAngle = MathHelper.cos(attackAngle * 0.01F);
    
    this.exampleBox.rotationAngleX = animAngle + (float)(Math.PI / 90.0D);


    The attackAngle would be a second variable in the model class, which is set from a first variable in the entity class using the "updateLivingAnimations" method. Pretty simple once you get the hang of it :)
    Posted in: Mods Discussion
  • 0

    posted a message on What's wrong with this code?
    Pastebin is easier to use bro, Just sayin it takes nothing to make a file there :)
    Posted in: MCPE: Mods / Tools
  • 0

    posted a message on [1.8] How to setup a Minecraft Forge Workspace (Outdated-ish)
    So. I recently found out how to setup a 1.8 mod. I decided to show you how to too. here we go!
    Make sure you have the JDK installed and eclipse installed before you start these steps, otherwise it won't work...

    Step 1: Go to files.minecraftforge.net and:
    - Scroll down to branches, and select 1.8
    - Download the version you want, as Src, not Installer.

    Step 2: Extract the forge zip you downloaded to a new, empty folder. I'll call it "TutMod". Shift Right click in the "TutMod" folder and choose 'Open command window here'.


    Step 3: In the command prompt opened in "TutMod", run the command 'gradlew setupDecompWorkspace --refresh-dependencies'. Let it finish.

    Step 4: Once it's finished, in the same command prompt you opened run 'gradlew eclipse'.


    Step 5: Create another new folder, and name it something like 'TutWorkspace'.


    Step 6: Start up Eclipse, and set the workspace to the "TutWorkspace" folder you just created.
    Example: C://eclipse/workspace/TutWorkspace/

    Step 7: In Eclipse, go to the File tab on the top and choose the path File>Import, then General>Existing projects into workspace. Select "Existing projects into workspace".

    Step 8: In the next window after "Existing projects into workspace", in the 'Select root directory' box, direct eclipse to the Root Directory of the folder you extracted forge and ran the command prompt commands. Example:
    "C://Users/Tutorial/Workspace/TutModWorkspace/"
    Wrong Example:
    "C://Users/Tutorial/Workspace/TutModWorkspace/.eclipse/"

    To add a Client Run configuration:

    Step 1: Open the Run menu and choose, 'Run Configurations...'

    Step 2: In 'Run Configurations...', right click 'Java Application' on the left side, and select 'New'

    Step 3: In the new Java Application, For the main class, use net.minecraft.launchwrapper.Launch

    Step 4: Go to the next tab, should be pretty much directly above the main class, and it should have 2 boxes, one for the program arguments, one for VM arguments. Set this for the program arguments:
     --version 1.7 --tweakClass net.minecraftforge.fml.common.launcher.FMLTweaker --accessToken=Player001 --username=Player001 --assetsDir=eclipse/assets --userProperties=Player001

    Step 5: And use this as the VM Arguments:
     -Dfml.ignoreInvalidMinecraftCertificates=true

    I hope that this helped you set up a workspace.
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on Minecraft breaks my PC?
    if it doesnt break your computer in windowed mode, who cares about fps? just alter your game settings and make sure nothing else is running?
    Posted in: Java Edition Support
  • To post a comment, please .