Jump to content
XJDHDR

[RELz] Plugin Resources

Recommended Posts

Name: Plugin Resources
Version: 1.001
Category: Modders Resources and Tutorials
Author: XJDHDR
Download locations: Nexus Mods:        Direct Link: https://www.nexusmods.com/oblivion/mods/37684
 

 

This mod provides a library of pre-created records for modders to use. This allows their mods to be mergeable into Wrye Bash's Bashed Patch, thus saving ESP slots for the end user.

Players:
Where can I find mods that use Plugin Resources?
The following mods have been released by others:

  • Nothing at the moment


I have released the following:


Additionally, I have created a page for mods created by others that I have ported to use Plugin Resources:


Modders:
All you have to do is replace any new records in your mod with blank records created by "Plugin Resources.esm". If you ensure that every new record created by your mod uses a record provided by "Plugin Resources.esm", this will allow your mod to be merged into the Bashed Patch.

What are the Rules?

  1. You can only use records from my ESM that you have already claimed. The reason for this is so that you don't use a record that someone else is using in their mod, which would cause overwrites and conflicts if an end-user had both mods installed.
  2. Your finished mod must be mergeable in Wrye Bash. If it isn't, you are simply making your mod dependent on mine for no good reason. Additionally, you're wasting blank records and wasting my time as a result.


How do I claim a record for my mod?

  • Each listed record type below has a link to a wiki page on both SourceForge and Github. The wiki page you visit will have a list of records present in "Plugin Resources.esm" and whether or not they are available. To assign a record to your mod, simply edit the wiki page so that the needed records are listed as being used by your mod. It would also be appreciated if you inform me that you are claiming records. I would also appreciate it if you could edit both wikis to reflect your claimed records but I can do so otherwise.


Do I need another online account to claim a record?

  • You will need either a SourceForge or Github account to edit the pages on the respective wikis. Both are free and easy to create. Personally, I slightly prefer SourceForge's wikis to Github's but it's entirely up to you.


Once I've claimed a record, how exactly do I use it?

  • The procedure I recommend is to create your mod as you normally do until you are ready to upload it somewhere. Once you are ready, figure out how many and what new records your mod has created then claim those records. After that, open your mod and Plugin Resources in TES4Edit then modify the FormIDs of your mod's new records to the FormIDs of the records you claimed. You will then need to recompile any scripts in your mod that reference any of these new records.


At the moment, you can use the following records in the ESM without any problems:

 



The following are also provided, but there are some caveats:

Conversation Topic SourceForge Github

  • Conversation Topics can only be merged into the Bashed Patch if CBash is enabled. It is still a beta and thus disabled by default.
  • The Editor ID for Dialog Topics can only be changed using TES4Edit.


Dialog Topic SourceForge Github

  • Same as Conversation Topics.


Cell SourceForge Github

  • There are none available by default in the ESM. These have to be specifically requested. The reason is because after you create a new cell, you will have to place some objects in the cell. The problem with doing this is that each object placement is regarded by Wrye Bash as a new reference record and will refuse to merge it into the Bashed Patch. The solution then is to request a new cell and state how many objects you intend to place into the cell. I will then create a new cell with the required number of placeholder references which you then use the CS's Search and Replace function on.
  • Cell edits can only be merged into the Bashed Patch if CBash is enabled. It is still a beta and thus disabled by default.



The following are not provided and won't be until the issues noted are resolved:
Birthsign

  • All blank Birthsigns created by my ESM will appear in the Birth signs menu when the player is creating their new character. I will not create blank Birthsign records unless there is a way to hide them.


Game Setting

  • The game won't recognize any new settings created by my ESM unless someone modifies Oblivion's EXE to recognize them. I am willing to create blank records if someone is willing to do that modification. Additionally, settings changes can only be merged into the Bashed Patch if CBash is enabled.


Idle Animation

  • Still need to properly research the possibility of making this work but I'm not very hopeful.


Region

  • Only really useful in conjunction with new worldspaces, which I'm not currently willing to support for reasons mentioned below.


Skill

  • The game won't recognise any new skills created by my ESM unless someone modifies Oblivion's EXE to recognise them. I am willing to create blank records if someone is willing to do that modification.


Worldspace

  • World space edits are only mergeable if CBash is enabled. Also, any new objects placed in the world space is a new reference, so I would have to custom create blank world spaces with reference placeholders. Finally, due to the way worldspaces are handled in Oblivion, there might be the possibility of oversights or game bugs that would make a mergeable mod with worldspaces impossible. I'm not currently willing to put in the work required to make this work but I might reconsider this depending on how big your requested worldspace is. If I do change my mind, it will be the same arrangement as Cell records, only provided on request.


What if I'm trying to claim a record at the same time as someone else?

  • Whoever gets their edit in first gets the record.


What if there aren't enough available records for my mod?

  • Simply send me a message requesting some more and I will release an updated ESM with more blank records.



Incompatibilities
===============
None.


Known Issues or Bugs
====================
None.


History
=======

1.001, 2019/02/16

  • Reworked the blank Global Variables to provide a way for a mod to get Plugin Resource's version (XJPRaVersionVar will contain the version number as displayed in the documentation).
  • Added a function that can remove every single item from a container's inventory (zzzzXJPRRemoveAllItemsFromPlayerFunctionScript).
  • Added a container (XjPRTempSafeTransferContainer) that can be used for temporary item storage (particularly useful for preventing duplicated items: https://cs.elderscrolls.com/in... )
  • Fixed the blank NPC records to no longer create a dirty edit in some circumstances.
  • Added 5 blank animated objects (XJPRAnimObject0001 - 05).
  • Added 5 blank classes (XJPRClass0001 - 05).
  • Added 10 blank quests (XJPRQuest0011 - 020)
  • Added 30 blank scripts (zzzXJPRScript0021 - 050)

1.000, 2011/03/21

  • Initial release.

Share this post


Link to post
Share on other sites

I'm fuzzy on the mechanics of this.  This is solely to make a mod mergeable in the Bashed Patch, right?  So, you have a formID (let's say xx726534) from a mod, you overwrite that ID with one from you resource esm?  Which is blank? So, xx726534 goes from being a quest with data to a blank quest?

Share this post


Link to post
Share on other sites
14 minutes ago, Malonn said:

I'm fuzzy on the mechanics of this.  This is solely to make a mod mergeable in the Bashed Patch, right?  So, you have a formID (let's say xx726534) from a mod, you overwrite that ID with one from you resource esm?  Which is blank? So, xx726534 goes from being a quest with data to a blank quest?

Yes, this is solely to make a mod mergeable. Your interpretation was almost correct; once you change your quest's FormID to one provided by my ESM, the data in your quest overwrites the blank data in my ESM. The result is that the mod will still work exactly the way it did before but is now mergeable.

Share this post


Link to post
Share on other sites

Forgive me, but I don't know as much as I thought I did, but why would that make it mergeable?  So one would use your ESM's formIDs?  This is new territory for me, I guess.

Share this post


Link to post
Share on other sites

I have removed your "Ad-supported interstitial link" since posting that sort of thing is considered spam and thus not allowed.

What sort of mods are you thinking would even be appropriate for something like this? I can't imagine it would be of much use for anything substantial, like a full scale quest mod or a village or something. Making a mod mergable into the Bashed Patch means its load order requirements could not be satisfied if it needs to be further up the list or something due to what it edits.

Share this post


Link to post
Share on other sites
On 2/18/2019 at 9:36 AM, Malonn said:

Forgive me, but I don't know as much as I thought I did, but why would that make it mergeable?  So one would use your ESM's formIDs?  This is new territory for me, I guess.

 

Maybe these screenshots will help. They are of a mod that I ported to use Plugin Resources a number of years ago. The mod is merged into the BP and, as you can see, the record data from the mod was merged into the BP and overwrote the record provided by Plugin Resources.

As for why it works, basically there are a number of rules WB uses to determine if a mod can be merged. One of them is that a mod which creates new records can't be merged. I believe this is because to merge such records, WB would have to change the FormID for every new record it merges then change every record that uses this record to point to the new FormID. It would probably require so much processing power to make this work that it was decided to be unfeasible. PR solves this by allowing mods to edit blank records instead of creating new ones.

 

On 2/18/2019 at 10:32 AM, Arthmoor said:

I have removed your "Ad-supported interstitial link" since posting that sort of thing is considered spam and thus not allowed.

What sort of mods are you thinking would even be appropriate for something like this? I can't imagine it would be of much use for anything substantial, like a full scale quest mod or a village or something. Making a mod mergable into the Bashed Patch means its load order requirements could not be satisfied if it needs to be further up the list or something due to what it edits.

If I broke the rules, them I'm sorry. I don't understand how that was considered spam though. It was one small line of text that doesn't stand out in any way, I clearly labelled what it was, wasn't asking anyone to click on it and I definitely wasn't mailing it to anyone on this site.

I consider this to be something like my way of bringing ESL flagged mods to Oblivion, though it's not exactly the same. It's not really the size of the mod that would determine it's suitability (though larger mods would require more work from both myself and the author) but rather what the mod adds. The biggest issue would be mods that add any new references (as opposed to editing existing ones) to existing worldspaces and cells (or, at worst, a small number) since I can't use PR to add blank records to these places (especially worldspaces). Otherwise, if a mod doesn't do this and also doesn't add any of the record types listed under "The following are not provided ...", then that is an example of an appropriate mod. To give some examples, none of the mods that you specifically have released would be suitable candidates. Conversely, many of my and TheNiceOne's mods would be candidates. Some of Scrugg's mods also look like they would work with PR.

Correct me if I'm wrong but I'm pretty sure that WB does take load order into account when deciding what data to include in the BP. If this isn't correct, then such a mod should not use PR but I can't imagine there are too many mods like this which wouldn't already be excluded on other grounds.

Just to give one example of what you could do, one of the mods I want to make in the future, without giving too much away, will have a new house with furnished interiors, a new NPC with AI routines, new magic and scripting, etc. Sure, it's nowhere near the scale of anything you've done but it's not exactly a small mod. My plan is that everything I mentioned (including the interior cells) will be blank records provided by PR that my mod will edit. The main problem would be placing the house in Tamriel's worldspace while keeping the mod mergeable. My plan is to look for any trees, bushes, rocks, etc. in the house's location and replace those with the house's mesh and door. The result would be a new house and contents that can be merged into the BP. The only thing I need after that is for the WB team to get CBash out of beta.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Support us on Patreon!

×