Skip to content

Instantly share code, notes, and snippets.

View John-Paul-R's full-sized avatar

John Paul John-Paul-R

View GitHub Profile
@John-Paul-R
John-Paul-R / time_str_to_delta.py
Created December 7, 2020 22:17
Time String Parser (Python)
import re
def time_str_to_time_delta(stime: str):
match_days = re.search('([0-9]+)d', stime)
match_hrs = re.search('([0-9]+)h', stime)
match_mins = re.search('([0-9]+)m', stime)
match_secs = re.search('([0-9]+)s', stime)
def int_from_match(match) -> int:
out = 0
@John-Paul-R
John-Paul-R / CommandNodeMixin.java
Created July 18, 2021 12:42
Cursed Entrypoints
package com.fibermc.essentialcommands.mixin;
import com.fibermc.essentialcommands.EssentialCommands;
import com.fibermc.essentialcommands.access.CommandNodeAccess;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.tree.ArgumentCommandNode;
import com.mojang.brigadier.tree.CommandNode;
import com.mojang.brigadier.tree.LiteralCommandNode;
import com.mojang.brigadier.tree.RootCommandNode;
import org.apache.log4j.LogManager;
@John-Paul-R
John-Paul-R / GlowmorgificationMod.java
Created July 31, 2021 20:29
Glowmorgification Potion Assistance
package com.fibermc.essentialcommands;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffectType;
import net.minecraft.entity.passive.SquidEntity;
import net.minecraft.potion.Potion;
import net.minecraft.util.Identifier;
@John-Paul-R
John-Paul-R / InGameHudAccess.java
Last active January 9, 2022 02:04
Client Chat Listener Mixin
package com.packagename.access;
import net.minecraft.client.gui.ClientChatListener;
import net.minecraft.network.MessageType;
public interface InGameHudAccess {
void registerChatListener(MessageType messageType, ClientChatListener listener);
}
@John-Paul-R
John-Paul-R / TopCommand.java
Created January 9, 2022 19:18
Get the "top" block at a given position using world.raycast.
public class TopCommand implements Command<ServerCommandSource> {
@Override
public int run(CommandContext<ServerCommandSource> context) throws CommandSyntaxException {
ServerCommandSource source = context.getSource();
ServerPlayerEntity player = source.getPlayer();
World world = source.getWorld();
Vec3d playerPos = player.getPos();
int new_y;
double new_x = playerPos.x;
@John-Paul-R
John-Paul-R / Program.cs
Last active January 31, 2022 18:13
Comparison of `Dictionary`, `ConcurrentDictionary`, and `ImmutableDictionary` read performance at differing collection sizes.
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.Immutable;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Running;
namespace Bench_Dictionaries
{
@John-Paul-R
John-Paul-R / Program.cs
Last active February 3, 2022 19:10
Updated Dictionary Benchmarks
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Collections.ObjectModel;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
@John-Paul-R
John-Paul-R / filter_props_by_type.ts
Last active May 7, 2022 02:43
Utility types for constructing a type from an existing type, including only properties that are of a specified type. Can be applied recursively to child objects.
type FilteredKeys<T, U> = { [P in keyof T]: T[P] extends U ? P : never }[keyof T];
enum Color {
Red, Green, Blue,
}
type PropsOfType<T, U> = {
[K in FilteredKeys<T, U>]: T[K]
};
@John-Paul-R
John-Paul-R / FlexVerBenchmarkHarness.csproj
Created May 3, 2023 05:00
FlexVerBenchmarkHarness.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
@John-Paul-R
John-Paul-R / keybase.md
Created August 10, 2023 19:39
keybase.md

Keybase proof

I hereby claim:

  • I am John-Paul-R on github.
  • I am john_paul_r (https://keybase.io/john_paul_r) on keybase.
  • I have a public key whose fingerprint is 522F F5DE A709 6C4A AD1A 3BEC 7B98 1822 047F E953

To claim this, I am signing this object: