papermc/CraftBukkit-Patches/0005-Include-NibbleArray-from-mc-dev-for-diff-visibility.patch
2013-01-19 19:22:25 +11:00

59 lines
1.6 KiB
Diff

From 639bb457b93afa9a2294d94bfd0b75d64d188b98 Mon Sep 17 00:00:00 2001
From: Mike Primm <mike@primmhome.com>
Date: Fri, 14 Dec 2012 21:51:06 -0600
Subject: [PATCH] Include NibbleArray from mc-dev for diff visibility
---
.../java/net/minecraft/server/NibbleArray.java | 40 ++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 src/main/java/net/minecraft/server/NibbleArray.java
diff --git a/src/main/java/net/minecraft/server/NibbleArray.java b/src/main/java/net/minecraft/server/NibbleArray.java
new file mode 100644
index 0000000..5d75a54
--- /dev/null
+++ b/src/main/java/net/minecraft/server/NibbleArray.java
@@ -0,0 +1,40 @@
+package net.minecraft.server;
+
+public class NibbleArray {
+
+ public final byte[] a;
+ private final int b;
+ private final int c;
+
+ public NibbleArray(int i, int j) {
+ this.a = new byte[i >> 1];
+ this.b = j;
+ this.c = j + 4;
+ }
+
+ public NibbleArray(byte[] abyte, int i) {
+ this.a = abyte;
+ this.b = i;
+ this.c = i + 4;
+ }
+
+ public int a(int i, int j, int k) {
+ int l = j << this.c | k << this.b | i;
+ int i1 = l >> 1;
+ int j1 = l & 1;
+
+ return j1 == 0 ? this.a[i1] & 15 : this.a[i1] >> 4 & 15;
+ }
+
+ public void a(int i, int j, int k, int l) {
+ int i1 = j << this.c | k << this.b | i;
+ int j1 = i1 >> 1;
+ int k1 = i1 & 1;
+
+ if (k1 == 0) {
+ this.a[j1] = (byte) (this.a[j1] & 240 | l & 15);
+ } else {
+ this.a[j1] = (byte) (this.a[j1] & 15 | (l & 15) << 4);
+ }
+ }
+}
--
1.8.1-rc2