Skip to content

Instantly share code, notes, and snippets.

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);
@Override
public void render(MagicCauldronBlockEntity entity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay) {
matrices.push();
var entry = matrices.peek();
var positionMatrix = entry.getPositionMatrix();
var normalMatrix = entry.getNormalMatrix();
var bufferBuilder = vertexConsumers.getBuffer(RenderLayer.getEntitySolid(LAVA_TEX));
bufferBuilder.vertex(positionMatrix,0, 1, 0).color(255, 255, 255,255).texture(0, 0).overlay(OverlayTexture.DEFAULT_UV).light(LightmapTextureManager.MAX_LIGHT_COORDINATE).normal(normalMatrix,0, 1, 0).next();
const MODRINTH_API = 'https://staging-api.modrinth.com/v2';
const MODRINTH_DESTINATION = 'https://staging.modrinth.com';
addEventListener("fetch", (event) => {
event.respondWith(
handleRequest(event.request).catch(
(err) => new Response(err.stack, { status: 500 })
)
);
});