Skip to content

Instantly share code, notes, and snippets.

@SirEdvin
SirEdvin / General progression design.md
Created March 23, 2026 10:43
General progression design for GregTech: True age of steam

Pre LV

First player need to build [[Coating shrine]]. This multiblock open access to some new material, most useful of them for know is lava-coated still that allow player upgrade their boilers.

MV

Mv opens access to aluminum for aluminium bronze and infernal alloy. Also mv circuits, which combined with infernal alloy required to make [[Infernal boiler]], first steam producing multiblock of [[GregTech True Age of Steam]]. Player would also need [[Cooling box]] to cool maintenence fluid that is required to get infernal slug and process it into purified infernal dust.

[[Infernal boiler]] can and should be upgraded with better coils and better power hatches on the way, as it boost power production greatly.

@SirEdvin
SirEdvin / pedestal_client.js
Created February 20, 2026 22:05
Pedestal kubejs
ItemEvents.tooltip(event => {
for (let info of global.CustomPedestals) {
event.add("kubejs:" + info.tier + "_pedestal", Text.gray("Can hold up to " + info.slots + " stacks of same item"))
}
})
public class CoatingShrineRenderer extends DynamicRender<IRecipeLogicMachine, CoatingShrineRenderer> {
// spotless:off
@SuppressWarnings("deprecation")
public static final Codec<CoatingShrineRenderer> CODEC = Codec.unit(CoatingShrineRenderer::new);
public static final DynamicRenderType<IRecipeLogicMachine, CoatingShrineRenderer> TYPE = new DynamicRenderType<>(CoatingShrineRenderer.CODEC);
// spotless:on
@Override
public @NotNull DynamicRenderType<IRecipeLogicMachine, CoatingShrineRenderer> getType() {
@SirEdvin
SirEdvin / smart_light_without_switch.yaml
Last active April 1, 2026 20:37
Smart light without switch
blueprint:
name: Smart Light Control without Switch
description: >
Control lights with a smart switch button. First press turns on the switch,
subsequent presses toggle lights with different brightness and color temperature
based on light mode (Day/Night).
domain: automation
input:
target_light:
name: Target Light
blueprint:
name: Smart Light Control with Switch
description: >
Control lights with a smart switch button. First press turns on the switch,
subsequent presses toggle lights with different brightness and color temperature
based on light mode (Day/Night).
domain: automation
input:
switch_device:
name: Smart Switch Device
import aiochan as ac
import asyncio
import random
async def producer(c):
i = 0
while True:
await asyncio.sleep(random.random()) # producing stuff takes time
i += 1
await c.put('product ' + str(i))
@SirEdvin
SirEdvin / crash.txt
Created August 30, 2021 21:14
Mapping problems
Details:
Mod File: BloodMagic-224791-3399440_mapped_official_1.16.5.jar
Failure message: Blood Magic (bloodmagic) has failed to load correctly
java.lang.ClassFormatError: Duplicate method name "getBlockPos" with signature "()Lnet.minecraft.util.math.BlockPos;" in class file wayoftime/bloodmagic/tile/TileMasterRitualStone
Mod Version: 1.16.4-3.1.1-16
Mod Issue URL: http://my.issue.tracker/
Exception message: java.lang.ClassFormatError: Duplicate method name "getBlockPos" with signature "()Lnet.minecraft.util.math.BlockPos;" in class file wayoftime/bloodmagic/tile/TileMasterRitualStone
Stacktrace:
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_292] {}
at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[?:1.8.0_292] {}
realityForger = peripheral.wrap("left")
playerDetector = peripheral.wrap("right")
chatBox = peripheral.wrap("back")
local gateBlocks = {
{x=0, y=0, z=3},
{x=1, y=0, z=3},
{x=0, y=1, z=3},
{x=1, y=1, z=3},
}
data_dir = "/var/lib/vector"
# ------------------ SYSLOG message pipe ------------------ #
[sources.syslog_pipe_in]
type = "socket"
mode = "udp"
address = "127.0.0.1:3333"
[transforms.syslog_pipe_parsing]
51.83536124229431
28.677456378936768