All Projects → Naios → Wide

Naios / Wide

Licence: other
WIde (MMORPG Framework IDE) - Developing in an efficient way...

Programming Languages

java
68154 projects - #9 most used programming language

WIde - MMORPG Framework IDE


Build Status In Development!

The WIde tries to provide a standalone ide to help you in your TrinityCore database work.

WIde is written as modular Java OSGI Bundles and makes heavily use of JavaFX and the latest Java 8 language features.

WIde provides its own MySQL ORM framework which targets clean sql output and relative changesets (flags for example). Also it supports query optimization like the use of AND, OR and IN statements to optimize changesets on multiple keys.

Another feature of Wide is called aliasation which tries to translates every magic number in the parsed sql to variable constants such as:

SET @NPC_MALORIAK     := 41378;

SET @UNIT_FLAG_RENAME :=  0x10;
SET @UNIT_FLAG_UNK_6  :=  0x40;

Also a similar ORM framework is provided for DBC, DB2 and ADB reading (client cache files) which performs very well when connected with the database ORM system.

The framework is nearly finished but the gui is far behind in development and is a techdemo for now. (Currently there is only a property sheet to inspect database entities - but its full dynamic and is adaptable to every dynamic change in the database environment).

SET @NPC_KOBOLD_MINER            :=    40;
SET @NPC_RUKLAR_THE_TRAPPER      :=    60;
SET @NPC_MALORIAK                := 41378;

SET @UNIT_FLAG_SERVER_CONTROLLED :=   0x1;
SET @UNIT_FLAG_NON_ATTACKABLE    :=   0x2;
SET @UNIT_FLAG_RENAME            :=  0x10;
SET @UNIT_FLAG_UNK_6             :=  0x40;

UPDATE `creature_template` SET `unit_flags` = @UNIT_FLAG_SERVER_CONTROLLED | @UNIT_FLAG_NON_ATTACKABLE | @UNIT_FLAG_RENAME WHERE `entry` IN(@NPC_KOBOLD_MINER, @NPC_RUKLAR_THE_TRAPPER);
UPDATE `creature_template` SET `unit_flags` = (`unit_flags` &~ (@UNIT_FLAG_UNK_6)) | @UNIT_FLAG_SERVER_CONTROLLED | @UNIT_FLAG_NON_ATTACKABLE | @UNIT_FLAG_RENAME WHERE `entry` = @NPC_MALORIAK;

See an example output here.

License

WIde is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

The License prohibits Commecial use, this also includes projects where you get donations or money through sells (== private servers)!

See LICENSE file for full details.

Requirements

Installation

WIde uses Maven as build system.

  1. Run mvn clean install to build the osgi bundles.

  2. WIde uses pax-runner to deploy an osgi enviroment for testing purposes. (mvn clean install pax:provision)

  3. WIde uses Json config files to configure the enviroment. A default config is written on first startup. You may reconfigure config values to match your enviroment.

  4. If you want to develop with WIde or create new bundles for it use this Documentation to set up your enviroment.

Shell Commands

WIde adds multiple commands to the osgi felix gogo shell, that helps you to use the framework out of the box without an interface or scripts, however this is only a small part of WIde some commands might be helpful.

  • config Shows the config as Json.

  • databases Shows all available databases.

  • dbc Shows any .dbc, .db2 or .adb storage in your data dir.

  • dbcformat Shows an estimated format for any storage (detects key, string, float and int).

  • sql Executes a sql query on a database.

  • enums Shows an enum constant of the given enum value.

    enums UnitClass 3

    Value: 3 = 0x3 = CLASS_MAGE

  • flags Shows all flags of a value (flagsplitter).

    flags UnitFlags 0x432

    Value: 1074 = 0x432

    0x2 = UNIT_FLAG_NON_ATTACKABLE

    0x10 = UNIT_FLAG_RENAME

    0x20 = UNIT_FLAG_PREPARATION

    0x400 = UNIT_FLAG_LOOTING

    If you want more enums to be supported add it to the entities bundle and pullrequest your changes.

Use help ${commnand} or just help to get further information. After your work is done use shutdown to exit the osgi enviroment.

For the experienced users:

The Apache Felix GOGO shell also supports advanced structures like lists, variables and functions. This makes it possible to use advanced scripting expressions like:

each [0x7 1738 27] { flags UnitFlags $it }

Code examples

Have a look at the code pieces:

How to contribute

Currently i'm heavily looking for contributors who help me with this huge project. If you like to contribute send pullrequests, open an issue or write me a mail (naios-dev (at) live.de).

Dependencies

Dependencies are managed automatically through the maven build system.

WIde uses following great bundles as dependency at runtime:

See file doc/Dependencies.txt for a list of all dependencies and its licences.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].