tiled-plugins/random-tile-placer.js
2026-02-19 09:03:25 +00:00

31 lines
857 B
JavaScript

tiled.registerTool("RandomTilePlacer", {
name: "Random Tile Placer",
mousePressed: function (button, x, y, modifiers) {
if (button !== 1) return;
var map = tiled.activeAsset;
if (!map || !map.isTileMap) return;
var layer = map.currentLayer;
if (!layer || !layer.isTileLayer) {
tiled.warn("Select a tile layer first.");
return;
}
var selectedTiles = tiled.mapEditor.tilesetsView.selectedTiles;
if (!selectedTiles || selectedTiles.length === 0) {
tiled.warn("Select some tiles in the Tilesets panel first.");
return;
}
var tile = selectedTiles[Math.floor(Math.random() * selectedTiles.length)];
var tileX = Math.floor(x / map.tileWidth);
var tileY = Math.floor(y / map.tileHeight);
var edit = layer.edit();
edit.setTile(tileX, tileY, tile);
edit.apply();
},
});