mirror of
https://github.com/BlueMap-Minecraft/BlueMap.git
synced 2024-11-29 22:13:48 +01:00
Merge branch 'base'
This commit is contained in:
commit
19ef75cede
10
.github/workflows/gradle.yml
vendored
10
.github/workflows/gradle.yml
vendored
@ -1,6 +1,12 @@
|
|||||||
name: Java CI
|
name: Java CI
|
||||||
|
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- mc/1.12
|
||||||
|
- mc/1.13
|
||||||
|
- mc/1.15
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@ -17,7 +23,7 @@ jobs:
|
|||||||
run: ./gradlew test
|
run: ./gradlew test
|
||||||
- name: Build with Gradle
|
- name: Build with Gradle
|
||||||
run: ./gradlew build
|
run: ./gradlew build
|
||||||
- uses: actions/upload-artifact@v2-preview
|
- uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: artifact
|
name: artifact
|
||||||
path: build/release/*
|
path: build/release/*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of BlueMapSponge, licensed under the MIT License (MIT).
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
*
|
*
|
||||||
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
* Copyright (c) contributors
|
* Copyright (c) contributors
|
||||||
|
@ -47,8 +47,9 @@ webserver {
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
# The IP-Adress that the webserver binds to.
|
# The IP-Adress that the webserver binds to.
|
||||||
# If this setting is commented out, bluemap tries to find the default ip-adress of your system.
|
# Use "0.0.0.0" to bind to all available local adresses.
|
||||||
# If you only want to access it locally use "localhost".
|
# If you only want to access it locally use "localhost".
|
||||||
|
# Default is "0.0.0.0"
|
||||||
#ip: "localhost"
|
#ip: "localhost"
|
||||||
#ip: "127.0.0.1"
|
#ip: "127.0.0.1"
|
||||||
|
|
||||||
|
@ -46,8 +46,9 @@ webserver {
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# The IP-Adress that the webserver binds to.
|
# The IP-Adress that the webserver binds to.
|
||||||
# If this setting is commented out, bluemap tries to find the default ip-adress of your system.
|
# Use "0.0.0.0" to bind to all available local adresses.
|
||||||
# If you only want to access it locally use "localhost".
|
# If you only want to access it locally use "localhost".
|
||||||
|
# Default is "0.0.0.0"
|
||||||
#ip: "localhost"
|
#ip: "localhost"
|
||||||
#ip: "127.0.0.1"
|
#ip: "127.0.0.1"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of BlueMapSponge, licensed under the MIT License (MIT).
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
*
|
*
|
||||||
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
* Copyright (c) contributors
|
* Copyright (c) contributors
|
||||||
|
@ -31,6 +31,10 @@ node {
|
|||||||
download = true
|
download = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
license {
|
||||||
|
exclude('**/AABB.java')
|
||||||
|
}
|
||||||
|
|
||||||
task fixPackageLock() {
|
task fixPackageLock() {
|
||||||
if (!file("./package-lock.json").exists()) {
|
if (!file("./package-lock.json").exists()) {
|
||||||
file("./package-lock.json").text = ""
|
file("./package-lock.json").text = ""
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -109,7 +110,9 @@ private void loadWebConfig(ConfigurationNode node) throws IOException {
|
|||||||
if (webserverEnabled) {
|
if (webserverEnabled) {
|
||||||
//ip
|
//ip
|
||||||
String webserverBindAdressString = node.getNode("ip").getString("");
|
String webserverBindAdressString = node.getNode("ip").getString("");
|
||||||
if (webserverBindAdressString.isEmpty()) {
|
if (webserverBindAdressString.isEmpty() || webserverBindAdressString.equals("0.0.0.0") || webserverBindAdressString.equals("::0")) {
|
||||||
|
webserverBindAdress = new InetSocketAddress(0).getAddress(); // 0.0.0.0
|
||||||
|
} else if (webserverBindAdressString.equals("#getLocalHost")) {
|
||||||
webserverBindAdress = InetAddress.getLocalHost();
|
webserverBindAdress = InetAddress.getLocalHost();
|
||||||
} else {
|
} else {
|
||||||
webserverBindAdress = InetAddress.getByName(webserverBindAdressString);
|
webserverBindAdress = InetAddress.getByName(webserverBindAdressString);
|
||||||
|
@ -57,13 +57,14 @@ import SKY_VERTEX_SHADER from './shaders/SkyVertexShader.js';
|
|||||||
import SKY_FRAGMENT_SHADER from './shaders/SkyFragmentShader.js';
|
import SKY_FRAGMENT_SHADER from './shaders/SkyFragmentShader.js';
|
||||||
|
|
||||||
import { stringToImage, pathFromCoords } from './utils.js';
|
import { stringToImage, pathFromCoords } from './utils.js';
|
||||||
import {getCookie, setCookie} from "./utils";
|
import {cachePreventionNr, getCookie, setCookie} from "./utils";
|
||||||
|
|
||||||
export default class BlueMap {
|
export default class BlueMap {
|
||||||
constructor(element, dataRoot) {
|
constructor(element, dataRoot) {
|
||||||
this.element = $('<div class="bluemap-container"></div>').appendTo(element)[0];
|
this.element = $('<div class="bluemap-container"></div>').appendTo(element)[0];
|
||||||
this.dataRoot = dataRoot;
|
this.dataRoot = dataRoot;
|
||||||
this.locationHash = '';
|
this.locationHash = '';
|
||||||
|
this.cacheSuffix = '';
|
||||||
|
|
||||||
this.hiresViewDistance = 160;
|
this.hiresViewDistance = 160;
|
||||||
this.lowresViewDistance = 3200;
|
this.lowresViewDistance = 3200;
|
||||||
@ -108,10 +109,21 @@ export default class BlueMap {
|
|||||||
await this.ui.load();
|
await this.ui.load();
|
||||||
this.start();
|
this.start();
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.onLoadError("Initialization: " + error.toString());
|
this.onLoadError("Initialization: " + (error ? error.toString() : "unknown"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reloadMap() {
|
||||||
|
if (this.hiresTileManager !== undefined){
|
||||||
|
this.hiresTileManager.removeAllTiles();
|
||||||
|
this.hiresTileManager.update();
|
||||||
|
}
|
||||||
|
if (this.lowresTileManager !== undefined){
|
||||||
|
this.lowresTileManager.removeAllTiles();
|
||||||
|
this.lowresTileManager.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
changeMap(map, loadTiles = true) {
|
changeMap(map, loadTiles = true) {
|
||||||
if (this.debugInfo) console.debug("changing map: ", map);
|
if (this.debugInfo) console.debug("changing map: ", map);
|
||||||
|
|
||||||
@ -310,7 +322,7 @@ export default class BlueMap {
|
|||||||
|
|
||||||
async loadSettings() {
|
async loadSettings() {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
this.fileLoader.load(this.dataRoot + 'settings.json', settings => {
|
this.fileLoader.load(this.dataRoot + 'settings.json?' + cachePreventionNr(), settings => {
|
||||||
try {
|
try {
|
||||||
this.settings = JSON.parse(settings);
|
this.settings = JSON.parse(settings);
|
||||||
this.maps = [];
|
this.maps = [];
|
||||||
@ -379,6 +391,7 @@ export default class BlueMap {
|
|||||||
this.hiresViewDistance = this.loadUserSetting("hiresViewDistance", this.hiresViewDistance);
|
this.hiresViewDistance = this.loadUserSetting("hiresViewDistance", this.hiresViewDistance);
|
||||||
this.lowresViewDistance = this.loadUserSetting("lowresViewDistance", this.lowresViewDistance);
|
this.lowresViewDistance = this.loadUserSetting("lowresViewDistance", this.lowresViewDistance);
|
||||||
this.controls.settings.zoom.max = this.loadUserSetting("maxZoomDistance", this.controls.settings.zoom.max);
|
this.controls.settings.zoom.max = this.loadUserSetting("maxZoomDistance", this.controls.settings.zoom.max);
|
||||||
|
this.cacheSuffix = this.loadUserSetting("cacheSuffix", this.cacheSuffix);
|
||||||
this.debugInfo = this.loadUserSetting("debugInfo", this.debugInfo);
|
this.debugInfo = this.loadUserSetting("debugInfo", this.debugInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -393,6 +406,7 @@ export default class BlueMap {
|
|||||||
this.saveUserSetting("hiresViewDistance", this.hiresViewDistance);
|
this.saveUserSetting("hiresViewDistance", this.hiresViewDistance);
|
||||||
this.saveUserSetting("lowresViewDistance", this.lowresViewDistance);
|
this.saveUserSetting("lowresViewDistance", this.lowresViewDistance);
|
||||||
this.saveUserSetting("maxZoomDistance", this.controls.settings.zoom.max);
|
this.saveUserSetting("maxZoomDistance", this.controls.settings.zoom.max);
|
||||||
|
this.saveUserSetting("cacheSuffix", this.cacheSuffix);
|
||||||
this.saveUserSetting("debugInfo", this.debugInfo);
|
this.saveUserSetting("debugInfo", this.debugInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -427,7 +441,7 @@ export default class BlueMap {
|
|||||||
|
|
||||||
async loadHiresMaterial() {
|
async loadHiresMaterial() {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
this.fileLoader.load(this.dataRoot + 'textures.json', textures => {
|
this.fileLoader.load(this.dataRoot + 'textures.json?' + cachePreventionNr(), textures => {
|
||||||
textures = JSON.parse(textures);
|
textures = JSON.parse(textures);
|
||||||
let materials = [];
|
let materials = [];
|
||||||
for (let i = 0; i < textures['textures'].length; i++) {
|
for (let i = 0; i < textures['textures'].length; i++) {
|
||||||
@ -501,7 +515,7 @@ export default class BlueMap {
|
|||||||
async loadHiresTile(tileX, tileZ) {
|
async loadHiresTile(tileX, tileZ) {
|
||||||
let path = this.dataRoot + this.map + '/hires/';
|
let path = this.dataRoot + this.map + '/hires/';
|
||||||
path += pathFromCoords(tileX, tileZ);
|
path += pathFromCoords(tileX, tileZ);
|
||||||
path += '.json';
|
path += '.json?' + this.cacheSuffix;
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.bufferGeometryLoader.load(path, geometry => {
|
this.bufferGeometryLoader.load(path, geometry => {
|
||||||
@ -522,7 +536,7 @@ export default class BlueMap {
|
|||||||
async loadLowresTile(tileX, tileZ) {
|
async loadLowresTile(tileX, tileZ) {
|
||||||
let path = this.dataRoot + this.map + '/lowres/';
|
let path = this.dataRoot + this.map + '/lowres/';
|
||||||
path += pathFromCoords(tileX, tileZ);
|
path += pathFromCoords(tileX, tileZ);
|
||||||
path += '.json';
|
path += '.json?' + this.cacheSuffix;
|
||||||
|
|
||||||
return new Promise((reslove, reject) => {
|
return new Promise((reslove, reject) => {
|
||||||
this.bufferGeometryLoader.load(path, geometry => {
|
this.bufferGeometryLoader.load(path, geometry => {
|
||||||
|
@ -41,6 +41,8 @@ import NIGHT from '../../../assets/night.svg';
|
|||||||
import HudInfo from "../hud/HudInfo";
|
import HudInfo from "../hud/HudInfo";
|
||||||
import MarkerManager from "../hud/MarkerManager";
|
import MarkerManager from "../hud/MarkerManager";
|
||||||
|
|
||||||
|
import {cachePreventionNr} from "../utils";
|
||||||
|
|
||||||
export default class UI {
|
export default class UI {
|
||||||
|
|
||||||
constructor(blueMap) {
|
constructor(blueMap) {
|
||||||
@ -101,6 +103,11 @@ export default class UI {
|
|||||||
this.blueMap.debugInfo = button.isSelected();
|
this.blueMap.debugInfo = button.isSelected();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let clearCache = new Button("clear tile cache", button => {
|
||||||
|
this.blueMap.cacheSuffix = cachePreventionNr();
|
||||||
|
this.blueMap.reloadMap();
|
||||||
|
});
|
||||||
|
|
||||||
//toolbar
|
//toolbar
|
||||||
this.toolbar.addElement(menuButton);
|
this.toolbar.addElement(menuButton);
|
||||||
this.toolbar.addElement(mapSelect);
|
this.toolbar.addElement(mapSelect);
|
||||||
@ -128,6 +135,7 @@ export default class UI {
|
|||||||
this.menu.addElement(lowresSlider);
|
this.menu.addElement(lowresSlider);
|
||||||
this.menu.addElement(extendedZoom);
|
this.menu.addElement(extendedZoom);
|
||||||
this.menu.addElement(new Separator());
|
this.menu.addElement(new Separator());
|
||||||
|
this.menu.addElement(clearCache);
|
||||||
this.menu.addElement(debugInfo);
|
this.menu.addElement(debugInfo);
|
||||||
this.menu.update();
|
this.menu.update();
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import net.fabricmc.loom.task.RemapJarTask
|
import net.fabricmc.loom.task.RemapJarTask
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'fabric-loom' version '0.2.7-SNAPSHOT'
|
id 'fabric-loom' version '0.4-SNAPSHOT'
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric;
|
package de.bluecolored.bluemap.fabric;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric;
|
package de.bluecolored.bluemap.fabric;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of BlueMapSponge, licensed under the MIT License (MIT).
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
*
|
*
|
||||||
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
* Copyright (c) contributors
|
* Copyright (c) contributors
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric.events;
|
package de.bluecolored.bluemap.fabric.events;
|
||||||
|
|
||||||
import com.flowpowered.math.vector.Vector2i;
|
import com.flowpowered.math.vector.Vector2i;
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric.events;
|
package de.bluecolored.bluemap.fabric.events;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.event.Event;
|
import net.fabricmc.fabric.api.event.Event;
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric.mixin;
|
package de.bluecolored.bluemap.fabric.mixin;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -1,3 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
package de.bluecolored.bluemap.fabric.mixin;
|
package de.bluecolored.bluemap.fabric.mixin;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -47,8 +47,9 @@ webserver {
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
# The IP-Adress that the webserver binds to.
|
# The IP-Adress that the webserver binds to.
|
||||||
# If this setting is commented out, bluemap tries to find the default ip-adress of your system.
|
# Use "0.0.0.0" to bind to all available local adresses.
|
||||||
# If you only want to access it locally use "localhost".
|
# If you only want to access it locally use "localhost".
|
||||||
|
# Default is "0.0.0.0"
|
||||||
#ip: "localhost"
|
#ip: "localhost"
|
||||||
#ip: "127.0.0.1"
|
#ip: "127.0.0.1"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of BlueMapSponge, licensed under the MIT License (MIT).
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
*
|
*
|
||||||
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
* Copyright (c) contributors
|
* Copyright (c) contributors
|
||||||
|
@ -47,8 +47,9 @@ webserver {
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
# The IP-Adress that the webserver binds to.
|
# The IP-Adress that the webserver binds to.
|
||||||
# If this setting is commented out, bluemap tries to find the default ip-adress of your system.
|
# Use "0.0.0.0" to bind to all available local adresses.
|
||||||
# If you only want to access it locally use "localhost".
|
# If you only want to access it locally use "localhost".
|
||||||
|
# Default is "0.0.0.0"
|
||||||
#ip: "localhost"
|
#ip: "localhost"
|
||||||
#ip: "127.0.0.1"
|
#ip: "127.0.0.1"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* This file is part of BlueMapSponge, licensed under the MIT License (MIT).
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
*
|
*
|
||||||
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
* Copyright (c) contributors
|
* Copyright (c) contributors
|
||||||
|
@ -42,8 +42,9 @@ webserver {
|
|||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
# The IP-Adress that the webserver binds to.
|
# The IP-Adress that the webserver binds to.
|
||||||
# If this setting is commented out, bluemap tries to find the default ip-adress of your system.
|
# Use "0.0.0.0" to bind to all available local adresses.
|
||||||
# If you only want to access it locally use "localhost".
|
# If you only want to access it locally use "localhost".
|
||||||
|
# Default is "0.0.0.0"
|
||||||
#ip: "localhost"
|
#ip: "localhost"
|
||||||
#ip: "127.0.0.1"
|
#ip: "127.0.0.1"
|
||||||
|
|
||||||
|
24
HEADER
Normal file
24
HEADER
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of BlueMap, licensed under the MIT License (MIT).
|
||||||
|
*
|
||||||
|
* Copyright (c) Blue (Lukas Rieger) <https://bluecolored.de>
|
||||||
|
* Copyright (c) contributors
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
24
README.md
24
README.md
@ -2,21 +2,18 @@
|
|||||||
|
|
||||||
BlueMap is a tool that generates 3d-maps of your Minecraft worlds and displays them in your browser. Take a look at [this demo](https://bluecolored.de/bluemap). It is really easy to set up - almost plug-and-play - if you use the integrated web-server (optional).
|
BlueMap is a tool that generates 3d-maps of your Minecraft worlds and displays them in your browser. Take a look at [this demo](https://bluecolored.de/bluemap). It is really easy to set up - almost plug-and-play - if you use the integrated web-server (optional).
|
||||||
|
|
||||||
The Sponge/Spigot-Plugin automatically updates your map as soon as something changes in your world, as well as rendering newly generated terrain and managing the render-tasks.
|
The plugins/mods automatically update your map as soon as something changes in your world, as well as rendering newly generated terrain and managing the render-tasks.
|
||||||
|
|
||||||
**BlueMap is currently in an early development state!**
|
**BlueMap is currently in a BETA state!**
|
||||||
|
|
||||||
A lot of features are still missing, and some blocks - especially some tile-entities - will not render correctly/at all.
|
It is however already quite stable and usable. There are just some features still missing, and some blocks - especially tile-entities - will not render correctly/at all.
|
||||||
See below for a list of what is planned for future releases.
|
See below for a list of what is planned for future releases.
|
||||||
|
|
||||||
### Download
|
### Download
|
||||||
You can choose a version and download BlueMap from [here](https://github.com/BlueMap-Minecraft/BlueMap/releases).
|
You can choose a version and download BlueMap from [here](https://github.com/BlueMap-Minecraft/BlueMap/releases).
|
||||||
|
|
||||||
### Using BlueMap
|
### Using BlueMap
|
||||||
BlueMap can be used on the command-line, or as a plugin for your Sponge/Spigot/Paper-Server. Read the [wiki](https://github.com/BlueMap-Minecraft/BlueMap/wiki) to get started!
|
BlueMap can be used on the command-line, or as a plugin/mod for your Sponge/Spigot/Paper/Forge/Fabric-Server. Read the [wiki](https://github.com/BlueMap-Minecraft/BlueMap/wiki) to get started!
|
||||||
|
|
||||||
### Discord
|
|
||||||
If you have a question, help others using BlueMap or get the latest news and info you are welcome to join us [on Discord](https://discord.gg/zmkyJa3)!
|
|
||||||
|
|
||||||
### Clone
|
### Clone
|
||||||
If you have git installed, simply use the command `git clone --recursive https://github.com/BlueMap-Minecraft/BlueMap.git` to clone BlueMap.
|
If you have git installed, simply use the command `git clone --recursive https://github.com/BlueMap-Minecraft/BlueMap.git` to clone BlueMap.
|
||||||
@ -32,17 +29,19 @@ You found a bug, have another issue or a suggestion? Please create an issue [her
|
|||||||
You are welcome to contribute!
|
You are welcome to contribute!
|
||||||
Just create a pull request with your changes :)
|
Just create a pull request with your changes :)
|
||||||
|
|
||||||
If you want to have your changes merged faster, make sure they are complete, documented and well tested!
|
**If you want to have your changes merged, make sure they are complete, documented and well tested!**
|
||||||
|
|
||||||
|
Keep in mind that we have to maintain all new features and keep supporting them in the future.
|
||||||
|
This means we always can decide to not accept a PR for any reason.
|
||||||
|
|
||||||
The `master`-branch is for the latest version of minecraft.
|
The `master`-branch is for the latest version of minecraft.
|
||||||
The `mc/xx`-branches are for other minecraft-versions.
|
The `mc/xx`-branches are for other minecraft-versions.
|
||||||
Changes that apply to all versions should be made on the `mc/1.13`-branch. This branch can be merged into `master` and every other `mc/xx` branch.
|
**Changes that apply to all versions should be based on the** `base` **branch.** This branch can be merged into `master` and every other `mc/xx` branch.
|
||||||
|
|
||||||
### Todo / planned features
|
### Todo / planned features
|
||||||
Here is a *(surely incomplete)* list of things that i want to include in future versions. *(They are not in any specific order. There is no guarantee that any of those things will ever be included.)*
|
Here is a *(surely incomplete)* list of things that i want to include in future versions. *(They are not in any specific order. There is no guarantee that any of those things will ever be included.)*
|
||||||
|
|
||||||
- live player positions
|
- live player positions
|
||||||
- fabric version
|
|
||||||
- render more tile-entities (banners, shulker-chests, etc..)
|
- render more tile-entities (banners, shulker-chests, etc..)
|
||||||
- render entities (armor-stands, item-frames, maybe even cows and such..)
|
- render entities (armor-stands, item-frames, maybe even cows and such..)
|
||||||
- free-flight-controls
|
- free-flight-controls
|
||||||
@ -51,3 +50,8 @@ Here is a *(surely incomplete)* list of things that i want to include in future
|
|||||||
- ability to display the world-border
|
- ability to display the world-border
|
||||||
- animated textures (if feasible)
|
- animated textures (if feasible)
|
||||||
- add support for models in obj format (if feasible)
|
- add support for models in obj format (if feasible)
|
||||||
|
|
||||||
|
### Links
|
||||||
|
**Wiki:** https://bluecolo.red/map-wiki <br>
|
||||||
|
**Reddit:** https://www.reddit.com/r/BlueMap <br>
|
||||||
|
**Discord:** https://bluecolo.red/map-discord <br>
|
||||||
|
12
build.gradle
12
build.gradle
@ -1,6 +1,7 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'java'
|
id 'java'
|
||||||
id 'com.github.johnrengelman.shadow' version '5.1.0'
|
id 'com.github.johnrengelman.shadow' version '5.1.0'
|
||||||
|
id 'com.github.hierynomus.license' version '0.15.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
@ -41,6 +42,17 @@ allprojects {
|
|||||||
|
|
||||||
group = 'de.bluecolored.bluemap'
|
group = 'de.bluecolored.bluemap'
|
||||||
version = coreVersion + '-' + targetVersion
|
version = coreVersion + '-' + targetVersion
|
||||||
|
|
||||||
|
apply plugin: 'license'
|
||||||
|
license {
|
||||||
|
header rootProject.file('HEADER')
|
||||||
|
excludes([
|
||||||
|
'*.conf',
|
||||||
|
'*.yml',
|
||||||
|
'*.zip',
|
||||||
|
'*.json'
|
||||||
|
])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
Loading…
Reference in New Issue
Block a user