I am also working with a second artist (welcome Becca Bair!) to supply an alternate tileset for use in Lugdunon. Lugdunon is a game platform as well as a game here, so I feel that providing default access to multiple art styles is an important thing. Look for some preview shots of the new art style to arrive soon.
Release Notes:
- Cross-origin images are now initialized properly in order to not 'taint' any canvases they drawn onto.
- Fixed an issue that was causing the standalone client settings to fail to properly initialize if the codehelper APIs are unavailable. game.client.getPublicIp() will now return "Service Unavailable" in that case.
- Fixed an issue that was causing unnecessary escapes of forward slashes in JSON strings.
- Updated all mod.json artifact URLs to not require forward slash escapes.
- Progress and wait dialogs now block all input and UI elements when active.
- Player triggers for placeables now supports npc-specific triggers in addition to player character triggers.
- Player triggers for placeables now support two modes: stop on tile, and move through tile.
- Removed need to mirror world mod jars into each world directory.
- Servers and standalone clients now maintain a single local mod cache shared for all worlds.
- Added support for subsystems that don't require an implementation class.
- Added support for subsystems that don't require any persistent storage.
- Added ICONS subsystem.
- Added TILESET subsystem.
- Added UI subsystem.
- Removed the icon.config server config property.
- Removed the tileset.config server config property.
- Removed the ui.config server config property.
- Added support for mod repository listings. Mod repositories can now enumerate their curated mods (both server and world).
- Added a UI to the standalone client for users to manage and get info about their mod repositories.
- Added a UI to the standalone client for users to install new server mods.
- Added a UI to the standalone client for users to install new world mods.
- Added /getAvailableServerConfigProps/ to the standalone client REST API.
- Added /getAvailableWorldConfigProps/ to the standalone client REST API.
- Added /getRegisteredRepositories/ to the standalone client REST API.
- Added /addRepository/ to the standalone client REST API.
- Added /deleteRepository/ to the standalone client REST API.
- Added /installMod/ to the standalone client REST API.
- Added /installServerMod/ to the standalone client REST API.
- Added /removeMod/ to the standalone client REST API.
- Added /removeServerMod/ to the standalone client REST API.
- Added /getServerMods/ to the standalone client REST API.
- Added /getWorldMods/ to the standalone client REST API.
- Added /toggleServerMod/ to the standalone client REST API.
- Added /toggleWorldMod/ to the standalone client REST API.
- Added net.lugdunon.client.runner.InstallModRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.InstallServerModRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.RegisterRepositoryRunner to the standalone client-side code base.
- Added net.lugdunon.client.runner.RegisteredRepositoryListingRunner to the standalone client-side code base.
- Added net.lugdunon.client.util.InstallMod to the standalone client-side code base.
- Added net.lugdunon.client.util.InstallServerMod to the standalone client-side code base.
- Added net.lugdunon.client.util.RegisterRepository to the standalone client-side code base.
- Added net.lugdunon.client.util.RegisteredRepositoryLister to the standalone client-side code base.
- Added net.lugdunon.client.Client.setLocalServerMods(JSONArray localServerMods) to the standalone client-side API.
- Added net.lugdunon.client.Client.setLocalMods(JSONArray localMods) to the standalone client-side API.
- Added net.lugdunon.client.Client.getEnabledServerMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.getLocalServerMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.getLocalMods() to the standalone client-side API.
- Added net.lugdunon.client.Client.toggleServerMod(String mod) to the standalone client-side API.
- Added net.lugdunon.client.Client.toggleWorldMod(String mod, String world) to the standalone client-side API.
- Added net.lugdunon.client.Client.getModUsageDataForWorld(final String world) to the standalone client-side API.
- Added net.lugdunon.client.Client.getModUsageData() to the standalone client-side API.
- Added net.lugdunon.task.LDRTask to the ant build code base. This task will generate a repository manifest file (repository.ldr).
- Added net.lugdunon.state.character.NonPlayerCharacter.setLocation(Point location) to the server-side API.
- Added net.lugdunon.state.character.PlayerCharacter.setLocation(Point location) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggeredOnStop(PlaceableItemInstance pii, PlayerCharacter pc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggeredOnTileEnter(PlaceableItemInstance pii, PlayerCharacter pc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.npcTriggeredOnStop(PlaceableItemInstance pii, NonPlayerCharacter npc) to the server-side API.
- Added net.lugdunon.state.item.trigger.player.IPlayerTrigger.npcTriggeredOnTileEnter(PlaceableItemInstance pii, NonPlayerCharacter npc) to the server-side API.
- Removed net.lugdunon.state.item.trigger.player.IPlayerTrigger.playerTriggered(PlaceableItemInstance pii) from the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getTileset() to the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getIcons() to the server-side API.
- Added net.lugdunon.state.subsystem.Subsystems.getUI() to the server-side API.
- Added net.lugdunon.state.Manifest.setManifestEntry(String type, String key, String value) to the server-side API.
- Added net.lugdunon.state.State.getServerModPath() to the server-side API.
- Added net.lugdunon.state.State.getWorldModPath() to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.listLocalServerMods() to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.getURLConnection(String url) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.fetchRepositoryManifest(String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.installMod(String mod, String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.installServerMod(String mod, String repoUrl) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.removeMod(String mod) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.removeServerMod(String mod) to the server-side API.
- Added net.lugdunon.util.ArtifactUpdater.listLocalMods() to the server-side API.
- Added net.lugdunon.util.FileUtils.fixJSONContent(String content) to the server-side API. This method strips single and multi-line comments from a string and various other transformations before parsing as json.
- Added net.lugdunon.world.instance.Instance.NULL_INSTANCE_ID to the server-side API.
- Added net.lugdunon.world.terrain.Chunk.getPlayerTriggerablePlaceableRefs() to the server-side API.
- Removed net.lugdunon.world.terrain.Chunk.addPlaceableRef(long pRef) from the server-side API.
- Added net.lugdunon.world.terrain.Chunk.addPlaceableRef(PlaceableItemInstance pii) to the server-side API.
- Made net.lugdunon.Server.enumerateRegisteredProperties() public in the server-side API.
- Added net.lugdunon.server.mod.ServerModCache.getLoadedServerMods() to the server-side API.
- Removed net.lugdunon.server.worldgen.IWorldGen.getModPath() from the server-side API.
- Added net.lugdunon.state.subsystem.tui.TUISubsystem to the server-side code base.
- net.lugdunon.ui.table.cell.content.IconActionCellRenderer now supports a renderer for labels.
- net.lugdunon.ui.table.cell.content.InlineEditorContentCellRenderer now supports an editable text field + select mode in addition to the default text field mode.
- Added support for cell-level tooltips to the table class.
- Added support for cell-level hover labels to the table class.
- Added an .ellipsis css rule to allow for easy flagging of elements that should show an ellipsis in the event of a text overflow.
- Added a .stroked css rule to allow for easy flagging of elements that should display text with a black stroke.
- game.showTooltip() now properly handles empty content.
- Added game.getGameScreenStateURL(). This returns the current image data url of the game's render state.
- Added keybinds to hook into the new screenshot APIs (defaults are F1, F2, F3 for the three flavors: undecorated, decorated, and full).
- Added net.lugdunon.input.keybind.screenshot.TakeDecoratedScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.input.keybind.screenshot.TakeFullScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.input.keybind.screenshot.TakeUndecoratedScreenshotKeybinding to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleKeySelectMode(e) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleKeySelectPopulation(select) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.postGetServerMods(data) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.handleModToggle(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.renderModToggle(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting.renderModToggleLabel(row) to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.ServerModsSetting to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.RepositoriesSetting to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.RepositoryManagementDialog to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.AvailableServerModsTooltipRenderer to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.AvailableModsTooltipRenderer to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.ServerModsSection to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.Section to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.ModsSection to the client-side code base.
- Added net.lugdunon.ui.settingsMenu.settings.standalone.repository.sections.DetailsSection to the client-side code base.
- Added net.lugdunon.states.tiledGame.TiledGame.takeScreenshot(screenshotMode) to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.dumpScreenshot() to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_NONE to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_NO_DECORATION to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_DECORATION to the client-side API.
- Added net.lugdunon.states.tiledGame.TiledGame.SCREENSHOT_MODE_ALL to the client-side API.
- Added net.lugdunon.states.worldGen.WorldGenState.renderEditModsUI() to the client-side API.
- Added net.lugdunon.states.worldGen.WorldGenState.postGetWorldMods(data) to the client-side API.
- Added net.lugdunon.ui.table.Table.addRow(row) to the client-side API.
- Added net.lugdunon.server.worldgen.defaults.DefaultWorldGen.handleKeySelectMode(e) to the client-side API.
- Added net.lugdunon.server.worldgen.defaults.DefaultWorldGen.handleKeySelectPopulation(select) to the client-side API.
- Added the ability for players to enable / disable server mods using the standalone server settings UI.
- Added the ability for players to enable / disable world mods using the world configuration UI.