MC Utils is a collection of Minecraft utilities built for developers, builders and players. The site hosts some popular tools like Server Jars, Item IDs, Inventory Slots, Start File Generator and more, all with a slick interface for ease of use.
The project is powered by the team at Flyte and our generous contributors.
If you want to support, or chat with the team, come join our Discord:
You need to have Node 16 or higher installed.
If you're using VS Code, it will help to install the following extensions:
- Svelte for VS Code
- Svelte Intellisense
- Svelte Auto Import
- Tailwind CSS IntelliSense
Clone the GitHub repository onto your machine and open a command line inside the project.
Run npm install
.
And you're all set!
We use SvelteKit and Tailwind.
This entails some knowledge of:
- JavaScript/TypeScript
- Node/NPM
- SvelteKit's structure
- Svelte (very simple logic syntax on top of HTML/JS)
- Some CSS knowledge and the ability to type in Tailwind's search bar
We've made it easy to add utils to the site by having a dynamic routing system for util components. Refer to Adding a new util to understand how to use it.
We also have a library of reusable elements that you can use in your utils to allow for a consistent style across the site.
Currently we only have a Search component and a slightly different way of using buttons, see below for how to use each.
Search
<script>
let searchValue: string
const handleKeyPress = (event: KeyboardEvent) => {
if (event.key === "Enter") updateSkin(searchValue)
}
const handleInput = () => {
updateSkin(searchValue)
}
</script>
<input class="search" bind:value={searchValue} type="text" placeholder="Enter someone's username" on:keypress={handleKeyPress} on:blur={handleInput}>
Button
<button class="button">My Button</button>
Firstly we should declare our util, we do this by navigating to src/lib/utils.ts
.
In here is an array called utils
, all you have to do is add your util to the list. Below is the schema with a description of each element:
path: The path in the URL, also needs to be the same name as the .svelte component we're about to create.
name: The name of the util... pretty self explanatory.
description: The description of the util... pretty self explantory.
shortDescription: ... A shorter version of the description - the one shown in the sidebar.
Next we can add the icon for our util to the static/component/icon
folder and upload your icon, named the same as the path
. Make sure it's a .svg
.
Finally, navigate to the src/lib/component/util
folder, where you can create your util component, remember this needs to be named the same as path
.
From here you just write your util in Svelte using HTML & JS/TS.
If you want to take a look, here's a link to an existing util, Skin Stealer.
MC Utils does a lot of heavy lifting in the backend to power the Server Jars util. As a service to the community, we are happy to expose endpoints making this technology accessable in your own projects.
The following endpoints can be used to retrieve information about or serve jars from a range of server platforms and versions. Note that where a version may have multiple builds, we will always serve the latest build.
GET
https://mcutils.com/api/server-jars
[
{
"key": "purpur",
"name": "Purpur",
"url": "https://mcutils.com/api/server-jars/purpur"
},
{
"key": "paper",
"name": "Paper",
"url": "https://mcutils.com/api/server-jars/paper"
}
]
GET
https://mcutils.com/api/server-jars/:platform
[
{
"version": "1.20.4",
"url": "https://mcutils.com/api/server-jars/paper/1.20.4"
},
{
"version": "1.20.2",
"url": "https://mcutils.com/api/server-jars/paper/1.20.2"
}
]
GET
https://mcutils.com/api/server-jars/:platform/:version
{
"platform": "paper",
"display": "Paper",
"version": "1.20.4",
"release": "March 25th 2024",
"downloadUrl": "https://mcutils.com/api/server-jars/paper/1.20.4/download"
}
GET
https://mcutils.com/api/server-jars/:platform/:version/download