Squaremap is a minimalistic and lightweight world map viewer for Minecraft servers, using the vanilla map rendering style

Overview

squaremap

License GitHub Workflow Status Discord

squaremap (formerly known as Pl3xMap) is a minimalistic and lightweight live world map viewer for Minecraft servers.

What is squaremap

If, like me, you have no real need for 3D views, the novelty of Dynmap and Bluemap have worn off, and you're ready for something actually usable for navigation without all the heavy bulk or slow renders then this is the plugin for you.

Features

  • Ultra fast render times. Get your map viewable today, not next week!
  • Simple vanilla-like top down 2D view, designed for navigation.
  • Player markers showing yaw rotation, health, and armor
  • Easy configuration. Even a caveman can do it.
  • Up to date Leaflet front-end.
  • Addons and integrations for many popular plugins.

Downloads

Downloads can be obtained from the releases section.

License

MIT License

This project is licensed under the MIT license

Leaflet (the web ui frontend) is licensed under 2-clause BSD License

bStats

bStats Graph Data

API

squaremap provides simple APIs to draw markers, shapes, icons, and etc. on rendered maps. Javadocs are hosted on the maven repository alongside the binaries, and should be automatically downloaded by your IDE.

Dependency Information

Maven

<repository>
    <id>squaremap-snapshotsid>
    <url>https://repo.jpenilla.xyz/snapshots/url>
repository>
<dependency>
    <groupId>xyz.jpenillagroupId>
    <artifactId>squaremap-apiartifactId>
    <version>1.1.0-SNAPSHOTversion>
    <scope>providedscope>
dependency>

Gradle

repositories {
    maven("https://repo.jpenilla.xyz/snapshots/")
}
dependencies {
    compileOnly("xyz.jpenilla", "squaremap-api", "1.1.0-SNAPSHOT")
}

Building from source

Build squaremap by invoking the build task with Gradle.

./gradlew build
Comments
  • [Paper] Out of memory during full render

    [Paper] Out of memory during full render

    After starting a fullrender on my overworld, I can watch free memory drop from 12G to 2G within a minute or so, and then the server crashes with OOM errors.

    bug accepted 
    opened by bdagenais2 22
  • Image object allocation memory leak/inefficient allocation/render queue backup bug

    Image object allocation memory leak/inefficient allocation/render queue backup bug

    There's been much talk of a "memory leak" type of bug in squaremap. This issue intends to prove the existence of such a bug, explain the exact cause of the bug, and suggest a few ways to address the bug. I'm going to make this as thorough as possible for the avoidance of any doubt that this is the true issue.

    The proof

    On a buddy's server running squaremap, some information redacted for privacy reasons: Before unloading squaremap: Discord_hSmGmphUIY

    After unloading squaremap: Discord_5IeUEt41DL

    Heap dump (here, Image objects account for 5GB of memory, the details of which will be explained below, this is on a totally different server from the above, but caused by the exact same thing): unknown

    The heap dump and pterodactyl screenshots were both observed on machines with high-end NVMe SSDs -- for the avoidance of any doubt that the problem is related to I/O -- it is not I/O related.

    What's actually going on?

    The allocation of the object we are interested in happens on Line 61 of BackgroundRenderer. This will be the focus of much of the bug report.

    See also the allocation triggered here, which calls this, which then allocates the large 2D int array, before sticking the whole thing back in the queue, where it may wait for several hours.

    So what's actually going on here? Prior to the job being submitted to the queue, an Image object is allocated. This object is cheap, but only temporarily. After the first chunk is rendered, it allocates a massive 2D int array to store the raw image data. Immediately following this, it sticks the whole thing BACK AT THE END OF THE QUEUE, where it waits in line all over again for the next chunk to be ready.

    This becomes problematic as the background render queue grows in size. In testing, this is not an issue as the render queue can easily keep up with any actions a small number of players can make. However, on a large server, there are many many more actions being taken on chunks in the world, which means many more background render submissions are required. If these submissions are made faster than the tiles can be rendered, then the queue grows in size. This is expected behavior. The problem here is that the 2D int array is allocated in its entirety PRIOR TO all of the data actually being ready, and it's left there re-entering the end of the queue. This process repeats for hours on large servers with lots of activity.

    But this wasn't an issue on Pl3xMap!

    You're right, that's because I patched it in Pl3xMap just over a year ago. The way this patch works is by blocking the thread calling the render function until the render has actually finished. By blocking the thread calling the render function, no new allocations will be made as the render function won't be entered again until the previous invocation has fully completed. Additionally, back then, this render function rendered the entire tile, all in one go, rather than re-submitting it to the queue to render it one piece at a time. Admittedly this wasn't the best patch, but given that the software was not being well-maintained and I wanted a patch that was as simple to implement and as low-touch as possible, this was the method of patching I decided upon.

    On a side note: this is actually a little funny because my original patch did not wait for I/O to complete. If the problem were that the I/O queue were backed up instead of the render queue, then this patch wouldn't have worked.

    Squaremap has code that looks very similar to the code in the patch. So why doesn't the patch work anymore? Well, at some point in the development of squaremap, the threading model behind the BackgroundRenderer changed. Blocking the render function is no longer effective in preventing reentry into the function, which means that the image object allocation can proceed.

    So how can this be fixed?

    There are several ways that this issue can be resolved in Squaremap. Any of the below should do the trick:

    1. Revert the threading changes involved in calling the BackgroundRenderer. This will allow the original patch, which still exists in Squaremap, to function correctly.
    2. Re-prioritize the queueing somehow so that tiles mid-render don't have to get through the entire queue again

    There are probably several more ways to fix this, but those are just a few that I came up with.

    opened by kev626 14
  • resetmap doesn't work

    resetmap doesn't work

    When running /squaremap resetmap without a world name, it provides an error asking for one.

    When running /squaremap resetmap <worldname> WITH a world name, it provides an error saying it should be ran without any parameters.

    image

    need more info-waiting on reporter 
    opened by bdagenais2 7
  • Invalid command argument: No such world

    Invalid command argument: No such world

    Hello, I upgraded to 1.18.2 and moved from Pl3xMap to squaremap. I am trying to rennder my main world (MainSurvival) using: map fullrender MainSurvival But I get this error ... [11:40:24 INFO]: [squaremap] Invalid command argument: No such world 'MainSurvival' Am I missing something ?

    opened by TheDarthFather 6
  • Prevent rendering outside of worldborder

    Prevent rendering outside of worldborder

    Is there any way to prevent rendering outside of worldborder or limiting visibility outside of the worldborder? I have a flat 250x250 world and I don't want to render the grass outside of the worldborder.

    question 
    opened by fizzrepo 4
  • Player skins are not rendering

    Player skins are not rendering

    Squaremap is running great we really love this plugin, however instead of player skins it renders casual steve head any ideas on fixing this issue ?

    We tried changing skin url API to minotar and it didn't work either...

    Attaching our config file

    config-version: 1
    settings:
        language-file: lang-en.yml
        debug-mode: false
        web-address: http://localhost:25578
        web-directory:
            path: web
            auto-update: false
        image-quality:
            compress-images: false
        internal-webserver:
            enabled: true
            bind: 0.0.0.0
            port: 25578
        ui:
            coordinates:
                enabled: true
            link:
                enabled: true
            sidebar:
                pinned: unpinned
        commands:
            main-command-label: squaremap
            main-command-aliases:
            - map
        render-progress-logging:
            enabled: true
            interval-seconds: 1
    world-settings:
        world_nether:
            map:
                enabled: false
        world_the_end:
            map:
                enabled: false
        test:
            map:
                enabled: false
        eventy:
            map:
                enabled: false
        default:
            map:
                enabled: true
                display-name: '{world}'
                order: 0
                icon: ''
                max-render-threads: -1
                iterate-up: false
                max-height: -1
                biomes:
                    enabled: true
                    blend-biomes: 3
                glass:
                    clear: true
                lava:
                    checkerboard: true
                water:
                    clear-depth: true
                    checkerboard: false
                zoom:
                    maximum: 3
                    default: 3
                    extra: 2
                background-render:
                    enabled: true
                    max-chunks-per-interval: 1024
                    interval-seconds: 15
                    max-render-threads: -1
                markers:
                    update-interval-seconds: 5
                    spawn-icon:
                        enabled: true
                        show-controls: true
                        default-hidden: false
                        layer-priority: 0
                        z-index: 0
                    world-border:
                        enabled: true
                        show-controls: true
                        default-hidden: false
                        layer-priority: 1
                        z-index: 5000
                visibility-limits:
                -   enabled: 'true'
                    type: world-border
            player-tracker:
                enabled: true
                update-interval-seconds: 1
                show-controls: true
                default-hidden: false
                layer-priority: 2
                z-index: 2
                nameplate:
                    enabled: true
                    show-head: true
                    heads-url: https://minotar.net/helm/{name}/32.png
                    show-armor: true
                    show-health: true
                hide:
                    invisible: true
                    spectators: true
                use-display-names: true
    
    
    need more info-waiting on reporter 
    opened by RehabCZ 3
  • Chunks that were generated before adding squaremap are not loading

    Chunks that were generated before adding squaremap are not loading

    Chunks that were generated before I added square map to my server are not appearing on the map. Newly generated chunks are. I have tried going into advanced config to make it so the map updates on chunkload, but the option isn't even there.

    opened by Spider987 2
  • Server crash Quilt 1.19.2

    Server crash Quilt 1.19.2

    Hello, the server crash with the latest version of Quilt

    • I am using the latest recompiled build from releases
    java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'squaremap'!
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$2(EntrypointUtils.java:63) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:61) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invokeContainer(EntrypointUtils.java:46) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:33) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at net.minecraft.server.Main.main(Main.java:101) [server-intermediary.jar:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
    	at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:471) [quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:76) [quilt-loader-0.18.1-beta.12.jar:?]
    	at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:31) [quilt-loader-0.18.1-beta.12.jar:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
    	at org.quiltmc.loader.impl.launch.server.QuiltServerLauncher.main(QuiltServerLauncher.java:63) [quilt-loader-0.18.1-beta.12.jar:?]
    
    Caused by: java.lang.IllegalStateException: can't find /locale/ on the classpath
    	at xyz.jpenilla.squaremap.common.util.FileUtil.extract(FileUtil.java:72) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.common.util.FileUtil.extract(FileUtil.java:63) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.common.config.Messages.reload(Messages.java:272) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.common.config.ConfigManager.reload(ConfigManager.java:45) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.common.config.ConfigManager.init(ConfigManager.java:35) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.common.SquaremapCommon.init(SquaremapCommon.java:61) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.fabric.SquaremapFabric.<init>(SquaremapFabric.java:48) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at xyz.jpenilla.squaremap.fabric.SquaremapFabric$Initializer.onInitialize(SquaremapFabric.java:134) ~[squaremap-fabric-mc1.19.2-1.1.9-SNAPSHOTe340fd9.jar.i1.i0:0/:?]
    	at org.quiltmc.loader.impl.game.minecraft.Hooks.lambda$startServer$2(Hooks.java:62) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:33) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:59) ~[quilt-loader-0.18.1-beta.12.jar:?]
    	... 16 more
    
    opened by Mylloon 2
  • boolean net.minecraft.server.level.EntityPlayer.bY()

    boolean net.minecraft.server.level.EntityPlayer.bY()

    11:29:10 [squaremap]: Task #42 for squaremap v1.1.6 generated an exception Console11:29:10 java.lang.NoSuchMethodError: 'boolean net.minecraft.server.level.EntityPlayer.bY()' at xyz.jpenilla.squaremap.common.task.UpdatePlayers.lambda$run$0(UpdatePlayers.java:67) ~[squaremap-paper-mc1.19-1.1.6.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] at xyz.jpenilla.squaremap.common.task.UpdatePlayers.lambda$run$1(UpdatePlayers.java:63) ~[squaremap-paper-mc1.19-1.1.6.jar:?] at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] at xyz.jpenilla.squaremap.common.task.UpdatePlayers.run(UpdatePlayers.java:60) ~[squaremap-paper-mc1.19-1.1.6.jar:?] at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[purpur-1.19.1.jar:git-Purpur-1746] at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[purpur-1.19.1.jar:git-Purpur-1746] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1518) ~[purpur-1.19.1.jar:git-Purpur-1746] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:485) ~[purpur-1.19.1.jar:git-Purpur-1746] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1442) ~[purpur-1.19.1.jar:git-Purpur-1746] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1212) ~[purpur-1.19.1.jar:git-Purpur-1746] at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:310) ~[purpur-1.19.1.jar:git-Purpur-1746] at java.lang.Thread.run(Thread.java:833) ~[?:?]

    I have this spam in my console, where can I fix this ?

    Version server : Current: git-Purpur-1746 (MC: 1.19.1)*

    opened by BaDy17 2
  • 1.19.1 - players don't show on map

    1.19.1 - players don't show on map

    Errors in console running squaremap v1.1.7-SNAPSHOT+a2b458a on paper build #86 for 1.19.1: https://paste.gg/p/anonymous/5c3804b3e7b74eabae751fc43c195c2d

    Players do not show up on map.

    opened by bdagenais2 2
  • error, won't load

    error, won't load

    upon server load i get the following

    [15:09:51 ERROR]: Error occurred while enabling squaremap v1.1.4 (Is it up to date?) squaremap.libraries.com.google.inject.ProvisionException: Unable to provision, see the following errors:

    1. [Guice/ErrorInjectingConstructor]: BukkitCommandManager$BrigadierFailureException: Could not initialize Brigadier mappings. Reason: paper brigadier initialization failure (null) at Commands.(Commands.java:46) at Commands.class(Commands.java:46) at SquaremapCommon.(SquaremapCommon.java:61) _ for 7th parameter commands at SquaremapCommon.class(SquaremapCommon.java:61) while locating SquaremapCommon

    Learn more: https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR

    1 error

    ====================== Full classname legend:

    BukkitCommandManager$BrigadierFailureException: "squaremap.libraries.cloud.commandframework.bukkit.BukkitCommandManager$BrigadierFailureException" Commands: "xyz.jpenilla.squaremap.common.command.Commands" SquaremapCommon: "xyz.jpenilla.squaremap.common.SquaremapCommon"

    End of classname legend:

    at squaremap.libraries.com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?]
    at squaremap.libraries.com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1104) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?]
    at squaremap.libraries.com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1139) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?]
    at xyz.jpenilla.squaremap.paper.SquaremapPaper.onEnable(SquaremapPaper.java:50) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:536) ~[paper-api-1.19-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugin(CraftServer.java:554) ~[paper-1.19.jar:git-Paper-12]
    at org.bukkit.craftbukkit.v1_19_R1.CraftServer.enablePlugins(CraftServer.java:468) ~[paper-1.19.jar:git-Paper-12]
    at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:633) ~[paper-1.19.jar:git-Paper-12]
    at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:419) ~[paper-1.19.jar:git-Paper-12]
    at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:306) ~[paper-1.19.jar:git-Paper-12]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1121) ~[paper-1.19.jar:git-Paper-12]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:302) ~[paper-1.19.jar:git-Paper-12]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
    

    Caused by: squaremap.libraries.cloud.commandframework.bukkit.BukkitCommandManager$BrigadierFailureException: Could not initialize Brigadier mappings. Reason: paper brigadier initialization failure (null) at squaremap.libraries.cloud.commandframework.paper.PaperCommandManager.registerBrigadier(PaperCommandManager.java:134) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.paper.command.PaperCommands.createCommandManager(PaperCommands.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.common.command.Commands.(Commands.java:68) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at squaremap.libraries.com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:120) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] ... 13 more Caused by: java.lang.ExceptionInInitializerError at squaremap.libraries.cloud.commandframework.bukkit.BukkitBrigadierMapper.registerMappings(BukkitBrigadierMapper.java:80) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.bukkit.BukkitBrigadierMapper.(BukkitBrigadierMapper.java:73) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.paper.PaperBrigadierListener.(PaperBrigadierListener.java:57) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.paper.PaperCommandManager.registerBrigadier(PaperCommandManager.java:128) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.paper.command.PaperCommands.createCommandManager(PaperCommands.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.common.command.Commands.(Commands.java:68) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at squaremap.libraries.com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:120) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] ... 13 more Caused by: java.lang.IllegalArgumentException: Cound't find the NMS class 'ArgumentRegistry', or any of the following fallbacks: [net.minecraft.commands.synchronization.ArgumentRegistry] at squaremap.libraries.cloud.commandframework.bukkit.internal.CraftBukkitReflection.firstNonNullOrThrow(CraftBukkitReflection.java:87) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.bukkit.internal.CraftBukkitReflection.needNMSClassOrElse(CraftBukkitReflection.java:100) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.bukkit.internal.MinecraftArgumentTypes.(MinecraftArgumentTypes.java:93) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.bukkit.BukkitBrigadierMapper.registerMappings(BukkitBrigadierMapper.java:80) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.bukkit.BukkitBrigadierMapper.(BukkitBrigadierMapper.java:73) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.paper.PaperBrigadierListener.(PaperBrigadierListener.java:57) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.cloud.commandframework.paper.PaperCommandManager.registerBrigadier(PaperCommandManager.java:128) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.paper.command.PaperCommands.createCommandManager(PaperCommands.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at xyz.jpenilla.squaremap.common.command.Commands.(Commands.java:68) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at squaremap.libraries.com.google.inject.internal.DefaultConstructionProxyFactory$ReflectiveProxy.newInstance(DefaultConstructionProxyFactory.java:120) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:60) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] at squaremap.libraries.com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[squaremap-paper-mc1.18.2-1.1.4.jar:?] ... 13 more [15:09:51 INFO]: [squaremap] Disabling squaremap v1.1.4

    opened by James-Tripper 2
  • Dark screen at webmap

    Dark screen at webmap

    when i open webmap i see only black screen and two buttons + and - i test /map fullrender but it don't work before squaremap i use dynmap and chunks render so this is not a problem with the fact that chunks are not loaded on the server

    opened by wesleezz 0
  • Allow centering map on non-spawn position

    Allow centering map on non-spawn position

    So i have a server whom we changed the world spawn to a different coordinates, but the nether and end maps when loaded are centered around the old world coords is there a way to center the map around a specific coordinate?

    If you want to have a look at map you can check https://map.vanillabois.ga

    enhancement accepted 
    opened by TBM-Striker 3
  • No option to disable resampling or set to nearest neighbor

    No option to disable resampling or set to nearest neighbor

    I really want a nice, crisp view when zooming in to my map. The current upscaling of images really makes it feel awkward, like it's adding complexity to something that doesn't need it. Disabling resampling could really add to the aesthetic, looking more like vanilla maps.

    opened by etzabo 3
  • console I/O errors

    console I/O errors

    My console is spammed with the error in the pastebin.

    How do I fix this? There is enough space and the disk is performing fine.

    https://bin.bloom.host/xutigiwugi

    opened by Cruwzky 3
  • Fully disable player list when player-tracker is disabled

    Fully disable player list when player-tracker is disabled

    I have disabled everything relating to showing players on the map, but the Players (0/20) still persists even though it has no functionality due to my configuration options. Could this be changed so this doesn't exist when the respective option is disabled?

    Image of problem: image

    I just installed this mod, so lmk if I simply got the config wrong (I tried disabling everything to see if the desired effect would take place):

            player-tracker:
                enabled: false
                update-interval-seconds: 99999999
                show-controls: false
                default-hidden: false
                layer-priority: 2
                z-index: 2
                nameplate:
                    enabled: false
                    show-head: false
                    heads-url: https://mc-heads.net/avatar/{uuid}/16
                    show-armor: false
                    show-health: false
                hide:
                    invisible: true
                    spectators: true
                use-display-names: false
    
    opened by Titaniumtown 0
Releases(v1.1.9)
Owner
Jason
Jason
A Minecraft Java mod that adds 48 pieces of functional, decorative and unique furniture that fit with the vanilla style.

FurniDeco ( ?? WIP) FurniDeco adds 25 pieces of functional, decorative and unique-looking furniture that fit with the vanilla style. With more than 80

Arexon 2 Jul 3, 2022
A Minecraft Mod for Fabric which aims to make Block Entity rendering faster and more customizable with almost no compromises.

Enhanced Block Entities EBE is a 100% client side mod for Minecraft on the Fabric mod loader which aims to increase the performance of block entity re

null 151 Dec 30, 2022
Painterly Rendering with Curved Brush Strokes of Multiple Sizes (SIGGRAPH 98)

Painterly Rendering with Curved Brush Strokes of Multiple Sizes (SIGGRAPH 98) This is the source code for the following paper: Aaron Hertzmann. Painte

Aaron Hertzmann 62 Nov 5, 2022
A mod to hide or customize armor rendering.

Show Me Your Skin! Show Me Your Skin! (the exclamation mark is important) is a client-side mod that enables extensive customization of armor rendering

null 11 Dec 21, 2022
Lightweight reflection based tab library supporting 1.7 - 1.17 servers and clients.

Lightweight reflection based tab library supporting 1.7 - 1.17 servers and clients.

Gleeming 2 Aug 23, 2022
Vanilla implementation of NEAT and Flappy Bird

Tidy Flappy Bird While in a lockdown, I decided to implement the algorithm first proposed in the original paper on Evolving Neural Networks through Au

Dmytro Panin 23 Oct 26, 2021
Brings marriage to Minecraft servers using commands.

MarriageLab MarriageLab is a plugin that brings marriage to Minecraft servers using commands. It has been tested on Spigot and Paper. Requeriments Thi

Lably Team [Disintegrated] 5 Oct 8, 2021
Highly experimental and unstable alternative world format for Minecraft

Radon for Fabric An alternative world storage format that tries to be more performant and durable than vanilla's own. This is hardly more than a day's

JellySquid 48 Dec 9, 2022
An adventure of glory in the world of Minecraft - Revival of Tale of Kingdoms mod

Tale of Kingdoms The adventure RPG mod Explore the docs » Report Bug . Request Feature Table Of Contents About the Project Getting Started Prerequisit

Sam 6 Sep 29, 2022
🗺️ Minecraft map editor and mod

A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting! Use it in creative, survival in sing

EngineHub 2.7k Jan 1, 2023
A library that provide informations for minecraft servers (players, maxplayers and motd)

MinecraftServerInformations MinecraftServerInformation is a java library for retrieving informations about Minecraft Servers. Installation Download th

null 10 Sep 11, 2022
Staff-Mode plugin for Minecraft servers.

DONUTSTAFF A Simple Staff Mode plugin for you Minecraft Server. This plugin goals to lightweight and fast. At the moment, is on a BETA phase, so pleas

null 10 Jan 28, 2022
A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2_01 to Beta 1.7.3.

multiversion-fabric A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2

0n1 2 Mar 13, 2022
Dynamic Daemon Node for instancing of Minecraft Servers.

DashDynamicDaemon DashDynamicDaemon: A Sharded Minecraft Server hosting system. Purpose This system was originally created to host automatically scala

BattleDash 4 Apr 25, 2022
Minecraft mod to block NameMC indexing on servers.

Fuck NameMC A mod to block server status ping from NameMC. ?? What's this mod? Let's say it outright, NameMC doesn't have any decency. It indexes ever

LambdAurora 72 Dec 28, 2022
A market plugin to prevent mounting inflation in minecraft servers

A market plugin to prevent mounting inflation in minecraft servers. The optimized power index function and the inverse function are used to converge the selling price. It could solve the problem of server economic imbalance caused by the high production capacity of certain items in industrial type servers. In Summary, The richer the player is, the less profit the player receive.

null 14 Dec 25, 2022
A free mixin-based injection hacked-client for Minecraft using Minecraft Forge.

Custom LiquidBounce 1.8.9 build that aims to improve original visuals and bypasses, along with built-in ViaVersion to help you change from 1.8 to 1.17.1 without creating any other version branch.

epic group of paster 123 Jan 2, 2023
Terasology - open source voxel world

Terasology Welcome! The Terasology project was born from a Minecraft-inspired tech demo and is becoming a stable platform for various types of gamepla

Moving Blocks! 3.4k Dec 31, 2022
Evocation Sunburst is a pixel-art Java RPG about a raccon named Racc discovering a hidden world in a sewer system, while also becoming a wizard in the process.

Evocation Sunburst Evocation Sunburst is a pixel-art Java RPG about a raccon named Racc discovering a hidden world in a sewer system, while also becom

Yaqub 3 May 10, 2022