SyncStaticMapView-Archive icon

SyncStaticMapView-Archive -----

Synchronize static map across servers | Async | Permission control display | Upload image




  • Support 1.19.4 (Deprecat 1.19.0/.1/.2/.3)
----------, Mar 19, 2023

  • Support 1.19.3 (Deprecat 1.19.1 and 1.19.2)
----------, Dec 12, 2022

  • Support 1.19.1 (Deprecat 1.19)
----------, Jul 28, 2022

  • Fixed a Forgotten Thing
----------, Jun 15, 2022

  • Should do the same when reading the file (same change as the previous one)
----------, Jun 11, 2022

  • If the URL is not a picture, the download should be notified of the failure rather than a console error
----------, Jun 11, 2022

  • Support 1.19
----------, Jun 11, 2022

  • Use a non-destructive way to inject PlayerConnection
----------, Mar 26, 2022

  • Fixed some plugins will cause an "java.lang.IllegalStateException: Asynchronous Chunk getEntities call!" error to occur in this plugin
----------, Mar 11, 2022

  • No longer depend ProtocolLib
  • Support 1.18.2 (discard 1.18.1) and 1.17.1/1.16.5/1.15.2/1.14.4
----------, Mar 4, 2022

  • Fixed used wrong regular expression to check MC version
----------, Feb 15, 2022

  • Enhance the judgment of MC version
----------, Feb 15, 2022

  • Add "German" translation
----------, Nov 30, 2021

  • Support 1.17~1.18-rc3
----------, Nov 30, 2021

  • Fix "com.mojang.brigadier.exceptions.CommandSyntaxException: Expected '{' at position 0: <--[HERE]" error
----------, Oct 31, 2021

  • Fix errors
----------, Oct 31, 2021

  • Embarrassing, the client supports negative map id starting from 1.17, which means that versions below 1.16 cannot be used normally
----------, Oct 28, 2021

  • New configuration
    Code (YAML):
    database :
      # MariaDB https://mariadb.com/kb/en/about-mariadb-connector-j/#optional-url-parameters
      # MySQL   https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html
      options
    :
        useUnicode
    : true
        characterEncoding
    : "UTF-8"
        useSSL
    : false
        serverTimezone
    : "GMT+8"
----------, Oct 18, 2021

  • The message color of "nbt error" is adjusted to red
----------, Oct 16, 2021

  • Increase configuration
    Code (YAML):
    # 如果裁切只有 1:1 則會獲得的地圖物品標籤
    # If the crop is only 1:1, will get the map item tag
    item-single-tag
    : "{map:%mapview.id%}"
    # 如果裁切大於 1:1 則會獲得的地圖物品標籤
    # If the crop is greater than 1:1, will get the map item label
    item-multiple-tag
    : "{display:{Lore:['{\"extra\ ":[{\"italic\ ":false,\"color\ ":\"white\ ",\"text\ ":\" %mapview.column%-%mapview.row%\"}],\"text\":\"\"}']},map:%mapview.id%}"
----------, Oct 16, 2021

  • Just created Discord
  • Support 1.14 / 1.15 / 1.16 / 1.17, and packaged with java8
  • "language:" is no longer available in the configuration file, Instead, the language corresponding to the player's region will be displayed automatically (Now only "en" / "zh_tw" / "zh_cn", You can also manually add to the "lang/" directory in plugin jar)
----------, Oct 11, 2021

  • Since the functions are stable, the included database API apply extremely simplified, saving a lot of file size
----------, Oct 3, 2021

  • Since the functions are stable, the included database API apply extremely simplified, saving a lot of file size
----------, Oct 3, 2021

  • Intercept some packet sending errors instead of printing them out, such as `cannot send packets to a closed channel`
----------, Sep 25, 2021

  • Intercept some packet sending errors instead of printing them out, such as `cannot send packets to a closed channel`
----------, Sep 25, 2021

  • Fixed a serious error, when deleting, the used quota of the uploader of the map was not correctly reduced (but the person who executed the order was deducted)
----------, Sep 23, 2021

  • Fixed a serious error, when deleting, the used quota of the uploader of the map was not correctly reduced (but the person who executed the order was deducted)
----------, Sep 23, 2021

  • Fix an error recommended by the command
----------, Sep 23, 2021

  • Fix an error recommended by the command
----------, Sep 23, 2021

  • New command
    • /mapview delete <Map id>
      Delete map in the database
  • New configuration (old configuration file must be added manually)
    Code (YAML):
    languages:
      can_not_delete_this_map
    : "You can't delete this map"
      deleted
    : "Deleted: "
     
  • New permissions
    • command.mapview.delete_own
    • command.mapview.delete_all
----------, Sep 23, 2021

  • New command
    • /mapview delete <Map id>
      Delete map in the database
  • New configuration (old configuration file must be added manually)
    Code (YAML):
    languages:
      can_not_delete_this_map
    : "You can't delete this map"
      deleted
    : "Deleted: "
     
  • New permissions
    • command.mapview.delete_own
    • command.mapview.delete_all
----------, Sep 23, 2021

  • Fixed a bug where the authority judgment was wrong because the player has not been initialized
----------, Sep 22, 2021

  • Fixed a bug where the authority judgment was wrong because the player has not been initialized
----------, Sep 22, 2021

  • Fix a vulnerability that did not check the upload limit
----------, Sep 22, 2021

  • Fix a vulnerability that did not check the upload limit
----------, Sep 22, 2021

  • Configuration increase (If there is already a configuration file, it must be added manually)
    Code (YAML):
    languages:
      can_not_get_this_map
    : "You can't get this map"
  • Now /mapview get permissions are split into two types
    • command.mapview.get_own
    • command.mapview.get_all
  • Only the map uploaded now will record the uploader
----------, Sep 22, 2021

  • Configuration increase (If there is already a configuration file, it must be added manually)
    Code (YAML):
    languages:
      can_not_get_this_map
    : "You can't get this map"
  • Now /mapview get permissions are split into two types
    • command.mapview.get_own
    • command.mapview.get_all
  • Only the map uploaded now will record the uploader
----------, Sep 22, 2021

  • Fix the error handling of the uploader map
----------, Sep 22, 2021

  • Fix the error handling of the uploader map
----------, Sep 22, 2021

  • More settings and features
    • Safe URL list
    • Independent upload limit for each player
    • Rate limiting prevents hackers
  • New command
    • /mapview limit set <Player name|UUID> <Limit amount>
      Set the maximum number of map that the player is allowed to upload
    • /mapview limit increase <Player name|UUID> <Limit amount>
      Increase the maximum number of map that players can upload
    • /mapview limit subtract <Player name|UUID> <Limit amount>
      Reduce the maximum number of map that players can upload
    • /mapview limit check
      Check the number of map you have used
    • /mapview limit check <Player name|UUID>
      Check the number of map used
  • New configuration (old configuration file must be added manually)
    Code (YAML):
    # Maximum number of rows allowed in a single upload
    maximum-row-allowed
    : 8
    # Maximum number of columns allowed in a single upload
    maximum-column-allowed
    : 8

    # Default player can upload the maximum number of maps
    #   If cut 2:2 it will be 4 instead of 1
    default-player-limit
    : 400

    # URL access speed limit (second)
    #   All url share a rate limit discard
    #   Avoid hacker attacks from a large number of upload requests
    #   Shutting down before processing is completed will cause all current queues to disappear
    url-rate-limit
    : 4
    # Instruction to create a map rate limit (millisecond)
    create-rate-limit
    : 2000

    # List of allowed URL sources
    allowed-url-source-list
    :
     - "https://i.imgur.com/"

    languages
    :
      your_upload_has_reached_limit
    : "Your upload has reached the limit: "
      url_not_allowed
    : "This URL is not allowed"
      player_not_online_use_uuid
    : "This player is not online, use UUID"
      parameter_not_player_name_or_uuid
    : "Parameter is not a player name or UUID: "
      set_successfully_now_limit
    : "Set up, the current upload limit: "
      now_limit
    : "Upload limit: "
      exceeding_allowed_size
    : "Exceeding the allowed size: "
      creation_speed_too_fast
    : "The creation speed is too fast, wait a minute"
  • New permissions
    • command.mapview.limit.*
    • command.mapview.limit.set
    • command.mapview.limit.increase
    • command.mapview.limit.subtract
    • command.mapview.limit.check_own
    • command.mapview.limit.check_all
    • mapview.ignore_size_restrictions
    • mapview.ignore_upload_limit
    • mapview.ignore_url_allowed
    • mapview.ignore_create_rate_limit
----------, Sep 22, 2021

  • More settings and features
    • Safe URL list
    • Independent upload limit for each player
    • Rate limiting prevents hackers
  • New command
    • /mapview limit set <Player name|UUID> <Limit amount>
      Set the maximum number of map that the player is allowed to upload
    • /mapview limit increase <Player name|UUID> <Limit amount>
      Increase the maximum number of map that players can upload
    • /mapview limit subtract <Player name|UUID> <Limit amount>
      Reduce the maximum number of map that players can upload
    • /mapview limit check
      Check the number of map you have used
    • /mapview limit check <Player name|UUID>
      Check the number of map used
  • New configuration (old configuration file must be added manually)
    Code (YAML):
    # Maximum number of rows allowed in a single upload
    maximum-row-allowed
    : 8
    # Maximum number of columns allowed in a single upload
    maximum-column-allowed
    : 8

    # Default player can upload the maximum number of maps
    #   If cut 2:2 it will be 4 instead of 1
    default-player-limit
    : 400

    # URL access speed limit (second)
    #   All url share a rate limit discard
    #   Avoid hacker attacks from a large number of upload requests
    #   Shutting down before processing is completed will cause all current queues to disappear
    url-rate-limit
    : 4
    # Instruction to create a map rate limit (millisecond)
    create-rate-limit
    : 2000

    # List of allowed URL sources
    allowed-url-source-list
    :
     - "https://i.imgur.com/"

    languages
    :
      your_upload_has_reached_limit
    : "Your upload has reached the limit: "
      url_not_allowed
    : "This URL is not allowed"
      player_not_online_use_uuid
    : "This player is not online, use UUID"
      parameter_not_player_name_or_uuid
    : "Parameter is not a player name or UUID: "
      set_successfully_now_limit
    : "Set up, the current upload limit: "
      now_limit
    : "Upload limit: "
      exceeding_allowed_size
    : "Exceeding the allowed size: "
      creation_speed_too_fast
    : "The creation speed is too fast, wait a minute"
  • New permissions
    • command.mapview.limit.*
    • command.mapview.limit.set
    • command.mapview.limit.increase
    • command.mapview.limit.subtract
    • command.mapview.limit.check_own
    • command.mapview.limit.check_all
    • mapview.ignore_size_restrictions
    • mapview.ignore_upload_limit
    • mapview.ignore_url_allowed
    • mapview.ignore_create_rate_limit
----------, Sep 22, 2021

  • Add AntiMapCopy support
  • Configuration increase (Must be added manually)
    Code (Text):
    languages:
      map_cannot_copy: "This map cannot copy"
----------, Sep 21, 2021

  • Add AntiMapCopy support
  • Configuration increase (Must be added manually)
    Code (Text):
    languages:
      map_cannot_copy: "This map cannot copy"
----------, Sep 21, 2021

  • Completion API method
    If you access "only Async" on the primary thread, you will get a RuntimeException("Cannot operate database in primary thread!") error
  • SyncMap
    • MapData createData()
    • MapRedirect createRedirect(int priority, String permission, int redirectId)
    • MapData fromBukkit(MapView mapView)
    • MapData fromImage(BufferedImage image)
    • BufferedImage toImage(MapData mapData)
    • boolean existData(int mapId) throws SQLException only Async
    • int createData(MapData mapData) throws SQLException only Async
    • MapData getData(int mapId) throws SQLException only Async
    • boolean setRedirect(int mapId, MapRedirect mapRedirect) throws SQLException only Async
    • List<MapRedirect> getRedirects(int mapId) throws SQLException only Async
    • boolean deleteRedirects(int mapId) throws SQLException only Async
    • boolean deleteRedirect(int mapId, String permission) throws SQLException only Async
    • boolean deleteRedirect(int mapId, int priority) throws SQLException only Async
  • MapData
    • byte[] getPixels()
    • byte getPixel(int x, int y)
    • void setPixel(int x, int y, byte color)
    • Color getColor(int x, int y)
    • void setColor(int x, int y, Color color)
    • void setColorTransparent(int x, int y)
    • void setRGB(int x, int y, int rgb)
    • void setRGB(int x, int y, int r, int g, int b)
    • BufferedImage toImage()
    • int getWidth()
    • int getHeight()
----------, Sep 21, 2021

  • Completion API method
    If you access "only Async" on the primary thread, you will get a RuntimeException("Cannot operate database in primary thread!") error
    • SyncMap
      • MapData createData()
      • MapRedirect createRedirect(int priority, String permission, int redirectId)
      • MapData fromBukkit(MapView mapView)
      • MapData fromImage(BufferedImage image)
      • BufferedImage toImage(MapData mapData)
      • boolean existData(int mapId) throws SQLException only Async
      • int createData(MapData mapData) throws SQLException only Async
      • MapData getData(int mapId) throws SQLException only Async
      • boolean setRedirect(int mapId, MapRedirect mapRedirect) throws SQLException only Async
      • List<MapRedirect> getRedirects(int mapId) throws SQLException only Async
      • boolean deleteRedirects(int mapId) throws SQLException only Async
      • boolean deleteRedirect(int mapId, String permission) throws SQLException only Async
      • boolean deleteRedirect(int mapId, int priority) throws SQLException only Async
    • MapData
      • byte[] getPixels()
      • byte getPixel(int x, int y)
      • void setPixel(int x, int y, byte color)
      • Color getColor(int x, int y)
      • void setColor(int x, int y, Color color)
      • void setColorTransparent(int x, int y)
      • void setRGB(int x, int y, int rgb)
      • void setRGB(int x, int y, int r, int g, int b)
      • BufferedImage toImage()
      • int getWidth()
      • int getHeight()
----------, Sep 21, 2021

  • New configuration! If the database is not using MariaDB, an error that does not support partitioning will occur, and you can turn it off
    (if existing `config.yml` must be added manually)
    Code (YAML):
    # Partition support is allowed when creating data tables
    #   If the database is MariaDB can enable
    create-table-can-partition
    : true
----------, Sep 20, 2021

  • New configuration! If the database is not using MariaDB, an error that does not support partitioning will occur, and you can turn it off
    (if existing `config.yml` must be added manually)
    Code (YAML):
    # Partition support is allowed when creating data tables
    #   If the database is MariaDB can enable
    create-table-can-partition
    : true
----------, Sep 20, 2021

  • There is a place where there is no asynchronization, which is now fixed
----------, Sep 20, 2021

  • There is a place where there is no asynchronization, which is now fixed
----------, Sep 20, 2021

  • Reminder! The name of the command has been changed
    /map -> /mapview
  • Reminder! The permission name has changed
    command.map -> command.mapview
  • If the crop image is not 1:1, it will display (Column)-(Row) in the item description
----------, Sep 20, 2021

  • Reminder! The name of the command has been changed
    /map -> /mapview
  • Reminder! The permission name has changed
    command.map -> command.mapview
  • If the crop image is not 1:1, it will display (Column)-(Row) in the item description
----------, Sep 20, 2021

  • Optimize the algorithm for cropping pictures
----------, Sep 19, 2021

  • Optimize the algorithm for cropping pictures
----------, Sep 19, 2021

  • Fix the problem that the database will be disconnected if it is not used for a long time and cause errors
----------, Sep 19, 2021

  • Fix the problem that the database will be disconnected if it is not used for a long time and cause errors
----------, Sep 19, 2021

  • Minor correction
----------, Sep 19, 2021

  • Minor correction
  • Support 1.14 ~ 1.16
----------, Sep 19, 2021

  • It is recommended to regenerate config.yml
  • Add the function of quick cropping of pictures
  • Command description correction
----------, Sep 19, 2021

  • Fix small description errors
----------, Sep 19, 2021

Resource Information
Author:
----------
Total Downloads: 2,831
First Release: Sep 19, 2021
Last Update: Mar 19, 2023
Category: ---------------
All-Time Rating:
7 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings