I'm having problem with this Random java thing in jython. I'm coding bukkit plugins in python. Here's the code:
class hween(PythonPlugin):
def CandyChance(self):
chance = self.cfg.getDouble("main.candydropchance", 50) / 100 #in config, it's 10, so I must do this to get it like 0.1...
return chance
@hook.event("block.BlockBreakEvent", "HIGHEST")
def onBlockBreakEvent(event):
chance = pyplugin.CandyChance()
print chance #When I print chance out, it's 0.1 (10 is in config) which is good I believe
if(Random.nextDouble("%s"%chance)):
#do something
Here is an interactive Jython session that reproduces your error:
Jython 2.7b1 (default:ac42d59644e9, Feb 9 2013, 15:24:52)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_25
Type "help", "copyright", "credits" or "license" for more information.
>>> from java.util import Random
>>> Random.nextDouble("0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: nextDouble(): self arg can't be coerced to java.util.Random
>>> Random.nextDouble()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: nextDouble(): expected 1 args; got 0
>>> Random().nextDouble()
0.3442604857098639
>>>
The nextDouble()
method is not static and it does not take any arguments. You'll have to rethink how you use "this Random java thing" (it is not clear what you are trying to do).