Skip to content

Instantly share code, notes, and snippets.

public class WireRenderer implements WorldRenderEvents.AfterEntities {
private static final SpriteIdentifier WIRE_TEX = new SpriteIdentifier(SpriteAtlasTexture.BLOCK_ATLAS_TEXTURE, vtId("block/generator"));
@Override
public void afterEntities(WorldRenderContext context) {
var wires = VivatechClient.getClientWireManager().getWires();
if (wires.isEmpty()) {
return;
}
public void render(DrawContext context, RenderTickCounter tickCounter) {
if (isVisible()) {
float opacity = Math.min(1, remainingDisplayTicks / 10f);
var yOffsetPerItem = ITEM_H + MARGIN;
var yOffset = (Math.min(focuses.size(), 3) - 1) * yOffsetPerItem;
var widgetW = SEL_TEX_W;
var widgetH = SEL_TEX_H + yOffset;
var x = 4;
var y = context.getScaledWindowHeight() / 2 - widgetH / 2;
public class InventoryDescription {
protected final Int2ObjectMap<SlotDescription> slots = new Int2ObjectRBTreeMap<>();
protected final Int2ObjectMap<BiPredicate<@Nullable Direction, ItemStack>> insertionRules = new Int2ObjectRBTreeMap<>();
protected final Int2ObjectMap<BiPredicate<@Nullable Direction, ItemStack>> extractionRules = new Int2ObjectRBTreeMap<>();
public SlotDescription describeSlot(int index, @Nullable Predicate<ItemStack> inputFilter, @Nullable Predicate<ItemStack> outputFilter) {
Preconditions.checkArgument(index >= 0, "Slot indices must be non-negative");
Preconditions.checkArgument(!slots.containsKey(index), "Slot with index %d already exists", index);
final Predicate<ItemStack> normalizedInputFilter = inputFilter == null ? Predicates.alwaysTrue() : inputFilter;
final Predicate<ItemStack> normalizedOutputFilter = outputFilter == null ? Predicates.alwaysTrue() : outputFilter;
@falseresync
falseresync / main.php
Created November 14, 2023 18:09
A very customizable FizzBuzz solution
<?php
$divider_flags = [
3 => "three",
5 => "five",
7 => "hello"
];
# Order of this array is preserved
$flag_correspondences = [
document.querySelectorAll(".image-vertical").forEach(canvas => canvas.toBlob(blob => console.log(URL.createObjectURL(blob))))
local function pointerAdd(state)
state.pointer = state.pointer + 1
end
local function pointerSub(state)
state.pointer = state.pointer - 1
end
local function dataAdd(state)
state.data[state.pointer] = (state.data[state.pointer] or 0) + 1
@falseresync
falseresync / BE.java
Created February 6, 2023 20:20
a damn null
public final SimpleSingleVariantStorage<FluidVariant> fluidStorage = SimpleSingleVariantStorageBuilder.fluid()
.supportsExtraction(false)
.build(fluidVariant -> FluidConstants.BUCKET, () -> markDirty());
@falseresync
falseresync / AutoRegistry.java
Created February 3, 2023 20:23
Dirty AutoRegistry
/**
* <h2>USAGE EXAMPLE</h2>
*
* <p>In your ModInitializer:
* <pre>{@code
* AutoRegistry.create(MODID)
* .run(Registries.BLOCK, MyBlocks.class)
* .run(Registries.ITEM, MyItems.class);
* }</pre>
*
public class AdvancementUtil {
protected String namespace = "all";
protected String path = "all";
protected final ServerPlayerEntity player;
protected final ServerAdvancementLoader advancementLoader;
protected final PlayerAdvancementTracker advancementTracker;
protected AdvancementUtil(ServerPlayerEntity player) {
this.player = player;
advancementLoader = player.getServer().getAdvancementLoader();
@falseresync
falseresync / Commands.java
Last active January 28, 2023 20:38
Revelationary commands demo
public class Commands {
public static void register(CommandDispatcher<ServerCommandSource> dispatcher, CommandRegistryAccess registryAccess, CommandManager.RegistrationEnvironment environment) {
var revelationaryNode = CommandManager
.literal("revelationary")
.requires(source -> source.hasPermissionLevel(4))
.build();
dispatcher.getRoot().addChild(revelationaryNode);
var advancementNode = CommandManager.literal("advancement").build();
revelationaryNode.addChild(advancementNode);