1- import { WebGLRenderer , Scene , PerspectiveCamera , AmbientLight } from 'three'
2- import { TWEEN } from 'three/examples/jsm/libs/tween.module.min.js'
31import Stats from 'three/examples/jsm/libs/stats.module.js'
42import * as dat from 'three/examples/jsm/libs/dat.gui.module.js'
3+ import { WebGLRenderer , Scene , PerspectiveCamera , AmbientLight } from 'three'
54import { DistanceBasedFog } from './rendering/DistanceBasedFog.js'
65import { UrlParams } from './UrlParams.js'
76import { gpuInfo } from './additional/gpuInfo.js'
@@ -15,85 +14,70 @@ import { BlockPlace } from './rendering/BlockPlace.js'
1514import { EventHandler } from './EventHandler.js'
1615import { Socket } from './proxy/Socket.js'
1716import { TabList } from './gui/TabList.js'
18- import $ from 'jquery '
17+ import { LoadingScreen } from './gui/LoadingScreen.js '
1918
20- async function Setup ( game ) {
21- return new Promise ( ( resolve ) => {
22- game . canvas = document . querySelector ( '#c' )
23- game . pcanvas = document . querySelector ( '#c_player' )
24- game . renderer = new WebGLRenderer ( {
25- canvas : game . canvas ,
26- PixelRatio : window . devicePixelRatio
27- } )
28- game . renderer . sortObjects = true
29- game . scene = new Scene ( )
30- game . camera = new PerspectiveCamera ( game . fov . normal , 2 , 0.1 , 1000 )
31- game . camera . rotation . order = 'YXZ'
32- game . camera . position . set ( 26 , 26 , 26 )
33- game . scene . add ( new AmbientLight ( 0xdddddd ) )
34- if ( ! game . production ) {
35- game . stats = new Stats ( )
36- game . drawcalls = game . stats . addPanel (
37- new Stats . Panel ( 'calls' , '#ff8' , '#221' )
38- )
39- game . stats . showPanel ( 0 )
40- document . body . appendChild ( game . stats . dom )
41- }
42- game . distanceBasedFog = new DistanceBasedFog ( game )
43- game . servers = {
44- production : game . al . get ( 'config' ) . minecraftProduction ,
45- development : game . al . get ( 'config' ) . minecraftDevelopment
46- }
47- UrlParams ( game ) . then ( ( password ) => {
48- game . password = password
49- $ ( '.loadingText' ) . text ( `Connecting to ${ game . server } ...` )
50- console . warn ( gpuInfo ( ) )
51- game . socket = new Socket ( game )
52- game . pii = new PlayerInInventory ( game )
53- game . bb = new BlockBreak ( game )
54- game . bp = new BlockPlace ( game )
55- game . world = new World ( game )
56- game . ent = new Entities ( game )
57- game . chat = new Chat ( game )
58- game . inv_bar = new InventoryBar ( game )
59- game . tl = new TabList ( game )
60- game . distanceBasedFog . addShaderToMaterial ( game . world . material )
61- game . distanceBasedFog . addShaderToMaterial ( game . ent . mobMaterial )
62- game . distanceBasedFog . addShaderToMaterial ( game . ent . playerMaterial )
63- game . distanceBasedFog . addShaderToMaterial ( game . ent . objectMaterial )
64- const gui = new dat . GUI ( )
65- game . params = {
66- chunkdist : 4
67- }
68- game . distanceBasedFog . farnear . x = ( game . params . chunkdist - 2 ) * 16
69- game . distanceBasedFog . farnear . y = ( game . params . chunkdist - 1 ) * 16
70- gui . add ( game . world . material , 'wireframe' )
71- . name ( 'Wireframe' )
72- . listen ( )
73- const chunkDist = gui
74- . add ( game . params , 'chunkdist' , 2 , 10 , 1 )
75- . name ( 'Render distance' )
76- . listen ( )
77- chunkDist . onChange ( function ( val ) {
78- game . distanceBasedFog . farnear . x = ( val - 2 ) * 16
79- game . distanceBasedFog . farnear . y = ( val - 1 ) * 16
80- console . log ( val )
81- } )
82- game . playerImpulse = function ( ) {
83- const to = {
84- x : game . playerPos [ 0 ] ,
85- y : game . playerPos [ 1 ] + game . headHeight ,
86- z : game . playerPos [ 2 ]
87- }
88- new TWEEN . Tween ( game . camera . position )
89- . to ( to , 100 )
90- . easing ( TWEEN . Easing . Quadratic . Out )
91- . start ( )
92- }
93- game . eh = new EventHandler ( game )
94- resolve ( )
95- } )
19+ function Setup ( game ) {
20+ game . canvas = document . querySelector ( '#c' )
21+ game . pcanvas = document . querySelector ( '#c_player' )
22+ game . renderer = new WebGLRenderer ( {
23+ canvas : game . canvas ,
24+ PixelRatio : window . devicePixelRatio
9625 } )
26+ game . renderer . sortObjects = true
27+ game . scene = new Scene ( )
28+ game . camera = new PerspectiveCamera ( game . fov . normal , 2 , 0.1 , 1000 )
29+ game . camera . rotation . order = 'YXZ'
30+ game . camera . position . set ( 26 , 26 , 26 )
31+ game . scene . add ( new AmbientLight ( 0xdddddd ) )
32+ if ( ! game . production ) {
33+ game . stats = new Stats ( )
34+ game . drawcalls = game . stats . addPanel (
35+ new Stats . Panel ( 'calls' , '#ff8' , '#221' )
36+ )
37+ game . stats . showPanel ( 0 )
38+ document . body . appendChild ( game . stats . dom )
39+ }
40+ game . distanceBasedFog = new DistanceBasedFog ( game )
41+ game . servers = {
42+ production : game . al . get ( 'config' ) . minecraftProduction ,
43+ development : game . al . get ( 'config' ) . minecraftDevelopment
44+ }
45+ UrlParams ( game )
46+ console . warn ( gpuInfo ( ) )
47+ game . socket = new Socket ( game )
48+ game . pii = new PlayerInInventory ( game )
49+ game . bb = new BlockBreak ( game )
50+ game . bp = new BlockPlace ( game )
51+ game . world = new World ( game )
52+ game . ent = new Entities ( game )
53+ game . chat = new Chat ( game )
54+ game . inv_bar = new InventoryBar ( game )
55+ game . tl = new TabList ( game )
56+ game . ls = new LoadingScreen ( game )
57+ game . ls . show ( `Connecting to ${ game . server } ...` )
58+ game . distanceBasedFog . addShaderToMaterials ( [
59+ game . world . material ,
60+ game . ent . mobMaterial ,
61+ game . ent . playerMaterial ,
62+ game . ent . objectMaterial
63+ ] )
64+ const gui = new dat . GUI ( )
65+ game . params = {
66+ chunkdist : 4
67+ }
68+ game . distanceBasedFog . farnear . x = ( game . params . chunkdist - 2 ) * 16
69+ game . distanceBasedFog . farnear . y = ( game . params . chunkdist - 1 ) * 16
70+ gui . add ( game . world . material , 'wireframe' ) . name ( 'Wireframe' ) . listen ( )
71+ gui
72+ . add ( game . params , 'chunkdist' , 2 , 10 , 1 )
73+ . name ( 'Render distance' )
74+ . onChange ( function ( val ) {
75+ game . distanceBasedFog . farnear . x = ( val - 2 ) * 16
76+ game . distanceBasedFog . farnear . y = ( val - 1 ) * 16
77+ console . log ( val )
78+ } )
79+ . listen ( )
80+ game . eh = new EventHandler ( game )
9781}
9882
9983export { Setup }
0 commit comments