fix: always apply render distance (regression)

This commit is contained in:
Vitaly 2023-09-20 23:33:43 +03:00
commit 606323634d
3 changed files with 19 additions and 9 deletions

View file

@ -4,9 +4,10 @@ import serverOptions from './defaultLocalServerOptions'
import { LocalServer } from './customServer'
export const startLocalServer = () => {
const server = mcServer.createMCServer({ ...serverOptions, Server: LocalServer })
const passOptions = { ...serverOptions, Server: LocalServer }
const server = mcServer.createMCServer(passOptions)
server.formatMessage = (message) => `[server] ${message}`
server.options = serverOptions
server.options = passOptions
return server
}

View file

@ -31,6 +31,7 @@ import './controls'
import './dragndrop'
import './browserfs'
import './eruda'
import './watchOptions'
import downloadAndOpenFile from './downloadAndOpenFile'
import net from 'net'
@ -63,7 +64,8 @@ import {
isCypress,
loadScript,
toMajorVersion,
setLoadingScreenStatus
setLoadingScreenStatus,
setRenderDistance
} from './utils'
import {
@ -400,6 +402,7 @@ async function connect(connectOptions: {
let localServer
try {
Object.assign(serverOptions, _.defaultsDeep({}, connectOptions.serverOverrides ?? {}, options.localServerOptions, serverOptions))
serverOptions['view-distance'] = renderDistance
const downloadMcData = async (version) => {
setLoadingScreenStatus(`Downloading data for ${version}`)
try {
@ -533,6 +536,8 @@ async function connect(connectOptions: {
const center = bot.entity.position
const worldView: import('../prismarine-viewer/viewer/lib/worldView').WorldView = new WorldView(bot.world, singeplayer ? renderDistance : Math.min(renderDistance, maxMultiplayerRenderDistance), center)
window.worldView = worldView
setRenderDistance()
let fovSetting = optionsScrn.fov
const updateFov = () => {
@ -564,7 +569,6 @@ async function connect(connectOptions: {
window.viewer = viewer
window.loadedData = mcData
window.worldView = worldView
window.bot = bot
window.Vec3 = Vec3
window.pathfinder = pathfinder

View file

@ -197,14 +197,19 @@ export const toMajorVersion = (version) => {
}
let prevRenderDistance = options.renderDistance
export const reloadChunks = () => {
if (!worldView || !localServer) return
localServer.options['view-distance'] = options.renderDistance
export const setRenderDistance = () => {
worldView.viewDistance = options.renderDistance
localServer.players[0].emit('playerChangeRenderDistance', options.renderDistance)
worldView.updatePosition(bot.entity.position, true)
if (localServer) {
localServer.options['view-distance'] = options.renderDistance
localServer.players[0].emit('playerChangeRenderDistance', options.renderDistance)
}
prevRenderDistance = options.renderDistance
}
export const reloadChunks = () => {
if (!worldView) return
setRenderDistance()
worldView.updatePosition(bot.entity.position, true)
}
export const openFilePicker = (specificCase?: 'resourcepack') => {
// create and show input picker