diff options
| author | msg-programs <msgdoesstuff@gmail.com> | 2023-09-08 09:54:47 +0200 |
|---|---|---|
| committer | msg-programs <msgdoesstuff@gmail.com> | 2023-09-08 09:54:47 +0200 |
| commit | 7df2a590d4b0079f65ef639315d04f63c2f754a7 (patch) | |
| tree | fb2b0594a7e0b397b8f5afccdfa8ae7409edb9f8 /src/main | |
| parent | b153e75818b5058df9334953d5924c2c82598719 (diff) | |
| parent | 9c7bf54123f366ad90bfafe81e973b731fd6b5b3 (diff) | |
| download | Skyblocker-7df2a590d4b0079f65ef639315d04f63c2f754a7.tar.gz Skyblocker-7df2a590d4b0079f65ef639315d04f63c2f754a7.tar.bz2 Skyblocker-7df2a590d4b0079f65ef639315d04f63c2f754a7.zip | |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into readme-fixes
Pull upstream updates into branch
Diffstat (limited to 'src/main')
88 files changed, 432 insertions, 891 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index 4ef19931..5c7f2a99 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -2,10 +2,7 @@ package me.xmrvizzy.skyblocker; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import me.xmrvizzy.skyblocker.chat.ChatMessageListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.discord.DiscordRPCManager; -import me.xmrvizzy.skyblocker.gui.ContainerSolverManager; import me.xmrvizzy.skyblocker.skyblock.*; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap; @@ -21,12 +18,15 @@ import me.xmrvizzy.skyblocker.skyblock.shortcut.Shortcuts; import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud; import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr; -import me.xmrvizzy.skyblocker.utils.MessageScheduler; import me.xmrvizzy.skyblocker.utils.NEURepo; -import me.xmrvizzy.skyblocker.utils.Scheduler; import me.xmrvizzy.skyblocker.utils.Utils; -import me.xmrvizzy.skyblocker.utils.culling.OcclusionCulling; -import me.xmrvizzy.skyblocker.utils.title.TitleContainer; +import me.xmrvizzy.skyblocker.utils.chat.ChatMessageListener; +import me.xmrvizzy.skyblocker.utils.discord.DiscordRPCManager; +import me.xmrvizzy.skyblocker.utils.render.culling.OcclusionCulling; +import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolverManager; +import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer; +import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler; +import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.loader.api.FabricLoader; @@ -90,6 +90,7 @@ public class SkyblockerMod implements ClientModInitializer { TabHud.init(); DungeonMap.init(); DungeonSecrets.init(); + DungeonBlaze.init(); TheRift.init(); TitleContainer.init(); ScreenMaster.init(); @@ -104,7 +105,6 @@ public class SkyblockerMod implements ClientModInitializer { statusBarTracker.init(); scheduler.scheduleCyclic(Utils::update, 20); scheduler.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100); - scheduler.scheduleCyclic(DungeonBlaze::update, 4); scheduler.scheduleCyclic(TicTacToe::tick, 4); scheduler.scheduleCyclic(LividColor::update, 10); scheduler.scheduleCyclic(BackpackPreview::tick, 50); diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java new file mode 100644 index 00000000..c6fc1924 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java @@ -0,0 +1,52 @@ +package me.xmrvizzy.skyblocker.compatibility; + +import java.util.List; +import java.util.Set; + +import org.objectweb.asm.tree.ClassNode; +import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; +import org.spongepowered.asm.mixin.extensibility.IMixinInfo; + +import net.fabricmc.loader.api.FabricLoader; + +public class MixinPlugin implements IMixinConfigPlugin { + private static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric"); + + @Override + public void onLoad(String mixinPackage) { + //Do nothing + } + + @Override + public String getRefMapperConfig() { + return null; + } + + @Override + public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { + //OptiFabric Compatibility + if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false; + + return true; + } + + @Override + public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) { + //Do nothing + } + + @Override + public List<String> getMixins() { + return null; + } + + @Override + public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { + //Do nothing + } + + @Override + public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { + //Do nothing + } +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java new file mode 100644 index 00000000..6cf91dac --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java @@ -0,0 +1,38 @@ +package me.xmrvizzy.skyblocker.compatibility.emi; + +import dev.emi.emi.api.recipe.EmiCraftingRecipe; +import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.stack.Comparison; +import dev.emi.emi.api.stack.EmiIngredient; +import dev.emi.emi.api.stack.EmiStack; +import dev.emi.emi.api.widget.WidgetHolder; +import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry; +import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe; +import net.minecraft.client.MinecraftClient; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +public class SkyblockEmiRecipe extends EmiCraftingRecipe { + private final String craftText; + + public SkyblockEmiRecipe(SkyblockCraftingRecipe recipe) { + super(recipe.getGrid().stream().map(EmiStack::of).map(EmiIngredient.class::cast).toList(), EmiStack.of(recipe.getResult()).comparison(Comparison.compareNbt()), Identifier.of("skyblock", ItemRegistry.getInternalName(recipe.getResult()).toLowerCase().replace(';', '_'))); + this.craftText = recipe.getCraftText(); + } + + @Override + public EmiRecipeCategory getCategory() { + return SkyblockerEMIPlugin.SKYBLOCK; + } + + @Override + public int getDisplayHeight() { + return super.getDisplayHeight() + (craftText.isEmpty() ? 0 : 10); + } + + @Override + public void addWidgets(WidgetHolder widgets) { + super.addWidgets(widgets); + widgets.addText(Text.of(craftText), 59 - MinecraftClient.getInstance().textRenderer.getWidth(craftText) / 2, 55, 0xFFFFFF, true); + } +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java new file mode 100644 index 00000000..526a |
