Skip to content

Instantly share code, notes, and snippets.

View MWHunter's full-sized avatar

DefineOutside MWHunter

View GitHub Profile
@MWHunter
MWHunter / gist:80f06040ef8ff8c81c246cf05a8eee0c
Created December 30, 2021 22:14
packetevents default block states generator
JsonObject MAPPINGS = MappingHelper.getJSONObject("block/modern_block_mappings");
String modernVersion = "1.17";
if (MAPPINGS.has(modernVersion)) {
JsonObject map = MAPPINGS.getAsJsonObject(modernVersion);
map.entrySet().forEach(entry -> {
String fullBlockString = entry.getValue().getAsString();
BlockData blockData = Bukkit.createBlockData(fullBlockString);
if (blockData.getMaterial().createBlockData().equals(blockData)) {
age=0
age=1
age=10
age=11
age=12
age=13
age=14
age=15
age=16
age=17
public static StateType AIR = StateTypes.builder().blastResistance(0.0).hardness(0.0).slipperiness(0.6).hasGravity(false).isAir(true).isBurnable(false).isFlammable(false).isOccluding(false).isSolid(false).isBlocking(false).requiresCorrectTool(false);
public static StateType STONE = StateTypes.builder().blastResistance(6.0).hardness(1.5).slipperiness(0.6).hasGravity(false).isAir(false).isBurnable(false).isFlammable(false).isOccluding(true).isSolid(true).isBlocking(true).requiresCorrectTool(true);
public static StateType GRANITE = StateTypes.builder().blastResistance(6.0).hardness(1.5).slipperiness(0.6).hasGravity(false).isAir(false).isBurnable(false).isFlammable(false).isOccluding(true).isSolid(true).isBlocking(true).requiresCorrectTool(true);
public static StateType POLISHED_GRANITE = StateTypes.builder().blastResistance(6.0).hardness(1.5).slipperiness(0.6).hasGravity(false).isAir(false).isBurnable(false).isFlammable(false).isOccluding(true).isSolid(true).isBlocking(true).requiresCorrectTool(true);
public sta
@MWHunter
MWHunter / gist:059e29938c1695cd38702d9ab1e7270f
Created December 17, 2021 00:22
Minecraft legacy block data to modern 1.18 block strings
1,0,minecraft:stone
1,1,minecraft:granite
1,2,minecraft:polished_granite
1,3,minecraft:diorite
1,4,minecraft:polished_diorite
1,5,minecraft:andesite
1,6,minecraft:polished_andesite
1,7,minecraft:stone
1,8,minecraft:stone
1,9,minecraft:stone
@MWHunter
MWHunter / gist:49b728ffa187ed6a7b071c1f3c591132
Last active November 29, 2021 04:59
google forms to discord webhook
var POST_URL = "https://discordapp.com/api/webhooks/";
function onSubmit(e) {
var form = FormApp.getActiveForm();
var allResponses = form.getResponses();
var latestResponse = allResponses[allResponses.length - 1];
var response = latestResponse.getItemResponses();
var items = [];
for (var i = 0; i < response.length; i++) {
import java.io.*;
import java.lang.ProcessBuilder.Redirect;
import java.net.URL;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
Scanner userInput = new Scanner(System.in);
@MWHunter
MWHunter / gist:0d01482be355a73c6b76ff66901a4969
Created October 18, 2021 20:49
Quick java program to wrap a minecraft server and run it anywhere java can be compiled an ran, such as repl.it
import java.io.*;
import java.lang.ProcessBuilder.Redirect;
import java.net.URL;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Main {
public static void main(String[] args) throws IOException, InterruptedException {
Scanner userInput = new Scanner(System.in);
@MWHunter
MWHunter / tickendevent.java
Last active August 19, 2021 21:45
Server tick end event
public class TickEndEvent implements Initable {
static Class<?> tickEnd = null;
static {
try {
if (ServerVersion.getVersion().isOlderThanOrEquals(ServerVersion.v_1_8_8)) {
tickEnd = NMSUtils.getNMSClass("IUpdatePlayerListBox");
} else if (ServerVersion.getVersion().isOlderThanOrEquals(ServerVersion.v_1_13_2)) {
tickEnd = NMSUtils.getNMSClass("ITickable");
} else {
@MWHunter
MWHunter / gist:b16a21045e591488354733a768b804f4
Created April 25, 2021 22:40
Global palette ID -> BlockData script for Minecraft 1.13+
@Override
public void onEnable() {
StringBuilder allBlocks = new StringBuilder();
// Plugin startup logic
World bukkitWorld = Bukkit.getWorlds().get(0);
net.minecraft.server.v1_15_R1.World nmsWorld = ((CraftWorld) bukkitWorld).getHandle();
net.minecraft.server.v1_15_R1.Chunk nmsChunk = nmsWorld.getChunkAt(0, 0);
net.minecraft.server.v1_15_R1.BlockPosition pos = new net.minecraft.server.v1_15_R1.BlockPosition(0, 0, 0);
package net.optifine.util;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
public class MathUtils {
public static final float PI = (float)Math.PI;
public static final float PI2 = (float)Math.PI * 2;
public static final float PId2 = 1.5707964f;