Git Product home page Git Product logo

godot-next's Introduction

godot-next

Description

Godot Node Extensions, AKA Godot NExt, is a Godot 3.1+ repository dedicated to collecting basic script classes that are currently unavailable in vanilla Godot.

As you might have noticed, Godot Engine's initial node offerings are general purpose and are intentionally not oriented towards particular types of games.

This repository's purpose is to create classes that fulfill a particular function and work out-of-the-box. Users should be able to use your class immediately after creating it. For nodes, don't be afraid to design ones that have an array of dynamically generated children. ;-)

Note: The repository is named after Nodes, but ultimately any general-purpose type is welcome here (References, Resources, etc.).

If you like the project, please star it. If you'd like to support its development, please send tips to my Kofi.

Jump to Class List

How to Use

  1. Download the repo directly (the AssetLib version is no longer maintained)

  2. Copy the addons directory to any project you would like to use them in

  3. Open Project Settings and go to the Plugins tab.

  4. Find the godot-next plugin and select "Active" from the dropdown on the right-hand side.

  5. You should now be able to create each new type of node in your project!

How to Contribute

Ideas

If you have an idea for a node that you would like to have added to the repository, create a new Issue.

Scripts

All scripts must be script classes, i.e. scripts with registered names.

All scripts must have the author's name at the top.

All credits related to any associated script code or icons should be kept in the ATTRIBUTIONS.md file.

All scripts must adhere to the relevant language's styling conventions, modeled after Godot Docs examples and the Godot Engine source code.

All C# scripts must be submitted to a separate addons/godot-next-cs folder. This is to ensure that users who aren't using the Mono-enabled version of Godot do not have C# scripts present.

Submissions are encouraged to do the following:

  1. Provide a 16x16 SVG icon for each submitted script.
  2. Use statically-typed GDScript if submitting GDScript files.
  3. Create mirrored versions of GDScript and C# scripts between folders.
  4. Add your node(s)' information to the bottom of the README, if possible (less work for maintainers).

That's it! I hope you've got ideas of what you'd like to share with others.

Classes

Linkable Node Name Description Languages
Array2D A 2D Array class. GDScript
ArrayMap A Resource that maps String keys to Variants in an Array for fast iteration. Serializes all data as individual properties to avoid storage bugs in Godot 3.x. GDScript
BackBufferPanel A Control that copies its region to the render buffer so it can be used in screen-reading shaders. GDScript
BitFlag A class that allows abstracts away the complexity of handling bit flag enum types. GDScript
Bitset A class that allows for easily manipulated bitmasks of any size. GDScript
Behavior A Resource type that automatically calls Node-like notification methods when paired with the CallbackDelegator class. GDScript
CallbackDelegator A Node that manages a ResourceSet of resources and delegates Node callbacks to each instance. GDScript
ClassType A class abstraction, both for engine and user-defined types. GDScript
CSVFile Similar to ConfigFile, parses a .csv file. Can generate a key-value store from rows. Supports .tsv files. GDScript
Cycle Cycles through child nodes without any visibility or container effects. GDScript
DebugLabel A label which displays a list of property values in any Object-derived instance at run-time for debugging purposes. GDScript
EditorTools A utility for any features useful in the context of the Editor. GDScript
FileSearch A utility with helpful methods to search through one's project files (or any directory). GDScript
FileSystemLink A utility for creating links (file/directory, symbolic/hard). GDScript
Geometry2D A utility that draws a Shape2D using CollisionShape2D's editor plugin handles. GDScript, C#
Inflector A vocabulary wrapper of inflection tools to pluralize and singularize strings. GDScript
InspectorControls A utility for creating data-editing GUI elements. GDScript
MessageDispatcher A base object that handles signaling for non predetermined signals. GDScript
PhysicsLayers A Utility class which allows easy access to your physics layers via their names in the project settings. GDScript
ProjectTools A utility for any features useful in the context of a Godot Project. GDScript
PropertyInfo A wrapper and utility class for generating PropertyInfo Dictionaries, for use in Object._get_property_list(). GDScript
ResourceArray A ResourceCollection implementation that manages an Array of Resources. GDScript
ResourceCollection An abstract base class for data structures that store Resource objects. GDScript
ResourceSet A ResourceCollection implementation that manages a Set of Resources. GDScript
Singletons A utility for caching Reference-derived singletons. Resources with a SELF_RESOURCE constant with a path to a *.tres file will be automatically loaded when accessed. GDScript
Trail2D Creates a variable-length trail that tracks a "target" node. GDScript, C#
Trail3D Creates a variable-length trail on an ImmediateGeometry node. GDScript, C#
Tween Sequence A helper class for easier management and chaining of Tweens dynamically from code. GDScript
Vec2 Adds more constants for Vector2. GDScript, C#
Vec3 Adds more constants for Vector3. GDScript, C#
VectorDisplay2D Displays Vector2 members in the editor via Position2D nodes. GDScript
VectorDisplay3D Displays Vector3 members in the editor via Position3D nodes. GDScript
Variant A utility class for handling Variants (the type wrapper for all variables in Godot's scripting API). GDScript
VBoxItemList Creates a vertical list of items that can be added or removed. Items are a user-specified Script or Scene Control. GDScript
DiscreteGradientTexture Creates a not interpolated texture for a gradient. GDScript

godot-next's People

Contributors

aaronfranke avatar athrunen avatar firepal avatar henriiquecampos avatar iatenine avatar isnt3174 avatar jarlowrey avatar kobewi avatar milesturin avatar minersebas avatar miziziziz avatar munwolf avatar nonunknown avatar rubonnek avatar shalokshalom avatar silverbully avatar smiley32 avatar tlitookilakin avatar verbalshadow avatar willnationsdev avatar xaguzman avatar xdgamestudios avatar xrayez 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.