From d5f12ee4512d3d7527ab85a2c79e70e0d7933df4 Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Sun, 16 Aug 2020 21:21:02 +0200 Subject: [PATCH 1/2] Add abillity to stick to a player in web-app --- .../src/main/webroot/js/libs/hud/HudInfo.js | 14 ++++++++- .../main/webroot/js/libs/hud/PlayerMarker.js | 31 +++++++++++++++---- .../main/webroot/style/modules/hudInfo.scss | 10 ++++++ 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/BlueMapCore/src/main/webroot/js/libs/hud/HudInfo.js b/BlueMapCore/src/main/webroot/js/libs/hud/HudInfo.js index ba33699b..bb0ad040 100644 --- a/BlueMapCore/src/main/webroot/js/libs/hud/HudInfo.js +++ b/BlueMapCore/src/main/webroot/js/libs/hud/HudInfo.js @@ -2,6 +2,7 @@ import $ from 'jquery'; import { Raycaster, Vector2, + Vector3, BoxBufferGeometry, Mesh, MeshBasicMaterial @@ -155,10 +156,21 @@ export default class HudInfo { let lrpath = this.blueMap.dataRoot + this.blueMap.map + '/lowres/'; lrpath += pathFromCoords(lowresTile.x, lowresTile.y); lrpath += '.json'; + + //chunk + let chunkCoords = new Vector3(block.x, block.y, block.z).divide({x:16,y:16,z:16}).floor(); + let chunk = `x:${chunkCoords.x}, y:${chunkCoords.y}, z:${chunkCoords.z}`; + + //region + let regionCoords = new Vector2(block.x, block.z).divide({x:512,y:512}).floor(); + let region = `r.${regionCoords.x}.${regionCoords.y}.mca`; + $(`
${hrpath}
- ${lrpath} + ${lrpath}
+ chunk: ${chunk}
+ region: ${region}
`).appendTo(content); } diff --git a/BlueMapCore/src/main/webroot/js/libs/hud/PlayerMarker.js b/BlueMapCore/src/main/webroot/js/libs/hud/PlayerMarker.js index 544a8c84..2022c793 100644 --- a/BlueMapCore/src/main/webroot/js/libs/hud/PlayerMarker.js +++ b/BlueMapCore/src/main/webroot/js/libs/hud/PlayerMarker.js @@ -15,6 +15,8 @@ export default class PlayerMarker extends Marker { this.animationRunning = false; this.lastFrame = -1; + + this.follow = false; } setVisible(visible){ @@ -23,17 +25,18 @@ export default class PlayerMarker extends Marker { this.blueMap.updateFrame = true; if (!this.renderObject){ - let iconElement = $(`
${this.label}
`); - iconElement.find("img").click(this.onClick); + this.iconElement = $(`
${this.label}
`); + this.iconElement.find("img").click(this.onClick); + $(window).on('mousedown touchstart', this.onStopFollowing); - this.renderObject = new CSS2DObject(iconElement[0]); + this.renderObject = new CSS2DObject(this.iconElement[0]); this.renderObject.position.copy(this.position); this.renderObject.onBeforeRender = (renderer, scene, camera) => { let distanceSquared = this.position.distanceToSquared(camera.position); if (distanceSquared > 1000000) { - iconElement.addClass("distant"); + this.iconElement.addClass("distant"); } else { - iconElement.removeClass("distant"); + this.iconElement.removeClass("distant"); } this.updateRenderObject(this.renderObject, scene, camera); @@ -57,6 +60,11 @@ export default class PlayerMarker extends Marker { } else { this.renderObject.position.copy(this.position); } + + if (this.follow){ + this.blueMap.controls.targetPosition.x = this.position.x; + this.blueMap.controls.targetPosition.z = this.position.z; + } } }; @@ -86,7 +94,18 @@ export default class PlayerMarker extends Marker { }; onClick = () => { + this.follow = true; + this.iconElement.addClass("following"); - } + this.blueMap.controls.targetPosition.x = this.position.x; + this.blueMap.controls.targetPosition.z = this.position.z; + }; + + onStopFollowing = event => { + if(this.follow) { + this.follow = true; + this.iconElement.removeClass("following"); + } + }; } \ No newline at end of file diff --git a/BlueMapCore/src/main/webroot/style/modules/hudInfo.scss b/BlueMapCore/src/main/webroot/style/modules/hudInfo.scss index cfdf07e7..2c36e06d 100644 --- a/BlueMapCore/src/main/webroot/style/modules/hudInfo.scss +++ b/BlueMapCore/src/main/webroot/style/modules/hudInfo.scss @@ -96,6 +96,8 @@ image-rendering: pixelated; image-rendering: crisp-edges; + border: solid 2px transparent; + transition: all 0.3s; } @@ -115,10 +117,18 @@ img { width: 16px; height: 16px; + + border-width: 1px; } .nameplate { opacity: 0; } } + + &.following { + img { + border-color: white; + } + } } \ No newline at end of file From 7f855198071b7c49cc718d19e424a4af6612bee5 Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Sun, 16 Aug 2020 21:23:41 +0200 Subject: [PATCH 2/2] Push version for next release --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 36429b4f..de87d7c5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -coreVersion=0.9.0 +coreVersion=0.10.0 targetVersion=mc1.13 \ No newline at end of file