From 09236e9483dbea6cb76bf1eec58324ea060c0788 Mon Sep 17 00:00:00 2001 From: MartinSVK12 <37455793+MartinSVK12@users.noreply.github.com> Date: Mon, 15 Jan 2024 18:01:47 +0100 Subject: [PATCH] More recipes, rich presence integration, other stuff... --- build.gradle | 4 +- gradle.properties | 2 +- .../signalindustries/SignalIndustries.java | 4 +- .../gui/guidebook/pages/MultiblockPage.java | 2 +- .../mixin/RichPresenceHandlerThreadMixin.java | 35 +++++++ .../mixin/SearchPageMixin.java | 26 ----- .../signalindustries/recipes/workbench.json | 94 ++++++++++++++++++- .../lang/signalindustries/en_US.lang | 10 +- .../resources/signalindustries.mixins.json | 2 +- 9 files changed, 139 insertions(+), 40 deletions(-) create mode 100644 src/main/java/sunsetsatellite/signalindustries/mixin/RichPresenceHandlerThreadMixin.java delete mode 100644 src/main/java/sunsetsatellite/signalindustries/mixin/SearchPageMixin.java diff --git a/build.gradle b/build.gradle index c46f886a..0b5f0ecb 100644 --- a/build.gradle +++ b/build.gradle @@ -125,8 +125,8 @@ dependencies { implementation project(path: ":catalyst:multiblocks",configuration: "namedElements") implementation project(path: ":catalyst:effects",configuration: "namedElements") - modImplementation "DragonFly:dragonfly:1.2.0-7.1" - modImplementation "BTWaila:btwaila:1.0.6-7.1" + modImplementation "DragonFly:dragonfly:1.3.4-7.1" + modImplementation "BTWaila:btwaila:1.0.7-7.1" implementation "org.slf4j:slf4j-api:1.8.0-beta4" implementation "org.apache.logging.log4j:log4j-slf4j18-impl:2.16.0" diff --git a/gradle.properties b/gradle.properties index 9e367244..40e12ff9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ bta_version=7.1-pre1a loader_version=0.14.19-babric.3-bta # HalpLibe -halplibe_version=3.1.2 +halplibe_version=3.1.3 # Mod mod_version=0.2.3 diff --git a/src/main/java/sunsetsatellite/signalindustries/SignalIndustries.java b/src/main/java/sunsetsatellite/signalindustries/SignalIndustries.java index 4b4a99a3..a4d24056 100644 --- a/src/main/java/sunsetsatellite/signalindustries/SignalIndustries.java +++ b/src/main/java/sunsetsatellite/signalindustries/SignalIndustries.java @@ -738,10 +738,10 @@ public class SignalIndustries implements ModInitializer, GameStartEntrypoint { public static final Item energyCatalyst = ItemHelper.createItem(MOD_ID,new Item(config.getInt("ItemIDs.energyCatalyst")),"energyCatalyst","energycatalyst.png"); - public static final Item signalumSaber = ItemHelper.createItem(MOD_ID, new ItemSignalumSaber("signalumSaber",config.getInt("ItemIDs.signalumSaber"), Tier.REINFORCED, ToolMaterial.stone), "signalumSaber", "signalumsaberunpowered.png"); + public static final Item signalumSaber = ItemHelper.createItem(MOD_ID, new ItemSignalumSaber("signalumSaber",config.getInt("ItemIDs.signalumSaber"), Tier.REINFORCED, ToolMaterial.stone), "reinforced.signalumSaber", "signalumsaberunpowered.png"); public static final int[][] saberTex = new int[][]{TextureHelper.getOrCreateItemTexture(MOD_ID,"signalumsaberunpowered.png"),TextureHelper.getOrCreateItemTexture(MOD_ID,"signalumsaber.png")}; - public static final Item pulsar = ItemHelper.createItem(MOD_ID,new ItemPulsar(config.getInt("ItemIDs.pulsar"), Tier.REINFORCED),"pulsar","pulsaractive.png").setMaxStackSize(1); + public static final Item pulsar = ItemHelper.createItem(MOD_ID,new ItemPulsar(config.getInt("ItemIDs.pulsar"), Tier.REINFORCED),"reinforced.pulsar","pulsaractive.png").setMaxStackSize(1); public static final int[][] pulsarTex = new int[][]{TextureHelper.getOrCreateItemTexture(MOD_ID,"pulsarinactive.png"),TextureHelper.getOrCreateItemTexture(MOD_ID,"pulsaractive.png"),TextureHelper.getOrCreateItemTexture(MOD_ID,"pulsarcharged.png"),TextureHelper.getOrCreateItemTexture(MOD_ID,"pulsarwarpactive.png"),TextureHelper.getOrCreateItemTexture(MOD_ID,"pulsarwarpcharged.png")}; public static final ItemSignalumPowerSuit signalumPowerSuitHelmet = (ItemSignalumPowerSuit) ItemHelper.createItem(MOD_ID,new ItemSignalumPowerSuit("reinforced.signalumpowersuit.helmet",config.getInt("ItemIDs.signalumPowerSuitHelmet"),armorSignalumPowerSuit,0,Tier.REINFORCED),"reinforced.signalumpowersuit.helmet","signalumpowersuit_helmet.png"); diff --git a/src/main/java/sunsetsatellite/signalindustries/gui/guidebook/pages/MultiblockPage.java b/src/main/java/sunsetsatellite/signalindustries/gui/guidebook/pages/MultiblockPage.java index 44f149c4..9c3560e0 100644 --- a/src/main/java/sunsetsatellite/signalindustries/gui/guidebook/pages/MultiblockPage.java +++ b/src/main/java/sunsetsatellite/signalindustries/gui/guidebook/pages/MultiblockPage.java @@ -29,7 +29,7 @@ protected void renderBackground(RenderEngine re, int x, int y) { @Override protected void renderForeground(RenderEngine re, FontRenderer fr, int x, int y, int mouseX, int mouseY, float partialTicks) { if(multiblock != null){ - drawStringCenteredNoShadow(fr, I18n.getInstance().translateKey(multiblock.translateKey), x + 158 / 2, y + 10, 0x000000); + drawStringCenteredNoShadow(fr, I18n.getInstance().translateNameKey(multiblock.translateKey), x + 158 / 2, y + 10, 0x000000); } else { drawStringCenteredNoShadow(fr,"No results :(" ,x+width/2,y+height/2,0xFF808080); } diff --git a/src/main/java/sunsetsatellite/signalindustries/mixin/RichPresenceHandlerThreadMixin.java b/src/main/java/sunsetsatellite/signalindustries/mixin/RichPresenceHandlerThreadMixin.java new file mode 100644 index 00000000..3c4f7d45 --- /dev/null +++ b/src/main/java/sunsetsatellite/signalindustries/mixin/RichPresenceHandlerThreadMixin.java @@ -0,0 +1,35 @@ +package sunsetsatellite.signalindustries.mixin; + +import de.jcm.discordgamesdk.activity.Activity; +import net.fabricmc.loader.impl.FabricLoaderImpl; +import net.fabricmc.loader.impl.launch.FabricLauncher; +import net.fabricmc.loader.impl.launch.FabricLauncherBase; +import net.minecraft.client.Minecraft; +import net.minecraft.client.discord.RichPresenceHandlerThread; +import net.minecraft.core.world.Dimension; +import net.minecraft.core.world.biome.Biome; +import net.minecraft.core.world.weather.Weather; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; +import sunsetsatellite.signalindustries.SignalIndustries; + +import java.util.Map; + +@Mixin(value = RichPresenceHandlerThread.class, remap = false) +public class RichPresenceHandlerThreadMixin { + + @Shadow private static Map biomeNamesMap; + + @Shadow private static Map dimensionNamesMap; + + @Inject(method = "",at = @At("TAIL")) + public void init(Minecraft mc, CallbackInfo ci){ + dimensionNamesMap.put(SignalIndustries.dimEternity,"a barren realm"); + biomeNamesMap.put(SignalIndustries.biomeEternity,"the edge of reality"); + } + +} diff --git a/src/main/java/sunsetsatellite/signalindustries/mixin/SearchPageMixin.java b/src/main/java/sunsetsatellite/signalindustries/mixin/SearchPageMixin.java deleted file mode 100644 index bd0a9824..00000000 --- a/src/main/java/sunsetsatellite/signalindustries/mixin/SearchPageMixin.java +++ /dev/null @@ -1,26 +0,0 @@ -package sunsetsatellite.signalindustries.mixin; - -import net.minecraft.client.gui.guidebook.GuiGuidebook; -import net.minecraft.client.gui.guidebook.PageManager; -import net.minecraft.client.gui.guidebook.search.SearchPage; -import net.minecraft.core.data.registry.recipe.SearchQuery; -import org.spongepowered.asm.mixin.Debug; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import sunsetsatellite.signalindustries.SignalIndustries; - -@Debug( - export = true -) -@Mixin( - value = SearchPage.class, - remap = false -) -public class SearchPageMixin { - @Inject(method = "keyTyped",at = @At("HEAD")) - public void keyTyped(char c, int key, int x, int y, int mouseX, int mouseY, CallbackInfo ci) { - SignalIndustries.LOGGER.info(String.format("char: %c | key: %d | x: %d | y: %d | mx: %d | my: %d",c,key,x,y,mouseX,mouseY)); - } -} diff --git a/src/main/resources/assets/signalindustries/recipes/workbench.json b/src/main/resources/assets/signalindustries/recipes/workbench.json index c12667ba..6b278187 100644 --- a/src/main/resources/assets/signalindustries/recipes/workbench.json +++ b/src/main/resources/assets/signalindustries/recipes/workbench.json @@ -2248,7 +2248,7 @@ } ], "result": { - "key": "item.signalindustries.signalumSaber", + "key": "item.signalindustries.reinforced.signalumSaber", "amount": 1, "meta": 0 }, @@ -2551,7 +2551,7 @@ } ], "result": { - "key": "item.signalindustries.pulsar", + "key": "item.signalindustries.reinforced.pulsar", "amount": 1, "meta": 0 }, @@ -3174,5 +3174,95 @@ "meta": 0 }, "consumeContainers": false + }, + { + "name": "signalindustries:workbench/blank_module", + "type": "minecraft:crafting/shaped", + "pattern": [ + "RCR", + "CRC", + "RCR" + ], + "symbols": [ + { + "symbol": "R", + "stack": { + "key": "item.signalindustries.reinforcedCrystalAlloyPlate", + "amount": 1, + "meta": 0 + } + }, + { + "symbol": "C", + "stack": { + "key": "item.signalindustries.crystalAlloyPlate", + "amount": 1, + "meta": 0 + } + } + ], + "result": { + "key": "item.signalindustries.blankAbilityModule", + "amount": 1, + "meta": 0 + }, + "consumeContainers": false + }, + { + "name": "signalindustries:workbench/attachment_point", + "type": "minecraft:crafting/shaped", + "pattern": [ + "S S", + " S ", + "S S" + ], + "symbols": [ + { + "symbol": "S", + "stack": { + "key": "item.signalindustries.steelPlate", + "amount": 1, + "meta": 0 + } + } + ], + "result": { + "key": "item.signalindustries.attachmentPoint", + "amount": 2, + "meta": 0 + }, + "consumeContainers": false + }, + { + "name": "signalindustries:workbench/pulsar_attachment", + "type": "minecraft:crafting/shaped", + "pattern": [ + "P", + "A" + ], + "symbols": [ + { + "symbol": "P", + "stack": { + "key": "item.signalindustries.reinforced.pulsar", + "amount": 1, + "meta": 0 + } + }, + { + "symbol": "A", + "stack": { + "key": "item.signalindustries.attachmentPoint", + "amount": 1, + "meta": 0 + } + } + ], + "result": { + "key": "item.signalindustries.reinforced.attachment.pulsar", + "amount": 1, + "meta": 0 + }, + "consumeContainers": false } ] \ No newline at end of file diff --git a/src/main/resources/lang/signalindustries/en_US.lang b/src/main/resources/lang/signalindustries/en_US.lang index 2c49648d..a30577e6 100644 --- a/src/main/resources/lang/signalindustries/en_US.lang +++ b/src/main/resources/lang/signalindustries/en_US.lang @@ -76,11 +76,11 @@ item.signalindustries.romChipProjectile.desc=Contains code for a [Trigger] abili item.signalindustries.romChipBoost.name=ROM Chip: Boost item.signalindustries.romChipBoost.desc=Contains code for a [Trigger] ability. -item.signalindustries.pulsar.name=The Pulsar -item.signalindustries.pulsar.desc=Multifunctional gadget. It's main ability is condensing and releasing huge amounts of [S. Energy]. For example in the form of powerful shockwaves. +item.signalindustries.reinforced.pulsar.name=The Pulsar +item.signalindustries.reinforced.pulsar.desc=Multifunctional gadget. It's main ability is condensing and releasing huge amounts of [S. Energy]. For example in the form of powerful shockwaves. -item.signalindustries.signalumSaber.name=Signalum Saber -item.signalindustries.signalumSaber.desc=A heated blade capable of cutting almost anything if powered. +item.signalindustries.reinforced.signalumSaber.name=Signalum Saber +item.signalindustries.reinforced.signalumSaber.desc=A heated blade capable of cutting almost anything if powered. item.signalindustries.basic.signalumDrill.name=Basic Signalum Drill item.signalindustries.basic.signalumDrill.desc=A heavy-duty drill powered by Signalum Energy. Will not break when it runs out of energy. @@ -440,7 +440,7 @@ tile.signalindustries.dilithiumCrystalBlock.desc=A fragile crystal of Dilithium. dimension.signalindustries.eternity.name=Eternity signalindustries.eternity.name=Eternity -signalindustries.eternity.desc=The void between worlds connected through the fabric of reality.\nHaving an active link to one of these worlds is the only way out. +signalindustries.eternity.desc=The void between worlds\nconnected through the fabric of reality.\nHaving an active link to one of these worlds is the only way out. weather.bloodMoon.name=Blood Moon weather.solarEclipse.name=Solar Eclipse diff --git a/src/main/resources/signalindustries.mixins.json b/src/main/resources/signalindustries.mixins.json index 7013fe80..160186b5 100644 --- a/src/main/resources/signalindustries.mixins.json +++ b/src/main/resources/signalindustries.mixins.json @@ -29,8 +29,8 @@ "RenderEngineMixin", "RenderGlobalMixin", "RenderPlayerMixin", + "RichPresenceHandlerThreadMixin", "SaveHandlerBaseMixin", - "SearchPageMixin", "SpawnerMobsMixin", "WorldGenLabyrinthMixin", "WorldMixin",