Bedrock Edition has a hardcoded nether height of 128 blocks. This
means that even if you are able to glitch up on to the nether roof
you cannot place blocks there. However, if you have access to
bedrock_server.exe or Minecraft.Windows.exe you can hexedit these
files to the increase the hardcoded nether height.
| /* | |
| * Random-Number Utilities (randutil) | |
| * Addresses common issues with C++11 random number generation. | |
| * Makes good seeding easier, and makes using RNGs easy while retaining | |
| * all the power. | |
| * | |
| * The MIT License (MIT) | |
| * | |
| * Copyright (c) 2015 Melissa E. O'Neill | |
| * |
| # Copyright 2021 Reed A. Cartwright <[email protected]> | |
| # | |
| # Permission is hereby granted, free of charge, to any person obtaining a copy | |
| # of this software and associated documentation files (the "Software"), to deal | |
| # in the Software without restriction, including without limitation the rights | |
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| # copies of the Software, and to permit persons to whom the Software is | |
| # furnished to do so, subject to the following conditions: | |
| # | |
| # The above copyright notice and this permission notice shall be included in all |
Paletted chunks & removing BlockIDs brings a few big changes to how blocks are represented. In Bedrock, Blocks used to be represented by their 8 bit ID and 4 bit data; this means that we can only represent 256 blocks and 16 variants for each block. As it happens we ran out of IDs in Update Aquatic, so we had to do something about it :)
After this change, we can represent infinite types of Blocks and infinite BlockStates, just like in Java. BlockStates are what is sent over the network as they are roughly equivalent to the old ID+data information, eg. they're all the information attached to a block.
BlockStates are serialized in two ways:
PersistentID: a PersistentID is a NBT tag containing the BlockState name and its variant number; for example
| y | ticks | seconds | |
|---|---|---|---|
| 0 | 0 | 0 | |
| 1 | 5 | 0.25 | |
| 2 | 7 | 0.35 | |
| 3 | 9 | 0.45 | |
| 4 | 10 | 0.5 | |
| 5 | 12 | 0.6 | |
| 6 | 13 | 0.65 | |
| 7 | 14 | 0.7 | |
| 8 | 15 | 0.75 |
| #include <random> | |
| #include <array> | |
| #include <iostream> | |
| using namespace std; | |
| using mat_t = array<array<unsigned int, 32>, 32>; | |
| uint32_t get_seed(int d, int x, int z) { | |
| if(d == 0) { |
| # Introduction to Analyzing a Minecraft World | |
| # LIA 194 - Class #2 | |
| # We will be using the development branch of the rbedrock library, | |
| # and will use devtools to install or update it. | |
| if (!requireNamespace("devtools", quietly = TRUE)) { | |
| install.packages("devtools") | |
| } | |
| devtools::install_github("reedacartwright/rbedrock") |
| ## Today we are going to work on learning how to plot data with | |
| ## ggplot2, which is a part of tidyverse. | |
| # Install the latest version of rbedrock | |
| devtools::install_github("reedacartwright/rbedrock") | |
| # Install tidyverse | |
| install.packages("tidyverse") | |
| # Load tidyverse and rbedrock |
| ## Today we will work on making maps with ggplot2. | |
| # Install the latest version of rbedrock | |
| devtools::install_github("reedacartwright/rbedrock") | |
| # Load tidyverse and rbedrock | |
| library(tidyverse) | |
| library(rbedrock) | |
| # Open World Database |
After creating your repository on Github, you need to clone it to Agave. Don't forget to use the correct github url for your repository.
$ cd ~/dc_workshop
$ git clone [email protected]:USERNAME/ga-pipeline-1.git ga-pipeline-1
$ cd ga-pipeline-1