Internal footage 2

**Internal footage 2** is the eleventh video on **Minecraft Alpha 1.0.16 Versions** YouTube channel.

## Description

[22.09.2021]: "I knew it would come to this one time or another. I missed a spot while editing out my personal information. Still, I don't think it's too late, so please remove the original upload and replace it with this version"

Original description:

"[video attachment] Guess who found the old hard drive. The original version of this video is way longer and has my personal information, which I had to cut out, so that you can put it up on the channel. Oh, and by longer, I mean we're talking hours. Hours of mostly an empty desktop, don't really know why he wanted to record the work PCs 24/7. Anyway here's the original: [link]"

"Wow, this video sure brings back memories. It's a bug-fixing session from 2010. If you look hard enough you can probably find the exact date, don't really want to check right now, and not that it really matters right now."

"Showing this to you is kind of embarassing, most of this bad code you're seeing was written by me. But it's important, seeing that it's your first, or maybe second look at the work environment back there."

"So now all we can do is wait for him to respond, I guess"

## Characters

* dev6: Developer, who recorded the video.
* dev1: Author of the 2 bug reports that get fixed
* dev0: Author of the latest bug report regarding the build date on the download page

## Anomalies

* We see a list of bug reports.
	+ Note that the ID corresponds to the form of the tester ID, this means that all of these reports are from special versions.
	+ "PLAYER WITHOUT SKIN SPAWNED ??"
	+ Some are from banned players.
	+ They select bug #0078
		- The title is "Audio not working in the hub"
		- It is submitted by dev1
* They work in NetBeans IDE 6.8
* They fix bug #0079, which then they test.
* The video is from 2010-08-27, 10:00.

>
> IDE
> ---
>
>
>

### MCExtension class hierarchy

* MCExtension\_A1605
	+ Source packages
		- `mcextension_a1605`
			* `AudioClient.java` *(opened during the #0078 bug fixing)*
			* `ExtBlock.java`
			* `ExtChat.java`
			* `ExtMain.java`
			* `ExtMainMenu.java`
			* `ExtNetClientBase.java`
			* `ExtUI.java`
			* `ExtWorld.java`
			* `HackIDInput.java` *(shows as the most recently opened file, opened again during the #0079 bug fixing)*
			* `HubSyncClient.java`
			* `NetworkLocation.java`
			* `PlayerMPAlt.java`
			* `PlayerMPInvading.java`
		- `mcextension_a1605.auth`
			* `AuthClient.java`
			* `AuthKey.java`
			* `LocalAuthManager.java`
			* `ServerAuthManager.java`
			* `UtilRSA2048.java`
		- `mcestension_a1605.block`
			* `BlockHubFloor.java`
			* `BlockHubWall.java`
			* `BlockIronDoorTransport.java`
			* `BlockPillarPanel.java`
			* `BlockTile.java`
			* `BlockTileA.java`
			* `BlockTileB.java`
			* `BlockTileTransparent.java`
			* `BlockUniverse.java`
			* `BlockWindow.java`
		- `mcestension_a1605.render`
			* `RenderBlockUniverse.java`
			* `RenderBlockWindow.java`
		- `net.minecraft` *(base Minecraft source code package)*
		- `org.lwjgl.input` *(input package of the LWJGL library used by Minecraft)*

## Code

### `AudioClient` code

‎

```
 \* @author dev\_winv\_06
 \*/

 public class AudioClient extends ExtNetClientBase {

 public List<byte[]> netAudioData = new ArrayList<byte[]>();

 @Override
 public byte[] GetNextData(){
 if (netAudioData.size() == 0){
 System.out.println("netAudioData size == 0, this shouldn't happen");
 }
 byte[] ret = netAudioData.get(0);
 netAudioData.remove(0);
 return ret;
 }

 public void WorldChanged(ExtWorld worldIn){
 NetworkLocation netL = worldIn.GetNetworkLocation();
 if (netL.ip == "testalpha.minecraft.net" && AuthClient.TestServerAuthKey(netL, AuthClient.hubAuthKey)){
 int hubResult = ExtMain.hubClient.ConnectAudio();
 if (hubResult == -1){
 System.out.println("can't connect to hub audio");
 while (!ExtMain.hubClient.AudioConnected()){
 ExtMain.hubClient.ConnectAudio();
 }
 //TODO: the first try often fails, retry until it doesn't

 }
 } else {
 ExtMain.hubClient.DisconnectAudio();
 }
 }
‎

```

### `ExtMain` contents

* `AuthClient authClient` *(variable)*
* `HubSyncClient hubClient` *(variable)*
* `boolean CanPlayOnline()`
* `NetResult GetCurrentAccountInfo()`
* `void LogInAndGetKey(AuthClient cl)`
* `void LogInUsingDevKey(AuthClient cl)`

### `HubSyncClient` contents

* `boolean AudioConnected()`
* `int ConnectAudio()`
* `RemoteWorld ConnectToHubWorld()`
* `void DisconnectAudio()`
* `ExtChatPermission GetChatPermission(Player player)`
* `int GetHubPlayerCount()`
* `PlayerMPAlt[] GetHubPlayers()`
* `NetResult GetServerWorldTargets()`
* `RemoteWorld GetTargetWorld(BlockIronDoorTransport a)`
* `boolean SpawnHubDoor(World world)`
* `boolean equals(Object obj)` *(standard java.lang.Object method)*
* `Class<?> getClass()` *(standard java.lang.Object method)*
* `int hashCode()` *(standard java.lang.Object method)*
* `void notify()` *(standard java.lang.Object method)*
* `void notifyAll()` *(standard java.lang.Object method)*
* `String toString()` *(standard java.lang.Object method)*
* `void wait()` *(standard java.lang.Object method)*

### `HackIDInput` code

‎

```
 \*
 \* @author dev\_winv\_06
 \*/

 public class HackIDInput {
 public static String currentID = "";

 public void onUI(){
 if (currentID != ""){
 PrintText("[Use numpad to enter, - to clear, + to give]", 2, 10, 0xfaff6e);
 PrintText("Give item: " + currentID, 2, 20, 0xfaff6e);
 int a = Integer.parseInt(currentID);
 if ((Block.blocks.length <= a || Blocks.blocks[a] == null
 && (Item.items.length <= a || items[a] == null)) {
 PrintText("{INVALID}", 2, 30, 0xff0000);
 }
 }
 }

 public void EventKeyboard(){
 if (Keyboard.getEventKey() == 79) {
 currentID += '1':
 System.out.println("Current entered ID:" + currentID);
 }
 else if (Keyboard.getEventKey() == 80) {
‎

```