Coder Social home page Coder Social logo

thiq / scripts Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 1.29 MB

Thiq script repository

License: MIT License

JavaScript 98.04% TypeScript 1.96%
thiq spigot minecraft spigotapi spigotmc spigot-plugin spigot-plugins bukkit bukkitapi bukkit-api bukkit-plugin bukkit-plugins spigot-api javascript typescript typescript-compiler javascript-environment

scripts's Introduction

Thiq

The scripts repository for the Spigot plugin Thiq

Dependencies Version
Thiq.jar v3.0.0+

Thiq is 1 part Java and 1 part JavaScript. For one to work, one needs the other. Within Thiq, there are core JS libraries that ensure a constant system within the JS environment. "Why not do everything there?" The point of Thiq was to make fast, simple, and scalable solutions for plugin development within Spigot, one that Java does neither fast nor simple. One can say that it's easy to create a plugin, but what steps do you have to take? Create the project, assign dependencies, configure Maven, configure where the src sits at, and you haven't even started coding yet. Thiq makes it simple. It's a simple create, write, and reload.

Items of Importance and Loading

If you're familiar with NodeJS, then you'll be able to easily get started with Thiq. It follows the same directory and file structure out of the box, with the intent for a Node developer to easily use this environment with as little hassle as possible. If you're not familiar with Node, then you can either look up how to setup a project in it or read the next section.

First things first: loading process

When Thiq is initialized, it first creates a compiler to be used. Our environment is then given some methods to allow direct transpiling and execution, but it essentially amounts to the common JS function eval. After that's done, the internal JS files are loaded and modules are initialized. These are done to create a Node-replicating environment. Once that is done, the bootstrapper reads from package.json["main"] to determine the entry point. If the field doesn't exist, it is defaulted to index.js within plugins/Thiq.

The Entry File

Think of this file as the int main() of the environment. Once the environment is finished initializing, this is called. Once this file is finished executing, Thiq is considered finished loading.

Dependencies

Dependencies are resolved at startup through TPM (Thiq Package Manager). For documentation and tutorials on how to use TPM, check out the docs. Dependencies that Thiq is allowed to use is installed locally at package.json["modules_dir"]. This is unlike Node in the fact that Node is allowed to install packages globally on the host machine.

Contributing

Contributions are always welcome. The main goal is to recreate the NodeJS environment within the JavaEE stack, so core module updates are recommended. To contribute, just pull the code and submit a pull request with ${USERNAME}-{FEATURENAME}.

License

FOSSA Status

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.