Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

yet again.. with my mod....

 

i now have a GUI that has a list of strings that i want to scroll around it..

 

the thing i need is something like:

if(scroll up){
    int -= 1
}

and

if(scroll down){
    int += 1
}

Doing stuff n' things

Call

org.lwjgl.input.Mouse#getEventDWheel

from your override of

GuiScreen#handleMouseInput

to get the scroll amount, if any.

 

I suggest looking at how vanilla and Forge use this in various GUI classes like

GuiScrollingList

or

GuiChat

.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

  • Author

thanks so much..

modified a bit the

handleMouseInput

from the

GuiChat

class.

why didnt i think of looking at that i dont know....

    public void handleMouseInput() throws IOException
    {
        super.handleMouseInput();
        int i = Mouse.getEventDWheel();

        if (i != 0)
        {
            if (i > 1)
            {
                i = 1;
            }

            if (i < -1)
            {
                i = -1;
            }

            recordsScroll += i;
        }
    }

ill tweak it a bit more after that to limit and such...

Doing stuff n' things

And then multiply by any value you want to make it go faster/slower.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

  • Author

And then multiply by any value you want to make it go faster/slower.

ye i was going to make it go faster anyway.. i just took the base

 

but

You can just do

int i = Integer.signum(Mouse.getEventDWheel());

and have the same effect as with all those if statements.

wowowowow signum? wth is signum? i never even heard a word that is looking like this word..

 

i think i like the normal code instead, where its more spread out on the method.. so later when i look at it i know what it does easly...

 

actually i do know signalum(http://ftbwiki.org/Signalum_Ingot) and it looks a bit like signum? rig;right? right?  ;D

Doing stuff n' things

  • Author

Signum is fancy-word for sign.

signum(i)

gives you -1 for negative numbers, +1 for positive numbers and 0 for 0.

just telling which side of the plate the number is? that's it? i wonder why mojang didnt use this..

in the source code it does then exactly what signum does..

Doing stuff n' things

  • Author

so looked around java a bit online and realised how simple it is.. i just never used it...

 

it compacted the code way more..

    public void handleMouseInput() throws IOException{super.handleMouseInput();
        recordsScroll += Math.signum(Mouse.getEventDWheel());  //note to self(signum returns +1 for positive numbers and -1 for negative numbers, 0 for 0..)
    }

Doing stuff n' things

  • Author

No, don't do Math.signum! It's for floating point numbers and compared to

Integer.signum

it's horribly slow. Plus, why are you even dealing with floating point?

oh oops.. tnx for letting me know...

and what u mean by floating point?

Doing stuff n' things

  • Author

Floating Point.

 

In Java:

float

and

double

.

oh these ones.. where do i use them? i just changed math to integer im dont think im using floats or doubles anywhere, am i?

Doing stuff n' things

  • Author

Math.signum

only exists in two versions where it takes a

double

or a

float

and it returns the same thing. There is no

int signum(int)

in

Math

, only

double signum(double)

and

float signum(float)

ok i understood it already.. i changed it to

Integer.signum

Doing stuff n' things

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.