I have a set of eclipse and ant based tools for modding with Sins that others may find useful when validating or building their projects.
Current Downloads (older downloads: Downloads)
FAQ
System Requirements
Syntax Wiki - A syntaxual representation of almost all of the Sins editable files.
How To's:How To Install EclipseHow To Setup Entity Validation Eclipse Plugin (Updated for new preference with v0.6)
Video: How to setup and configure the Soase Eclipse Plugin
References:
Mod Development with Eclipse (Forum link providing a general overview of Eclipse)
Eclipse download site (http://eclipse.org/downloads)
Tools Supported:
Entity Editor (Click me for cool stuff about visual Entity Validations)
Eclipse Editor builder/nature extension that provides visual feedback to the following validations.
Entity Definition View - Displays the syntax rules for the currently opened entity file.
Summary of validations currently supported: Boolean: Validates boolean entries contain TRUE or FALSE onlyBrush: Validates a referenced brush entry exists for the value enteredConditional Validation: Allows conditional structures to follow based on a field valueKey word: Validates all entity file key words are spelled correctlyQuotes: Validates any values requiring qoutes have beginning and ending quotation marksInteger: Validates integer entries contain digitsDecimal: Validates decimal entries contain ####.#####Entity References: Validates a referenced entity file exists for the value enteredString Reference: Validates a referenced String entry exists for the value enteredSound Reference: Validates a referenced Sound entry exists for the value enteredEnumeration Validation: Validates an entry confirms to an allowed set of values (i.e. buffInstantActionType)Iteration Validation: Validates repeating elements are correctStructure Validation: Validates entries appear in the correct order in the entity file (configurable to allow unordered structures)Explosion Validation: Validates a referenced explosion entry exists for the value enteredTexture Validation: Validates a referenced texture exists for the value enteredParticle Validation: Validates a referenced effect exists for the value enteredSounddata Validation: Validates sounddata files for correctness including referenced sound filesGalaxyScenarioDef Validation: Validates galaxyScenarioDef files for correctness with 2 pass validationsStringInfo Validation: Validates English.str for correctnessBrushes Validation: Validates brushes files for correctnessGameplay.constants: Validates the Gameplay.constant file for correctnessExplosiondata Validation: Validates sounddata files for correctness including referenced sound filesGalaxy Validation: Validates galaxy files for correctness and performs additional validations on referenced templates and design names.
Content Assistance: [ctrl]+[space bar] on keywords or constants and get suggested completionsSyntax Coloring: change syntax coloring of entity files to suit your preferences (defaults to all black currently)Hover Help: hover over a keyword and get additional details about the value or structureQuick link to wiki syntax
Well being a Java programmer (since the days of XS in Age of Mythology), I must say that this mod is really helpful - even more so since I use Eclipse for my everyday programming. It is also invaluable for learning the difference in syntax between expansions. Thanks so much for creating
Not trying to bug you to do it or anything, but is there any chance of a 1.04 version in the nearish future?
I'm working on getting it tested out and should have one uploaded soon.
Ok, version 2.0.11 is uploaded for the latest rebellion 1.04 release.
Karma for you sir.
Welcome sir. I added one new feature to the count validations. It will tell you know how many over or under the count you are now (previously only did under).
I pulled out the Labs per capital ships from pre-1.04 as I saw Harpo say they showed as bad enums.
Let me know if you see any other oddities.
Yes, I did notice that and would often grossly overestimate my counts just to get it to tell me. Nice change.
Will do.
Just a thought on something else that might prove useful if you don't have enough code to do. After patches I often find myself running diffs on the reference files to modern files to see the changes. I used to do this externally as I didn't have the reference files in Eclipse, but I finally realized I could just have a reference project and use the diff program in Eclipse. However, it could probably be made even quicker as your plugin is already reading the reference files, it might be a nice button to have that will check if a given file is in the reference files, and open a diff between those two files instantly.
Edit: Also, the plugin doesn't seem to support the new "HasBuff" aiUseTargetCondition. Granted I haven't actually done anything yet to see if it works.
True, I haven't added the new modding items yet.
I was curious if I could figure this out which I finally did. Basically the next update will allow a quick compare of a single file against it's corresponding reference file if one exists with the same name.
What's the best configuration in the error reporting in Eclipse? I know you can adjust some of the reporting, but seemingly despite what I tweak, I'm still getting several thousands of errors and warnings for things that aren't an issue. It might say it's missing a entity reference for a file that already exists and seems coded right.
This is annoying.
With that many, you're either telling Eclipse to validate for a different version of Sins (I.e. Diplomacy instead of Rebellion) or your reference data is either not set up or messed up. Go over the installation instructions again and make sure everything is in check. Also note your Rebellion and nonRebellion projects must be in different work spaces.
Yep, you need separate work spaces for Rebellion and Trinity. Trinity workspaces can have projects for each version of sins though by right clicking on the project and choosing the validation at the project level which overrides the workspace setting.
It does sound like you have a project validating against the wrong version if that many errors are happening.
With required fields the tool reports every following field as an error or warning if it thinks the required field is missing. This can add up to a bunch if the wrong version is being validated for.
The other possibility is your missing a lot of required fields and it's adding up to a lot of errors.
Nevermind, I just didn't set the reference correctly. It's been too long since I used this.Edit: I spoke too soon.Went from a few, to too much.
Well, then you have some other configuration issue still...
Does your preferences look like this?
Edit - you don't need the research costs validated.
I'm redoing a fresh input (I'm copying whole files in this time), but that's how I had it set up before. It's still giving me 4000+ errors.
-When I added projects, I copied respective whole folders in instead of linking it in the past.Can I not link these files versus doing copies? I'd rather not have to pull it from the workspace all the time just to test the game. This is what I did in the past.-The reference is set.-The Rebellion items match yours.-I did the add/remove ONLY on my mod (not the reference files), and this is the result:Is any of this including errors from Stardock anyway, even though, I never ran the validator on the ref. files? A general look of the errors are highlighting mainly the Sins Plus files I have inbuilt. All of the warnings are from research cost.Also, when I run "clean" will it include the Stardock errors?
You see that "Validate Research cost" checkbox there. You have it checked, so it will throw warnings if your research do not have the default costs/times etc. for their tier. Uncheck it if you want to have say a free tier 8 tech.
It will only check files in your eclipse project directory.
If your trying to link a folder in an existing project that has never worked.
The tool expects the mod folders to be located in the actual project folder.
That said, the project folder does NOT need to be in the actual workspace. The project folder could be created directly in your mod folder as others have done.
To do this, when you create a Java Project uncheck use default location and pick the mod folder location in the external directory.
Which instantActionTriggerType's are valid in Abilities, Instant Actions and Periodic Actions?
I don't ever recall seeing Periodic Actions.
I'm working on adding some additional validations to the tool and this is one area I've wanted to address due to the reuse of the buffInstantAction.xml definitions across Abilities, instantActions and periodicActions.
Here's what I understand so far...
Abilities
Allowed: AlwaysPerform
NotAllowed: OnDelay, OnBuffFinish, OnChance, OnAbilityUsed, OnDamageTaken?, OnWeaponFired?, OnOwnerDeath?
?: OnCondition?
Buff->instantAction
Allowed: OnBuffFinish, OnCondition, OnDamageTaken, OnDelay, OnHyperspaceExit, OnOwnerDeath, OnWeaponFired
NotAllowed: AlwaysPerform, OnChance
Buff->periodicAction
Allowed: AlwaysPerform, OnCondition, OnChance
NotAllowed: OnDelay, OnAbilityUsed, OnBuffFinish, OnDamageTaken, OnHyperspaceExit, OnOwnerDeath, OnWeaponFired
So nobody knows anything on instant action usage... That's disturbing.
Here's some of the planned new features with the next version:
I'd like to add support for identifying other entries that aren't used like brushes, but as I don't validate all structured files currently. This won't be possible until definitions are built for every structured file in Sins.
There are many great features available to you once you register, including:
Sign in or Create Account