FartherViewDistance-Archive icon

FartherViewDistance-Archive -----

Let the server view distance 15+ max 127 | Async | Multithread




  • Mini Optimization
  • Fixed a bug
----------, Apr 13, 2023

  • Fix the incompatibility with the latest paper/spigot version.
----------, Apr 10, 2023

  • 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 spigot 1.18.2/1.19 incompatibility bug
  • Fixed a command exception error
----------, Jul 13, 2022

  • There are now 3 optional view calculators
    • IntX15ViewMap (X15)
    • LongX31ViewMap (X31)
    • LongXInfinitelyViewMap (X63/X127/X383)
  • Configuration description change (manual replacement required)
    Code (YAML):
    # 視野距離模式
    #   越大的視野距離需要更多的計算
    #   可用選項:
    #     (參數)  = `max-view-distance` 最大有效為 | 每位玩家需要多少的 RAM 來計算視圖
    #      "X15"  =  15 |  int[  31] = byte[  124] 最快
    #      "X31"  =  31 | long[  63] = byte[  504] 推薦
    #      "X63"  =  63 | long[ 254] = byte[ 2032]
    #     "X127"  = 127 | long[1020] = byte[ 8160]
    #     "X383"  = 383 | long[3064] = byte[24512]
    # View distance mode
    #   The larger the field of view distance requires more calculations
    #   Options:
    #     (VALUE) = The `max-view-distance` maximum effective is | How much RAM does each player need to calculate the view
    #      "X15"  =  15 |  int[  31] = byte[  124] Fastest
    #      "X31"  =  31 | long[  63] = byte[  504] Recommend
    #      "X63"  =  63 | long[ 254] = byte[ 2032]
    #     "X127"  = 127 | long[1020] = byte[ 8160]
    #     "X383"  = 383 | long[3064] = byte[24512]
    view-distance-mode
    : "X31"
----------, Jul 10, 2022

  • Fixed the light rendering lag
  • Command add
    • /viewdistance debug view <player>
----------, Jul 9, 2022

  • Fixed "permissions.node-list" distance can exceed the "worlds.*.max-view-distance"
----------, Jul 7, 2022

  • Configuration file change (must be replaced manually)
    • Remove
      Code (YAML):
      worlds:
        default
      :
          # 是否要計算權限
          #   尋找玩家是否有 max_view_distance.<最大視野距離> 權限
          # Want to calculate permissions
          #   Find out if the player has max_view_distance.<Maximum view distance> permission
          player-independent-permissions
      : true
    • Add
      Code (YAML):
      # 權限相關
      # Permission related
      permissions
      :
        # <視圖距離>;<權限名稱>
        # <view distance>;<permission name>
        node-list
      :
         - "8;max_view_distance.8"
          - "16;max_view_distance.16"
          - "24;max_view_distance.24"
          - "32;max_view_distance.32"

        # 多少毫秒檢查一次玩家的權限
        #   設置為 -1 禁用
        # How many millisecond to check player permissions
        #   Set to -1 Disable
        periodic-millisecond-check
      : 60000
  • Command add
    • /viewdistance permissionCheck <player>
----------, Jul 4, 2022

  • Small optimized view calculator
----------, Jul 2, 2022

  • New API added (in PlayerSendExtendChunkEvent are virtualized, But maybe destroy your world, please test first)
    • xuan.cat.fartherviewdistance.api.branch.BranchChunk
      • World getWorld()
      • boolean equalsBlockData(int x, int y, int z, BlockData blockData)
      • BlockData getBlockData(int x, int y, int z)
      • void setBlockData(int x, int y, int z, BlockData blockData)
      • Map<Vector, BlockData> getBlockDataMap()
      • Material getMaterial(int x, int y, int z)
      • void setMaterial(int x, int y, int z, Material material)
      • Biome getBiome(int x, int y, int z)
      • void setBiome(int x, int y, int z, Biome biome)
      • boolean hasFluid(int x, int y, int z)
      • boolean isAir(int x, int y, int z)
      • int getHighestY(int x, int z)
----------, Jun 15, 2022

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

  • Configuration add (must be replaced manually)
    Code (YAML):
    # 不要快速處理區塊
    #   每次讀取都加載一次
    # Don't fast process chunk
    #   Load once for each sent
    disable-fast-process
    : false
----------, May 24, 2022

  • Fixing chunk read errors since 1.18
----------, May 2, 2022

  • Fix incompatibility issues with the latest spigot
----------, May 2, 2022

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

  • Fixed the `/viewdistance report` command, cases where there are many players, the value generated may exceed the maximum value of int and cause an overflow.
----------, Mar 12, 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
  • Add a method that ProtocolLib has not been able to implement, which is considered an optimization
----------, Mar 4, 2022

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

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

  • Fix spigot 1.18.1 incompatibility issue
----------, Jan 31, 2022

  • Check Server.isStopping() to avoid some shutdown errors
----------, Jan 22, 2022

  • Fix the problem that the view thread stop working, This problem has existed for a long time
  • Configuration change instructions (must be replaced manually)
    Code (YAML):
        # 超速則不提供擴展視野距離
        #   水平方向的移動速度高於此值則暫時停止提供擴展視野距離
        #   內部計算公式為 `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
        #   設置為 -1 則忽略
        #   如果有啟用 prevent-xray
        #     非常不推薦設置高於 1.2 或 關閉
        #     高速移動會造成區塊覆蓋引起礦物消失
        # Speeding does not provide extend view distance
        #   If the moving speed in the horizontal direction is higher than this value, it will temporarily stop provide extend view distance
        #   The internal calculation formula is `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
        #   Set to -1 to ignore
        #   If have prevent-xray enabled
        #     Setting higher than 1.2 or off is highly discouraged
        #     High-speed movement can cause chunk overlays that cause minerals to disappear
        speeding-not-send
    : 1.2
----------, Jan 14, 2022

  • Try fixed bug that sometimes stops working again
----------, Jan 14, 2022

  • Fix error sent chunk caused by `prevent-xray`
----------, Jan 13, 2022

  • Try fix bug that would stop working
----------, Jan 8, 2022

  • Minor correction
----------, Jan 7, 2022

  • Hand over the calculation of the view calculator to `async-thread-amount` instead of a separate thread.
  • Since there will be no conflicts now, the thread safety lock is cancelled.
  • Undo the last configuration description change.
----------, Dec 31, 2021

  • Instructions for updating the configuration file (requires manual replacement)
    Code (YAML):
    # 異步執行緒數量
    #   建議值 1~6 (不推薦高於此範圍)
    # Number of asynchronous threads
    #   best is 1~6 (not recommended to adjust beyond this range)
    async-thread-amount
    : 2
----------, Dec 31, 2021

  • Optimize view calculation and reduce thread safety lock blockage
----------, Dec 30, 2021

  • New configuration (Must be added manually)
    Code (YAML):
    # 計算丟失的高度圖
    #   關閉可以減少每個區塊所需的計算量
    #   但可能會造成 雪 / 雨 穿透地底的錯誤
    # Calculate the missing height map
    #   Closing can reduce the amount of calculation required for each chunk
    #   But it may cause snow/rain to penetrate the ground by mistake
    calculate-missing-height-map
    : false
----------, Dec 28, 2021

  • Fixed an issue where the field of view distance was 1 less
----------, Dec 24, 2021

  • Support PlaceholderAPI.... little little little accident in the previous version
----------, Dec 23, 2021

  • Support PlaceholderAPI
    • %viewdistance_delay%
    • %viewdistance_max_extend_view_distance%
    • %viewdistance_now_extend_view_distance%
    • %viewdistance_now_server_view_distance%
    • %viewdistance_network_speed_avg%
    • %viewdistance_network_report_load_fast_5s%
    • %viewdistance_network_report_load_fast_1m%
    • %viewdistance_network_report_load_fast_5m%
    • %viewdistance_network_report_load_slow_5s%
    • %viewdistance_network_report_load_slow_1m%
    • %viewdistance_network_report_load_slow_5m%
    • %viewdistance_network_report_consume_5s%
    • %viewdistance_network_report_consume_1m%
    • %viewdistance_network_report_consume_5m%
    • %viewdistance_forcibly_max_distance%
    • %viewdistance_forcibly_send_second_max_bytes%
----------, Dec 23, 2021

  • Fix incorrect `prevent-xray`
----------, Dec 23, 2021

  • Re-add the optimization that was removed last time
  • Fix the problem of chunk loss caused by `prevent-xray`
----------, Dec 23, 2021

  • Withdraw the previous wrong optimization, which caused the client to not be able to display some chunk (No, Not repaired)
----------, Dec 22, 2021

  • Let "java.lang.ClassCastException: class net.minecraft.world.level.block.BlockAir cannot be cast to class ..." no longer a fatal error
----------, Dec 22, 2021

  • Let "java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Chunk failed to load: Unloaded" no longer be a fatal error
----------, Dec 21, 2021

  • Optimize 1.14~1.18 chunk read
----------, Dec 20, 2021

  • Small optimization view calculator
----------, Dec 6, 2021

  • Fix 1.18 view calculation error causes bad chunks
----------, Dec 5, 2021

  • Fix an incompatibility error with paper#43
----------, Dec 5, 2021

  • Try to fix occasional ghost chunk problem
----------, Dec 5, 2021

  • Add "Japanese" translation
  • Add "German" translation
----------, Dec 5, 2021

  • Add "Italian" translation
  • Add "Spanish" translation
----------, Dec 3, 2021

  • Fixed servers below 1.17.1, ViaVersion and 1.18 client connection will appear No light data found for chunk at ?, ?. Chunk was already loaded: false.
  • Add "Czech" translation
----------, Dec 2, 2021

  • Add "Polish" translation
----------, Dec 1, 2021

  • New and change configuration (Must be replaced manually)
    • `view-distance-mode` change:
      • (VALUE) = The `max-view-distance` maximum effective is | How much RAM does each player need to calculate the view
      • "X31" = 31 | long[63] = byte[504] Special view calculation method, fastest
      • "X63" = 63 | long[254] = byte[2032]
      • "X127" = 127 | long[1020] = byte[8160]
      • "X383" = 383 | long[3064] = byte[24512] The current client should not be able to display this far
    • Default value `view-distance-mode` change to "X31"
    • Default value `max-view-distance` change to "31"
  • Fixed that if the `simulation-distance`> `view-distance` of server.properties, it will cause the plug-in to grab the `simulation-distance` and calculate the wrong view
----------, Nov 30, 2021

  • Support 1.14~1.18-rc3
  • 1.18 Circle View Calculator
  • Optimized to automatically adapt to the player's network speed
----------, Nov 30, 2021

  • Fix 1.14/1.15/1.16 unable to display the chunk error
----------, Nov 13, 2021

  • Fix 1.16/1.15/1.14 input command will cause an error message
----------, Nov 13, 2021

  • Add "French" translation
----------, Nov 12, 2021

  • Add "Ukrainian" translation
----------, Nov 11, 2021

  • Fixed a serious error. Incorrect calculation of the program caused the async thread to freeze, and constantly create new threads, which caused all CPU resources to be occupied
----------, Oct 25, 2021

  • Fix a wrong thread growth abnormally
----------, Oct 25, 2021

  • Cancel some synchronized
----------, Oct 24, 2021

  • Fix a possible error
----------, Oct 20, 2021

  • Try to fix some problems
----------, Oct 20, 2021

  • Minor correction X31 and X127
  • Fix missing server chunks after tp
----------, Oct 18, 2021

  • Fix the change world, there is no correct update
  • Minor adjustments
----------, Oct 18, 2021

  • Fix the problem that the chunk is not removed again
----------, Oct 18, 2021

  • Fix some residual chunk problems
  • Prevent the server from covering the extended view range when respawning, avoiding the need to re-give the chunk
----------, Oct 17, 2021

  • Don't wait crazy for other threads, it will use too much CPU
----------, Oct 17, 2021

  • Fix "java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.block.state.IBlockData.getBlock()" because "state" is null"
  • Optimization X31 and X127
  • Fixed some things
----------, Oct 17, 2021

  • Optimize & greatly reduce the CPU overhead caused by prevent-xray
    Note! That all versions below this version have this problem(like 7.x.x/6.x.x), it is recommended to update
----------, Oct 17, 2021

  • Add "Russian" translation
  • Improve some processing of X127 and X31
----------, Oct 16, 2021

  • Avoid some thread overload
----------, Oct 16, 2021

  • add config
    Code (YAML):
    # 能使用多少玩家的網路速度 (百分比)
    #   如果檢測出網速為 2 MB/s, 0.6 = 60%, 只允許發送 1.2 MB/s
    # How many player internet speed can be used (percentage)
    #   If the detected network speed is 2 MB/s, 0.6 = 60%, only 1.2 MB/s is allowed to be sent
    player-network-speed-use-degree
    : 0.6
  • Significantly reduce the priority of async threads
----------, Oct 16, 2021

  • Smooth CPU utilization
  • Improved automatic adaptation to network speed
  • add command /viewdistance report
  • add command /viewdistance stop
  • add command /viewdistance start
----------, Oct 15, 2021

  • Fixed chunk read error
----------, Oct 15, 2021

  • Fixed an error where some chunk would be overwritten by the plugin when logging in to the server
  • optimization
----------, Oct 15, 2021

----------, Oct 14, 2021

  • Just created Discord
  • When an asynchronous thread stops working, it will automatically resume, And print "The thread has been detected to stop working, and it is being automatically repaired!"
  • Print as many errors as possible. Because of the use of risky but extremely profitable methods, it is not entirely an unexpected error
----------, Oct 14, 2021

  • Sorry to update frequently recently, This plugin is actively maintaining and fixing the error period
  • Try to fix a error that random stopped working, again
  • Adjusted some internal processing
----------, Oct 13, 2021

  • Try to fix a error that random stopped working
----------, Oct 13, 2021

  • Fixed the problem that the old chunk was not properly removed the client when moving in a long distance
----------, Oct 12, 2021

  • API update, add:
    • setForciblySendSecondMaxBytes
    • getForciblySendSecondMaxBytes
    • getNetworkSpeedAVG
----------, Oct 12, 2021

  • Due to a ProtocolLib problem, additional processing is necessary
----------, Oct 12, 2021

  • Move a function to asynchronous
  • Minor correction
  • Fix X127 and X31 error
  • Automatically adapt to the player's network speed to give 20% buffer space
  • Correct possible chunk loss
  • Fixed the bug that there is no expansion chunk after rebirth
----------, Oct 12, 2021

  • Fix some incompatibility
  • Spigot server, config.yml server-tick-max-generate-amount to 0 and read-server-loaded-chunk to false
  • New configuration
    Code (YAML):
    worlds:
      default
    :
        # 可以讀取伺服器已加載的區塊
        #   如果關閉, 一律讀取最後保存的狀態
        # Can read the block loaded by the server
        #   If closed, always read the last saved state
        read-server-loaded-chunk
    : true
----------, Oct 12, 2021

  • Some things forgot to move to asynchronous
----------, Oct 12, 2021

  • Fixed an error that caused the network speed to be calculated incorrectly, which caused the loading speed to be extremely slow
----------, Oct 12, 2021

  • Migrate more things to asynchronous
----------, Oct 12, 2021

  • Experimental version, there may be undiscovered bugs
  • Major changes in internal structure & major changes in configuration
  • 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)
  • All processing now uses bytes instead of quantities
  • Adaptive player's internet speed
  • New configuration:
    Code (YAML):
    # 視野距離模式
    #   越大的視野距離需要更多的計算
    #   可用選項:
    #     "X31"  = 最大視野距離  31
    #     "X127" = 最大視野距離 127
    # View distance mode
    #   The larger the field of view distance requires more calculations
    #   Options:
    #     "X31"  = max view distance  31
    #     "X127" = max view distance 127
    view-distance-mode
    : "X127"

    # 伺服器本身的視野距離
    #   只是為了防止錯誤 (某些最佳化核心)
    #   設置為 -1 則使用伺服器本身 view-distance 的數值
    # The field of view of the server itself
    #   Just to prevent errors (some optimization cores)
    #   Set to -1 uses the value of view-distance of the server itself
    server-view-distance
    : -1

    # 自動適應玩家網路速度
    #   採用特殊的方式計算玩家網路速度
    #   盡可能不發送高於玩家網速的區塊
    # Automatically adapt to the player's internet speed
    #   Use a special method to calculate the player network speed
    #   Try not to send chunk higher than the player network speed
    auto-adapt-player-network-speed
    : true

    # 異步執行緒數量
    #   建議值 1~10 (也可以更高)
    # Number of asynchronous threads
    #   Recommended value 1~10 (can also be higher)
    async-thread-amount
    : 2

    # 伺服器每秒能傳輸多少數據 (單位 bytes)
    #   預設值 20971520 bytes = 20 MB
    # How much data can the server transmit per second (Unit bytes)
    #   Default value 20971520 bytes = 20 MB
    server-send-second-max-bytes
    : 20971520

    # 伺服器每個遊戲刻度能生成多少個區塊
    #   產生地形時, CPU負擔會很大
    #   設置為 0 不生成
    # How many chunk can the server generate per game tick
    #   When generating terrain, the CPU workload is greater
    #   Set to 0 Does not generate
    server-tick-max-generate-amount
    : 4

    # 獨立的世界配置
    # Independent world configuration
    worlds
    :
      # 全部世界的預設值
      # default value for all worlds
      default
    :
        # 是否啟用擴展視野距離
        # Whether to enable extended field of view distance
        enable
    : true

        # 最大視野距離
        #   客戶端有效視野距離不會超過此值
        #     客戶端 < 擴展極限 = 客戶端
        #     客戶端 > 擴展極限 = 擴展極限
        #     客戶端 < 伺服器   = 伺服器
        # Max view distance
        #   The effective view distance of the client will not exceed this value
        #     Client < Extend = Client
        #     Client > Extend = Extend
        #     Client < Server = Server
        max-view-distance
    : 127

        # 世界每個遊戲刻度能生成多少個區塊
        #   產生地形時, CPU負擔會很大
        #   設置為 0 不生成
        # How many chunk can the world generate per game tick
        #   When generating terrain, the CPU workload is greater
        #   Set to 0 Does not generate
        world-tick-max-generate-amount
    : 4

        # 發送的區塊是否包含磚瓦實體資料
        # 若不發送則玩家依然看的到那些方塊, 除非使用 `prevent-xray`
        #   例如 箱子 / 告示牌 / 床
        # Whether the sent chunk contains tile entity data
        # If you don’t send it, the player will still see those blocks, unless you use `prevent-xray`
        #   E.g. chest / sign / bed
        send-title-data
    : true

        # 世界每秒能傳輸多少數據 (單位 bytes)
        #   預設值 10485760 bytes = 10 MB
        # How much data can the world transmit per second (Unit bytes)
        #   Default value 10485760 bytes = 10 MB
        world-send-second-max-bytes
    : 10485760

        # 玩家每秒能傳輸多少數據 (單位 bytes)
        #   預設值 2097152 bytes = 2 MB
        # How much data can the world transmit per second (Unit bytes)
        #   Default value 2097152 bytes = 2 MB
        player-send-second-max-bytes
    : 2097152

        # 發送前的延遲
        #   每次切換世界 / 長距離傳送 / 死亡重生, 都要等待多少毫秒才傳輸區塊
        #   建議數值 2000 ~ 20000 (2 ~ 20秒)
        # Delay before send
        #   Every time you switch the world / long distance transmission / death rebirth, how many milliseconds do you have to wait before sending the chunk
        #   Recommended value 2000~20000 (2~20 seconds)
        delay-before-send
    : 5000

        # 預防方塊透視外掛
        #   暴力替換, 不使用任何計算
        #   此配置轉換的方塊僅此插件發送的區塊! 非此插件發送與伺服器本身發送的互不干涉!
        #   如果伺服器需要一樣的功能, 使用 paper 核心並啟用 'paper.yml'->'anti-xray'
        # Prevent chunk perspective plugin
        #   Brute force replacement without any calculation
        #   The block converted by this configuration is only the chunk sent by this plugin! plugin send and server send itself does not interfere with each other!
        #   Server needs the same function, use the paper core and enable 'paper.yml'->'anti-xray'
        #
        # * https://paper.readthedocs.io/en/latest/server/configuration.html#anti-xray
        prevent-xray
    :
          # 是否啟用預防方塊透視外掛
          # Whether to enable the prevent xray
          enable
    : true

          # 轉換清單
          #   格式
          #     轉換成方塊:
          #     - 被轉換的方塊A
          #     - 被轉換的方塊B
          #     - 被轉換的方塊C
          # Conversion list
          #   format
          #     Convert to block:
          #     - Target block A
          #     - Target block B
          #     - Target block C
          conversion-list
    :
            STONE
    :
             - COAL_ORE
              - IRON_ORE
              - COPPER_ORE
              - GOLD_ORE
              - REDSTONE_ORE
              - EMERALD_ORE
              - LAPIS_ORE
              - DIAMOND_ORE
            DEEPSLATE
    :
             - DEEPSLATE_COAL_ORE
              - DEEPSLATE_IRON_ORE
              - DEEPSLATE_COPPER_ORE
              - DEEPSLATE_GOLD_ORE
              - DEEPSLATE_REDSTONE_ORE
              - DEEPSLATE_EMERALD_ORE
              - DEEPSLATE_LAPIS_ORE
              - DEEPSLATE_DIAMOND_ORE
            NETHERRACK
    :
             - NETHER_GOLD_ORE
              - NETHER_QUARTZ_ORE
              - ANCIENT_DEBRIS
            BLACKSTONE
    :
             - GILDED_BLACKSTONE

        # 是否要計算權限
        #   尋找玩家是否有 max_view_distance.<最大視野距離> 權限
        # Want to calculate permissions
        #   Find out if the player has max_view_distance.<Maximum view distance> permission
        player-independent-permissions
    : true

        # 超速則不提供擴展視野距離
        #   水平方向的移動速度高於此值則暫時停止提供擴展視野距離
        #   內部計算公式為 `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
        #   設置為 -1 則忽略
        # Speeding does not provide extend view distance
        #   If the moving speed in the horizontal direction is higher than this value, it will temporarily stop provide extend view distance
        #   The internal calculation formula is `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
        #   Set to -1 to ignore
        speeding-not-send
    : 1.2

      # 地獄由於遊戲機制無法看太遠
      # Hell cannot be seen too far due to game mechanics
      world_nether
    :
        # 是否啟用擴展視野距離
        # Whether to enable extended field of view distance
        enable
    : false
----------, Oct 11, 2021

  • Someone must have not read the plug-in description, so I directly
    Code (YAML):
    # Prevent chunk perspective plug-in
    #   Brute force replacement without any calculation
    #   The block converted by this configuration is only the chunk sent by this plugin! plugin send and server send itself does not interfere with each other!
    #   Server needs the same function, use the paper core and enable 'paper.yml'->'anti-xray'
    #     https://paper.readthedocs.io/en/latest/server/configuration.html#anti-xray
    prevent-xray
    :

      # Whether to enable
      enable
    : true

      # Conversion list
      #   format
      #     Convert to block:
      #     - Target block A
      #     - Target block B
      #     - Target block C
      conversion-list
    :
        STONE
    :
         - COAL_ORE
          - IRON_ORE
          - COPPER_ORE
          - GOLD_ORE
          - REDSTONE_ORE
          - EMERALD_ORE
          - LAPIS_ORE
          - DIAMOND_ORE
        DEEPSLATE
    :
         - DEEPSLATE_COAL_ORE
          - DEEPSLATE_IRON_ORE
          - DEEPSLATE_COPPER_ORE
          - DEEPSLATE_GOLD_ORE
          - DEEPSLATE_REDSTONE_ORE
          - DEEPSLATE_EMERALD_ORE
          - DEEPSLATE_LAPIS_ORE
          - DEEPSLATE_DIAMOND_ORE
        NETHERRACK
    :
         - NETHER_GOLD_ORE
          - NETHER_QUARTZ_ORE
          - ANCIENT_DEBRIS
        BLACKSTONE
    :
         - GILDED_BLACKSTONE
----------, Sep 30, 2021

  • Someone must have not read the plug-in description, so I directly
    Code (YAML):
    # Prevent chunk perspective plug-in
    #   Brute force replacement without any calculation
    #   The block converted by this configuration is only the chunk sent by this plugin! plugin send and server send itself does not interfere with each other!
    #   Server needs the same function, use the paper core and enable 'paper.yml'->'anti-xray'
    #     https://paper.readthedocs.io/en/latest/server/configuration.html#anti-xray
    prevent-xray
    :

      # Whether to enable
      enable
    : true

      # Conversion list
      #   format
      #     Convert to block:
      #     - Target block A
      #     - Target block B
      #     - Target block C
      conversion-list
    :
        STONE
    :
         - COAL_ORE
          - IRON_ORE
          - COPPER_ORE
          - GOLD_ORE
          - REDSTONE_ORE
          - EMERALD_ORE
          - LAPIS_ORE
          - DIAMOND_ORE
        NETHERRACK
    :
         - NETHER_GOLD_ORE
          - NETHER_QUARTZ_ORE
          - ANCIENT_DEBRIS
        BLACKSTONE
    :
         - GILDED_BLACKSTONE
----------, Sep 30, 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

  • Try to fix possible missing chunk
----------, Sep 20, 2021

  • Try to fix possible missing chunk
----------, Sep 20, 2021

  • The last optimization went wrong! Still need TileEntities
----------, Sep 20, 2021

  • The last optimization went wrong! Still need TileEntities
----------, Sep 20, 2021

  • Processing TileEntities is superfluous, causing some additional overhead, now save these overheads
----------, Sep 18, 2021

  • Processing TileEntities is superfluous, causing some additional overhead, now save these overheads
----------, Sep 18, 2021

  • Add all changes and optimizations made in 7.x.x
  • Mainly as follows:
    • Fix world teleportation, extend view be invalid
    • Fix a possible null error
    • New configuration
      (Note! Unless re-created, otherwise! It will not be added automatically. If there is already a configuration file, you must manually add this configuration option)
      Code (YAML):
      # Speeding does not provide extend view distance
      #   If the moving speed in the horizontal direction is higher than this value, it will temporarily stop provide extend view distance
      #   The internal calculation formula is `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
      #   Set to -1 to ignore
      speeding-not-send
      : 1.2
    • Fix wrong chunk light
    • Fix the ignored permission check
    • More, more, more, more optimization
    • Reduce memory consumption caused by light (Maybe reduce JVM GC pressure?)
    • Reduce the overhead caused by read-server-cached-chunk in the main thread
    • ChunkServer.tryUnloadChunkView() should not be call PlayerChunkView.move(), causing a lot of unnecessary extra overhead
----------, Sep 17, 2021

  • ChunkServer.tryUnloadChunkView() should not be call PlayerChunkView.move(), causing a lot of unnecessary extra overhead
----------, Sep 17, 2021

  • More, more, more, more optimization
  • Reduce memory consumption caused by light (Maybe reduce JVM GC pressure?)
  • Reduce the overhead caused by read-server-cached-chunk in the main thread
----------, Sep 17, 2021

  • Is optimized, And: In the previous version of mc, death and rebirth had to reload the block, now it’s no longer needed!
----------, Sep 17, 2021

  • Try to fix the ignored permission check
----------, Sep 16, 2021

  • Mini fine-tuning.....
----------, Sep 16, 2021

  • Fix minor bugs
----------, Sep 16, 2021

  • Try to fix the ignored permission check
----------, Sep 16, 2021

  • Optimization
  • Fix wrong chunk light
----------, Sep 16, 2021

  • New configuration
    (Note! Unless re-created, otherwise! It will not be added automatically. If there is already a configuration file, you must manually add this configuration option)
    Code (YAML):
    # Speeding does not provide extend view distance
    #   If the moving speed in the horizontal direction is higher than this value, it will temporarily stop provide extend view distance
    #   The internal calculation formula is `sqrt(square(lastX - moveX) + square(lastZ - moveZ)) > speeding-not-send`
    #   Set to -1 to ignore
    speeding-not-send
    : 1.2
----------, Sep 13, 2021

  • Fix a possible null error
----------, Aug 28, 2021

  • Try fix world teleportation, extend view be invalid
----------, Jul 24, 2021

  • Check compatibility with 1.17.1
  • Try to fix small bugs
----------, Jul 15, 2021

  • compatible with the latest (Note that it is the current, not the future)
----------, Jun 23, 2021

  • A small fix for stability
----------, Jun 21, 2021

  • Minor correction
----------, Jun 20, 2021

  • Fix compatibility issues.....
----------, Jun 20, 2021

  • Fix compatibility issues
----------, Jun 20, 2021

  • Only supports 1.17
  • Java 16
  • Add config.yml prevent-xray support of 1.17
  • Should be compatible with 1.18 (Support CavesAndCliffsPreview resource package)
----------, Jun 20, 2021

  • This is the last version of 1.14 ~ 1.16
  • Fix some configurations
----------, Jun 20, 2021

  • Fix missing light...
----------, Jun 15, 2021

  • Fix missing light
----------, Jun 15, 2021

  • Longer view distance calculation mode, there are two options respectively
    1. X31 = Maximum field of view distance support 31
    2. X127 = Maximum field of view distance support 127
  • Configuration increase view-distance-mode: "X127"
  • Fixed several bugs
  • Now the field of vision can reach up to 127 (the client will have strange errors if it exceeds 127)
  • No field of view distance is provided outside the boundary
----------, Jun 14, 2021

  • Thanks to RAMShardHost for providing easy-to-use videos
  • Fix minor issues
----------, Jun 9, 2021

  • Amend config_zh-tw.yml remarks
----------, Jun 6, 2021

  • Bug fix
  • Mod in development
----------, May 31, 2021

  • API update
    • add/change event
      • PlayerCancelSendExtendChunkEvent
      • PlayerCheckViewDistanceEvent
      • PlayerInitViewEvent
      • PlayerSendExtendChunkEvent
      • PlayerSendUnloadChunkEvent
      • PlayerSendViewDistanceEvent
      • PlayerViewMarkSendChunkEvent
      • PlayerViewMarkWaitChunkEvent
    • Add ViewReport report Fast/Slow 5s/1m/5m
    • Add view server start/stop function
----------, May 29, 2021

  • OMG, too many ViewDistanceCat that have not become FartherViewDistance, and everything is good now
----------, May 27, 2021

  • Fixed an issue that caused TileEntity to be regarded as an error under certain factors
----------, May 27, 2021

  • Fix the error ChunkSection#recalcBlockCounts NullPointerException
----------, May 27, 2021

  • Minimize the order of sending chunks/lighting
  • Fixed an issue where some block (beds/containers) disappeared
----------, May 27, 2021

  • Able to display nearly correct chunk light
  • Fix packet errors
  • High-performance chunk light display solution
----------, May 24, 2021

  • Try to fix some compatibility issues
----------, May 20, 2021

  • Forgot to change the command name........
----------, May 12, 2021

  • Name changed from ViewDistanceCat to FartherViewDistance
  • Supported version
    • Paper 1.16.5
    • Paper 1.15.2
    • Paper 1.14.4
    • Spigot 1.16.5
    • Spigot 1.15.2
    • Spigot 1.14.4
  • Need ProtocolLib
  • No needed XuanCatAPI
  • Many optimizations
----------, May 12, 2021

  • Fix little error
----------, Apr 13, 2021

  • Add can force control of the player’s maximum view distance API.
----------, Feb 4, 2021

  • Customized chunk packet, Instead of using paperMC chunk packet, Since some plug-ins have realized prevent-xray, Doing so can greatly improve performance.
  • Fix bug.
  • Must use XuanCatAPI-Paper-16.5-2.0.22.
----------, Feb 3, 2021

  • Fix mistakes
----------, Oct 20, 2020

Resource Information
Author:
----------
Total Downloads: 21,324
First Release: Oct 19, 2020
Last Update: Apr 13, 2023
Category: ---------------
All-Time Rating:
57 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings