-
-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Conflicts: # common/src/main/java/mcp/mobius/waila/Waila.java # common/src/main/java/mcp/mobius/waila/WailaClient.java # common/src/main/java/mcp/mobius/waila/overlay/ComponentProvider.java # common/src/main/java/mcp/mobius/waila/overlay/Tooltip.java # common/src/main/java/mcp/mobius/waila/plugin/core/BlockComponent.java # common/src/main/java/mcp/mobius/waila/plugin/core/EntityComponent.java # fabric/src/main/java/mcp/mobius/waila/fabric/FabricWaila.java
- Loading branch information
Showing
29 changed files
with
299 additions
and
234 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
name: API | ||
about: if you have complaints about the API | ||
title: '' | ||
labels: api | ||
assignees: '' | ||
|
||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,153 +1,5 @@ | ||
# What The Hell Is That? | ||
[![License](https://img.shields.io/badge/license-CC%20BY--NC--SA%204.0-blue.svg)](https://bit.ly/cc-by-nc-sa-40) | ||
# What The Hell Is That? [![License](https://img.shields.io/badge/license-CC%20BY--NC--SA%204.0-blue.svg)](https://bit.ly/cc-by-nc-sa-40) | ||
|
||
**WTHIT** - a fork of [HWYLA](https://minecraft.curseforge.com/projects/hwyla) by [TehNut](https://www.curseforge.com/members/tehnut) which is a fork of [WAILA](https://minecraft.curseforge.com/projects/waila) by [ProfMobius](https://minecraft.curseforge.com/members/ProfMobius). | ||
|
||
*This fork is permitted under the [CC BY-NC-SA 4.0](LICENSE.md) license. Usage of this mod is permitted in all modpacks.* | ||
|
||
--- | ||
|
||
## Creating a WTHIT Plugin | ||
|
||
### Add the bad maven to your `build.gradle` | ||
|
||
```groovy | ||
repositories { | ||
maven { url "https://bai.jfrog.io/artifactory/maven" } | ||
} | ||
``` | ||
|
||
### Add WTHIT as a dependency | ||
<details> | ||
<summary>Fabric</summary> | ||
|
||
```groovy | ||
dependencies { | ||
modImplementation "mcp.mobius.waila:wthit-fabric:${wthit_version}" | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>Forge</summary> | ||
|
||
```groovy | ||
dependencies { | ||
compile fg.deobf("mcp.mobius.waila:wthit-forge:${wthit_version}") | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>Architectury</summary> | ||
|
||
in common subproject: | ||
```groovy | ||
dependencies { | ||
modCompileOnly "mcp.mobius.waila:wthit-common:${wthit_version}" | ||
} | ||
``` | ||
in patform subprojects: | ||
```groovy | ||
dependencies { | ||
modRuntimeOnly "mcp.mobius.waila:wthit-${name}:${wthit_version}" | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
### Make a class that implements `IWailaPlugin` | ||
```java | ||
public class ExamplePlugin implements IWailaPlugin { | ||
@Override | ||
public void register(IRegistrar registrar) { | ||
// register your component here | ||
} | ||
} | ||
``` | ||
|
||
### Register your plugin | ||
|
||
<details> | ||
<summary>Fabric</summary> | ||
|
||
In your `fabric.mod.json` add a custom value | ||
```json5 | ||
{ | ||
"waila:plugins": { | ||
"id": "mymod:my_plugin", | ||
"initializer": "foo.bar.Baz", | ||
} | ||
} | ||
``` | ||
`waila:plugins` can also be an array of objects instead of a singular object. | ||
A required field can be added to specify mods required for that plugin to be loaded. | ||
It can either be a single string or an array of strings. | ||
```json5 | ||
{ | ||
"waila:plugins": { | ||
"id": "mymod:my_plugin", | ||
"initializer": "foo.bar.Baz", | ||
"required": "mod_a" | ||
} | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>Forge</summary> | ||
|
||
In your `mods.toml` | ||
```toml | ||
[[wailaPlugins]] | ||
id = "mymod:my_plugin1" | ||
initializer = "com.example.MyPlugin1" | ||
# with dependency | ||
[[wailaPlugins]] | ||
id = "mymod:my_plugin2" | ||
initializer = "com.example.MyPlugin2" | ||
required = "mod_a" | ||
# also accept an array of dependencies | ||
[[wailaPlugins]] | ||
id = "mymod:my_plugin3" | ||
initializer = "com.example.MyPlugin3" | ||
required = ["mod_a", "mod_b"] | ||
``` | ||
|
||
**`@WailaPlugin` annotation is deprecated and will be removed in future releases** | ||
|
||
</details> | ||
|
||
### (Optional) Add WTHIT as a mod dependency | ||
Both on fabric and forge, you can use either `wthit` or `waila` as a dependency in your mod metadata. | ||
Though if you use any WTHIT specific APIs, I suggest depending on `wthit` instead. | ||
|
||
<details> | ||
<summary><code>fabric.mod.json</code></summary> | ||
|
||
```json5 | ||
"depends": { | ||
"wthit": ">=2", | ||
// or | ||
"waila": ">=2" | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary><code>mods.toml</code></summary> | ||
|
||
```toml | ||
[[dependencies.examplemod]] | ||
modId = "wthit" # or waila | ||
versionRange="[2,)" | ||
``` | ||
|
||
</details> | ||
### WIP Documentation in [badasintended.github.io/wthit](https://badasintended.github.io/wthit) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
common/src/main/java/mcp/mobius/waila/api/IJsonConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package mcp.mobius.waila.api; | ||
|
||
import java.io.File; | ||
import java.util.function.Supplier; | ||
|
||
import com.google.gson.Gson; | ||
import mcp.mobius.waila.util.JsonConfig; | ||
|
||
/** | ||
* An Interface for easy (de)serialization for config classes | ||
* @param <T> the config class | ||
*/ | ||
public interface IJsonConfig<T> { | ||
|
||
static <T> Builder0<T> of(Class<T> clazz) { | ||
return new JsonConfig.Builder<>(clazz); | ||
} | ||
|
||
/** | ||
* Get current value | ||
*/ | ||
T get(); | ||
|
||
/** | ||
* Save value to file | ||
*/ | ||
void save(); | ||
|
||
/** | ||
* Write value to file | ||
*/ | ||
void write(T t, boolean invalidate); | ||
|
||
/** | ||
* Invalidate current value and force re-read file on next {@link #get} | ||
*/ | ||
void invalidate(); | ||
|
||
interface Builder0<T> { | ||
|
||
Builder1<T> file(File file); | ||
|
||
Builder1<T> file(String fileName); | ||
|
||
} | ||
|
||
interface Builder1<T> { | ||
|
||
Builder1<T> gson(Gson gson); | ||
|
||
Builder1<T> factory(Supplier<T> factory); | ||
|
||
IJsonConfig<T> build(); | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
common/src/main/java/mcp/mobius/waila/mixin/AccessorBossBarHud.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package mcp.mobius.waila.mixin; | ||
|
||
import java.util.Map; | ||
import java.util.UUID; | ||
|
||
import net.minecraft.client.gui.hud.BossBarHud; | ||
import net.minecraft.client.gui.hud.ClientBossBar; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
import org.spongepowered.asm.mixin.gen.Accessor; | ||
|
||
@Mixin(BossBarHud.class) | ||
public interface AccessorBossBarHud { | ||
|
||
@Accessor | ||
Map<UUID, ClientBossBar> getBossBars(); | ||
|
||
} |
Oops, something went wrong.