Giter VIP home page Giter VIP logo

Comments (10)

confuser avatar confuser commented on June 17, 2024

Why would you pass 0? Use setMessage(Player player, String message) instead if you don't need a timer.

from barapi.

ST-DDT avatar ST-DDT commented on June 17, 2024

If a player joins my game just before it starts (less than 1 second remaining) this exception is thrown.
And i don't want to write a workaround for this case.
It would be great to have at least javadoc documenting this beahaviour.

from barapi.

confuser avatar confuser commented on June 17, 2024

Then can you not add a check within your code for this scenario? I don't
really believe its the job of the API to handle incorrect arguments to it
as far as seconds go. The problem is, I would need to throw some form of an
exception if 0 or less is passed so you would still encounter an error in
the console unless it is caught regardless.

On Sun, Dec 29, 2013 at 1:37 PM, ST-DDT [email protected] wrote:

If a player joins my game just before it starts (less than 1 second
remaining) this exception is thrown.
But i want to show the bar to the player regardless whether it is empty or
not.


Reply to this email directly or view it on GitHubhttps://github.com//issues/5#issuecomment-31317150
.

from barapi.

ST-DDT avatar ST-DDT commented on June 17, 2024

Maybe, but i guess it should be documented somewhere.
(If i have some freetime later this day i'll create a PR adding some Javadocs.)

from barapi.

ST-DDT avatar ST-DDT commented on June 17, 2024

Here is my PR:
Added some javadocs
#6

from barapi.

alyphen avatar alyphen commented on June 17, 2024

The method should be validated and throw a more related exception, as it is, when a plugin does this the error is related to BarAPI since BarAPI is the component dividing by zero, and hence the developer assumes it's a problem with the API rather than their plugin.

from barapi.

confuser avatar confuser commented on June 17, 2024

The stack trace should show where the original error occurred from. It is no different from misuse of the Bukkit API such as passing in a y value for a Location greater than the world height?

from barapi.

alyphen avatar alyphen commented on June 17, 2024

Passing an invalid y value does not throw an exception; however when trying to do something like add two locations from different worlds, Bukkit will throw a more related exception.
Of course, up to you though.

from barapi.

ST-DDT avatar ST-DDT commented on June 17, 2024

There is something more, i was unable to test until now.

What happens if a negative value is passed?

Then the health would become greater than maxHealth but with 20 ticks delay.
a) The timer will never stop except there is another setMessage called.
b) This will potentially throw an exception either client or server side and it can't be tracked back to the plugin.

EDIT: Just tested that using -1.
No exception but strange bahaviour:
2013-12-31_12 47 36
2013-12-31_12 47 43
2013-12-31_12 47 44
2013-12-31_12 47 45

from barapi.

confuser avatar confuser commented on June 17, 2024

That is rather odd behaviour. PR merged.

from barapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.