diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
4 files changed, 77 insertions, 58 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java new file mode 100644 index 00000000..47f3716c --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java @@ -0,0 +1,53 @@ +package me.xmrvizzy.skyblocker.skyblock; + +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class ChatFilter { + private static final Pattern ability; + private static final Pattern heal; + private static final Pattern aote; + private static final Pattern implosion; + private static final Pattern moltenWave; + private static final Pattern playerMessage; + private static final Pattern adverts; + + public boolean shouldFilter(String message) { + SkyblockerConfig.Messages settings = SkyblockerConfig.get().messages; + if (settings.hideAbility && ability.matcher(message).matches()) + return true; + + if (settings.hideHeal && heal.matcher(message).matches()) + return true; + + if (settings.hideAOTE && aote.matcher(message).matches()) + return true; + + if (settings.hideImplosion && implosion.matcher(message).matches()) + return true; + + if (settings.hideMoltenWave && moltenWave.matcher(message).matches()) + return true; + + if (settings.hideAds) { + Matcher m = playerMessage.matcher(message); + if(m.matches() && adverts.matcher(m.group(2)).find()) + return true; + } + return false; + } + + static { + String number = "-?[0-9]{1,3}(?>,[0-9]{3})*(?:\\.[1-9])?"; + ability = Pattern.compile("^(?:This ability is on cooldown for " + number + "s\\.|No more charges, next one in " + number + "s!)$"); + heal = Pattern.compile("^(?:You healed yourself for " + number + " health!|[a-zA-Z0-9_]{2,16} healed you for " + number + " health!)$"); + aote = Pattern.compile("^There are blocks in the way!$"); + implosion = Pattern.compile("^Your Implosion hit " + number + " enem(?:y|ies) for " + number + " damage\\.$"); + moltenWave = Pattern.compile("^Your Molten Wave hit " + number + " enemy(?:y|ies) for " + number + " damage\\.$"); + playerMessage = Pattern.compile("^§[67ab](?:\\[(?:MVP|VIP)(?:§[0-9a-f]\\+{1,2}§[6ab])?] )?([a-zA-Z0-9_]{2,16})§[7f]: (.*)$"); + adverts = Pattern.compile("(?i:^(?:i(?:m|'m| am)? |(?:is )?any(?: ?one|1) )?(?:buy|sell|lowball|trade?)(?:ing)?\\W|(?:\\W|^)(?:on|in|check|at) my ah(?:\\W|$)|(.)\\1{7,})"); + } +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java index fd20c3a4..621c5cc4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -1,51 +1,16 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import java.util.List; - -import com.mojang.blaze3d.systems.RenderCall; - -import org.lwjgl.opengl.GL11; - +import me.xmrvizzy.skyblocker.utils.color.QuadColor; import me.xmrvizzy.skyblocker.utils.RenderUtils; -import me.xmrvizzy.skyblocker.utils.RenderUtilsLiving; -import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry; -import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; -import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; -import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents.AfterEntities; -import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents.BeforeEntities; -import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents.DebugRender; -import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents.Start; -import net.fabricmc.fabric.api.renderer.v1.RendererAccess; -import net.fabricmc.fabric.impl.client.indigo.renderer.render.BlockRenderContext; -import net.fabricmc.fabric.impl.client.rendering.WorldRenderContextImpl; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.Drawable; -import net.minecraft.client.gui.DrawableHelper; -import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.render.BufferBuilder; -import net.minecraft.client.render.GameRenderer; -import net.minecraft.client.render.Tessellator; -import net.minecraft.client.render.VertexFormats; -import net.minecraft.client.render.WorldRenderer; -import net.minecraft.client.render.block.BlockModelRenderer; -import net.minecraft.client.render.block.BlockRenderManager; -import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; -import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.render.debug.DebugRenderer; -import net.minecraft.client.render.debug.DebugRenderer.Renderer; -import net.minecraft.client.render.entity.EntityRenderDispatcher; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.Vec3f; import net.minecraft.entity.Entity; -import net.minecraft.entity.mob.BlazeEntity; import net.minecraft.text.LiteralText; import net.minecraft.util.Formatting; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; -import net.minecraft.util.math.Vec3d; public class DungeonBlaze { static Entity highestBlaze = null; @@ -98,23 +63,26 @@ public class DungeonBlaze { } } public static void blazeRenderer(WorldRenderContext wrc) { + QuadColor outlineColorRed = QuadColor.single( 0.0F, 1.0F, 0.0F, 1f); + QuadColor outlineColorGreen = QuadColor.single(1.0F, 0.0F, 0.0F, 1f); try { TextRenderer tr = MinecraftClient.getInstance().textRenderer; DebugRenderer wc = MinecraftClient.getInstance().debugRenderer; if(highestBlaze != null){ - /* Outline */ + /* Outline */ Box blaze = highestBlaze.getBoundingBox().expand(1); - RenderUtils.drawOutlineBox(blaze, 0.0F, 1.0F, 0.0F, 1f); + RenderUtils.drawBoxOutline(blaze,outlineColorRed,2.5f); } if(lowestBlaze != null){ - /* Outline */ + /* Outline */ Box blaze = lowestBlaze.getBoundingBox().expand(1); - RenderUtils.drawOutlineBox(blaze, 1.0F, 0.0F, 0.0F, 1f); + RenderUtils.drawBoxOutline(blaze,outlineColorGreen,2.5f); } }catch(Exception e) { - System.out.println("BlazeRenderer: " + e.getStackTrace()); + //System.out.println("BlazeRenderer: " + e.getStackTrace()); + System.out.println("BlazeRenderer: " + e); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java index c6da694b..3531094a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java @@ -18,9 +18,12 @@ public class DungeonMap { NbtCompound tag = item.getNbt(); if (tag != null && tag.contains("map")) { + String tag2 = tag.asString(); + tag2 = tag2.substring(tag2.indexOf(":") + 1, tag2.indexOf("}")); + int tagid = Integer.parseInt(tag2); VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers(); MapRenderer map = client.gameRenderer.getMapRenderer(); - MapState state = FilledMapItem.getOrCreateMapState(item, client.world); + MapState state = FilledMapItem.getMapState(tagid, client.world); if (state == null) return; matrices.push(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index 59ff2e45..36b83670 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -1,6 +1,17 @@ package me.xmrvizzy.skyblocker.skyblock.item; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NbtCompound; +import net.minecraft.text.LiteralText; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -9,24 +20,8 @@ import java.math.RoundingMode; import java.net.URL; import java.text.DecimalFormat; import java.util.List; -import java.util.Map; import java.util.zip.GZIPInputStream; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.item.TooltipContext; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - - -import me.xmrvizzy.skyblocker.SkyblockerMod; - public class PriceInfoTooltip { private JsonObject auctionPricesJson = null; private JsonObject bazaarPricesJson = null; |