diff --git a/src/createLocalServer.ts b/src/createLocalServer.ts index ec5cb073b..0ea0e31c2 100644 --- a/src/createLocalServer.ts +++ b/src/createLocalServer.ts @@ -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 } diff --git a/src/index.ts b/src/index.ts index 99fc01584..7534b6384 100644 --- a/src/index.ts +++ b/src/index.ts @@ -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 diff --git a/src/utils.ts b/src/utils.ts index 889564bea..dc9ec6c9d 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -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