Giter Club home page Giter Club logo

matriks404 / mlc Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 1.28 MB

A handy tool that gives informs user about block/item ID's for legacy Minecraft versions.

Home Page: https://matriks404.github.io/mlc/

Shell 0.23% Batchfile 0.74% SCSS 21.21% VBScript 2.11% HTML 20.88% JavaScript 54.84%
minecraft minecraft-alpha minecraft-beta minecraft-classic minecraft-data minecraft-indev minecraft-infdev minecraft-java minecraft-tool minecraft-util

mlc's People

Contributors

matriks404 avatar

Watchers

 avatar

Forkers

ankytastic

mlc's Issues

Support legacy browsers running on opearting systems legacy Minecraft can run on

For now:

  • IE6 (for Windows NT 4.0/98/2000/Me)
  • IE7? (I don't see any good reason to support this browser, but might as well if it's minor thing to do)
  • IE8 (for Windows XP/Server 2003)
  • IE9 (for Windows Vista)
  • IE10 (for Windows 8)
  • IE11 (for Windows 7/Server 2012/8.1/10)

And maybe old Mac browsers and some others (old Firefox/Opera?), especially for Linux and other Unix-likes.

I don't know how do I want to implement this stuff now, and there are much more important things to do. IE10 and IE11 support is very minor thing to implement though.

Add all block and item ID's for pre-flattening versions.

  • <= Beta 1.7.3
  • <= 1.0
  • <= 1.7.10
  • <= 1.13 Snapshot 17w47a

And maybe:

  • 4K version
  • PC Gamer Demo (Beta 1.3_01 demo)
  • Unofficial versions derived from versions <= Beta 1.7.3 (NSSS, Better Than Adventure!, etc.)
  • Pocket Edition
    • Pocket Edition Demo(s?)
    • Pi Edition
  • Legacy Console Edition

Improve settings

It can probably be done better, I guess.

Some stuff to do:

  • Settings pages (using arrow buttons?)
  • Block/Item exclusion:
    • Instead of using multiple checkboxes for exluding items/blocks (for various situations), we can use select element where we select multiple options instead.
    • Do not show exclusion options for versions which they don't matter.

Display damage values nicely

  • How do we want to store damage values and handle these values in the script? Should we have blocks/items defined such as 17:1 or use more structured approach?
    I think we should use the first approach, and allow blocks/items ID's to be either format (with or without damage values) and code should handle both the same as long as block doesn't have more than one damage value variant defined.
  • How do we display them? (I think approach used on the minecraft.wiki diagram is good enough here).

JSON improvements

  • Programmatical JSON generation:
    Working with the ids.json right now is not really friendly for modifying and may cause errors. I think better approach would be to programmatically generate it based on changes from previous Minecraft versions as for blocks, items and other data (not implemented yet).

  • Split JSON to multiple files:
    This will reduce amount of data needed to download by user if everything he wants to see is only one or copule of versions of the same version group (e.g. Indev or Beta).

  • Document JSON structure and generation on the wiki.

Tooltip enhacements

  • Modify tooltip hover script, so the tooltip doesn't overflow the page. (fixed in a877211)
  • Display tooltip just above the cursor if running on device with screen resolution <= 480px. This is not really needed if we add highlighting of blocks/items, since it then is obvious which one is selected (see #17).

Clean up code

  • JavaScript refactoring
    • Every time new obtainability "situation" is added, a lot of code needs to be added as well, this is unacceptable. Code repetition is BAD.
  • (S)CSS cleanup
    • Reorganize SCSS into distinct files, each with its own purpose.
    • Probably get rid of flexbox, since even on IE10/IE11 it gives headaches and it's not really needed anyway in most places. Not sure what to do with block/item list though. In the future we probably want some modern design with flexbox/grid, which we won't support on older browsers.

Do not duplicate stylesheet in `style.css` for GitHub Actions

Right now in the repo there are both SCSS and computed CSS files (bad design), instead of having only SCSS so GitHub page can be opened with stylesheet applied. I need to figure out, what should I change so it doesn't work like that.

I guess, I probably need to have GitHub page at different branch, since current solution is troublesome.

Also move source_scss to source/_scss and update scripts.

Instead of specifying unobtoinable graphic in `ids.json` it should be done automaticcaly

This will decrease amount of space taken by ids.json.

Also I think it would be simpler to just show a single same graphic _unknown.png for every block/item with not known render, so I will remove images/blocks/indev/_unknown.png, which is also used wrongly for early Infdev versions (I think), even though this _unknown block render is based on transparent block rendered in early Indev (I hope that this makes sense).

Static image option

Some users with slower connections may prefer to load static image with all necessary information regarding items/blocks/achievements for specified version. Should probably display a warning that this is not a good choice if looking at multiple versions info on single visit.

Alternatively it might be beneficial to have a spritesheet for every version, so each file is not load separately and allows website to be interactive, but it doesn't change the fact that you need to have JSON file loaded, so this is probably a bad idea.

Instead of having question mark (?) specified internally for each unknown block/item ID, this should be done automatically based on version property

Each version with invalid item ID's has "hasUnknownItemIds": true property set up, so we should use it instead of manually adding ?'s in the ids.json file, which is pain.

Edit: I have figured out, that for early Infdev versions having property of having unknown item ID's set to true doesn't make much sense, since they are unlikely to be changed from late Indev at all, but this is still nice improvement, as this actually makes sense code-wise.

Fix layout issues on Internet Explorer 10/11

  • Wrong (not defined) color for backgrounds, fieldset border and text (fixed in ef53e50)
  • Fieldset labels are shown inside them. (fixed in 623e33b)
  • General margin (flexbox gap) issues
    • In most places. (fixed in bb301a1)
    • In blocks/items. (fixed in 10b8494)
  • Settings "Let's go!" button is expanded to full width for some reason. (fixed in d47d9e4)
  • Legal notice is centered to the left instead of to the center. (fixed in eb181c7)

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.