Skip to content

Commit ff3d93c

Browse files
committed
players Blue boxes
1 parent 1b4d7c2 commit ff3d93c

File tree

3 files changed

+43
-13
lines changed

3 files changed

+43
-13
lines changed

src/client/scripts/Entities.coffee

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,52 @@ import * as THREE from 'three'
22
class Entities
33
constructor:(game)->
44
@game=game
5-
@material = new THREE.MeshStandardMaterial {
5+
@mobMaterial = new THREE.MeshStandardMaterial {
66
color: new THREE.Color "red"
77
}
88
@mobGeometry = new THREE.BoxGeometry 1, 1, 1
99
@mobMaxCount=200
10-
@mobMesh=new THREE.InstancedMesh @mobGeometry,@material,@mobMaxCount
10+
@mobMesh=new THREE.InstancedMesh @mobGeometry,@mobMaterial,@mobMaxCount
1111
@mobMesh.instanceMatrix.setUsage THREE.DynamicDrawUsage
1212
@game.scene.add @mobMesh
13+
14+
@playerMaterial = new THREE.MeshStandardMaterial {
15+
color: new THREE.Color "blue"
16+
}
17+
@playerGeometry = new THREE.BoxGeometry 1, 1, 1
18+
@playerMaxCount=200
19+
@playerMesh=new THREE.InstancedMesh @playerGeometry,@playerMaterial,@playerMaxCount
20+
@playerMesh.instanceMatrix.setUsage THREE.DynamicDrawUsage
21+
@game.scene.add @playerMesh
22+
1323
@dummy = new THREE.Object3D()
1424
return
1525
update:(entities)->
1626
offset=[-0.5,16,-0.5]
17-
mobs=0
18-
for i of entities
19-
mobs++
20-
@mobMesh.count=mobs
21-
mobs=0
22-
for i of entities
23-
@dummy.position.set entities[i][0]+offset[0],entities[i][1]+offset[1],entities[i][2]+offset[2]
27+
28+
num_mobs=0
29+
for i of entities.mobs
30+
num_mobs++
31+
@mobMesh.count=num_mobs
32+
num_mobs=0
33+
for i of entities.mobs
34+
@dummy.position.set entities.mobs[i][0]+offset[0],entities.mobs[i][1]+offset[1],entities.mobs[i][2]+offset[2]
2435
@dummy.updateMatrix()
25-
@mobMesh.setMatrixAt mobs++, @dummy.matrix
36+
@mobMesh.setMatrixAt num_mobs++, @dummy.matrix
2637
@mobMesh.instanceMatrix.needsUpdate = true
38+
39+
num_players=0
40+
for i of entities.players
41+
if entities.players[i][0] isnt @game.nick
42+
num_players++
43+
@playerMesh.count=num_players
44+
num_players=0
45+
for i of entities.players
46+
if entities.players[i][0] isnt @game.nick
47+
@dummy.position.set entities.players[i][1]+offset[0],entities.players[i][2]+offset[1],entities.players[i][3]+offset[2]
48+
@dummy.updateMatrix()
49+
@playerMesh.setMatrixAt num_players++, @dummy.matrix
50+
@playerMesh.instanceMatrix.needsUpdate = true
51+
2752
return
2853
export {Entities}

src/index.coffee

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,15 @@ module.exports=(mode)->
103103
if inv isnt inv_new
104104
inv=inv_new
105105
emit ["inventory",bot.inventory.slots]
106-
entities=[]
106+
entities={
107+
mobs:[]
108+
players:[]
109+
}
107110
for k,v of bot.entities
108111
if v.type is "mob"
109-
entities.push [v.position.x,v.position.y,v.position.z]
112+
entities.mobs.push [v.position.x,v.position.y,v.position.z]
113+
if v.type is "player"
114+
entities.players.push [v.username,v.position.x,v.position.y,v.position.z]
110115
emit ["entities",entities]
111116
return
112117
,10

src/server.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"ip":"localhost",
33
"port":25565,
4-
"version":"1.16.1"
4+
"version":"1.16.5"
55
}

0 commit comments

Comments
 (0)