Skip to content

Commit

Permalink
fix: kubejs integration
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelHillcox committed Jul 28, 2024
1 parent 1259840 commit 787835d
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 110 deletions.
26 changes: 3 additions & 23 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,5 @@
## 87.0.0
Update to 1.21
## 87.0.1

## 86.0.1
### Added

### Changed

Buttons can be added by adding the following to the mods config file. You can have up to 2 buttons. Each button can have a label up to 32 characters long.

If you do not want to have buttons, you can leave the buttons array empty.

```json
{
"buttons": [
{
"label": "Google",
"url": "https://www.google.com"
},
{
"label": "Yahoo",
"url": "https://www.yahoo.com"
}
]
}
```
- Added KubeJS Support back to the NeoForge version
14 changes: 7 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ minecraft_version=1.21
enabled_platforms=fabric,neoforge

archives_base_name=SimpleDiscordRichPresence
mod_version=87.0.0
mod_version=87.0.1
maven_group=com.sunekaer.mods

curseforge_id=334853
modrinth_id=SCAopByd
maven_url=https://maven.nanite.dev/

architectury_version=13.0.1
architectury_version=13.0.6

fabric_loader_version=0.15.11
fabric_api_version=0.100.3+1.21
fabric_loader_version=0.16.0
fabric_api_version=0.100.7+1.21

forge_version=50.0.9
neoforge_version=21.0.19-beta
neoforge_version=21.0.143

#kubejs_version=2001.6.4-build.114
#rhino_version=1902.2.3-build.284
kubejs_version=2100.7.0-build.117
rhino_version=2100.2.5-build.44

cloth_config_version=15.0.127
4 changes: 2 additions & 2 deletions neoforge/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ dependencies {
common(project(path: ":common", configuration: "namedElements")) { transitive false }
shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false }

// modImplementation "dev.latvian.mods:kubejs-forge:${rootProject.kubejs_version}"
// modImplementation "dev.latvian.mods:rhino-forge:${rootProject.rhino_version}"
modImplementation "dev.latvian.mods:kubejs-neoforge:${rootProject.kubejs_version}"
modImplementation "dev.latvian.mods:rhino:${rootProject.rhino_version}"
}

processResources {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,61 +1,63 @@
//package com.sunekaer.sdrp.neoforge.kubejs;
//
//import dev.architectury.event.EventResult;
//import dev.architectury.event.events.common.EntityEvent;
//import dev.latvian.mods.kubejs.KubeJSPlugin;
//import dev.latvian.mods.kubejs.event.EventGroup;
//import dev.latvian.mods.kubejs.event.EventHandler;
//import dev.latvian.mods.kubejs.event.EventJS;
//import dev.latvian.mods.kubejs.script.BindingsEvent;
//import net.minecraft.world.entity.Entity;
//import net.minecraft.world.entity.player.Player;
//import net.minecraft.world.level.Level;
//import net.minecraft.world.level.dimension.DimensionType;
//
//public class SDRPKubeJSIntegration extends KubeJSPlugin {
// static EventGroup GROUP = EventGroup.of("sdrp");
// static EventHandler DIMENSION_CHANGE = GROUP.client("dimension_change", () -> ClientDimensionChangeEvent.class);
//
// public static void setup() {
// EntityEvent.ADD.register(SDRPKubeJSIntegration::clientJoinEvent);
// }
//
// @Override
// public void registerBindings(BindingsEvent event) {
// event.add("SDRP", SDRPKubeJSWrapper.class);
// }
//
// @Override
// public void registerEvents() {
// GROUP.register();
// }
//
// private static EventResult clientJoinEvent(Entity entity, Level level) {
// if (!(entity instanceof Player player)) {
// return EventResult.pass();
// }
//
// if (!level.isClientSide) {
// return EventResult.pass();
// }
//
// DIMENSION_CHANGE.post(new ClientDimensionChangeEvent(level.dimensionType(), player, level));
// return EventResult.pass();
// }
//
// public static class ClientDimensionChangeEvent extends EventJS {
// public DimensionType dimensionType;
// public Player player;
// public Level level;
//
// public ClientDimensionChangeEvent(DimensionType dimensionType, Player player, Level level) {
// this.dimensionType = dimensionType;
// this.player = player;
// this.level = level;
// }
//
// public void updateSDRPState(String message, String imageName, String imageKey) {
// SDRPKubeJSWrapper.setState(message, imageName, imageKey);
// }
// }
//}
package com.sunekaer.sdrp.neoforge.kubejs;

import dev.architectury.event.EventResult;
import dev.architectury.event.events.common.EntityEvent;
import dev.latvian.mods.kubejs.event.EventGroup;
import dev.latvian.mods.kubejs.event.EventGroupRegistry;
import dev.latvian.mods.kubejs.event.EventHandler;
import dev.latvian.mods.kubejs.event.KubeEvent;
import dev.latvian.mods.kubejs.plugin.KubeJSPlugin;
import dev.latvian.mods.kubejs.script.BindingRegistry;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.dimension.DimensionType;

public class SDRPKubeJSIntegration implements KubeJSPlugin {
static EventGroup GROUP = EventGroup.of("sdrp");
static EventHandler DIMENSION_CHANGE = GROUP.client("dimension_change", () -> ClientDimensionChangeEvent.class);

public static void setup() {
EntityEvent.ADD.register(SDRPKubeJSIntegration::clientJoinEvent);
}


@Override
public void registerBindings(BindingRegistry event) {
event.add("SDRP", SDRPKubeJSWrapper.class);
}

@Override
public void registerEvents(EventGroupRegistry registry) {
registry.register(GROUP);
}

private static EventResult clientJoinEvent(Entity entity, Level level) {
if (!(entity instanceof Player player)) {
return EventResult.pass();
}

if (!level.isClientSide) {
return EventResult.pass();
}

DIMENSION_CHANGE.post(new ClientDimensionChangeEvent(level.dimensionType(), player, level));
return EventResult.pass();
}

public static class ClientDimensionChangeEvent implements KubeEvent {
public DimensionType dimensionType;
public Player player;
public Level level;

public ClientDimensionChangeEvent(DimensionType dimensionType, Player player, Level level) {
this.dimensionType = dimensionType;
this.player = player;
this.level = level;
}

public void updateSDRPState(String message, String imageName, String imageKey) {
SDRPKubeJSWrapper.setState(message, imageName, imageKey);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
//package com.sunekaer.sdrp.neoforge.kubejs;
//
//import com.jagrosh.discordipc.entities.RichPresence;
//import com.sunekaer.sdrp.discord.State;
//import net.minecraft.client.resources.language.I18n;
//
//import static com.sunekaer.sdrp.SDRP.RP_CLIENT;
//
//public class SDRPKubeJSWrapper {
// public static void setState(String message, String imageName, String imageKey) {
// RP_CLIENT.setState(new State(I18n.get(message), I18n.get(imageName), imageKey).createPresence());
// }
//
// public static RichPresence getCurrentState() {
// return RP_CLIENT.getCurrentState();
// }
//}
package com.sunekaer.sdrp.neoforge.kubejs;

import com.jagrosh.discordipc.entities.RichPresence;
import com.sunekaer.sdrp.discord.State;
import net.minecraft.client.resources.language.I18n;

import static com.sunekaer.sdrp.SDRP.RP_CLIENT;

public class SDRPKubeJSWrapper {
public static void setState(String message, String imageName, String imageKey) {
RP_CLIENT.setState(new State(I18n.get(message), I18n.get(imageName), imageKey).createPresence());
}

public static RichPresence getCurrentState() {
return RP_CLIENT.getCurrentState();
}
}

0 comments on commit 787835d

Please sign in to comment.