next release (#145)
This commit is contained in:
commit
7220e3921f
135 changed files with 3487 additions and 356 deletions
|
|
@ -96,5 +96,22 @@
|
|||
"unicorn/filename-case": "off",
|
||||
"max-depth": "off"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"*.js"
|
||||
],
|
||||
"rules": {
|
||||
"space-before-function-paren": [
|
||||
"error",
|
||||
{
|
||||
"anonymous": "always",
|
||||
"named": "never",
|
||||
"asyncArrow": "always"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"root": true
|
||||
}
|
||||
|
|
|
|||
5
.github/workflows/ci.yml
vendored
5
.github/workflows/ci.yml
vendored
|
|
@ -8,6 +8,11 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@master
|
||||
- name: Setup Java JDK
|
||||
uses: actions/setup-java@v1.4.3
|
||||
with:
|
||||
java-version: 17
|
||||
java-package: jre
|
||||
- name: Install pnpm
|
||||
run: npm i -g pnpm@9.0.4
|
||||
- uses: actions/setup-node@v4
|
||||
|
|
|
|||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -17,5 +17,6 @@ out
|
|||
.vercel
|
||||
generated
|
||||
storybook-static
|
||||
server-jar
|
||||
|
||||
src/react/npmReactComponents.ts
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ const App = () => {
|
|||
}
|
||||
```
|
||||
|
||||
See [Storybook](https://mcraft.fun/storybook/) or [Storybook (Mirror link)](https://mcon.vercel.app/storybook/) for more examples and full components list. Also take a look at the full [standalone example](https://github.com/zardoy/prismarine-web-client/tree/experiments/UiStandaloneExample.tsx).
|
||||
See [Storybook](https://mcraft.fun/storybook/) or [Storybook (Mirror link)](https://mcon.vercel.app/storybook/) for more examples and full components list. Also take a look at the full [standalone example](https://github.com/zardoy/minecraft-web-client/tree/experiments/UiStandaloneExample.tsx).
|
||||
|
||||
There are two types of components:
|
||||
|
||||
|
|
|
|||
|
|
@ -15,9 +15,9 @@
|
|||
"description": "One of the best servers here. Join now!"
|
||||
},
|
||||
{
|
||||
"ip": "play.minemalia.com",
|
||||
"ip": "sus.shhnowisnottheti.me",
|
||||
"version": "1.18.2",
|
||||
"description": "Only login with existing accounts."
|
||||
"description": "Creative, your own 'boxes' (islands)"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
/* eslint-disable max-nested-callbacks */
|
||||
/// <reference types="cypress" />
|
||||
import supportedVersions from '../../src/supportedVersions.mjs'
|
||||
import { setOptions, cleanVisit, visit } from './shared'
|
||||
|
||||
// todo use ssl
|
||||
|
|
@ -12,7 +14,7 @@ const compareRenderedFlatWorld = () => {
|
|||
}
|
||||
|
||||
const testWorldLoad = () => {
|
||||
cy.document().then({ timeout: 20_000 }, doc => {
|
||||
return cy.document().then({ timeout: 20_000 }, doc => {
|
||||
return new Cypress.Promise(resolve => {
|
||||
doc.addEventListener('cypress-world-ready', resolve)
|
||||
})
|
||||
|
|
@ -36,7 +38,7 @@ it('Loads & renders singleplayer', () => {
|
|||
testWorldLoad()
|
||||
})
|
||||
|
||||
it('Joins to server', () => {
|
||||
it('Joins to local flying-squid server', () => {
|
||||
visit('/?ip=localhost&version=1.16.1')
|
||||
window.localStorage.version = ''
|
||||
// todo replace with data-test
|
||||
|
|
@ -47,9 +49,60 @@ it('Joins to server', () => {
|
|||
testWorldLoad()
|
||||
})
|
||||
|
||||
it('Joins to local latest Java vanilla server', () => {
|
||||
const version = supportedVersions.at(-1)!
|
||||
cy.task('startServer', [version, 25_590]).then(() => {
|
||||
visit('/?ip=localhost:25590&username=bot')
|
||||
cy.get('[data-test-id="connect-qs"]').click()
|
||||
testWorldLoad().then(() => {
|
||||
let x = 0
|
||||
let z = 0
|
||||
cy.window().then((win) => {
|
||||
x = win.bot.entity.position.x
|
||||
z = win.bot.entity.position.z
|
||||
})
|
||||
cy.document().trigger('keydown', { code: 'KeyW' })
|
||||
cy.wait(1500).then(() => {
|
||||
cy.document().trigger('keyup', { code: 'KeyW' })
|
||||
cy.window().then(async (win) => {
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
const bot: typeof __type_bot = win.bot
|
||||
// todo use f3 stats instead
|
||||
if (bot.entity.position.x === x && bot.entity.position.z === z) {
|
||||
throw new Error('Player not moved')
|
||||
}
|
||||
|
||||
bot.chat('Hello') // todo assert
|
||||
bot.chat('/gamemode creative')
|
||||
// bot.on('message', () => {
|
||||
void bot.creative.setInventorySlot(bot.inventory.hotbarStart, new win.PrismarineItem(1, 1, 0))
|
||||
// })
|
||||
await bot.lookAt(bot.entity.position.offset(1, 0, 1))
|
||||
}).then(() => {
|
||||
cy.document().trigger('mousedown', { button: 2, isTrusted: true, force: true }) // right click
|
||||
cy.document().trigger('mouseup', { button: 2, isTrusted: true, force: true })
|
||||
cy.wait(1000)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
it('Loads & renders zip world', () => {
|
||||
cleanVisit()
|
||||
cy.get('[data-test-id="select-file-folder"]').click({ shiftKey: true })
|
||||
cy.get('input[type="file"]').selectFile('cypress/superflat.zip', { force: true })
|
||||
testWorldLoad()
|
||||
})
|
||||
|
||||
|
||||
it.skip('Loads & renders world from folder', () => {
|
||||
cleanVisit()
|
||||
// dragndrop folder
|
||||
cy.get('[data-test-id="select-file-folder"]').click()
|
||||
cy.get('input[type="file"]').selectFile('server-jar/world', {
|
||||
force: true,
|
||||
// action: 'drag-drop',
|
||||
})
|
||||
testWorldLoad()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ import { AppOptions } from '../../src/optionsStorage'
|
|||
export const cleanVisit = (url?) => {
|
||||
cy.clearLocalStorage()
|
||||
visit(url)
|
||||
window.localStorage.options = {
|
||||
chatOpacity: 0
|
||||
}
|
||||
}
|
||||
export const visit = (url = '/') => {
|
||||
window.localStorage.cypress = 'true'
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@
|
|||
const { cypressEsbuildPreprocessor } = require('cypress-esbuild-preprocessor')
|
||||
const { initPlugin } = require('cypress-plugin-snapshots/plugin')
|
||||
const polyfill = require('esbuild-plugin-polyfill-node')
|
||||
const { startMinecraftServer } = require('./startServer')
|
||||
|
||||
module.exports = (on, config) => {
|
||||
initPlugin(on, config)
|
||||
on('file:preprocessor', cypressEsbuildPreprocessor({
|
||||
esbuildOptions: {
|
||||
sourcemap: true,
|
||||
plugins: [
|
||||
polyfill.polyfillNode({
|
||||
polyfills: {
|
||||
|
|
@ -17,10 +19,15 @@ module.exports = (on, config) => {
|
|||
},
|
||||
}))
|
||||
on('task', {
|
||||
log (message) {
|
||||
log(message) {
|
||||
console.log(message)
|
||||
return null
|
||||
},
|
||||
})
|
||||
on('task', {
|
||||
async startServer([version, port]) {
|
||||
return startMinecraftServer(version, port)
|
||||
}
|
||||
})
|
||||
return config
|
||||
}
|
||||
|
|
|
|||
8
cypress/plugins/ops.json
Normal file
8
cypress/plugins/ops.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[
|
||||
{
|
||||
"uuid": "67128b5b-2e6b-3ad1-baa0-1b937b03e5c5",
|
||||
"name": "bot",
|
||||
"level": 4,
|
||||
"bypassesPlayerLimit": false
|
||||
}
|
||||
]
|
||||
61
cypress/plugins/server.properties
Normal file
61
cypress/plugins/server.properties
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
#Minecraft server properties
|
||||
allow-flight=false
|
||||
allow-nether=true
|
||||
broadcast-console-to-ops=true
|
||||
broadcast-rcon-to-ops=true
|
||||
difficulty=peaceful
|
||||
enable-command-block=false
|
||||
enable-jmx-monitoring=false
|
||||
enable-query=false
|
||||
enable-rcon=false
|
||||
enable-status=true
|
||||
enforce-secure-profile=true
|
||||
enforce-whitelist=false
|
||||
entity-broadcast-range-percentage=100
|
||||
force-gamemode=false
|
||||
function-permission-level=2
|
||||
gamemode=survival
|
||||
generate-structures=true
|
||||
generator-settings={}
|
||||
hardcore=false
|
||||
hide-online-players=false
|
||||
initial-disabled-packs=
|
||||
initial-enabled-packs=vanilla
|
||||
level-name=world
|
||||
level-seed=
|
||||
level-type=flat
|
||||
log-ips=true
|
||||
max-build-height=256
|
||||
max-chained-neighbor-updates=1000000
|
||||
max-players=20
|
||||
max-tick-time=60000
|
||||
max-world-size=29999984
|
||||
motd=A Minecraft Server
|
||||
network-compression-threshold=256
|
||||
online-mode=false
|
||||
op-permission-level=4
|
||||
player-idle-timeout=0
|
||||
prevent-proxy-connections=false
|
||||
pvp=true
|
||||
query.port=25565
|
||||
rate-limit=0
|
||||
rcon.password=
|
||||
rcon.port=25575
|
||||
require-resource-pack=false
|
||||
resource-pack=
|
||||
resource-pack-id=
|
||||
resource-pack-prompt=
|
||||
resource-pack-sha1=
|
||||
server-ip=
|
||||
server-port=25565
|
||||
simulation-distance=10
|
||||
snooper-enabled=true
|
||||
spawn-animals=true
|
||||
spawn-monsters=true
|
||||
spawn-npcs=true
|
||||
spawn-protection=16
|
||||
sync-chunk-writes=true
|
||||
text-filtering-config=
|
||||
use-native-transport=true
|
||||
view-distance=10
|
||||
white-list=false
|
||||
45
cypress/plugins/startServer.ts
Normal file
45
cypress/plugins/startServer.ts
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import { ChildProcess, spawn } from 'child_process'
|
||||
import * as fs from 'fs'
|
||||
import * as path from 'path'
|
||||
import { promisify } from 'util'
|
||||
import { downloadServer } from 'minecraft-wrap'
|
||||
import * as waitOn from 'wait-on'
|
||||
|
||||
let prevProcess: ChildProcess | null = null
|
||||
export const startMinecraftServer = async (version: string, port: number) => {
|
||||
if (prevProcess) return null
|
||||
const jar = `./server-jar/${version}.jar`
|
||||
|
||||
const start = () => {
|
||||
// if (prevProcess) {
|
||||
// prevProcess.kill()
|
||||
// }
|
||||
|
||||
prevProcess = spawn('java', ['-jar', path.basename(jar), 'nogui', '--port', `${port}`], {
|
||||
stdio: 'inherit',
|
||||
cwd: path.dirname(jar),
|
||||
})
|
||||
}
|
||||
|
||||
let coldStart = false
|
||||
if (fs.existsSync(jar)) {
|
||||
start()
|
||||
} else {
|
||||
coldStart = true
|
||||
promisify(downloadServer)(version, jar).then(() => {
|
||||
// add eula.txt
|
||||
fs.writeFileSync(path.join(path.dirname(jar), 'eula.txt'), 'eula=true')
|
||||
// copy cypress/plugins/server.properties
|
||||
fs.copyFileSync(path.join(__dirname, 'server.properties'), path.join(path.dirname(jar), 'server.properties'))
|
||||
// copy ops.json
|
||||
fs.copyFileSync(path.join(__dirname, 'ops.json'), path.join(path.dirname(jar), 'ops.json'))
|
||||
start()
|
||||
})
|
||||
}
|
||||
|
||||
return new Promise<null>((res) => {
|
||||
waitOn({ resources: [`tcp:localhost:${port}`] }, () => {
|
||||
setTimeout(() => res(null), coldStart ? 6500 : 2000) // todo retry instead of timeout
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
</div>
|
||||
<div>
|
||||
<div style="font-size: calc(var(--font-size) * 1.8);color: lightgray;" class="title">Loading...</div>
|
||||
<div style="font-size: var(--font-size);color: rgb(176, 176, 176);" class="subtitle">A true Minecraft client in your browser!</div>
|
||||
<div style="font-size: var(--font-size);color: rgb(176, 176, 176);margin-top: 3px;text-align: center" class="subtitle">A true Minecraft client in your browser!</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "prismarine-web-client",
|
||||
"name": "minecraft-web-client",
|
||||
"version": "0.0.0-dev",
|
||||
"description": "A minecraft client running in a browser",
|
||||
"scripts": {
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
"esbuild-plugin-polyfill-node": "^0.3.0",
|
||||
"express": "^4.18.2",
|
||||
"filesize": "^10.0.12",
|
||||
"flying-squid": "npm:@zardoy/flying-squid@^0.0.24",
|
||||
"flying-squid": "npm:@zardoy/flying-squid@^0.0.29",
|
||||
"fs-extra": "^11.1.1",
|
||||
"google-drive-browserfs": "github:zardoy/browserfs#google-drive",
|
||||
"iconify-icon": "^1.0.8",
|
||||
|
|
@ -100,6 +100,7 @@
|
|||
"use-typed-event-listener": "^4.0.2",
|
||||
"valtio": "^1.11.1",
|
||||
"vec3": "^0.1.7",
|
||||
"wait-on": "^7.2.0",
|
||||
"workbox-build": "^7.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
@ -113,6 +114,7 @@
|
|||
"@types/stats.js": "^0.17.1",
|
||||
"@types/three": "0.154.0",
|
||||
"@types/ua-parser-js": "^0.7.39",
|
||||
"@types/wait-on": "^5.3.4",
|
||||
"@xmcl/installer": "^5.1.0",
|
||||
"assert": "^2.0.0",
|
||||
"browserify-zlib": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
},
|
||||
"module": "./dist/react/npmReactComponents.js",
|
||||
"types": "./dist/react/npmReactComponents.d.ts",
|
||||
"repository": "zardoy/prismarine-web-client",
|
||||
"repository": "zardoy/minecraft-web-client",
|
||||
"version": "0.0.0-dev",
|
||||
"dependencies": {},
|
||||
"peerDependencies": {
|
||||
|
|
|
|||
225
pnpm-lock.yaml
generated
225
pnpm-lock.yaml
generated
|
|
@ -104,8 +104,8 @@ importers:
|
|||
specifier: ^10.0.12
|
||||
version: 10.0.12
|
||||
flying-squid:
|
||||
specifier: npm:@zardoy/flying-squid@^0.0.24
|
||||
version: '@zardoy/flying-squid@0.0.24(encoding@0.1.13)'
|
||||
specifier: npm:@zardoy/flying-squid@^0.0.29
|
||||
version: '@zardoy/flying-squid@0.0.29(encoding@0.1.13)'
|
||||
fs-extra:
|
||||
specifier: ^11.1.1
|
||||
version: 11.1.1
|
||||
|
|
@ -150,7 +150,7 @@ importers:
|
|||
version: 6.1.1
|
||||
prismarine-provider-anvil:
|
||||
specifier: github:zardoy/prismarine-provider-anvil#everything
|
||||
version: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/02d81b0eba6ab1c362862970954f9a3c150c9a29(minecraft-data@3.65.0)
|
||||
version: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0228b5252f48a0d6ad7f36d7189851c427fbe8c4(minecraft-data@3.65.0)
|
||||
prosemirror-example-setup:
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
|
|
@ -214,6 +214,9 @@ importers:
|
|||
vec3:
|
||||
specifier: ^0.1.7
|
||||
version: 0.1.8
|
||||
wait-on:
|
||||
specifier: ^7.2.0
|
||||
version: 7.2.0(debug@4.3.4)
|
||||
workbox-build:
|
||||
specifier: ^7.0.0
|
||||
version: 7.0.0(@types/babel__core@7.20.2)
|
||||
|
|
@ -252,6 +255,9 @@ importers:
|
|||
'@types/ua-parser-js':
|
||||
specifier: ^0.7.39
|
||||
version: 0.7.39
|
||||
'@types/wait-on':
|
||||
specifier: ^5.3.4
|
||||
version: 5.3.4
|
||||
'@xmcl/installer':
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
|
|
@ -299,10 +305,10 @@ importers:
|
|||
version: 1.0.0
|
||||
minecraft-inventory-gui:
|
||||
specifier: github:zardoy/minecraft-inventory-gui#next
|
||||
version: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/200902aca941475e7feb610070e662b172a000b5(@types/react@18.2.20)(react@18.2.0)
|
||||
version: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/b424a566723067d0fb1a4bd70c1fb58a922f2ba4(@types/react@18.2.20)(react@18.2.0)
|
||||
mineflayer:
|
||||
specifier: github:zardoy/mineflayer
|
||||
version: https://codeload.github.com/zardoy/mineflayer/tar.gz/06061e07fe6b9716cb1801d4c1bf232581977192(encoding@0.1.13)
|
||||
version: https://codeload.github.com/zardoy/mineflayer/tar.gz/a4b1b4ba7f8c972cee9c0a16eb1191ff4d21fe23(encoding@0.1.13)
|
||||
mineflayer-pathfinder:
|
||||
specifier: ^2.4.4
|
||||
version: 2.4.4
|
||||
|
|
@ -383,10 +389,10 @@ importers:
|
|||
version: 1.3.6
|
||||
prismarine-block:
|
||||
specifier: github:zardoy/prismarine-block#next-era
|
||||
version: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
version: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-chunk:
|
||||
specifier: github:zardoy/prismarine-chunk
|
||||
version: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/f32234a724a5c2482ffbaf85edc5e91c7ab9b38f(minecraft-data@3.65.0)
|
||||
version: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-schematic:
|
||||
specifier: ^1.2.0
|
||||
version: 1.2.3
|
||||
|
|
@ -1697,6 +1703,12 @@ packages:
|
|||
'@gar/promisify@1.1.3':
|
||||
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
|
||||
|
||||
'@hapi/hoek@9.3.0':
|
||||
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
|
||||
|
||||
'@hapi/topo@5.1.0':
|
||||
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
|
||||
|
||||
'@humanwhocodes/config-array@0.11.11':
|
||||
resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==}
|
||||
engines: {node: '>=10.10.0'}
|
||||
|
|
@ -2378,6 +2390,15 @@ packages:
|
|||
'@rushstack/eslint-patch@1.4.0':
|
||||
resolution: {integrity: sha512-cEjvTPU32OM9lUFegJagO0mRnIn+rbqrG89vV8/xLnLFX0DoR0r1oy5IlTga71Q7uT3Qus7qm7wgeiMT/+Irlg==}
|
||||
|
||||
'@sideway/address@4.1.5':
|
||||
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
|
||||
|
||||
'@sideway/formula@3.0.1':
|
||||
resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
|
||||
|
||||
'@sideway/pinpoint@2.0.0':
|
||||
resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
|
||||
|
||||
'@sinclair/typebox@0.27.8':
|
||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||
|
||||
|
|
@ -2784,9 +2805,6 @@ packages:
|
|||
'@types/node@16.18.58':
|
||||
resolution: {integrity: sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==}
|
||||
|
||||
'@types/node@20.11.19':
|
||||
resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==}
|
||||
|
||||
'@types/node@20.12.8':
|
||||
resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==}
|
||||
|
||||
|
|
@ -2880,6 +2898,9 @@ packages:
|
|||
'@types/unist@3.0.2':
|
||||
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
|
||||
|
||||
'@types/wait-on@5.3.4':
|
||||
resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==}
|
||||
|
||||
'@types/webxr@0.5.7':
|
||||
resolution: {integrity: sha512-Rcgs5c2eNFnHp53YOjgtKfl/zWX1Y+uFGUwlSXrWcZWu3yhANRezmph4MninmqybUYT6g9ZE0aQ9QIdPkLR3Kg==}
|
||||
|
||||
|
|
@ -3054,8 +3075,8 @@ packages:
|
|||
resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==}
|
||||
engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'}
|
||||
|
||||
'@zardoy/flying-squid@0.0.24':
|
||||
resolution: {integrity: sha512-C+VNHyh9yYB7aG9OL6r9NR5bF73fyRQ0rHhkvvz901hLBZI3+5nOPdcA6XwJm9XX9BYStXbLTHp6shmo20JRHQ==}
|
||||
'@zardoy/flying-squid@0.0.29':
|
||||
resolution: {integrity: sha512-E5Nk1gMeH+fAHM5aJY8kIxjBS/zuPtPD6QPeZg+laPV5H58Jx3Et17clF1zC9MT2wyFQ5wi5uTnfdGBTpSEqHw==}
|
||||
engines: {node: '>=8'}
|
||||
hasBin: true
|
||||
|
||||
|
|
@ -3342,6 +3363,9 @@ packages:
|
|||
axios@0.21.4:
|
||||
resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==}
|
||||
|
||||
axios@1.7.2:
|
||||
resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==}
|
||||
|
||||
babel-core@7.0.0-bridge.0:
|
||||
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
|
||||
peerDependencies:
|
||||
|
|
@ -4097,8 +4121,8 @@ packages:
|
|||
devlop@1.1.0:
|
||||
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
|
||||
|
||||
diamond-square@https://codeload.github.com/zardoy/diamond-square/tar.gz/915fce8e27fe8eb45464d89b9563956afa4f7687:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/diamond-square/tar.gz/915fce8e27fe8eb45464d89b9563956afa4f7687}
|
||||
diamond-square@https://codeload.github.com/zardoy/diamond-square/tar.gz/4bbe28dcad35403abaa925055e91f601a61b9015:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/diamond-square/tar.gz/4bbe28dcad35403abaa925055e91f601a61b9015}
|
||||
version: 1.3.0
|
||||
|
||||
diff-sequences@29.6.3:
|
||||
|
|
@ -5518,6 +5542,9 @@ packages:
|
|||
jimp@0.10.3:
|
||||
resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==}
|
||||
|
||||
joi@17.13.1:
|
||||
resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==}
|
||||
|
||||
jose@4.15.5:
|
||||
resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==}
|
||||
|
||||
|
|
@ -6035,8 +6062,8 @@ packages:
|
|||
minecraft-folder-path@1.2.0:
|
||||
resolution: {integrity: sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw==}
|
||||
|
||||
minecraft-inventory-gui@https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/200902aca941475e7feb610070e662b172a000b5:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/200902aca941475e7feb610070e662b172a000b5}
|
||||
minecraft-inventory-gui@https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/b424a566723067d0fb1a4bd70c1fb58a922f2ba4:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/b424a566723067d0fb1a4bd70c1fb58a922f2ba4}
|
||||
version: 1.0.1
|
||||
|
||||
minecraft-protocol@https://codeload.github.com/PrismarineJS/node-minecraft-protocol/tar.gz/495eed56ab230b2615596590064671356d86a2dc:
|
||||
|
|
@ -6067,8 +6094,8 @@ packages:
|
|||
resolution: {integrity: sha512-QMMNPx4IyZE7ydAzjvGLQLCnQNUOfkk1qVZKxTTS9q3qPTAewz4GhsVUBtbQ8LSbHthe5RcQ1Sgxs4wlIma/Qw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
mineflayer@https://codeload.github.com/zardoy/mineflayer/tar.gz/06061e07fe6b9716cb1801d4c1bf232581977192:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/mineflayer/tar.gz/06061e07fe6b9716cb1801d4c1bf232581977192}
|
||||
mineflayer@https://codeload.github.com/zardoy/mineflayer/tar.gz/a4b1b4ba7f8c972cee9c0a16eb1191ff4d21fe23:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/mineflayer/tar.gz/a4b1b4ba7f8c972cee9c0a16eb1191ff4d21fe23}
|
||||
version: 4.20.1
|
||||
engines: {node: '>=18'}
|
||||
|
||||
|
|
@ -6708,23 +6735,15 @@ packages:
|
|||
minecraft-data: 3.65.0
|
||||
prismarine-registry: ^1.1.0
|
||||
|
||||
prismarine-block@https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0}
|
||||
prismarine-block@https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8}
|
||||
version: 1.17.1
|
||||
|
||||
prismarine-chat@1.10.1:
|
||||
resolution: {integrity: sha512-XukYcuueuhDxzEXG7r8BZyt6jOObrPPB4JESCgb+/XenB9nExoSHF8eTQWWj8faKPLqm1dRQaYwFJlNBlJZJUw==}
|
||||
|
||||
prismarine-chat@1.9.1:
|
||||
resolution: {integrity: sha512-x7WWa5MNhiLZSO6tw+YyKpzquFZ+DNISVgiV6K3SU0GsishMXe+nto02WhF/4AuFerKdugm9u1d/r4C4zSkJOg==}
|
||||
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16}
|
||||
version: 1.35.0
|
||||
engines: {node: '>=14'}
|
||||
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/f32234a724a5c2482ffbaf85edc5e91c7ab9b38f:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/f32234a724a5c2482ffbaf85edc5e91c7ab9b38f}
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3}
|
||||
version: 1.35.0
|
||||
engines: {node: '>=14'}
|
||||
|
||||
|
|
@ -6743,9 +6762,9 @@ packages:
|
|||
prismarine-physics@1.8.0:
|
||||
resolution: {integrity: sha512-gbM+S+bmVtOKVv+Z0WGaHMeEeBHISIDsRDRlv8sr0dex3ZJRhuq8djA02CBreguXtI18ZKh6q3TSj2qDr45NHA==}
|
||||
|
||||
prismarine-provider-anvil@https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/02d81b0eba6ab1c362862970954f9a3c150c9a29:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/02d81b0eba6ab1c362862970954f9a3c150c9a29}
|
||||
version: 2.7.0
|
||||
prismarine-provider-anvil@https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0228b5252f48a0d6ad7f36d7189851c427fbe8c4:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0228b5252f48a0d6ad7f36d7189851c427fbe8c4}
|
||||
version: 2.8.0
|
||||
|
||||
prismarine-realms@1.3.2:
|
||||
resolution: {integrity: sha512-5apl9Ru8veTj5q2OozRc4GZOuSIcs3yY4UEtALiLKHstBe8bRw8vNlaz4Zla3jsQ8yP/ul1b1IJINTRbocuA6g==}
|
||||
|
|
@ -6764,9 +6783,9 @@ packages:
|
|||
prismarine-windows@2.9.0:
|
||||
resolution: {integrity: sha512-fm4kOLjGFPov7TEJRmXHoiPabxIQrG36r2mDjlNxfkcLfMHFb3/1ML6mp4iRQa7wL0GK4DIAyiBqCWoeWDxARg==}
|
||||
|
||||
prismarine-world@https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465}
|
||||
version: 3.6.2
|
||||
prismarine-world@https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7:
|
||||
resolution: {tarball: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7}
|
||||
version: 3.6.3
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
process-nextick-args@2.0.1:
|
||||
|
|
@ -6868,6 +6887,9 @@ packages:
|
|||
proxy-from-env@1.0.0:
|
||||
resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
|
||||
|
||||
proxy-from-env@1.1.0:
|
||||
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
||||
|
||||
psl@1.9.0:
|
||||
resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
|
||||
|
||||
|
|
@ -8386,6 +8408,11 @@ packages:
|
|||
w3c-keyname@2.2.8:
|
||||
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
|
||||
|
||||
wait-on@7.2.0:
|
||||
resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
|
||||
walker@1.0.8:
|
||||
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
|
||||
|
||||
|
|
@ -9934,6 +9961,12 @@ snapshots:
|
|||
'@gar/promisify@1.1.3':
|
||||
optional: true
|
||||
|
||||
'@hapi/hoek@9.3.0': {}
|
||||
|
||||
'@hapi/topo@5.1.0':
|
||||
dependencies:
|
||||
'@hapi/hoek': 9.3.0
|
||||
|
||||
'@humanwhocodes/config-array@0.11.11':
|
||||
dependencies:
|
||||
'@humanwhocodes/object-schema': 1.2.1
|
||||
|
|
@ -10769,6 +10802,14 @@ snapshots:
|
|||
|
||||
'@rushstack/eslint-patch@1.4.0': {}
|
||||
|
||||
'@sideway/address@4.1.5':
|
||||
dependencies:
|
||||
'@hapi/hoek': 9.3.0
|
||||
|
||||
'@sideway/formula@3.0.1': {}
|
||||
|
||||
'@sideway/pinpoint@2.0.0': {}
|
||||
|
||||
'@sinclair/typebox@0.27.8': {}
|
||||
|
||||
'@socket.io/component-emitter@3.1.0': {}
|
||||
|
|
@ -11594,11 +11635,6 @@ snapshots:
|
|||
|
||||
'@types/node@16.18.58': {}
|
||||
|
||||
'@types/node@20.11.19':
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
optional: true
|
||||
|
||||
'@types/node@20.12.8':
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
|
@ -11697,6 +11733,10 @@ snapshots:
|
|||
|
||||
'@types/unist@3.0.2': {}
|
||||
|
||||
'@types/wait-on@5.3.4':
|
||||
dependencies:
|
||||
'@types/node': 20.12.8
|
||||
|
||||
'@types/webxr@0.5.7': {}
|
||||
|
||||
'@types/wicg-file-system-access@2023.10.2': {}
|
||||
|
|
@ -11713,7 +11753,7 @@ snapshots:
|
|||
|
||||
'@types/yauzl@2.10.3':
|
||||
dependencies:
|
||||
'@types/node': 20.11.19
|
||||
'@types/node': 20.12.8
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/eslint-plugin@6.1.0(@typescript-eslint/parser@6.7.3(eslint@8.50.0)(typescript@5.5.0-beta))(eslint@8.50.0)(typescript@5.5.0-beta)':
|
||||
|
|
@ -11931,12 +11971,12 @@ snapshots:
|
|||
'@types/emscripten': 1.39.8
|
||||
tslib: 1.14.1
|
||||
|
||||
'@zardoy/flying-squid@0.0.24(encoding@0.1.13)':
|
||||
'@zardoy/flying-squid@0.0.29(encoding@0.1.13)':
|
||||
dependencies:
|
||||
'@tootallnate/once': 2.0.0
|
||||
change-case: 4.1.2
|
||||
colors: 1.4.0
|
||||
diamond-square: https://codeload.github.com/zardoy/diamond-square/tar.gz/915fce8e27fe8eb45464d89b9563956afa4f7687
|
||||
diamond-square: https://codeload.github.com/zardoy/diamond-square/tar.gz/4bbe28dcad35403abaa925055e91f601a61b9015
|
||||
emit-then: 2.0.0
|
||||
exit-hook: 2.2.1
|
||||
flatmap: 0.0.3
|
||||
|
|
@ -11946,13 +11986,13 @@ snapshots:
|
|||
mkdirp: 2.1.6
|
||||
node-gzip: 1.1.2
|
||||
node-rsa: 1.1.1
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16(minecraft-data@3.65.0)
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-entity: 2.3.1
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-provider-anvil: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/02d81b0eba6ab1c362862970954f9a3c150c9a29(minecraft-data@3.65.0)
|
||||
prismarine-provider-anvil: https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0228b5252f48a0d6ad7f36d7189851c427fbe8c4(minecraft-data@3.65.0)
|
||||
prismarine-windows: 2.9.0
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7
|
||||
rambda: 9.2.0
|
||||
random-seed: 0.3.0
|
||||
range: 0.0.3
|
||||
|
|
@ -12274,6 +12314,14 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
axios@1.7.2(debug@4.3.4):
|
||||
dependencies:
|
||||
follow-redirects: 1.15.6(debug@4.3.4)
|
||||
form-data: 4.0.0
|
||||
proxy-from-env: 1.1.0
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
babel-core@7.0.0-bridge.0(@babel/core@7.22.11):
|
||||
dependencies:
|
||||
'@babel/core': 7.22.11
|
||||
|
|
@ -13209,10 +13257,11 @@ snapshots:
|
|||
dependencies:
|
||||
dequal: 2.0.3
|
||||
|
||||
diamond-square@https://codeload.github.com/zardoy/diamond-square/tar.gz/915fce8e27fe8eb45464d89b9563956afa4f7687:
|
||||
diamond-square@https://codeload.github.com/zardoy/diamond-square/tar.gz/4bbe28dcad35403abaa925055e91f601a61b9015:
|
||||
dependencies:
|
||||
minecraft-data: 3.65.0
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16(minecraft-data@3.65.0)
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-registry: 1.7.0
|
||||
random-seed: 0.3.0
|
||||
vec3: 0.1.8
|
||||
|
||||
|
|
@ -15041,6 +15090,14 @@ snapshots:
|
|||
core-js: 3.32.1
|
||||
regenerator-runtime: 0.13.11
|
||||
|
||||
joi@17.13.1:
|
||||
dependencies:
|
||||
'@hapi/hoek': 9.3.0
|
||||
'@hapi/topo': 5.1.0
|
||||
'@sideway/address': 4.1.5
|
||||
'@sideway/formula': 3.0.1
|
||||
'@sideway/pinpoint': 2.0.0
|
||||
|
||||
jose@4.15.5: {}
|
||||
|
||||
jpeg-js@0.3.7: {}
|
||||
|
|
@ -15674,7 +15731,7 @@ snapshots:
|
|||
|
||||
minecraft-folder-path@1.2.0: {}
|
||||
|
||||
minecraft-inventory-gui@https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/200902aca941475e7feb610070e662b172a000b5(@types/react@18.2.20)(react@18.2.0):
|
||||
minecraft-inventory-gui@https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/b424a566723067d0fb1a4bd70c1fb58a922f2ba4(@types/react@18.2.20)(react@18.2.0):
|
||||
dependencies:
|
||||
valtio: 1.11.2(@types/react@18.2.20)(react@18.2.0)
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -15765,7 +15822,7 @@ snapshots:
|
|||
mineflayer-pathfinder@2.4.4:
|
||||
dependencies:
|
||||
minecraft-data: 3.65.0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-entity: 2.3.1
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.2.1
|
||||
|
|
@ -15777,9 +15834,9 @@ snapshots:
|
|||
minecraft-data: 3.65.0
|
||||
minecraft-protocol: https://codeload.github.com/PrismarineJS/node-minecraft-protocol/tar.gz/495eed56ab230b2615596590064671356d86a2dc(patch_hash=2uxevyasyasdavsxuehfavgkjq)(encoding@0.1.13)
|
||||
prismarine-biome: 1.3.0(minecraft-data@3.65.0)(prismarine-registry@1.7.0)
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-chat: 1.10.1
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16(minecraft-data@3.65.0)
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-entity: 2.3.1
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.5.0
|
||||
|
|
@ -15787,7 +15844,7 @@ snapshots:
|
|||
prismarine-recipe: 1.3.1(prismarine-registry@1.7.0)
|
||||
prismarine-registry: 1.7.0
|
||||
prismarine-windows: 2.9.0
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7
|
||||
protodef: 1.15.0
|
||||
typed-emitter: 1.4.0
|
||||
vec3: 0.1.8
|
||||
|
|
@ -15795,14 +15852,14 @@ snapshots:
|
|||
- encoding
|
||||
- supports-color
|
||||
|
||||
mineflayer@https://codeload.github.com/zardoy/mineflayer/tar.gz/06061e07fe6b9716cb1801d4c1bf232581977192(encoding@0.1.13):
|
||||
mineflayer@https://codeload.github.com/zardoy/mineflayer/tar.gz/a4b1b4ba7f8c972cee9c0a16eb1191ff4d21fe23(encoding@0.1.13):
|
||||
dependencies:
|
||||
minecraft-data: 3.65.0
|
||||
minecraft-protocol: https://codeload.github.com/PrismarineJS/node-minecraft-protocol/tar.gz/495eed56ab230b2615596590064671356d86a2dc(patch_hash=2uxevyasyasdavsxuehfavgkjq)(encoding@0.1.13)
|
||||
prismarine-biome: 1.3.0(minecraft-data@3.65.0)(prismarine-registry@1.7.0)
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-chat: 1.10.1
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16(minecraft-data@3.65.0)
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-entity: 2.3.1
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.5.0
|
||||
|
|
@ -15810,7 +15867,7 @@ snapshots:
|
|||
prismarine-recipe: 1.3.1(prismarine-registry@1.7.0)
|
||||
prismarine-registry: 1.7.0
|
||||
prismarine-windows: 2.9.0
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7
|
||||
protodef: 1.15.0
|
||||
typed-emitter: 1.4.0
|
||||
vec3: 0.1.8
|
||||
|
|
@ -16504,11 +16561,11 @@ snapshots:
|
|||
minecraft-data: 3.65.0
|
||||
prismarine-registry: 1.7.0
|
||||
|
||||
prismarine-block@https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0:
|
||||
prismarine-block@https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8:
|
||||
dependencies:
|
||||
minecraft-data: 3.65.0
|
||||
prismarine-biome: 1.3.0(minecraft-data@3.65.0)(prismarine-registry@1.7.0)
|
||||
prismarine-chat: 1.9.1
|
||||
prismarine-chat: 1.10.1
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-registry: 1.7.0
|
||||
|
|
@ -16519,30 +16576,10 @@ snapshots:
|
|||
prismarine-nbt: 2.5.0
|
||||
prismarine-registry: 1.7.0
|
||||
|
||||
prismarine-chat@1.9.1:
|
||||
dependencies:
|
||||
mojangson: 2.0.4
|
||||
prismarine-item: 1.14.0
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-registry: 1.7.0
|
||||
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/eb39a905761a36f733a456110e6b49d655bf5c16(minecraft-data@3.65.0):
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0):
|
||||
dependencies:
|
||||
prismarine-biome: 1.3.0(minecraft-data@3.65.0)(prismarine-registry@1.7.0)
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-registry: 1.7.0
|
||||
smart-buffer: 4.2.0
|
||||
uint4: 0.1.2
|
||||
vec3: 0.1.8
|
||||
xxhash-wasm: 0.4.2
|
||||
transitivePeerDependencies:
|
||||
- minecraft-data
|
||||
|
||||
prismarine-chunk@https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/f32234a724a5c2482ffbaf85edc5e91c7ab9b38f(minecraft-data@3.65.0):
|
||||
dependencies:
|
||||
prismarine-biome: 1.3.0(minecraft-data@3.65.0)(prismarine-registry@1.7.0)
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-registry: 1.7.0
|
||||
smart-buffer: 4.2.0
|
||||
|
|
@ -16578,10 +16615,12 @@ snapshots:
|
|||
prismarine-nbt: 2.5.0
|
||||
vec3: 0.1.8
|
||||
|
||||
prismarine-provider-anvil@https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/02d81b0eba6ab1c362862970954f9a3c150c9a29(minecraft-data@3.65.0):
|
||||
prismarine-provider-anvil@https://codeload.github.com/zardoy/prismarine-provider-anvil/tar.gz/0228b5252f48a0d6ad7f36d7189851c427fbe8c4(minecraft-data@3.65.0):
|
||||
dependencies:
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/f32234a724a5c2482ffbaf85edc5e91c7ab9b38f(minecraft-data@3.65.0)
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-chunk: https://codeload.github.com/zardoy/prismarine-chunk/tar.gz/9662306deea57d8d0ba0a2a3f3f7adb95f0131e3(minecraft-data@3.65.0)
|
||||
prismarine-nbt: 2.5.0
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7
|
||||
uint4: 0.1.2
|
||||
vec3: 0.1.8
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -16607,9 +16646,9 @@ snapshots:
|
|||
prismarine-schematic@1.2.3:
|
||||
dependencies:
|
||||
minecraft-data: 3.65.0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/ada4ec3fdfbbc1cc20ab01d0e23f0718a77cc1a0
|
||||
prismarine-block: https://codeload.github.com/zardoy/prismarine-block/tar.gz/dd4954fff3b334f8ce063d18e39b2e9414ece5b8
|
||||
prismarine-nbt: 2.2.1
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465
|
||||
prismarine-world: https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7
|
||||
vec3: 0.1.8
|
||||
|
||||
prismarine-windows@2.9.0:
|
||||
|
|
@ -16618,7 +16657,7 @@ snapshots:
|
|||
prismarine-registry: 1.7.0
|
||||
typed-emitter: 2.1.0
|
||||
|
||||
prismarine-world@https://codeload.github.com/zardoy/prismarine-world/tar.gz/6ae6f009d38460de284f8c226c665f04cbad9465:
|
||||
prismarine-world@https://codeload.github.com/zardoy/prismarine-world/tar.gz/187a87f6d71cba12881a7bbaa510ed9085bf6da7:
|
||||
dependencies:
|
||||
vec3: 0.1.8
|
||||
|
||||
|
|
@ -16758,6 +16797,8 @@ snapshots:
|
|||
|
||||
proxy-from-env@1.0.0: {}
|
||||
|
||||
proxy-from-env@1.1.0: {}
|
||||
|
||||
psl@1.9.0: {}
|
||||
|
||||
public-encrypt@4.0.3:
|
||||
|
|
@ -18527,6 +18568,16 @@ snapshots:
|
|||
|
||||
w3c-keyname@2.2.8: {}
|
||||
|
||||
wait-on@7.2.0(debug@4.3.4):
|
||||
dependencies:
|
||||
axios: 1.7.2(debug@4.3.4)
|
||||
joi: 17.13.1
|
||||
lodash: 4.17.21
|
||||
minimist: 1.2.8
|
||||
rxjs: 7.8.1
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
|
||||
walker@1.0.8:
|
||||
dependencies:
|
||||
makeerror: 1.0.12
|
||||
|
|
|
|||
|
|
@ -267,11 +267,15 @@ export class Entities extends EventEmitter {
|
|||
|
||||
}
|
||||
|
||||
displaySimpleText(jsonLike) {
|
||||
parseEntityLabel(jsonLike) {
|
||||
if (!jsonLike) return
|
||||
const parsed = typeof jsonLike === 'string' ? mojangson.simplify(mojangson.parse(jsonLike)) : nbt.simplify(jsonLike)
|
||||
const text = flat(parsed).map(x => x.text)
|
||||
return text.join('')
|
||||
try {
|
||||
const parsed = typeof jsonLike === 'string' ? mojangson.simplify(mojangson.parse(jsonLike)) : nbt.simplify(jsonLike)
|
||||
const text = flat(parsed).map(x => x.text)
|
||||
return text.join('')
|
||||
} catch (err) {
|
||||
return jsonLike
|
||||
}
|
||||
}
|
||||
|
||||
update(/** @type {import('prismarine-entity').Entity & {delete?, pos}} */entity, overrides) {
|
||||
|
|
@ -410,7 +414,7 @@ export class Entities extends EventEmitter {
|
|||
}
|
||||
}
|
||||
// not player
|
||||
const displayText = entity.metadata?.[3] && this.displaySimpleText(entity.metadata[2])
|
||||
const displayText = entity.metadata?.[3] && this.parseEntityLabel(entity.metadata[2])
|
||||
if (entity.name !== 'player' && displayText) {
|
||||
addNametag({ ...entity, username: displayText }, this.entitiesOptions, this.entities[entity.id].children.find(c => c.name === 'mesh'))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -520,9 +520,11 @@ export function getSectionGeometry (sx, sy, sz, world: World) {
|
|||
"west": 1,
|
||||
"east": 3
|
||||
}
|
||||
const isWall = block.name.endsWith('wall_sign') || block.name.endsWith('hanging_sign')
|
||||
const isWall = block.name.endsWith('wall_sign') || block.name.endsWith('wall_hanging_sign')
|
||||
const isHanging = block.name.endsWith('hanging_sign')
|
||||
attr.signs[key] = {
|
||||
isWall,
|
||||
isHanging,
|
||||
rotation: isWall ? facingRotationMap[props.facing] : +props.rotation
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,12 +45,6 @@ test('Known blocks are not rendered', () => {
|
|||
// should be fixed, but to avoid regressions & for visibility
|
||||
expect(invalidBlocks).toMatchInlineSnapshot(`
|
||||
{
|
||||
"acacia_hanging_sign": true,
|
||||
"acacia_wall_hanging_sign": true,
|
||||
"bamboo_hanging_sign": true,
|
||||
"bamboo_wall_hanging_sign": true,
|
||||
"birch_hanging_sign": true,
|
||||
"birch_wall_hanging_sign": true,
|
||||
"black_banner": true,
|
||||
"black_bed": true,
|
||||
"black_candle": true,
|
||||
|
|
@ -65,18 +59,12 @@ test('Known blocks are not rendered', () => {
|
|||
"brown_wall_banner": true,
|
||||
"bubble_column": true,
|
||||
"candle": true,
|
||||
"cherry_hanging_sign": true,
|
||||
"cherry_wall_hanging_sign": true,
|
||||
"creeper_head": true,
|
||||
"creeper_wall_head": true,
|
||||
"crimson_hanging_sign": true,
|
||||
"crimson_wall_hanging_sign": true,
|
||||
"cyan_banner": true,
|
||||
"cyan_bed": true,
|
||||
"cyan_candle": true,
|
||||
"cyan_wall_banner": true,
|
||||
"dark_oak_hanging_sign": true,
|
||||
"dark_oak_wall_hanging_sign": true,
|
||||
"dragon_head": true,
|
||||
"dragon_wall_head": true,
|
||||
"end_gateway": true,
|
||||
|
|
@ -89,8 +77,6 @@ test('Known blocks are not rendered', () => {
|
|||
"green_bed": true,
|
||||
"green_candle": true,
|
||||
"green_wall_banner": true,
|
||||
"jungle_hanging_sign": true,
|
||||
"jungle_wall_hanging_sign": true,
|
||||
"light_blue_banner": true,
|
||||
"light_blue_bed": true,
|
||||
"light_blue_candle": true,
|
||||
|
|
@ -107,10 +93,6 @@ test('Known blocks are not rendered', () => {
|
|||
"magenta_bed": true,
|
||||
"magenta_candle": true,
|
||||
"magenta_wall_banner": true,
|
||||
"mangrove_hanging_sign": true,
|
||||
"mangrove_wall_hanging_sign": true,
|
||||
"oak_hanging_sign": true,
|
||||
"oak_wall_hanging_sign": true,
|
||||
"orange_banner": true,
|
||||
"orange_bed": true,
|
||||
"orange_candle": true,
|
||||
|
|
@ -138,12 +120,8 @@ test('Known blocks are not rendered', () => {
|
|||
"skeleton_skull": true,
|
||||
"skeleton_wall_skull": true,
|
||||
"snow": true,
|
||||
"spruce_hanging_sign": true,
|
||||
"spruce_wall_hanging_sign": true,
|
||||
"structure_void": true,
|
||||
"turtle_egg": true,
|
||||
"warped_hanging_sign": true,
|
||||
"warped_wall_hanging_sign": true,
|
||||
"water_cauldron": true,
|
||||
"white_banner": true,
|
||||
"white_bed": true,
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ export class WorldDataEmitter extends EventEmitter {
|
|||
get (_target, posKey, receiver) {
|
||||
if (typeof posKey !== 'string') return
|
||||
const [x, y, z] = posKey.split(',').map(Number)
|
||||
return bot.world.getBlock(new Vec3(x, y, z)).entity
|
||||
return bot.world.getBlock(new Vec3(x, y, z))?.entity
|
||||
},
|
||||
}))
|
||||
this.emitter.emit('renderDistance', this.viewDistance)
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export class WorldRendererThree extends WorldRendererCommon {
|
|||
return Object.values(this.sectionObjects).reduce((acc, obj) => acc + (obj as any).tilesCount, 0)
|
||||
}
|
||||
|
||||
constructor(public scene: THREE.Scene, public renderer: THREE.WebGLRenderer, public config: WorldRendererConfig) {
|
||||
constructor (public scene: THREE.Scene, public renderer: THREE.WebGLRenderer, public config: WorldRendererConfig) {
|
||||
super(config)
|
||||
this.starField = new StarField(scene)
|
||||
}
|
||||
|
|
@ -112,11 +112,11 @@ export class WorldRendererThree extends WorldRendererCommon {
|
|||
}
|
||||
// should not compute it once
|
||||
if (Object.keys(data.geometry.signs).length) {
|
||||
for (const [posKey, { isWall, rotation }] of Object.entries(data.geometry.signs)) {
|
||||
for (const [posKey, { isWall, isHanging, rotation }] of Object.entries(data.geometry.signs)) {
|
||||
const [x, y, z] = posKey.split(',')
|
||||
const signBlockEntity = this.blockEntities[posKey]
|
||||
if (!signBlockEntity) continue
|
||||
const sign = this.renderSign(new Vec3(+x, +y, +z), rotation, isWall, nbt.simplify(signBlockEntity))
|
||||
const sign = this.renderSign(new Vec3(+x, +y, +z), rotation, isWall, isHanging, nbt.simplify(signBlockEntity))
|
||||
if (!sign) continue
|
||||
object.add(sign)
|
||||
}
|
||||
|
|
@ -165,7 +165,7 @@ export class WorldRendererThree extends WorldRendererCommon {
|
|||
this.renderer.render(this.scene, this.camera)
|
||||
}
|
||||
|
||||
renderSign (position: Vec3, rotation: number, isWall: boolean, blockEntity) {
|
||||
renderSign (position: Vec3, rotation: number, isWall: boolean, isHanging: boolean, blockEntity) {
|
||||
const tex = this.getSignTexture(position, blockEntity)
|
||||
|
||||
if (!tex) return
|
||||
|
|
@ -181,14 +181,16 @@ export class WorldRendererThree extends WorldRendererCommon {
|
|||
const mesh = new THREE.Mesh(new THREE.PlaneGeometry(1, 1), new THREE.MeshBasicMaterial({ map: tex, transparent: true, }))
|
||||
mesh.renderOrder = 999
|
||||
|
||||
// todo @sa2urami shouldnt all this be done in worker?
|
||||
mesh.scale.set(1, 7 / 16, 1)
|
||||
if (isWall) {
|
||||
mesh.position.set(0, 0, -(8 - 1.5) / 16 + 0.001)
|
||||
const lineHeight = 7 / 16
|
||||
const scaleFactor = isHanging ? 1.3 : 1
|
||||
mesh.scale.set(1 * scaleFactor, lineHeight * scaleFactor, 1 * scaleFactor)
|
||||
|
||||
const thickness = (isHanging ? 2 : 1.5) / 16
|
||||
const wallSpacing = 0.25 / 16
|
||||
if (isWall && !isHanging) {
|
||||
mesh.position.set(0, 0, -0.5 + thickness + wallSpacing + 0.0001)
|
||||
} else {
|
||||
// standing
|
||||
const faceEnd = 8.75
|
||||
mesh.position.set(0, 0, (faceEnd - 16 / 2) / 16 + 0.001)
|
||||
mesh.position.set(0, 0, thickness / 2 + 0.0001)
|
||||
}
|
||||
|
||||
const group = new THREE.Group()
|
||||
|
|
@ -196,8 +198,10 @@ export class WorldRendererThree extends WorldRendererCommon {
|
|||
rotation * (isWall ? 90 : 45 / 2)
|
||||
), 0)
|
||||
group.add(mesh)
|
||||
const y = isWall ? 4.5 / 16 + mesh.scale.y / 2 : (1 - (mesh.scale.y / 2))
|
||||
group.position.set(position.x + 0.5, position.y + y, position.z + 0.5)
|
||||
const height = (isHanging ? 10 : 8) / 16
|
||||
const heightOffset = (isHanging ? 0 : isWall ? 4.333 : 9.333) / 16
|
||||
const textPosition = height / 2 + heightOffset
|
||||
group.position.set(position.x + 0.5, position.y + textPosition, position.z + 0.5)
|
||||
return group
|
||||
}
|
||||
|
||||
|
|
@ -317,7 +321,7 @@ class StarField {
|
|||
}
|
||||
}
|
||||
|
||||
constructor(private scene: THREE.Scene) {
|
||||
constructor (private scene: THREE.Scene) {
|
||||
}
|
||||
|
||||
addToScene () {
|
||||
|
|
@ -381,7 +385,7 @@ class StarField {
|
|||
|
||||
const version = parseInt(THREE.REVISION.replace(/\D+/g, ''))
|
||||
class StarfieldMaterial extends THREE.ShaderMaterial {
|
||||
constructor() {
|
||||
constructor () {
|
||||
super({
|
||||
uniforms: { time: { value: 0.0 }, fade: { value: 1.0 } },
|
||||
vertexShader: /* glsl */ `
|
||||
|
|
|
|||
|
|
@ -49,19 +49,18 @@ export const makeTextureAtlas = (input: string[], getInputData: (name) => { cont
|
|||
|
||||
const texturesIndex = {}
|
||||
|
||||
let skipXY = [] as [x: number, y: number][]
|
||||
let offset = 0
|
||||
let nextX = 0
|
||||
let nextY = 0
|
||||
let rowMaxY = 0
|
||||
|
||||
const goToNextRow = () => {
|
||||
nextX = 0
|
||||
nextY += rowMaxY
|
||||
rowMaxY = 0
|
||||
}
|
||||
|
||||
const suSv = tileSize / imgSize
|
||||
for (const i in input) {
|
||||
const pos = +i + offset
|
||||
const x = (pos % texSize) * tileSize
|
||||
const y = Math.floor(pos / texSize) * tileSize
|
||||
|
||||
if (skipXY.some(([sx, sy]) => sx === x + 1 && sy === y)) {
|
||||
// todo more offsets
|
||||
offset++
|
||||
}
|
||||
|
||||
const img = new Image()
|
||||
const keyValue = input[i]
|
||||
const inputData = getInputData(keyValue)
|
||||
|
|
@ -76,16 +75,24 @@ export const makeTextureAtlas = (input: string[], getInputData: (name) => { cont
|
|||
renderHeight = Math.ceil(img.height / tileSize) * tileSize
|
||||
su = renderWidth / imgSize
|
||||
sv = renderHeight / imgSize
|
||||
if (renderWidth > tileSize) {
|
||||
offset += Math.ceil(renderWidth / tileSize) - 1
|
||||
}
|
||||
if (renderHeight > tileSize) {
|
||||
const skipYs = Math.ceil(renderHeight / tileSize) - 1
|
||||
for (let i = 1; i <= skipYs; i++) {
|
||||
skipXY.push([x, y + i])
|
||||
}
|
||||
if (renderHeight > imgSize || renderWidth > imgSize) {
|
||||
throw new Error('Texture ' + keyValue + ' is too big')
|
||||
}
|
||||
}
|
||||
|
||||
if (nextX + renderWidth > imgSize) {
|
||||
goToNextRow()
|
||||
}
|
||||
|
||||
const x = nextX
|
||||
const y = nextY
|
||||
|
||||
nextX += renderWidth
|
||||
rowMaxY = Math.max(rowMaxY, renderHeight)
|
||||
if (nextX >= imgSize) {
|
||||
goToNextRow()
|
||||
}
|
||||
|
||||
g.drawImage(img, 0, 0, renderWidth, renderHeight, x, y, renderWidth, renderHeight)
|
||||
|
||||
const cleanName = keyValue.split('.').slice(0, -1).join('.') || keyValue
|
||||
|
|
@ -116,7 +123,7 @@ export function makeBlockTextureAtlas (mcAssets: McAssets) {
|
|||
// const textureFiles = mostEncounteredBlocks.map(x => x + '.png')
|
||||
textureFiles.unshift(...localTextures)
|
||||
|
||||
const { generated: additionalTextures, twoTileTextures, origSizeTextures } = getAdditionalTextures()
|
||||
const { generated: additionalTextures, origSizeTextures } = getAdditionalTextures()
|
||||
textureFiles.push(...Object.keys(additionalTextures))
|
||||
|
||||
const atlas = makeTextureAtlas(textureFiles, name => {
|
||||
|
|
@ -129,7 +136,7 @@ export function makeBlockTextureAtlas (mcAssets: McAssets) {
|
|||
|
||||
return {
|
||||
contents,
|
||||
tileWidthMult: twoTileTextures.includes(name) ? 2 : undefined,
|
||||
// tileWidthMult: twoTileTextures.includes(name) ? 2 : undefined,
|
||||
origSizeTextures
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/sign"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/sign"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
7.25,
|
||||
0,
|
||||
7.25
|
||||
],
|
||||
"to": [
|
||||
8.75,
|
||||
9.333,
|
||||
8.75
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
1.5,
|
||||
8,
|
||||
2,
|
||||
15
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
1,
|
||||
8,
|
||||
1.5,
|
||||
15
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0.5,
|
||||
8,
|
||||
1,
|
||||
15
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
8,
|
||||
0.5,
|
||||
15
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0.5,
|
||||
7,
|
||||
1,
|
||||
8
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
1,
|
||||
7,
|
||||
1.5,
|
||||
8
|
||||
],
|
||||
"texture": "#sign"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
0,
|
||||
9.333,
|
||||
7.25
|
||||
],
|
||||
"to": [
|
||||
16,
|
||||
17.333,
|
||||
8.75
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
7,
|
||||
1,
|
||||
13,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
6.5,
|
||||
1,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0.5,
|
||||
1,
|
||||
6.5,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
1,
|
||||
0.5,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0.5,
|
||||
0,
|
||||
6.5,
|
||||
1
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
6.5,
|
||||
1,
|
||||
12.5,
|
||||
0
|
||||
],
|
||||
"texture": "#sign"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
||||
0,
|
||||
4.333,
|
||||
0.25
|
||||
],
|
||||
"to": [
|
||||
16,
|
||||
12.333,
|
||||
1.75
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
7,
|
||||
1,
|
||||
13,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
6.5,
|
||||
1,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0.5,
|
||||
1,
|
||||
6.5,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
1,
|
||||
0.5,
|
||||
7
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
0.5,
|
||||
0,
|
||||
6.5,
|
||||
1
|
||||
],
|
||||
"texture": "#sign"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
6.5,
|
||||
1,
|
||||
12.5,
|
||||
0
|
||||
],
|
||||
"texture": "#sign"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/oak"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/oak",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/oak",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/oak",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/oak",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/oak",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/oak",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/oak",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/oak",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/oak",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/oak",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/oak",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/oak",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/oak",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/oak",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/oak",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/oak_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/acacia"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/acacia"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/birch"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/birch"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/dark_oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/dark_oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/jungle"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/jungle"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/spruce"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/spruce"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/acacia"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/acacia",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/acacia",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/acacia",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/acacia",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/acacia",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/acacia",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/acacia",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/acacia",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/acacia",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/acacia",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/acacia",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/acacia",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/acacia",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/acacia",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/acacia",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/acacia_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/acacia_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/acacia_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/acacia_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/birch"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/birch",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/birch",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/birch",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/birch",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/birch",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/birch",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/birch",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/birch",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/birch",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/birch",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/birch",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/birch",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/birch",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/birch",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/birch",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/birch_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/birch_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/birch_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/birch_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/dark_oak"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/dark_oak",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/dark_oak_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/dark_oak_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/dark_oak_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/dark_oak_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/jungle"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/jungle",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/jungle",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/jungle",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/jungle",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/jungle",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/jungle",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/jungle",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/jungle",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/jungle",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/jungle",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/jungle",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/jungle",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/jungle",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/jungle",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/jungle",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/jungle_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/jungle_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/jungle_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/jungle_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/oak"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/oak",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/oak",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/oak",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/oak",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/oak",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/oak",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/oak",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/oak",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/oak",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/oak",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/oak",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/oak",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/oak",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/oak",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/oak",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/oak_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/oak_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/spruce"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/spruce",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/spruce",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/spruce",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/spruce",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/spruce",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/spruce",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/spruce",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/spruce",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/spruce",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/spruce",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/spruce",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/spruce",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/spruce",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/spruce",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/spruce",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/spruce_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/spruce_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/spruce_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/spruce_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/crimson"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/crimson"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/warped"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/warped"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/crimson"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/crimson",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/crimson",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/crimson",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/crimson",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/crimson",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/crimson",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/crimson",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/crimson",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/crimson",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/crimson",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/crimson",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/crimson",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/crimson",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/crimson",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/crimson",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/crimson_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/crimson_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/crimson_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/crimson_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/warped"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/warped",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/warped",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/warped",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/warped",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/warped",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/warped",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/warped",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/warped",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/warped",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/warped",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/warped",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/warped",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/warped",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/warped",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/warped",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/warped_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/warped_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/warped_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/warped_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/mangrove"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/mangrove"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/mangrove"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/mangrove",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/mangrove_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/mangrove_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/mangrove_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/mangrove_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/acacia"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/acacia"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/bamboo"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/bamboo"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/bamboo"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/bamboo"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/birch"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/birch"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign",
|
||||
"textures": {
|
||||
"sign": "entity/signs/cherry"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/cherry"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "sign/sign_wall",
|
||||
"textures": {
|
||||
"sign": "entity/signs/cherry"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/cherry"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/crimson"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/crimson"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/dark_oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/dark_oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"ambientocclusion": false,
|
||||
"texture_size": [
|
||||
64,
|
||||
32
|
||||
],
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/oak"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Sign",
|
||||
"from": [
|
||||
1,
|
||||
0,
|
||||
7
|
||||
],
|
||||
"to": [
|
||||
15,
|
||||
10,
|
||||
9
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
4.5,
|
||||
7,
|
||||
8,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
4,
|
||||
7,
|
||||
4.5,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0.5,
|
||||
7,
|
||||
4,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
7,
|
||||
0.5,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
4,
|
||||
6,
|
||||
0.5,
|
||||
7
|
||||
],
|
||||
"rotation": 180,
|
||||
"texture": "#wood"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
4,
|
||||
7,
|
||||
7.5,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
2,
|
||||
10,
|
||||
8
|
||||
],
|
||||
"to": [
|
||||
14,
|
||||
16,
|
||||
8
|
||||
],
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
3.5,
|
||||
3,
|
||||
6.5,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
3.5,
|
||||
3,
|
||||
6.5,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/jungle"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/jungle"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/mangrove"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/mangrove"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/oak"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/spruce"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/spruce"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,347 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"ambientocclusion": false,
|
||||
"texture_size": [
|
||||
64,
|
||||
32
|
||||
],
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/oak"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Sign",
|
||||
"from": [
|
||||
1,
|
||||
0,
|
||||
7
|
||||
],
|
||||
"to": [
|
||||
15,
|
||||
10,
|
||||
9
|
||||
],
|
||||
"rotation": {
|
||||
"angle": 0,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
]
|
||||
},
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
4.5,
|
||||
7,
|
||||
8,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
4,
|
||||
7,
|
||||
4.5,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
0.5,
|
||||
7,
|
||||
4,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
7,
|
||||
0.5,
|
||||
12
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
4,
|
||||
6,
|
||||
0.5,
|
||||
7
|
||||
],
|
||||
"rotation": 180,
|
||||
"texture": "#wood"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
4,
|
||||
7,
|
||||
7.5,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hanger",
|
||||
"from": [
|
||||
0,
|
||||
14,
|
||||
6
|
||||
],
|
||||
"to": [
|
||||
16,
|
||||
16,
|
||||
10
|
||||
],
|
||||
"rotation": {
|
||||
"angle": 0,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
]
|
||||
},
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
6,
|
||||
2,
|
||||
10,
|
||||
3
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
1,
|
||||
2,
|
||||
5,
|
||||
3
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
3
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"up": {
|
||||
"uv": [
|
||||
1,
|
||||
0,
|
||||
5,
|
||||
2
|
||||
],
|
||||
"rotation": 180,
|
||||
"texture": "#wood"
|
||||
},
|
||||
"down": {
|
||||
"uv": [
|
||||
5,
|
||||
0,
|
||||
9,
|
||||
2
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ChainA1",
|
||||
"from": [
|
||||
4.8,
|
||||
10,
|
||||
10.5
|
||||
],
|
||||
"to": [
|
||||
6.2,
|
||||
14,
|
||||
10.5
|
||||
],
|
||||
"shade": false,
|
||||
"rotation": {
|
||||
"angle": -45,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
1.5,
|
||||
3,
|
||||
2.25,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
1.5,
|
||||
3,
|
||||
2.25,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ChainB2",
|
||||
"from": [
|
||||
10.5,
|
||||
10,
|
||||
4.8
|
||||
],
|
||||
"to": [
|
||||
10.5,
|
||||
14,
|
||||
6.2
|
||||
],
|
||||
"shade": false,
|
||||
"rotation": {
|
||||
"angle": -45,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
3,
|
||||
0.75,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
3,
|
||||
0.75,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ChainB1",
|
||||
"from": [
|
||||
9.8,
|
||||
10,
|
||||
5.5
|
||||
],
|
||||
"to": [
|
||||
11.2,
|
||||
14,
|
||||
5.5
|
||||
],
|
||||
"shade": false,
|
||||
"rotation": {
|
||||
"angle": -45,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"north": {
|
||||
"uv": [
|
||||
1.5,
|
||||
3,
|
||||
2.25,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"south": {
|
||||
"uv": [
|
||||
1.5,
|
||||
3,
|
||||
2.25,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ChainA2",
|
||||
"from": [
|
||||
5.5,
|
||||
10,
|
||||
9.8
|
||||
],
|
||||
"to": [
|
||||
5.5,
|
||||
14,
|
||||
11.2
|
||||
],
|
||||
"shade": false,
|
||||
"rotation": {
|
||||
"angle": -45,
|
||||
"axis": "y",
|
||||
"origin": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"east": {
|
||||
"uv": [
|
||||
0,
|
||||
3,
|
||||
0.75,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
},
|
||||
"west": {
|
||||
"uv": [
|
||||
0,
|
||||
3,
|
||||
0.75,
|
||||
6
|
||||
],
|
||||
"texture": "#wood"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/warped"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"credit": "Made with Blockbench by TyBraniff for Bluemaps support.",
|
||||
"parent": "sign/wall_hanging",
|
||||
"textures": {
|
||||
"wood": "entity/signs/hanging/warped"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 337.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/acacia_hanging"
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/acacia_hanging",
|
||||
"y": 157.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "sign/acacia_wall_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "sign/acacia_wall_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/acacia_wall_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/acacia_wall_hanging"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 337.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/bamboo_hanging"
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/bamboo_hanging",
|
||||
"y": 157.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/bamboo"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/bamboo",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "sign/bamboo_wall_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "sign/bamboo_wall_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/bamboo_wall_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/bamboo_wall_hanging"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south": {
|
||||
"model": "sign/bamboo_wall"
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/bamboo_wall",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/bamboo_wall",
|
||||
"y": 180
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "sign/bamboo_wall",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 337.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/birch_hanging"
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/birch_hanging",
|
||||
"y": 157.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "sign/birch_wall_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "sign/birch_wall_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/birch_wall_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/birch_wall_hanging"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 337.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/cherry_hanging"
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/cherry_hanging",
|
||||
"y": 157.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"variants": {
|
||||
"rotation=0": {
|
||||
"model": "sign/cherry"
|
||||
},
|
||||
"rotation=1": {
|
||||
"model": "sign/cherry",
|
||||
"y": 22.5
|
||||
},
|
||||
"rotation=2": {
|
||||
"model": "sign/cherry",
|
||||
"y": 45
|
||||
},
|
||||
"rotation=3": {
|
||||
"model": "sign/cherry",
|
||||
"y": 67.5
|
||||
},
|
||||
"rotation=4": {
|
||||
"model": "sign/cherry",
|
||||
"y": 90
|
||||
},
|
||||
"rotation=5": {
|
||||
"model": "sign/cherry",
|
||||
"y": 112.5
|
||||
},
|
||||
"rotation=6": {
|
||||
"model": "sign/cherry",
|
||||
"y": 135
|
||||
},
|
||||
"rotation=7": {
|
||||
"model": "sign/cherry",
|
||||
"y": 157.5
|
||||
},
|
||||
"rotation=8": {
|
||||
"model": "sign/cherry",
|
||||
"y": 180
|
||||
},
|
||||
"rotation=9": {
|
||||
"model": "sign/cherry",
|
||||
"y": 202.5
|
||||
},
|
||||
"rotation=10": {
|
||||
"model": "sign/cherry",
|
||||
"y": 225
|
||||
},
|
||||
"rotation=11": {
|
||||
"model": "sign/cherry",
|
||||
"y": 247.5
|
||||
},
|
||||
"rotation=12": {
|
||||
"model": "sign/cherry",
|
||||
"y": 270
|
||||
},
|
||||
"rotation=13": {
|
||||
"model": "sign/cherry",
|
||||
"y": 292.5
|
||||
},
|
||||
"rotation=14": {
|
||||
"model": "sign/cherry",
|
||||
"y": 315
|
||||
},
|
||||
"rotation=15": {
|
||||
"model": "sign/cherry",
|
||||
"y": 337.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "sign/cherry_wall_hanging",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "sign/cherry_wall_hanging",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "sign/cherry_wall_hanging",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "sign/cherry_wall_hanging"
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue