Skip to content

Instantly share code, notes, and snippets.

View TheCurle's full-sized avatar
😉
Did somebody say "new project"?

Curle TheCurle

😉
Did somebody say "new project"?
View GitHub Profile
@TheCurle
TheCurle / Info.md
Last active December 21, 2024 23:17
[ForgeGradle] Updating the old toolchains; a why, how, and where.

RetroGradle

RetroGradle is an initiative to update the older ForgeGradle toolchains (1.x to 2.3) and the Minecraft versions associated with them, to use the more modern ForgeGradles (3.x and 4.x).
To do that requires a lot of time and scripting, but nothing is "complex".

1.12

The update for 1.12 to the FG3 toolchain is the benchmark for how we're going to do the other versions.
The repo update itself can be found here. The largest change here is the build.gradle script. You'll notice that it looks almost identical to the 1.16.x buildscript, with a few minor differences.
Those being, the MCP version (we'll get to that), the run configs using legacydev.Main(Client/Server) rather than userdev.Main, and some other small adjustments to make 1.12 happy.

[b]Forge Version:[/b] 38.0.0
[b]Minecraft Version:[/b] 1.18
[b]Downloads:[/b]
[ul]
[li][b]Changelog:[/b] [url=https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.18-38.0.0/forge-1.18-38.0.0-changelog.txt](Direct)[/url]
[li][b]Installer:[/b] [url=https://adfoc.us/serve/sitelinks/?id=271228&url=https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.18-38.0.0/forge-1.18-38.0.0-installer.jar](AdFocus)[/url] [url=https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.18-38.0.0/forge-1.18-38.0.0-installer.jar](Direct)[/url]
[li][b]MDK:[/b] [url=https://adfoc.us/serve/sitelinks/?id=271228&url=https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.18-38.0.0/forge-1.18-38.0.0-mdk.zip](AdFocus)[/url] [url=https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.18-38.0.0/forge-1.18-38.0.0-mdk.zip](Direct)[/url]
[/ul]
[b]Intro:[/b]
@TheCurle
TheCurle / forge.xml
Last active December 11, 2021 02:18
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" packages="com.mojang.util">
<Appenders>
<Console name="FmlSysOut" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] [%logger]: %replace{%msg}{(?i)\u00A7[0-9A-FK-OR]}{}%n" />
</Console>
<Console name="SysOut" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %replace{%msg}{(?i)\u00A7[0-9A-FK-OR]}{}%n" />
</Console>
<Queue name="ServerGuiConsole" ignoreExceptions="true">

Log4J CVE Advisory

The Problem

Log4J has a feature called Java Naming and Directory Interface (shortened to JNDI in this document), which allows a Java program to reach out to an external source to gather data.
If you put a section of text containing ${jndi:query} into the log, the Log4J library will try to resolve the query.
This can be combined with the Lightweight Directory Access Protocol (LDAP) to connect to a remote server.

However, because JNDI is built for retrieving data, and JNDI is a Java program, if you put a JNDI query using LDAP into a log, it will connect to the given site, download a file, and then execute it.
This is called Remote Code Execution.

@TheCurle
TheCurle / MyCapability.java
Last active July 7, 2024 16:50 — forked from niklaswimmer/MyCapability.java
Getting Started with Capabilities: a practical example
public class MyCapability {
public static final Capability<MyCapabilityInterface> INSTANCE = CapabilityManager.get(new CapabilityToken<>() {});
public static void register(RegisterCapabilitiesEvent event) {
event.register(MyCapabilityInterface.class);
}
private MyCapability() {
}

Governance of the NeoForged project

The NeoForged project is split between github and discord. It is a community of volunteers, maintaining a free and open source ecosystem of modifications to the game Minecraft.

What this document is

This document is:

  • A non-exhaustive list of the working principles of the project.
  • Intended to help direct the project in times of uncertainty.