Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.2 kB · 62 lines
C++
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include "stdafx.h"#include "DataLayer.h"
DataLayer::DataLayer(int length, int depthBits) : depthBits(depthBits), depthBitsPlusFour(depthBits + 4){ data = byteArray(length >> 1);}
DataLayer::DataLayer(byteArray data, int depthBits) : depthBits(depthBits), depthBitsPlusFour(depthBits + 4){ this->data = data;}
DataLayer::~DataLayer(){ delete[] data.data;}
int DataLayer::get(int x, int y, int z){ int pos = (x << depthBitsPlusFour | z << depthBits | y); int slot = pos >> 1; int part = pos & 1;
if (part == 0) { return data[slot] & 0xf; } else { return (data[slot] >> 4) & 0xf; }}
void DataLayer::set(int x, int y, int z, int val){ int pos = (x << depthBitsPlusFour | z << depthBits | y);
int slot = pos >> 1; int part = pos & 1;
if (part == 0) { data[slot] = (byte) ((data[slot] & 0xf0) | (val & 0xf)); } else { data[slot] = (byte) ((data[slot] & 0x0f) | ((val & 0xf) << 4)); }}
bool DataLayer::isValid(){ return data.data != NULL;}
void DataLayer::setAll(int br){ byte val = (byte) (br & (br << 4)); for (unsigned int i = 0; i < data.length; i++) { data[i] = val; }}