Jump to content

tsunderella

Developer
  • Posts

    9
  • Joined

  • Last visited

1 Follower

About tsunderella

  • Birthday 03/19/1998

Recent Profile Visitors

1,063 profile views

tsunderella's Achievements

Rookie

Rookie (2/15)

  • One Month Later
  • Reacting Well
  • First Post
  • Conversation Starter
  • Week One Done

Recent Badges

1

Reputation

  1. My bad I didn’t account for variables in the region . I’ll edit the transpiler to do that! I did some code reforms as well so it shouldn’t take long when I get home also for the override can you show me an example?
  2. Added the #region support in 1.1.0! Tell me if theres any issues with it
  3. Oh yeah I can add region support I’m finishing up the carbon and oxide specific methods and I’ll push them together . File prioritization though might be tricky without hitting performance! I can look into that though.
  4. I might add support for building plugins for deployment IE like marking methods as [Carbon] or [Oxide] and then having a built plugin folder
  5. Version 1.1.3

    25 downloads

    Introducing the Split Plugin Loader for Rust! This innovative tool revolutionizes the way plugins are managed and loaded by amalgamating multiple files for a single plugin and seamlessly compiling them into one cohesive unit. If you have been dealing with a single massive plugin file and ever wished for a more streamlined, organized approach, the Split Plugin Loader is your answer. Whether you're working with Oxide or Carbon, the Split Plugin Loader seamlessly integrates, ensuring a more streamlined and enhanced plugin experience. Key Features: Runtime Compilation: The Split Plugin Loader dynamically compiles your plugin files as you write them, ensuring real-time efficiency and flexibility. Streamlined File Management: With the freedom to name and organize your files as you see fit, the Split Plugin Loader ensures that everything culminates under the primary folder name, simplifying your project management. Cross Build: Add directives [CARBON] or [OXIDE] to methods or top level variables and it will only build for your current name space. For usings you do //[CARBON] or //[OXIDE]. Broad Compatibility: Whether you're on Oxide or Carbon, the Split Plugin Loader has got you covered. Experience seamless integration with both platforms without a hitch. Obfuscation Support(Coming Soon): Keep your code shielded. Planned obfuscation support aims to provide enhanced security, protecting your plugins against unauthorized access and tampering. Automatic Code Formatting (Coming Soon): Guarantee code consistency across the board. Our upcoming automatic code formatting tool ensures your plugins maintain a clean and standardized code structure. How to Use: 1. Install: Place the extension inside your carbon/extensions folder. 2. Setup: Create a new folder inside the splitplugins directory. Name this folder with your desired plugin name. 3. Plugin File Creation: Create your separate plugin files within this folder. Here's a simple guide using an example: //splitplugins/MyHelloWorldPlugin/serverinit.cs: //[OXIDE] using Oxide.Core; //[CARBON] using Carbon.Core; namespace Oxide.Plugins { public partial class MyHelloWorldPlugin { private void OnServerInitialized() { TestLog(); } #region hello void Loaded() { Puts("Loaded2"); } #endregion [OXIDE] void OxideMethod(){ } [CARBON] void CarbonMethod(){ } } } //splitplugins/MyHelloWorldPlugin/declare.cs: using Oxide.Plugins; namespace Oxide.Plugins { [Info("MyHelloWorldPlugin", "Tsunderella", "1.0.0")] [Description("This is an example")] public partial class MyHelloWorldPlugin : CarbonPlugin { void Loaded() { Puts("Loaded"); } } } //splitplugins/MyHelloWorldPlugin/functions/testlog.cs: using Oxide.Plugins; using System.Text; namespace Oxide.Plugins { public partial class MyHelloWorldPlugin { private void TestLog() { Puts("hello world"); } } } 4. Output: Once the Split Plugin Loader processes these files at runtime, they are compiled into: //plugins/MyHelloWorldPlugin.cs using Oxide.Plugins; using Oxide.Core; using System.Text; namespace Oxide.Plugins { [Info("MyHelloWorldPlugin", "Tsunderella", "1.0.0")] [Description("This is an example")] public class MyHelloWorldPlugin : RustPlugin { private void OnServerInitialized() { TestLog(); } #region hello void Loaded() { Puts("Loaded2"); Puts("Loaded"); } #endregion void OxideMethod(){ } private void TestLog() { Puts("hello world"); } } } Obfuscator: using Oxide.Plugins; namespace Oxide.Plugins { [FormatCode] //This will enable formatting(not implemented fully) [EnableBasicObfuscation] //This enables basic obfuscation [Info("MyHelloWorldPlugin", "Tsunderella", "1.0.0")] [Description("This is an example")] public class MyHelloWorldPlugin : RustPlugin { [DoNotObfuscate] //Don't obfuscate this variable public string shouldNotObfuscate = "hello"; private string shouldObfuscate = "world"; [DoNotObfuscateMethod] //Do not obfuscate the method name private void OnServerInitialized() { TestLog(); } [DoNotObfuscateMethod] //Do not obfuscate the method name void Loaded() { Puts("test2"); var hello = "world"; var world = "hello"; Puts("HelloWorld312"); } private void TestLog() { Puts("and even here2"); } [DoNotObfuscate]//Don't obfuscate anything in this method(unless it's calling a method that's been obfuscated void TestMethod2() { string testing = "hello"; } void TestMethod(string test) { shouldObfuscate = test; TestLog(); } } } Output(This is just basic obfuscation for now): using Oxide.Plugins;using System.Text;namespace Oxide.Plugins{[Info("MyHelloWorldPlugin", "Tsunderella", "1.0.0")][Description("This is an example")]public partial class MyHelloWorldPlugin : RustPlugin{public string shouldNotObfuscate = "hello";private string v_0055f67d = "world";private void OnServerInitialized(){m_a172963e();}void Loaded(){Puts("test2");var hello = "world";var world = "hello";Puts("HelloWorld312");}private void m_a172963e(){Puts("and even here2");}void TestMethod2(){string testing = "hello";}void m_c73515cb(string test){v_0055f67d = test;m_a172963e();}}} Your feedback shapes the future. For any queries, challenges, or suggestions, our dedicated support team is eager to assist. Embrace the next level of Rust development with the Split Plugin Loader! A Personal Note: Behind every piece of code there is a story. As someone who is heavily dyslexic, I found navigating through large code bases daunting. If you want to have this as a requirement or just to compile a large plugin and distribute the end result is up to you. I saw on the forums people where asking how to split plugins into multiple files and I personally think it's obnoxious splitting up a plugin into multiple plugins(except when it does more than one function) then you even have to wait for dependencies to load and what not.
    $10.00
1.1m

Downloads

Total number of downloads.

5.7k

Customers

Total customers served.

83.2k

Files Sold

Total number of files sold.

1.6m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.