All Projects → Trigary → Iodine

Trigary / Iodine

Licence: GPL-3.0 license
A Minecraft mod - server plugin pair that adds custom GUIs and overlays. No more inventory and chat menus!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Iodine

ForgeWurst
Wurst Client for Minecraft Forge.
Stars: ✭ 37 (+60.87%)
Mutual labels:  forge, minecraft-mod, minecraft-forge, forge-mod, minecraft-forge-mod
ForgeModdingSkeleton
Skeletons for building Forge mods
Stars: ✭ 21 (-8.7%)
Mutual labels:  minecraft-mod, minecraft-forge, forge-mod, minecraft-forge-mod
RubyMod
RubyMod is an open-source mod, which prioritizes sharing its code to help other modders learn.
Stars: ✭ 15 (-34.78%)
Mutual labels:  minecraft-mod, minecraft-forge, forge-mod, minecraft-forge-mod
NaturesCompass
A Minecraft mod that allows you to search for a biome's location anywhere in the world and view information about it.
Stars: ✭ 42 (+82.61%)
Mutual labels:  forge, minecraft-mod, minecraft-forge, forge-mod
metal-chests
Better alternative to IronChests
Stars: ✭ 13 (-43.48%)
Mutual labels:  forge, minecraft-mod, minecraft-forge, minecraft-forge-mod
serilum-mc-mods
A hub for source code, issues and content suggestions for Serilum's Minecraft mods on CurseForge.
Stars: ✭ 66 (+186.96%)
Mutual labels:  forge, minecraft-mod, minecraft-forge, forge-mod
ShoulderSurfing
Custom 3rd person perspective for Minecraft
Stars: ✭ 28 (+21.74%)
Mutual labels:  forge, minecraft-mod, minecraft-forge, forge-mod
Waddles
Waddles adds cute Adélie penguins that waddle
Stars: ✭ 22 (-4.35%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Hypermc
Install Minecraft extensions with a user-friendly interface ⛏💎
Stars: ✭ 27 (+17.39%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Bettercolors
⚔️ Minecraft assistance mod built with Forge AND Fabric. For MC 1.8.9, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.x, 1.17.X, 1.18.X, 1.19.X
Stars: ✭ 37 (+60.87%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Chisels And Bits
A Minecraft mod about chiseling and designing custom blocks in game.
Stars: ✭ 119 (+417.39%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Future-MC
Adds blocks from future versions.
Stars: ✭ 51 (+121.74%)
Mutual labels:  minecraft-mod, minecraft-forge, minecraft-forge-mod
MrCrayfishGunMod
A Minecraft Mod focused on adding fun and simple weapons wtih lots of customisation including attachments and more!
Stars: ✭ 132 (+473.91%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Crucible
Crucible is a Thermos fork containing various patches for bug fixes and performance improvements. Join our discord to stay updated with the project development.
Stars: ✭ 67 (+191.3%)
Mutual labels:  bukkit, forge, minecraft-forge
Agricraft
The source code for the Minecraft mod: AgriCraft
Stars: ✭ 160 (+595.65%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
JMT-MCMT
A multithreading mod for for Minecraft forge 1.15.2 and 1.16.x
Stars: ✭ 206 (+795.65%)
Mutual labels:  minecraft-mod, forge-mod, minecraft-forge-mod
Techarium
A futuristic 1.16 Minecraft Tech Mod.
Stars: ✭ 62 (+169.57%)
Mutual labels:  minecraft-mod, minecraft-forge, minecraft-forge-mod
Tiny-Redstone
Forge mod for Minecraft that adds many tiny redstone pieces that you can put together on redstone panels to form tiny redstone circuits.
Stars: ✭ 20 (-13.04%)
Mutual labels:  forge, minecraft-mod, forge-mod
Equivalent Exchange 3
Stars: ✭ 727 (+3060.87%)
Mutual labels:  forge, minecraft-mod, minecraft-forge
Realistictorches
A Minecraft mod that increases the difficulty of the early game by adding realism mechanics to torches.
Stars: ✭ 15 (-34.78%)
Mutual labels:  forge, minecraft-mod, minecraft-forge

Iodine

A Minecraft mod - server plugin pair that adds custom GUIs and overlays. No more inventory and chat menus! This is a successor to NickAc's Lithium project.

This project is under heavy development currently. There are no stable releases, but Bukkit and Forge builds are automatically generated after each commit. These can be downloaded from the Actions page. The plugin API is available through JitPack, see the API section.

Currently a Forge based client-side and a Bukkit based server-side is being worked on. Adding Fabric or especially Sponge support shouldn't be much trouble at all thanks to how the project is structured: Forge and Bukkit are abstracted away.

What this project offers:

  • GUIs that can be viewed and interacted with by multiple players simultaneously
  • Clickable buttons, sliders, checkboxes, linear and grid layouts, etc.
  • Overlays which can be made into minimaps or custom status bars
  • An easy-to-use API for plugin developers to harness this all
  • Security: no remote code execution is done, the bandwidth is minimized as well
  • All this while keeping the Minecraftian feeling!

Showcase

Showcase of some of the implemented elements:

Showcase of a proof-of-concept Factions minimap:

API

Very simple, "Hello World" sample code:

IodineApi.get().createGui()
    .addElement(GuiElements.TEXT, e -> e.setText("Hello, world!").setWidth(75))
    .addElement(GuiElements.BUTTON, 0, 15, e -> e.setText("Exit").setWidth(75)
        .onClicked((ee, p) -> p.closeOpenGui()))
    .onClosed((gui, p, byPlayer) -> p.sendMessage(
        byPlayer ? "You pressed the escape key" : "You clicked the exit button"))
    .openFor(IodineApi.get().getPlayer(player.getUniqueId()));

Real examples can be found in the showcase subproject.

The JavaDocs are available online, hosted on JitPack: latest
(It might take a while to load, because the build might have to run first.)

Gradle coordinates:

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    compileOnly 'com.github.Trigary.Iodine:api:master-SNAPSHOT'
}

Maven coordinates:

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

<dependency>
    <groupId>com.github.Trigary.Iodine</groupId>
    <artifactId>api</artifactId>
    <version>master-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Modules

This project consists of multiple subprojects, each with their own role:

  • common: contains code that both api and backend require
  • api: the API that plugin developers use, included in server
  • backend: contains code that both server and client require
  • server: contains code that is used by multiple server-side plugin projects
  • client: contains code that is used by multiple client-side mod projects
  • bukkit: the Bukkit plugin part of the project
  • forge-VERSION: the Forge mod part of the project, for the specified version
  • showcase contains sample code, this is an actual Bukkit plugin

The forge-VERSION projects are not real subprojects due to ForgeGradle issues, they are actually considered separate projects by Gradle. The showcase project isn't a subproject either since it's not an actual component in Iodine, it only depends on it.

To recap which projects depend on which:

  • api: common
  • backend: common
  • server: backend + api (inherited: common)
  • client: backend (inherited: common)
  • bukkit: server (inherited: api, backend, common)
  • forge-VERSION: client (inherited: backend, common)
  • showcase: api (inherited: common)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].