?

Which plugin type do you use primarily?

  1. C# (filetype .cs)

  2. Lua (filetype .lua)

  3. Python (filetype .py)

  4. JavaScript (filetype .js)

Results are only viewable after voting.
  1. Wulf

    Wulf Community Admin Community Admin Oxide Developer

    It's been nearly 2 years since Python and JavaScript were implemented by the community per request, but they were never fully adopted. The majority of the developers in our community favor C# due to it being more widely supported and known, which I know is partly because of the lack of documentation on getting started with the scripted languages. We've had a few developers pick up the languages and write a few plugins, but not enough to keep them maintained and supported. Meanwhile, C# support is being somewhat crippled in order for all other plugin languages to be supported, as there are some features in C# that aren't possible while they exist.

    So the question is... how many of you are utilizing one of the languages as your primary source of plugins? I know there are some private plugins out there, but roughly 98% of the public plugins or more are C#, with a sliver of plugins being written in Lua (many slated to be converted to C#) and an even smaller amount in the other languages. We would like to implement analytics in an upcoming build to get a better idea as to what servers are actually using, but I'm not sure when that'll be.

    It'll be unlikely that we'll remove these languages in the current version of Oxide, but they are currently slated for removal in the next major overhaul which will be a bit down the road yet. There are a few issues we'd like to resolve with the C# compiler as well before this as well.
     
    Austinv900 and Mughisi like this.
  2. Cataclysme

    Cataclysme Shack Builder

    C# or Python for me
     
  3. Austinv900

    Austinv900 Shack Builder Plugin Developer

    What kinda new features would be available once the extra languages are removed?
     
  4. Wulf

    Wulf Community Admin Community Admin Oxide Developer

    Have you made any plugins in Python?

    The ability to have multiple hooks with the same names but different arguments; which plays a bit part with Covalence (universal API). There are also existing features that C# has that others will likely have too such as attributes, extension methods, etc.
     
  5. Cataclysme

    Cataclysme Shack Builder

    No, i don't make plugin but i know the language Python so if i create plugin now, it's in Python.
    But i see on Oxide 90% of the plugins are in C# so i need to learn C# to have more compatibility for support for example
     
  6. Wulf

    Wulf Community Admin Community Admin Oxide Developer

    We might be unbundling the JavaScript and Lua extensions to start with. They'll likely be available as a manual, optional install then.
     
  7. Cataclysme

    Cataclysme Shack Builder

    So remove .lua and .js files id i understand ? And adminspawn for example, complete rewrite?
     
  8. Alphawar

    Alphawar Master Researcher Plugin Developer

    My only language (relevant to Oxide) is C#.
    This type of feature is really useful as I have used that in my PvX mod:
    Code (C#):
            bool isPvP(ulong _playerID)
            {
                Code
            }
            bool isPvP(BasePlayer _player)
            {
                Code
            }
            bool isPvP(BaseCombatEntity _BaseCombat)
            {
                Code
            }
     
  9. centran

    centran Naked Wanderer

    How likely will you be removing the other plugin languages(besides C#). I have some Python plugins and wondering if I should re-write them in C#. The plugin is only useful to our particular setup(backend stuf) so that is why it was never released. Also there was already a plugin released that didn't need a bunch of other non-related programs setup.
     
  10. Wulf

    Wulf Community Admin Community Admin Oxide Developer

    It'll eventually be removed too, likely when the others are actually fully removed. The others are still available, just not bundled in our snapshots.