GithubHelp home page GithubHelp logo

prismarinejs / prismarine-web-client Goto Github PK

View Code? Open in Web Editor NEW
429.0 17.0 109.0 43.6 MB

Minecraft web client running in your browser

Home Page: https://prismarinejs.github.io/prismarine-web-client/

License: MIT License

JavaScript 96.59% HTML 1.38% CSS 1.86% Dockerfile 0.17%
minecraft minecraft-client browser-game web

prismarine-web-client's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prismarine-web-client's Issues

Player Moves when typing

Someone can get the inchat variable from the chat file and export that properly and then can make it so the player doesn't move when you type

make chat auto fade away

just make the css element slowly decrease in height from the top downward until it disappears

Sounds

Add sounds (shouldn't be that difficult considering mineflayer has an event for hard coded sounds too)

Inventories

Includes the player inventory, chests, furnaces, crafting, and other “item containers”

Tell the user when a disconnect occurs

It looks like it's buggy when you suddenly stop being able to move. If it takes me 5 seconds to realise that no, my code isn't bugged, it just disconnected, we can expect a normal user to think that too.
This is especially important as we are about to implement auto-update for the demo, which will make it frequently restart.

update readme

a lot of the stuff in the roadmap has already been merged in

Loading screen

This is probably easy to do and yet it will feel much better for the user.
A white page feels like "did it crash" whereas a loading screen is nice.

Improve hotbar

  • Add numbers of items on top of the icon
  • Display name of the item above the hotbar for 2s when switching item, then fade away (can use tween for that)
  • Use a texture atlas to display the item icons
  • Move hotbar code in its own file
  • Implement off-hand slot (press F to exchange items)

When cloning from github, I get this issue

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'assets/Mojangles.ttf'
  'assets/mojangles.ttf'

Idea: notebook + pviewer

Being able to share a mineflayer experience as a notebook
similar to dev console repl + pviewer, but with something that would look like a jupyter notebook

might be useful to have single player first to be able to have a reproductible env

Spigot Plugin

  • Provide special authentication functionality
  • Possibly a WS proxy

Put the mineflayer bot in a worker

After doing some profiling, I've seen that the main thread spend too much time in the network. This is what is causing the drop of fps and stuttering.
This is best shown when loading chunks but even sending the position packet every tick is affecting the fps.
The only way to fix it is to put the websocket connection in a worker thread and the easiest way to do it is to put the bot in it.
This will require a big refactor and a change of project design because the bot functions would have to be accessed through messages.
This should be done ASAP (because of the project design change).

Alternative design is to do like prismarine-viewer or web-minecraft and have the bot on the server side, but that raise the same design issues (communicating with server instead of the worker) and is less portable, so I think the worker is the best solution.

Bot-like features

Have some buttons in the ui to:

  • Pathfind
  • Find block
  • Crack world seed
  • Auto build schematics

Would be a cool demo for mineflayer and interesting as an user

add remap keys menu

imo this would look like a keyboard map in localStorage and only storing non-ordinary ones

Add ability to switch server

A client side bungee ? Related to the idea of using minecraft like internet (you click a link / you go through a portal and you are on a different server)

Implement breaking animation

at least have the same animation as vanilla
currently from an user perspective, it's not clear whether it works

  • breaking animation

Support safari

Crashes when running in safari.

[Error] Unhandled Promise Rejection: TypeError: document.getElementById("loading-text").requestFullscreen is not a function. (In 'document.getElementById("loading-text").requestFullscreen()', 'document.getElementById("loading-text").requestFullscreen' is undefined)

Find a better name

prismarine-web-client is too long and boring.
Characteristics of the new name:

  • fast to type
  • easy to remember
  • fun ?

What ideas do you have?

Singleplayer Mode

  1. Browserify flying-squid for a singleplayer server
  2. Use WebRTC to open to LAN

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.