Skip to content

Instantly share code, notes, and snippets.

View williewillus's full-sized avatar

Vincent Lee williewillus

View GitHub Profile
@NeRdTheNed
NeRdTheNed / Forge1.2.5WorkspaceGuide.md
Last active January 8, 2024 21:08
How to set up a functional Forge 1.2.5 workspace in 2020.

How to set up a Forge 1.2.5 workspace in 2020 & above.

Automatic script (recommended)

I've created a bash script that sets up Forge 1.2.5, which you can find here! It automatically does each step of this guide for you, and includes a fix for sounds.

Manual setup

TODO: Add a section on installing the resources (sounds) folder to the MCP environment. The links have changed and Minecraft 1.2.5 isn't able to download them anymore.

@Bricktricker
Bricktricker / spl.md
Last active January 25, 2021 12:19
Serverpacklocator setup

Serverpacklocator

Guide how I install cpw's serverpacklocator on Windows for Minecraft versions 1.14.4+. This is not an offical guide and may break at any time. Use at your own risk.

Server installation

Install a basic dedicated Minecraft Forge server and whitelist all players, which want to play on the server. Then download the Mod-version from here. and place it into the mods folder in the server folder. Start the server once to generate all needed files. Go into the servermods folder and open the serverpacklcoator.toml file with a text editor. Change the name to the ip/dns name of the server. You can also change the port of the http server (Note: This is not the minecraft server port!). Delete the cacert.pem and ca.key file and start and stop the server.

Client installation

Install Forge on the client. Download the Bundle from here

@Drovolon
Drovolon / 1.14.x-chunk-loading-final.md
Created August 11, 2019 14:36
An overview of chunk loading mechanics in Minecraft 1.14, tested empirically in 1.14.4.

1.14.x Chunk Loading

Chunk loading operates differently in 1.14 than in previous Minecraft versions. This document is intended to be an overview of the 1.14 system.

In 1.14, chunk loading starts with tickets. A ticket is:

  • a ticket type
  • a load level
  • optionally, a time-to-live

A "node" is an element that looks like this:

{
    "type": "root|literal|argument",
    "parser": "", // only applicable if type is argument
    "properties": {}, // only applicable if type is argument, defaults to empty object
    "executable": true, // default if not specified is false, meaning it isn't a runnable command by itself
    "children": {}, // default if not specified is {}, meaning no children
    "redirect": [] // default if not specified is null, meaning no redirect
}
This document describes an hypotetical type hierarchy for a non-existing environment.
It has been inspired by the CLR, JVM, and some IRC conversations.
Type tree:
----------
Any
Void
Value
Primitive
@RainWarrior
RainWarrior / grammar.js
Last active January 27, 2022 10:35
Animation State Machine grammar
{
"parameters": { "name": <time_value>, ... },
"clips": { "name": <clip>, ... },
"states": [ "name", ... ],
"transitions": { "name_from": "name_to", ... },
"start_state": "name"
}
<time_value> ::=
<number> // result = number; Constant value.
@ljfa-ag
ljfa-ag / modelbase_to_json.perl
Last active November 1, 2022 14:02
Script for converting exported Techne models for Minecraft into other model formats
#!/usr/bin/env perl
# Released into Public Domain
# A quick and dirty script to convert ModelBase Java code as generated
# by Techne (or possibly Tabula) into Minecraft's JSON model format.
# It is quite limited (it does not handle rotations, as the JSON model format
# is limited in that regard anyway), but it is at least a help.
# Usage:
# modelbase_to_json input.java > output.json
"forge_marker": 1,
"defaults": {
"textures": {
"#texture": "forgedebugmodelloaderregistry:texture",
"#chest": "entity/chest/normal"
},
"model": "forgedebugmodelloaderregistry:chest.b3d"
},
"variants": {
"normal": [{
<blockstate> == {
"forge_marker": 1,
"defaults": <variant>, // optional, added to all variants
"variants": {
"<property>": {
"<value>": <variant> // variant definition for the specified value of this property; variants for multiple values can be specified.
},
"<variant name>": <variant>, // variant definition for the full variant string
"<variant name>": [<variant1>, ...], // array of definitions for the full variant - result will be the random variant
}
About Locale Emulator and the concept of locale emulation itself

I came across this program a while ago myself, and was just as amazed by its premise. I looked at the source code, and saw lots of involved low-level NT kernel voodoo I don't understand, instead of the code I tend to use to solve this kind of problem. Truly, this must be an amazing piece of software, I thought... until I tested it with th135 and noticed that it rendered the Music Room text as exactly the same garbage you see when running the game without any locale emulation. Yeah, it did display 東方心綺楼 in the title bar and correctly referenced the 御首頂戴帳 folder, but overall I'd consider this to be a worse alternative to AppLocale.

So I did some research, and it turns out that this thing merely implements the bare minimum of functionality necessary (namely, changing the system ANSI code page in memory) to purportedly keep games from crashing. Anything just a bit more involved