IllegalArgumentException: Expected a Int Value (giving an object a texture)

Hey guys i need help with this, i’m just trying to apply texture on the box object…
and here’s the error :
Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
IllegalArgumentException: Expected a Int Value!

i followed the code that i saw in one of jmonkey tutorials…
please … i’m very new at this. thank you very much

Here’s the Code:
package mygame;

import com.jme3.app.SimpleApplication;
import com.jme3.material.Material;
import com.jme3.math.ColorRGBA;
import com.jme3.math.Vector3f;
import com.jme3.renderer.RenderManager;
import com.jme3.scene.Geometry;
import com.jme3.scene.shape.Box;
import com.jme3.texture.Texture;

public class Main extends SimpleApplication {

public static void main(String[] args) {
    Main app = new Main();
    app.start();
}

@Override
public void simpleInitApp() {
    Box one = new Box(1, 1, 1);
    Geometry paddleOne = new Geometry("Box", one);
    Material paddleOneMat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
    Texture paddleOneText = assetManager.loadTexture("Textures/paddle.jpg");
    paddleOneMat.setTexture("Color", paddleOneText);
    paddleOne.setMaterial(paddleOneMat);
    paddleOne.setLocalTranslation(new Vector3f(-4,0,0));
    rootNode.attachChild(paddleOne);
}

@Override
public void simpleUpdate(float tpf) {
    //TODO: add update code
}

@Override
public void simpleRender(RenderManager rm) {
    //TODO: add render code
}

}

Can you give the full error?

Is the texture resolution a power of two? (16x16, 32x32, 64x64, etc…)

In the future, don’t bother mentioning an exception without including the stack trace. It’s almost just as good.

600x450 pixels
it’s a jpg

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.IllegalArgumentException: Expected a Int value!
at com.jme3.shader.Uniform.setValue(Uniform.java:180)
at com.jme3.material.Technique.updateUniformParam(Technique.java:151)
at com.jme3.material.MatParam.apply(MatParam.java:147)
at com.jme3.material.Material.render(Material.java:1088)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:523)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:322)
at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:371)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:788)
at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:719)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:983)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1035)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)
at java.lang.Thread.run(Thread.java:744)

Try with a power of two texture. It still gives you an error?

Try replacing this line:
paddleOneMat.setTexture("Color", paddleOneText);
with:
paddleOneMat.setTexture("ColorMap", paddleOneText);

In Unshaded.j3md ths Parameters are defined as follow. Use “ColorMap” instead of “Color”.

MaterialParameters {
    Texture2D ColorMap
    Texture2D LightMap
    Color Color (Color)

    //...

}