On Saturday I launched
TypeScript UI. This is a new web-based project which I have created. Summarised, it is the following:
TypeScript UI is a user-interface library written in TypeScript language. It is in Windows 8 Style and provides a powerful structure for creating HTML5/CSS3 web-based apps with an app/window-based design structure. It works in any HTML5 capable browser (subject to limitations of host PC) but also includes fallbacks for IE9 and Opera.
The project aims to make HTML5 app development much easier by treating the browser as a platform to build within. The library offers an app/window structure that allows you to create apps with multiple windows that all run within one page. The UI is built and handled entirely in TypeScript within the client browser which reduces server load and increases quality of animation and UI adaptability. The server is restored to its status as a data handler making servers more efficient and server side code less bloated.
TypeScript UI also aims to include some of the best features of UI libraries such as those found for Windows desktop. For example, future versions of the library will include Data Binding to allow more efficient design and data handling. The library will also provide default windows such as splash screens, login forms and other common app components. And since it is written in TypeScript, large-scale app development and maintenance is very easy.
Head over to the
project on CodePlex and download the latest version! Alternitavely, check out the live Demo!
TypeScript UI Demo app
TypeScript UI Demo – DropDown box
Yesterday (25/6/13) I released the
latest version of my Minecraft Server Manager for Windows. Version 2.3 comes with lots of new features and improvements including:
New Minecraft Server Manager (V2.3) – Windows8 Style UI! (Click for more detail)
What’s New window added (this is a self-referencing window now! 🙂 )
Non-Vanilla MC settings shifted out of server.properties into mcsm.properties
Backwards compatibility enabled for server.properties:
Xmx and Xms values auto-shifted from server.properties to mcsm.properties if detected and mcsm.properties doesn’t already contain values. Values are subsequently removed from server.properties.
Web-interface-port setting shifted to mcsm.properties. Added backeards compatibility code for this change.
Added Server Listings tab page – allows you to list your public server on ManageMinecraft.com
Added Download Servers/Clients (button on MainForm and new form for the download manager)
Downloads come from ManageMinecraft.com (where tested versions servers/clients will be stored)
Select copy-to/install location
Auto-installs servers (i.e. unzips into selected folder & deletes the zip file)
Startup splash-screen added
UI converted to Win8 style using MetroFramework libraries
UI theme restored on application startup
Refactored & extracted methods for all the default commands – primary aim was to make them accessible for testing.
Added additional command result recognition code. Can now detect following output types: Join, Leave, Message, Giving, Command, OnlinePlayers, OnlinePlayersList, Saving, SaveComplete, Loaded, Tell, Ban, Pardon, Deop, Op, List, Kick, Teleport, ClearInventory, Enchant, Effect, AddXP, AddXPLevels, SetDefaultGameMode, SetDifficulty, SetGameRule, SetSpawnPoint, SetTime, SetWeather, HelpStart
Added right-click context menu for editing or removing command buttons.
Added instructional tooltip to command buttons (reminder of right-click feature)
Extracted method for laying out custom command tab pages
Main Form now remembers previous size, location and window state.
Player handling shifted to new classes – see below.
Added shortcut keys:
F1 : Opens up What’s New list
Ctrl + T : Toggles UI theme
See bug fixes.
Output Processing :
UI Timer that updates the full and message log boxes – means the UI no longer freezes when server is under high load e.g. at startup
Massively refactored code for output handling to make it easier to handle different output from different mods in a unified manner.
Shifted ProcessOutput into MineCraftServer.cs : MainForm now only handles UI side of things.
Output processing converted into a class-plugin system to allow easier extension.
Full Log shows the pre-processed output text to improve the look/fell of the log – still contains all log messages.
Full Log messages prefixed with detected message type.
Test Clients added to make testing much smoother/easier
ModTest class auto-starts correct client for the current test server (specified in mcsm.properties: ClientLocation parameter – relative path)
Increased length of time that tests wait for client to connect.
Added new mod versions including FTB Ultimate 1.0.2, Flans Mod 2.3, Vanilla 1.5.2
Expanded set of tests to include all the default commands seen in the MainForm UI.
Numerous bug fixes that caused tests to crash or fail.
Mapping: (Many thanks to user Uhu for these changes)
Map zooming redesigned
X/Z Location indicator
Cross-hair cursor when mouse over the map
Increased number of zoom options
Use mouse scroll wheel to zoom
Use mouse left button to pan
Zoom centres on mouse cursor
Names and skins kept constant size when zooming
Per-dimension rendering developed
Player names appear in bold when player is connected
Class significantly cleaned up.
Resisze map method added.
BlockSize changed to double – acts as zoom calculation when rendering the map not using MapForm.
BlockSize removed from main render methods.
See bug fixes.
PlayerData class added – used for keeping track of individual MC players (including relevant update method)
PlayerDataList class added – used for keeping a list of all players in a server (including relevant update methods)
PlayerUtils static class added – provides static methods
Position3D class added for MC map position handling (can cast to this from Vector3)
Events added to PlayerDataList
Changed UI to use new MetroFramework library to make it look new/modern
Updates only occur if newer version (primarily allows dev version ot be incremented without accidentally updating an old version!)
Update UI’s to new Win8 style
Numerous changes…many thanks to user ArtDude543!
Mapping: ZOffset incorrectly calculated causes mis-alignment of the map render. Now fixed.
Mapping: X/Z Offsets poorly calculated (I had assumed all maps have negative chunks). Corrected.
Add XP Levels failed to load player name.
Backup would occur after every save, regardless of intention.
Detection of default commands 100% for Vanilla MC 1.5.1 & 1.5.2
Removing Commands tab page without first removing the commands caused invisible buttons to exist!
After removing custom command button, other buttons would not re-layout to fill in the space.
Fixed Server Listing tab page controls anchoring
Hidden output pre-processor error with addidng date to processed value fixed.
Player entity rendering bug fixed.
HandleOutput of OnlinePlayersList output threw cross-thread exception.
Backup folder worlds were mistakenly listed.
Yesterday (27/4/13) I released the
latest version of my Minecraft Server Manager for Windows. Version 2.2 comes with lots of new features and improvements including:
Automatic Updating to latest version of MCSM (future updates won’t require download!)
Changing (some) server settings without restarting e.g. white list
Massively improved mapping
Up to 4x faster! 2 times faster for large maps – all maps (even large that I have) now render in < 15 seconds, most render in < 8 seconds Auto-detection of CPU cores to maximise render speed
Reduced UI bulk
Re-layed out to improve usability and hide things that you don’t really need (can easily be re-shown)
Minimum form size made much smaller for smaller screen sizes
Command History – just use the up/down arrow keys!
Added server settings for RAM allocation (limited to max 90% of available RAM and min 1024MiB)
Mod Testing : For devs. Testing against different server mods. Clients for the different mods to come in next version.
Bug fixes (some of which are):
Save settings not reliable in some situations
Improved output detection for Vanilla 1.5.1
Enjoy this fantastic