public static void createStick(Scene scene, World world, Entity stick, JSONObject components) throws JSONException { Game game = scene.getGame(); stick.add( new Sprite( /*game.getRenderer().addTexture(new float[]{1, 1, 0, 1}, 16, 3)*/ game.textureManager .get("stick"), -0.05f)); stick.get(Sprite.class).postDrawn = true; JSONObject transformation = components.getJSONObject("Transformation"); stick.add( new Transformation( (float) transformation.getDouble("Translate-X"), (float) transformation.getDouble("Translate-Y"), (float) transformation.getDouble("Angle"))); PhysicsBody b = new PhysicsBody( world, BodyDef.BodyType.DynamicBody, stick, new PhysicsBody.Properties(0.2f, 0.2f, 0.1f)); stick.add(b); /*Filter d = b.body.getFixtureList().get(0).getFilterData(); d.groupIndex = ExplosionSystem.NON_EXPLOSIVE_GROUP; b.body.getFixtureList().get(0).setFilterData(d);*/ PolygonShape fireShape = new PolygonShape(); fireShape.setAsBox( 4 * PhysicsSystem.METERS_PER_PIXEL, 4 * PhysicsSystem.METERS_PER_PIXEL, new Vector2(10 * PhysicsSystem.METERS_PER_PIXEL, 0), 0); b.createSensor(fireShape); Carriable c = new Carriable(); c.position = new Vector2(156, 136); c.angle = -30; for (int i = 0; i < 8; ++i) { c.positions.add(new Vector2(1628 - 1500, 256)); c.angles.add(0f); } c.positions.add(new Vector2(128, 5128 - 266)); c.angles.add(10f); c.positions.add(new Vector2(128, 5128 - 266)); c.angles.add(10f); c.positions.add(new Vector2(638 - 500, 488 - 266)); c.angles.add(15f); c.positions.add(new Vector2(890 - 750, 474 - 266)); c.angles.add(10f); c.positions.add(new Vector2(1126 - 1000, 456 - 266)); c.angles.add(-7f); c.positions.add(new Vector2(1368 - 1250, 440 - 266)); c.angles.add(-10f); c.positions.add(new Vector2(1368 - 1250, 440 - 266)); c.angles.add(-20f); c.positions.add(new Vector2(1368 - 1250, 440 - 266)); c.angles.add(-20f); c.position.x *= 24f / 143; c.position.y *= 48f / 274; c.position.x -= 12; c.position.y -= 24; float xFactor = 48f / 250; float yFactor = 48f / 266; for (int i = 0; i < 16; ++i) { c.positions.get(i).x *= xFactor; c.positions.get(i).y *= yFactor; c.positions.get(i).x -= 12; c.positions.get(i).y -= 24; } stick.add(c); Entity emitter = new Entity(); emitter.add(new Transformation(0, 0, -90)); emitter.add(createFireEmitter(game.getRenderer(), 16, 70)); scene.addEntity(emitter); Burner burner = new Burner(emitter); stick.add(burner); burner.source = false; burner.fullLife = 6; }