Giter Site home page Giter Site logo

dyldozer / plugin-hub Goto Github PK

View Code? Open in Web Editor NEW

This project forked from runelite/plugin-hub

0.0 0.0 0.0 2.48 MB

External plugins for RuneLite

Home Page: https://runelite.net

License: BSD 2-Clause "Simplified" License

Shell 53.44% Python 35.24% Java 11.32%

plugin-hub's Introduction

plugin-hub Discord

This repository contains markers for RuneLite plugins that are not supported by the RuneLite Developers. The plugins are provided "as is"; we make no guarantees about any plugin in this repo.

Creating new plugins

There are two methods to create an external plugin, you can either:

  • Use this plugin template.

  • Clone this repository and run the create_new_plugin.py script. This requires you to have python3 installed

Using the template repository

  1. Generate your own repository with this link. You have to be logged in to GitHub.

  2. Name your repository something appropriate, in my case I will name it helmet-check with the description You should always wear a helmet. Make sure that your repository is set to public.

  3. Add a README to your repository, this is a short description of what your plugin does. In the bottom right you will find an Add README-button. Click it and add a description of your plugin, it will be autofilled with the description you wrote in the previous step. This is the first thing a user will see when it visits your plugin repository.

  4. In the top right, you will see a Clone or download-button. Click on it and copy the link.

  5. Open IntelliJ and choose Get from Version Control. Paste the link you just copied in the URL field and where you want to save it in the second field.

  6. In order to make sure everything works correctly, try to start the client with your external plugin enabled by running the test.

run-test

  1. Use the refactor tool to rename the package to what you want your plugin to be. Rightclick the package in the sidebar and choose Refactor > Rename.

Do the same for ExamplePlugin, ExampleConfig and ExamplePluginTest.

Right-click the src folder in the sidebar and choose Replace in path, enter example in the upper field and <yourpluginname>, no spaces. in the lower one. Then press replace all. Go to your plugin file and set it's name in the PluginDescriptor, this can have spaces.

  1. Open the runelite-plugin.properties file and add info to each row.
displayName=Helmet check
author=dekvall
support=https://github.com/dekvall/helmet-check
description=Alerts you when you have nothing equipped in your head slot
tags=hint,gear,head
plugins=com.example.HelmetCheckPlugin

support is the URL you want players to use to leave feedback for your plugin; you can just use your repository for that. tags will make it easier to find your plugin when searching for related words.

  1. Optionally, you can add an icon to be displayed alongside with your plugin. Place a file with the name icon.png no larger than 48x72 px at the root of the repository.

  2. When you have your plugin working. Commit your changes and push them to your repository.

Using the script

  1. Navigate to the folder in which you cloned the plugin-hub repository.

  2. Run the script with:

python3 create_new_plugin.py

It will ask you a series of questions, and then generate a folder with the name of your plugin.

  1. Move the generated folder to it's own git repository and open the build.gradle file in IntelliJ.

  2. In order to make sure everything works correctly, try to start the client with your external plugin enabled by running the test.

run-test

  1. Edit runelite-plugin.properties with a support link and tags. support is the URL you want players to use to leave feedback for your plugin; you can just use your repository for that. tags will make it easier to find your plugin when searching for related words.

  2. Optionally, you can add an icon to be displayed alongside with your plugin. Place a file with the name icon.png no larger than 48x72 px at the root of the repository.

  3. When you have your plugin working. Commit your changes and push them to your repository.

Licensing your repository

  1. Go to your repository on GitHub and select Insights from the top bar. Then choose Community in the list to the left.
  2. In the license section of the list press Add.
  3. Select BSD 2-Clause "Simplified" License from the list to the left. Fill in your details and press Review and submit.
  4. Commit your changes by clicking Create new file in the bottom of the page. Make sure you check the button to directly commit to the master branch.

Submitting a plugin

  1. Fork the plugin-hub repository.
  2. Create a new branch for your plugin.
  3. Create a new file in the plugin-hub/plugins directory with the fields:
repository=
commit=
  1. To get the repository url, click the Clone or download-button choose Use HTTPS. Paste the url in in the repository= field.

  2. To get the commit hash, go to your plugin repository on GitHub and click on commits. Choose the latest one and copy the full 40-character hash. It can be seen in the top right after selecting a commit. Paste this into the commit= field of the file. Your file should now look something like this:

repository=https://github.com/dekvall/helmet-check.git
commit=9db374fc205c5aae1f99bd5fd127266076f40ec8
  1. This is the only change you need to make, so commit your changes and push them to your fork. Then go back to the plugin-hub and click New pull request in the upper left. Choose Compare across forks and select your fork and branch as head and compare.

  2. Write a short description of what your plugin does and then create your pull request.

  3. Be patient and wait for your plugin to be reviewed and merged.

Updating a plugin

To update a plugin, simply update the manifest with the most recent commit hash.

Reviewing

We will review your plugin to ensure it isn't malicious or breaking jagex's rules. If it is difficult for us to ensure the plugin isn't against the rules we will not merge it.

plugin-hub's People

Contributors

abextm avatar adam- avatar bram91 avatar dekvall avatar thestonedturtle avatar trevor159 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.