diff --git a/.gradle/8.0/executionHistory/executionHistory.lock b/.gradle/8.0/executionHistory/executionHistory.lock
index 15c8887..1bb5602 100644
Binary files a/.gradle/8.0/executionHistory/executionHistory.lock and b/.gradle/8.0/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.bin b/.gradle/8.0/fileHashes/fileHashes.bin
index 1876b2b..bc2c466 100644
Binary files a/.gradle/8.0/fileHashes/fileHashes.bin and b/.gradle/8.0/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.lock b/.gradle/8.0/fileHashes/fileHashes.lock
index 3ee5da7..d41e477 100644
Binary files a/.gradle/8.0/fileHashes/fileHashes.lock and b/.gradle/8.0/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.0/fileHashes/resourceHashesCache.bin b/.gradle/8.0/fileHashes/resourceHashesCache.bin
index f77b874..fa90551 100644
Binary files a/.gradle/8.0/fileHashes/resourceHashesCache.bin and b/.gradle/8.0/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 4db588f..9ef6b38 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index fb1af85..1906e52 100644
Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 8bddb52..18ad7e3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/credits.txt b/lwjgl-rundir/resources/credits.txt
new file mode 100644
index 0000000..e21104b
--- /dev/null
+++ b/lwjgl-rundir/resources/credits.txt
@@ -0,0 +1,152 @@
+
+§lCHANGES §lIN §lSERVICE §lPACK §l#2:§r
+
+ - improved resource packs §4(by §4ayunami2000)§r
+ - improved the FPS even more
+ - improved voice chat reliability
+ - improved shared worlds reliability
+ - backported X's vanilla world export
+ - backported X's vsync mode
+
+Release date: §912/14/2024§r
+
+§lCHANGES §lIN §lSERVICE §lPACK §l#1:§r
+
+ - resource packs §4(by §4ayunami2000)§r
+ - fixed sunrise/sunset fog color
+ - better optimized pipeline shader
+ - backported X's state management
+ - backported X's buffer streaming
+ - backported X's hotbar FPS fix
+ - backported X's double buffering
+ - backported X's FXAA shader
+
+Release date: §910/27/2023§r
+
+§0Made §0by §4lax1dude§r
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+:>
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/font/glyph_sizes.bin b/lwjgl-rundir/resources/font/glyph_sizes.bin
new file mode 100644
index 0000000..69c857e
Binary files /dev/null and b/lwjgl-rundir/resources/font/glyph_sizes.bin differ
diff --git a/lwjgl-rundir/resources/lang/en_US.lang b/lwjgl-rundir/resources/lang/en_US.lang
new file mode 100644
index 0000000..f15fc6d
--- /dev/null
+++ b/lwjgl-rundir/resources/lang/en_US.lang
@@ -0,0 +1,1359 @@
+
+language.name=English
+language.region=US
+language.code=en_US
+
+gui.done=Done
+gui.cancel=Cancel
+gui.back=Back
+gui.toMenu=Back to title screen
+gui.up=Up
+gui.down=Down
+gui.yes=Yes
+gui.no=No
+
+translation.test.none=Hello, world!
+translation.test.complex=Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!
+translation.test.escape=%%s %%%s %%%%s %%%%%s
+translation.test.invalid=hi %
+translation.test.invalid2=hi % s
+translation.test.args=%s %s
+translation.test.world=world
+
+menu.singleplayer=Singleplayer
+menu.multiplayer=Multiplayer
+menu.online=Minecraft Realms
+menu.options=Options...
+menu.quit=Quit Game
+menu.returnToMenu=Save and Quit to Title
+menu.disconnect=Disconnect
+menu.returnToGame=Back to Game
+menu.switchingLevel=Switching worlds
+menu.generatingLevel=Generating world
+menu.loadingLevel=Loading world
+menu.generatingTerrain=Building terrain
+menu.convertingLevel=Converting world
+menu.simulating=Simulating the world for a bit
+menu.respawning=Respawning
+menu.shareToLan=Open to LAN
+
+selectWorld.title=Select World
+selectWorld.empty=empty
+selectWorld.world=World
+selectWorld.select=Play Selected World
+selectWorld.create=Create New World
+selectWorld.recreate=Re-Create
+selectWorld.createDemo=Play New Demo World
+selectWorld.delete=Delete
+selectWorld.rename=Rename
+selectWorld.deleteQuestion=Are you sure you want to delete this world?
+selectWorld.deleteWarning=will be lost forever! (A long time!)
+selectWorld.deleteButton=Delete
+selectWorld.renameButton=Rename
+selectWorld.renameTitle=Rename World
+selectWorld.conversion=Must be converted!
+selectWorld.newWorld=New World
+selectWorld.newWorld.copyOf=Copy of %s
+selectWorld.enterName=World Name
+selectWorld.resultFolder=Will be saved in:
+selectWorld.enterSeed=Seed for the World Generator
+selectWorld.seedInfo=Leave blank for a random seed
+selectWorld.cheats=Cheats
+selectWorld.customizeType=Customize
+
+createWorld.customize.presets=Presets
+createWorld.customize.presets.title=Select a Preset
+createWorld.customize.presets.select=Use Preset
+createWorld.customize.presets.share=Want to share your preset with someone? Use the below box!
+createWorld.customize.presets.list=Alternatively, here's some we made earlier!
+createWorld.customize.flat.title=Superflat Customization
+createWorld.customize.flat.tile=Layer Material
+createWorld.customize.flat.height=Height
+createWorld.customize.flat.addLayer=Add Layer
+createWorld.customize.flat.editLayer=Edit Layer
+createWorld.customize.flat.removeLayer=Remove Layer
+createWorld.customize.flat.layer.top=Top - %d
+createWorld.customize.flat.layer=%d
+createWorld.customize.flat.layer.bottom=Bottom - %d
+
+gameMode.survival=Survival Mode
+gameMode.creative=Creative Mode
+gameMode.adventure=Adventure Mode
+gameMode.hardcore=Hardcore Mode!
+gameMode.changed=Your game mode has been updated
+
+selectWorld.gameMode=Game Mode
+selectWorld.gameMode.survival=Survival
+selectWorld.gameMode.survival.line1=Search for resources, crafting, gain
+selectWorld.gameMode.survival.line2=levels, health and hunger
+selectWorld.gameMode.creative=Creative
+selectWorld.gameMode.creative.line1=Unlimited resources, free flying and
+selectWorld.gameMode.creative.line2=destroy blocks instantly
+selectWorld.gameMode.hardcore=Hardcore
+selectWorld.gameMode.hardcore.line1=Same as survival mode, locked at hardest
+selectWorld.gameMode.hardcore.line2=difficulty, and one life only
+selectWorld.gameMode.adventure=Adventure
+selectWorld.gameMode.adventure.line1=Same as survival mode, but blocks can't
+selectWorld.gameMode.adventure.line2=be added or removed
+selectWorld.moreWorldOptions=More World Options...
+selectWorld.mapFeatures=Generate Structures:
+selectWorld.mapFeatures.info=Villages, dungeons etc
+selectWorld.mapType=World Type:
+selectWorld.mapType.normal=Normal
+selectWorld.allowCommands=Allow Cheats:
+selectWorld.allowCommands.info=Commands like /gamemode, /xp
+selectWorld.hardcoreMode=Hardcore:
+selectWorld.hardcoreMode.info=World is deleted upon death
+selectWorld.bonusItems=Bonus Chest:
+
+generator.default=Default
+generator.flat=Superflat
+generator.largeBiomes=Large Biomes
+
+selectServer.title=Select Server
+selectServer.empty=empty
+selectServer.select=Join Server
+selectServer.direct=Direct Connect
+selectServer.edit=Edit
+selectServer.delete=Delete
+selectServer.add=Add server
+selectServer.defaultName=Minecraft Server
+selectServer.deleteQuestion=Are you sure you want to remove this server?
+selectServer.deleteWarning=will be lost forever! (A long time!)
+selectServer.deleteButton=Delete
+selectServer.refresh=Refresh
+selectServer.hiddenAddress=(Hidden)
+addServer.title=Edit Server Info
+addServer.enterName=Server Name
+addServer.enterIp=Server Address
+addServer.add=Done
+addServer.hideAddress=Hide Address
+lanServer.title=LAN World
+lanServer.scanning=Scanning for games on your local network
+lanServer.start=Start LAN World
+lanServer.otherPlayers=Settings for Other Players
+mcoServer.title=Minecraft Online World
+
+multiplayer.title=Play Multiplayer
+multiplayer.connect=Connect
+multiplayer.info1=Minecraft Multiplayer is currently not finished, but there
+multiplayer.info2=is some buggy early testing going on.
+multiplayer.ipinfo=Enter the IP of a server to connect to it:
+multiplayer.texturePrompt.line1=This server recommends the use of a custom resource pack.
+multiplayer.texturePrompt.line2=Would you like to download and install it automagically?
+multiplayer.downloadingTerrain=Downloading terrain
+multiplayer.stopSleeping=Leave Bed
+multiplayer.player.joined=%s joined the game
+multiplayer.player.left=%s left the game
+
+chat.cannotSend=Cannot send chat message
+chat.type.text=<%s> %s
+chat.type.emote=* %s %s
+chat.type.announcement=[%s] %s
+chat.type.admin=[%s: %s]
+chat.link.confirm=Are you sure you want to open the following website?
+chat.link.warning=Never open links from people that you don't trust!
+chat.copy=Copy to Clipboard
+
+menu.playdemo=Play Demo World
+menu.resetdemo=Reset Demo World
+
+demo.day.1=This demo will last five game days, do your best!
+demo.day.2=Day Two
+demo.day.3=Day Three
+demo.day.4=Day Four
+demo.day.5=This is your last day!
+demo.day.warning=Your time is almost up!
+demo.day.6=You have passed your fifth day, use F2 to save a screenshot of your creation
+demo.reminder=The demo time has expired, buy the game to continue or start a new world!
+demo.remainingTime=Remaining time: %s
+demo.demoExpired=Demo time's up!
+demo.help.movement=Use %1$s, %2$s, %3$s, %4$s and the mouse to move around
+demo.help.movementShort=Move by pressing %1$s, %2$s, %3$s, %4$s
+demo.help.movementMouse=Look around using the mouse
+demo.help.jump=Jump by pressing %1$s
+demo.help.inventory=Use %1$s to open your inventory
+demo.help.title=Minecraft Demo Mode
+demo.help.fullWrapped=This demo will last 5 ingame days (about 1 hour and 40 minutes of real time). Check the achievements for hints! Have fun!
+demo.help.buy=Purchase Now!
+demo.help.later=Continue Playing!
+
+connect.connecting=Connecting to the server...
+connect.authorizing=Logging in...
+connect.failed=Failed to connect to the server
+
+disconnect.genericReason=%s
+disconnect.disconnected=Disconnected by Server
+disconnect.lost=Connection Lost
+disconnect.kicked=Was kicked from the game
+disconnect.timeout=Timed out
+disconnect.closed=Connection closed
+disconnect.loginFailed=Failed to login
+disconnect.loginFailedInfo=Failed to login: %s
+disconnect.quitting=Quitting
+disconnect.endOfStream=End of stream
+disconnect.overflow=Buffer overflow
+disconnect.spam=Kicked for spamming
+
+options.off=OFF
+options.on=ON
+options.visible=Shown
+options.hidden=Hidden
+options.title=Options
+options.controls=Controls...
+options.video=Video Settings...
+options.language=Language...
+options.languageWarning=Language translations may not be 100% accurate
+options.videoTitle=Video Settings
+options.music=Music
+options.sound=Sound
+options.invertMouse=Invert Mouse
+options.fov=FOV
+options.fov.min=Normal
+options.fov.max=Quake Pro
+options.gamma=Brightness
+options.gamma.min=Moody
+options.gamma.max=Bright
+options.sensitivity=Sensitivity
+options.sensitivity.min=*yawn*
+options.sensitivity.max=HYPERSPEED!!!
+options.renderDistance=Render Distance
+options.renderDistance.tiny=Tiny
+options.renderDistance.short=Short
+options.renderDistance.normal=Normal
+options.renderDistance.far=Far
+options.viewBobbing=View Bobbing
+options.ao=Smooth Lighting
+options.ao.off=Off
+options.ao.min=Minimum
+options.ao.max=Maximum
+options.anaglyph=3D Anaglyph
+options.framerateLimit=Performance
+options.difficulty=Difficulty
+options.difficulty.peaceful=Peaceful
+options.difficulty.easy=Easy
+options.difficulty.normal=Normal
+options.difficulty.hard=Hard
+options.difficulty.hardcore=Hardcore
+options.graphics=Graphics
+options.graphics.fancy=Fancy
+options.graphics.fast=Fast
+options.guiScale=GUI Scale
+options.guiScale.auto=Auto
+options.guiScale.small=Small
+options.guiScale.normal=Normal
+options.guiScale.large=Large
+options.advancedOpengl=Advanced OpenGL
+options.renderClouds=Clouds
+options.farWarning1=A 64 bit Java installation is recommended
+options.farWarning2=for 'Far' render distance (you have 32 bit)
+options.particles=Particles
+options.particles.all=All
+options.particles.decreased=Decreased
+options.particles.minimal=Minimal
+options.multiplayer.title=Multiplayer Settings...
+options.chat.title=Chat Settings...
+options.chat.visibility=Chat
+options.chat.visibility.full=Shown
+options.chat.visibility.system=Commands Only
+options.chat.visibility.hidden=Hidden
+options.chat.color=Colors
+options.chat.opacity=Opacity
+options.chat.links=Web Links
+options.chat.links.prompt=Prompt on Links
+options.chat.scale=Scale
+options.chat.width=Width
+options.chat.height.focused=Focused Height
+options.chat.height.unfocused=Unfocused Height
+options.showCape=Show Cape
+options.serverTextures=Server Textures
+options.snooper=Allow Snooper
+options.snooper.view=Snooper Settings...
+options.snooper.title=Machine Specs Collection
+options.snooper.desc=We want to collect information about your machine to help improve Minecraft by knowing what we can support and where the biggest problems are. All of this information is completely anonymous and viewable below. We promise we won't do anything bad with this data, but if you want to opt out then feel free to toggle it off!
+options.resourcepack=Resource Packs
+options.fullscreen=Fullscreen
+options.vsync=Use VSync
+options.touchscreen=Touchscreen Mode
+
+performance.max=Max FPS
+performance.balanced=Balanced
+performance.powersaver=Power saver
+
+controls.title=Controls
+
+key.forward=Forward
+key.left=Left
+key.back=Back
+key.right=Right
+key.jump=Jump
+key.inventory=Inventory
+key.drop=Drop
+key.chat=Chat
+key.fog=Toggle Fog
+key.sneak=Sneak
+key.playerlist=List Players
+key.attack=Attack
+key.use=Use Item
+key.pickItem=Pick Block
+key.mouseButton=Button %1$s
+key.command=Command
+
+resourcePack.openFolder=Open resource pack folder
+resourcePack.title=Select Resource Pack
+resourcePack.folderInfo=(Place resource pack files here)
+
+book.pageIndicator=Page %1$s of %2$s
+book.byAuthor=by %1$s
+book.signButton=Sign
+book.editTitle=Enter Book Title:
+book.finalizeButton=Sign and Close
+book.finalizeWarning=Note! When you sign the book, it will no longer be editable.
+
+tile.stone.name=Stone
+tile.hayBlock.name=Hay Bale
+tile.grass.name=Grass Block
+tile.dirt.name=Dirt
+tile.stonebrick.name=Cobblestone
+tile.wood.name=Wooden Planks
+tile.wood.oak.name=Oak Wood Planks
+tile.wood.spruce.name=Spruce Wood Planks
+tile.wood.birch.name=Birch Wood Planks
+tile.wood.jungle.name=Jungle Wood Planks
+tile.sapling.oak.name=Oak Sapling
+tile.sapling.spruce.name=Spruce Sapling
+tile.sapling.birch.name=Birch Sapling
+tile.sapling.jungle.name=Jungle Sapling
+tile.deadbush.name=Dead Bush
+tile.bedrock.name=Bedrock
+tile.water.name=Water
+tile.lava.name=Lava
+tile.sand.name=Sand
+tile.sandStone.name=Sandstone
+tile.sandStone.default.name=Sandstone
+tile.sandStone.chiseled.name=Chiseled Sandstone
+tile.sandStone.smooth.name=Smooth Sandstone
+tile.gravel.name=Gravel
+tile.oreGold.name=Gold Ore
+tile.oreIron.name=Iron Ore
+tile.oreCoal.name=Coal Ore
+tile.log.name=Wood
+tile.log.oak.name=Oak Wood
+tile.log.spruce.name=Spruce Wood
+tile.log.birch.name=Birch Wood
+tile.log.jungle.name=Jungle Wood
+tile.leaves.name=Leaves
+tile.leaves.oak.name=Oak Leaves
+tile.leaves.spruce.name=Spruce Leaves
+tile.leaves.birch.name=Birch Leaves
+tile.leaves.jungle.name=Jungle Leaves
+tile.tallgrass.name=Grass
+tile.tallgrass.shrub.name=Shrub
+tile.tallgrass.grass.name=Grass
+tile.tallgrass.fern.name=Fern
+tile.sponge.name=Sponge
+tile.glass.name=Glass
+tile.thinGlass.name=Glass Pane
+tile.cloth.name=Wool
+tile.flower.name=Flower
+tile.rose.name=Rose
+tile.mushroom.name=Mushroom
+tile.blockGold.name=Block of Gold
+tile.blockIron.name=Block of Iron
+tile.stoneSlab.stone.name=Stone Slab
+tile.stoneSlab.sand.name=Sandstone Slab
+tile.stoneSlab.wood.name=Wooden Slab
+tile.stoneSlab.cobble.name=Cobblestone Slab
+tile.stoneSlab.brick.name=Bricks Slab
+tile.stoneSlab.smoothStoneBrick.name=Stone Bricks Slab
+tile.stoneSlab.netherBrick.name=Nether Brick Slab
+tile.stoneSlab.quartz.name=Quartz Slab
+tile.woodSlab.oak.name=Oak Wood Slab
+tile.woodSlab.spruce.name=Spruce Wood Slab
+tile.woodSlab.birch.name=Birch Wood Slab
+tile.woodSlab.jungle.name=Jungle Wood Slab
+tile.brick.name=Bricks
+tile.tnt.name=TNT
+tile.bookshelf.name=Bookshelf
+tile.stoneMoss.name=Moss Stone
+tile.obsidian.name=Obsidian
+tile.torch.name=Torch
+tile.fire.name=Fire
+tile.mobSpawner.name=Monster Spawner
+tile.stairsWood.name=Oak Wood Stairs
+tile.stairsWoodSpruce.name=Spruce Wood Stairs
+tile.stairsWoodBirch.name=Birch Wood Stairs
+tile.stairsWoodJungle.name=Jungle Wood Stairs
+tile.chest.name=Chest
+tile.chestTrap.name=Trapped Chest
+tile.redstoneDust.name=Redstone Dust
+tile.oreDiamond.name=Diamond Ore
+tile.blockCoal.name=Block of Coal
+tile.blockDiamond.name=Block of Diamond
+tile.workbench.name=Crafting Table
+tile.crops.name=Crops
+tile.farmland.name=Farmland
+tile.furnace.name=Furnace
+tile.sign.name=Sign
+tile.doorWood.name=Wooden Door
+tile.ladder.name=Ladder
+tile.rail.name=Rail
+tile.goldenRail.name=Powered Rail
+tile.activatorRail.name=Activator Rail
+tile.detectorRail.name=Detector Rail
+tile.stairsStone.name=Stone Stairs
+tile.stairsSandStone.name=Sandstone Stairs
+tile.lever.name=Lever
+tile.pressurePlate.name=Pressure Plate
+tile.weightedPlate_light.name=Weighted Pressure Plate (Light)
+tile.weightedPlate_heavy.name=Weighted Pressure Plate (Heavy)
+tile.doorIron.name=Iron Door
+tile.oreRedstone.name=Redstone Ore
+tile.notGate.name=Redstone Torch
+tile.button.name=Button
+tile.snow.name=Snow
+tile.woolCarpet.black.name=Black Carpet
+tile.woolCarpet.red.name=Red Carpet
+tile.woolCarpet.green.name=Green Carpet
+tile.woolCarpet.brown.name=Brown Carpet
+tile.woolCarpet.blue.name=Blue Carpet
+tile.woolCarpet.purple.name=Purple Carpet
+tile.woolCarpet.cyan.name=Cyan Carpet
+tile.woolCarpet.silver.name=Light Gray Carpet
+tile.woolCarpet.gray.name=Gray Carpet
+tile.woolCarpet.pink.name=Pink Carpet
+tile.woolCarpet.lime.name=Lime Carpet
+tile.woolCarpet.yellow.name=Yellow Carpet
+tile.woolCarpet.lightBlue.name=Light Blue Carpet
+tile.woolCarpet.magenta.name=Magenta Carpet
+tile.woolCarpet.orange.name=Orange Carpet
+tile.woolCarpet.white.name=Carpet
+tile.ice.name=Ice
+tile.cactus.name=Cactus
+tile.clay.name=Clay
+tile.clayHardenedStained.black.name=Black Stained Clay
+tile.clayHardenedStained.red.name=Red Stained Clay
+tile.clayHardenedStained.green.name=Green Stained Clay
+tile.clayHardenedStained.brown.name=Brown Stained Clay
+tile.clayHardenedStained.blue.name=Blue Stained Clay
+tile.clayHardenedStained.purple.name=Purple Stained Clay
+tile.clayHardenedStained.cyan.name=Cyan Stained Clay
+tile.clayHardenedStained.silver.name=Light Gray Stained Clay
+tile.clayHardenedStained.gray.name=Gray Stained Clay
+tile.clayHardenedStained.pink.name=Pink Stained Clay
+tile.clayHardenedStained.lime.name=Lime Stained Clay
+tile.clayHardenedStained.yellow.name=Yellow Stained Clay
+tile.clayHardenedStained.lightBlue.name=Light Blue Stained Clay
+tile.clayHardenedStained.magenta.name=Magenta Stained Clay
+tile.clayHardenedStained.orange.name=Orange Stained Clay
+tile.clayHardenedStained.white.name=White Stained Clay
+tile.clayHardened.name=Hardened Clay
+tile.reeds.name=Sugar cane
+tile.jukebox.name=Jukebox
+tile.fence.name=Fence
+tile.fenceGate.name=Fence Gate
+tile.pumpkin.name=Pumpkin
+tile.litpumpkin.name=Jack o'Lantern
+tile.hellrock.name=Netherrack
+tile.hellsand.name=Soul Sand
+tile.lightgem.name=Glowstone
+tile.portal.name=Portal
+tile.cloth.black.name=Black Wool
+tile.cloth.red.name=Red Wool
+tile.cloth.green.name=Green Wool
+tile.cloth.brown.name=Brown Wool
+tile.cloth.blue.name=Blue Wool
+tile.cloth.purple.name=Purple Wool
+tile.cloth.cyan.name=Cyan Wool
+tile.cloth.silver.name=Light Gray Wool
+tile.cloth.gray.name=Gray Wool
+tile.cloth.pink.name=Pink Wool
+tile.cloth.lime.name=Lime Wool
+tile.cloth.yellow.name=Yellow Wool
+tile.cloth.lightBlue.name=Light Blue Wool
+tile.cloth.magenta.name=Magenta Wool
+tile.cloth.orange.name=Orange Wool
+tile.cloth.white.name=Wool
+tile.oreLapis.name=Lapis Lazuli Ore
+tile.blockLapis.name=Lapis Lazuli Block
+tile.dispenser.name=Dispenser
+tile.dropper.name=Dropper
+tile.musicBlock.name=Note Block
+tile.cake.name=Cake
+tile.bed.name=Bed
+tile.bed.occupied=This bed is occupied
+tile.bed.noSleep=You can only sleep at night
+tile.bed.notSafe=You may not rest now, there are monsters nearby
+tile.bed.notValid=Your home bed was missing or obstructed
+tile.lockedchest.name=Locked chest
+tile.trapdoor.name=Trapdoor
+tile.web.name=Cobweb
+tile.stonebricksmooth.name=Stone Bricks
+tile.stonebricksmooth.default.name=Stone Bricks
+tile.stonebricksmooth.mossy.name=Mossy Stone Bricks
+tile.stonebricksmooth.cracked.name=Cracked Stone Bricks
+tile.stonebricksmooth.chiseled.name=Chiseled Stone Bricks
+tile.monsterStoneEgg.stone.name=Stone Monster Egg
+tile.monsterStoneEgg.cobble.name=Cobblestone Monster Egg
+tile.monsterStoneEgg.brick.name=Stone Brick Monster Egg
+tile.pistonBase.name=Piston
+tile.pistonStickyBase.name=Sticky Piston
+tile.fenceIron.name=Iron Bars
+tile.melon.name=Melon
+tile.stairsBrick.name=Brick Stairs
+tile.stairsStoneBrickSmooth.name=Stone Brick Stairs
+tile.vine.name=Vines
+tile.netherBrick.name=Nether Brick
+tile.netherFence.name=Nether Brick Fence
+tile.stairsNetherBrick.name=Nether Brick Stairs
+tile.netherStalk.name=Nether Wart
+tile.cauldron.name=Cauldron
+tile.enchantmentTable.name=Enchantment Table
+tile.anvil.name=Anvil
+tile.anvil.intact.name=Anvil
+tile.anvil.slightlyDamaged.name=Slightly Damaged Anvil
+tile.anvil.veryDamaged.name=Very Damaged Anvil
+tile.whiteStone.name=End Stone
+tile.endPortalFrame.name=End Portal
+tile.mycel.name=Mycelium
+tile.waterlily.name=Lily Pad
+tile.dragonEgg.name=Dragon Egg
+tile.redstoneLight.name=Redstone Lamp
+tile.cocoa.name=Cocoa
+tile.enderChest.name=Ender Chest
+tile.oreRuby.name=Ruby Ore
+tile.oreEmerald.name=Emerald Ore
+tile.blockEmerald.name=Block of Emerald
+tile.blockRedstone.name=Block of Redstone
+tile.tripWire.name=Tripwire
+tile.tripWireSource.name=Tripwire Hook
+tile.commandBlock.name=Command Block
+tile.beacon.name=Beacon
+tile.beacon.primary=Primary Power
+tile.beacon.secondary=Secondary Power
+tile.cobbleWall.normal.name=Cobblestone Wall
+tile.cobbleWall.mossy.name=Mossy Cobblestone Wall
+tile.carrots.name=Carrots
+tile.potatoes.name=Potatoes
+tile.daylightDetector.name=Daylight Sensor
+tile.netherquartz.name=Nether Quartz Ore
+tile.hopper.name=Hopper
+tile.quartzBlock.default.name=Block of Quartz
+tile.quartzBlock.chiseled.name=Chiseled Quartz Block
+tile.quartzBlock.lines.name=Pillar Quartz Block
+tile.stairsQuartz.name=Quartz Stairs
+
+item.nameTag.name=Name Tag
+item.leash.name=Lead
+item.shovelIron.name=Iron Shovel
+item.pickaxeIron.name=Iron Pickaxe
+item.hatchetIron.name=Iron Axe
+item.flintAndSteel.name=Flint and Steel
+item.apple.name=Apple
+item.cookie.name=Cookie
+item.bow.name=Bow
+item.arrow.name=Arrow
+item.coal.name=Coal
+item.charcoal.name=Charcoal
+item.diamond.name=Diamond
+item.emerald.name=Emerald
+item.ingotIron.name=Iron Ingot
+item.ingotGold.name=Gold Ingot
+item.swordIron.name=Iron Sword
+item.swordWood.name=Wooden Sword
+item.shovelWood.name=Wooden Shovel
+item.pickaxeWood.name=Wooden Pickaxe
+item.hatchetWood.name=Wooden Axe
+item.swordStone.name=Stone Sword
+item.shovelStone.name=Stone Shovel
+item.pickaxeStone.name=Stone Pickaxe
+item.hatchetStone.name=Stone Axe
+item.swordDiamond.name=Diamond Sword
+item.shovelDiamond.name=Diamond Shovel
+item.pickaxeDiamond.name=Diamond Pickaxe
+item.hatchetDiamond.name=Diamond Axe
+item.stick.name=Stick
+item.bowl.name=Bowl
+item.mushroomStew.name=Mushroom Stew
+item.swordGold.name=Golden Sword
+item.shovelGold.name=Golden Shovel
+item.pickaxeGold.name=Golden Pickaxe
+item.hatchetGold.name=Golden Axe
+item.string.name=String
+item.feather.name=Feather
+item.sulphur.name=Gunpowder
+item.hoeWood.name=Wooden Hoe
+item.hoeStone.name=Stone Hoe
+item.hoeIron.name=Iron Hoe
+item.hoeDiamond.name=Diamond Hoe
+item.hoeGold.name=Golden Hoe
+item.seeds.name=Seeds
+item.seeds_pumpkin.name=Pumpkin Seeds
+item.seeds_melon.name=Melon Seeds
+item.melon.name=Melon
+item.wheat.name=Wheat
+item.bread.name=Bread
+item.helmetCloth.name=Leather Cap
+item.chestplateCloth.name=Leather Tunic
+item.leggingsCloth.name=Leather Pants
+item.bootsCloth.name=Leather Boots
+item.helmetChain.name=Chain Helmet
+item.chestplateChain.name=Chain Chestplate
+item.leggingsChain.name=Chain Leggings
+item.bootsChain.name=Chain Boots
+item.helmetIron.name=Iron Helmet
+item.chestplateIron.name=Iron Chestplate
+item.leggingsIron.name=Iron Leggings
+item.bootsIron.name=Iron Boots
+item.helmetDiamond.name=Diamond Helmet
+item.chestplateDiamond.name=Diamond Chestplate
+item.leggingsDiamond.name=Diamond Leggings
+item.bootsDiamond.name=Diamond Boots
+item.helmetGold.name=Golden Helmet
+item.chestplateGold.name=Golden Chestplate
+item.leggingsGold.name=Golden Leggings
+item.bootsGold.name=Golden Boots
+item.flint.name=Flint
+item.porkchopRaw.name=Raw Porkchop
+item.porkchopCooked.name=Cooked Porkchop
+item.chickenRaw.name=Raw Chicken
+item.chickenCooked.name=Cooked Chicken
+item.beefRaw.name=Raw Beef
+item.beefCooked.name=Steak
+item.painting.name=Painting
+item.frame.name=Item Frame
+item.appleGold.name=Golden Apple
+item.sign.name=Sign
+item.doorWood.name=Wooden Door
+item.bucket.name=Bucket
+item.bucketWater.name=Water Bucket
+item.bucketLava.name=Lava Bucket
+item.minecart.name=Minecart
+item.saddle.name=Saddle
+item.doorIron.name=Iron Door
+item.redstone.name=Redstone
+item.snowball.name=Snowball
+item.boat.name=Boat
+item.leather.name=Leather
+item.milk.name=Milk
+item.brick.name=Brick
+item.clay.name=Clay
+item.reeds.name=Sugar Canes
+item.paper.name=Paper
+item.book.name=Book
+item.slimeball.name=Slimeball
+item.minecartChest.name=Minecart with Chest
+item.minecartFurnace.name=Minecart with Furnace
+item.minecartTnt.name=Minecart with TNT
+item.minecartHopper.name=Minecart with Hopper
+item.egg.name=Egg
+item.compass.name=Compass
+item.fishingRod.name=Fishing Rod
+item.clock.name=Clock
+item.yellowDust.name=Glowstone Dust
+item.fishRaw.name=Raw Fish
+item.fishCooked.name=Cooked Fish
+item.record.name=Music Disc
+item.bone.name=Bone
+item.dyePowder.black.name=Ink Sac
+item.dyePowder.red.name=Rose Red
+item.dyePowder.green.name=Cactus Green
+item.dyePowder.brown.name=Cocoa Beans
+item.dyePowder.blue.name=Lapis Lazuli
+item.dyePowder.purple.name=Purple Dye
+item.dyePowder.cyan.name=Cyan Dye
+item.dyePowder.silver.name=Light Gray Dye
+item.dyePowder.gray.name=Gray Dye
+item.dyePowder.pink.name=Pink Dye
+item.dyePowder.lime.name=Lime Dye
+item.dyePowder.yellow.name=Dandelion Yellow
+item.dyePowder.lightBlue.name=Light Blue Dye
+item.dyePowder.magenta.name=Magenta Dye
+item.dyePowder.orange.name=Orange Dye
+item.dyePowder.white.name=Bone Meal
+item.sugar.name=Sugar
+item.cake.name=Cake
+item.bed.name=Bed
+item.diode.name=Redstone Repeater
+item.comparator.name=Redstone Comparator
+item.map.name=Map
+item.leaves.name=Leaves
+item.shears.name=Shears
+item.rottenFlesh.name=Rotten Flesh
+item.enderPearl.name=Ender Pearl
+item.blazeRod.name=Blaze Rod
+item.ghastTear.name=Ghast Tear
+item.netherStalkSeeds.name=Nether Wart
+item.potion.name=Potion
+item.emptyPotion.name=Water Bottle
+item.goldNugget.name=Gold Nugget
+item.glassBottle.name=Glass Bottle
+item.spiderEye.name=Spider Eye
+item.fermentedSpiderEye.name=Fermented Spider Eye
+item.blazePowder.name=Blaze Powder
+item.magmaCream.name=Magma Cream
+item.cauldron.name=Cauldron
+item.brewingStand.name=Brewing Stand
+item.eyeOfEnder.name=Eye of Ender
+item.speckledMelon.name=Glistering Melon
+item.monsterPlacer.name=Spawn
+item.expBottle.name=Bottle o' Enchanting
+item.fireball.name=Fire Charge
+item.writingBook.name=Book and Quill
+item.writtenBook.name=Written Book
+item.ruby.name=Ruby
+item.flowerPot.name=Flower Pot
+item.emptyMap.name=Empty Map
+item.carrots.name=Carrot
+item.carrotGolden.name=Golden Carrot
+item.potato.name=Potato
+item.potatoBaked.name=Baked Potato
+item.potatoPoisonous.name=Poisonous Potato
+item.skull.skeleton.name=Skeleton Skull
+item.skull.wither.name=Wither Skeleton Skull
+item.skull.zombie.name=Zombie Head
+item.skull.char.name=Head
+item.skull.player.name=%s's Head
+item.skull.creeper.name=Creeper Head
+item.carrotOnAStick.name=Carrot on a Stick
+item.netherStar.name=Nether Star
+item.pumpkinPie.name=Pumpkin Pie
+item.enchantedBook.name=Enchanted Book
+item.fireworks.name=Firework Rocket
+item.fireworks.flight=Flight Duration:
+item.fireworksCharge.name=Firework Star
+item.fireworksCharge.black=Black
+item.fireworksCharge.red=Red
+item.fireworksCharge.green=Green
+item.fireworksCharge.brown=Brown
+item.fireworksCharge.blue=Blue
+item.fireworksCharge.purple=Purple
+item.fireworksCharge.cyan=Cyan
+item.fireworksCharge.silver=Light Gray
+item.fireworksCharge.gray=Gray
+item.fireworksCharge.pink=Pink
+item.fireworksCharge.lime=Lime
+item.fireworksCharge.yellow=Yellow
+item.fireworksCharge.lightBlue=Light Blue
+item.fireworksCharge.magenta=Magenta
+item.fireworksCharge.orange=Orange
+item.fireworksCharge.white=White
+item.fireworksCharge.customColor=Custom
+item.fireworksCharge.fadeTo=Fade to
+item.fireworksCharge.flicker=Twinkle
+item.fireworksCharge.trail=Trail
+item.fireworksCharge.type.0=Small Ball
+item.fireworksCharge.type.1=Large Ball
+item.fireworksCharge.type.2=Star-shaped
+item.fireworksCharge.type.3=Creeper-shaped
+item.fireworksCharge.type.4=Burst
+item.fireworksCharge.type=Unknown Shape
+item.netherbrick.name=Nether Brick
+item.netherquartz.name=Nether Quartz
+item.horsearmormetal.name=Iron Horse Armor
+item.horsearmorgold.name=Gold Horse Armor
+item.horsearmordiamond.name=Diamond Horse Armor
+
+container.inventory=Inventory
+container.hopper=Item Hopper
+container.crafting=Crafting
+container.dispenser=Dispenser
+container.dropper=Dropper
+container.furnace=Furnace
+container.enchant=Enchant
+container.repair=Repair & Name
+container.repair.cost=Enchantment Cost: %1$d
+container.repair.expensive=Too Expensive!
+container.creative=Item Selection
+container.brewing=Brewing Stand
+container.chest=Chest
+container.chestDouble=Large Chest
+container.minecart=Minecart
+container.enderchest=Ender Chest
+
+item.dyed=Dyed
+
+entity.Item.name=Item
+entity.XPOrb.name=Experience Orb
+entity.SmallFireball.name=Small Fireball
+entity.Fireball.name=Fireball
+
+entity.Arrow.name=Arrow
+entity.Snowball.name=Snowball
+entity.Painting.name=Painting
+
+entity.Mob.name=Mob
+entity.Monster.name=Monster
+
+entity.Creeper.name=Creeper
+entity.Skeleton.name=Skeleton
+entity.Spider.name=Spider
+entity.Giant.name=Giant
+entity.Zombie.name=Zombie
+entity.Slime.name=Slime
+entity.Ghast.name=Ghast
+entity.PigZombie.name=Zombie Pigman
+entity.Enderman.name=Enderman
+entity.Silverfish.name=Silverfish
+entity.CaveSpider.name=Cave Spider
+entity.Blaze.name=Blaze
+entity.LavaSlime.name=Magma Cube
+entity.MushroomCow.name=Mooshroom
+entity.Villager.name=Villager
+entity.VillagerGolem.name=Iron Golem
+entity.SnowMan.name=Snow Golem
+entity.EnderDragon.name=Ender Dragon
+entity.WitherBoss.name=Wither
+entity.Witch.name=Witch
+
+entity.Pig.name=Pig
+entity.Sheep.name=Sheep
+entity.Cow.name=Cow
+entity.Chicken.name=Chicken
+entity.Squid.name=Squid
+entity.Wolf.name=Wolf
+entity.Ozelot.name=Ocelot
+entity.Cat.name=Cat
+entity.Bat.name=Bat
+entity.EntityHorse.name=Horse
+entity.horse.name=Horse
+entity.donkey.name=Donkey
+entity.mule.name=Mule
+entity.skeletonhorse.name=Skeleton Horse
+entity.zombiehorse.name=Zombie Horse
+
+entity.PrimedTnt.name=Block of TNT
+entity.FallingSand.name=Falling Block
+
+entity.Minecart.name=Minecart
+entity.Boat.name=Boat
+
+entity.Arrow.name=arrow
+entity.generic.name=unknown
+
+death.fell.accident.ladder=%1$s fell off a ladder
+death.fell.accident.vines=%1$s fell off some vines
+death.fell.accident.water=%1$s fell out of the water
+death.fell.accident.generic=%1$s fell from a high place
+death.fell.killer=%1$s was doomed to fall
+death.fell.assist=%1$s was doomed to fall by %2$s
+death.fell.assist.item=%1$s was doomed to fall by %2$s using %3$s
+death.fell.finish=%1$s fell too far and was finished by %2$s
+death.fell.finish.item=%1$s fell too far and was finished by %2$s using %3$s
+
+death.attack.inFire=%1$s went up in flames
+death.attack.inFire.player=%1$s walked into fire whilst fighting %2$s
+death.attack.onFire=%1$s burned to death
+death.attack.onFire.player=%1$s was burnt to a crisp whilst fighting %2$s
+death.attack.lava=%1$s tried to swim in lava
+death.attack.lava.player=%1$s tried to swim in lava to escape %2$s
+death.attack.inWall=%1$s suffocated in a wall
+death.attack.drown=%1$s drowned
+death.attack.drown.player=%1$s drowned whilst trying to escape %2$s
+death.attack.starve=%1$s starved to death
+death.attack.cactus=%1$s was pricked to death
+death.attack.cactus.player=%1$s walked into a cactus whilst trying to escape %2$s
+death.attack.generic=%1$s died
+death.attack.explosion=%1$s blew up
+death.attack.explosion.player=%1$s was blown up by %2$s
+death.attack.magic=%1$s was killed by magic
+death.attack.wither=%1$s withered away
+death.attack.anvil=%1$s was squashed by a falling anvil
+death.attack.fallingBlock=%1$s was squashed by a falling block
+death.attack.mob=%1$s was slain by %2$s
+death.attack.player=%1$s was slain by %2$s
+death.attack.player.item=%1$s was slain by %2$s using %3$s
+death.attack.arrow=%1$s was shot by %2$s
+death.attack.arrow.item=%1$s was shot by %2$s using %3$s
+death.attack.fireball=%1$s was fireballed by %2$s
+death.attack.fireball.item=%1$s was fireballed by %2$s using %3$s
+death.attack.thrown=%1$s was pummeled by %2$s
+death.attack.thrown.item=%1$s was pummeled by %2$s using %3$s
+death.attack.indirectMagic=%1$s was killed by %2$s using magic
+death.attack.indirectMagic.item=%1$s was killed by %2$s using %3$s
+death.attack.thorns=%1$s was killed trying to hurt %2$s
+death.attack.fall=%1$s hit the ground too hard
+death.attack.outOfWorld=%1$s fell out of the world
+
+deathScreen.respawn=Respawn
+deathScreen.deleteWorld=Delete world
+deathScreen.titleScreen=Title screen
+deathScreen.score=Score
+deathScreen.title.hardcore=Game over!
+deathScreen.hardcoreInfo=You cannot respawn in hardcore mode!
+deathScreen.title=You died!
+deathScreen.leaveServer=Leave server
+
+potion.effects.whenDrank=When Applied:
+potion.empty=No Effects
+potion.moveSpeed=Speed
+potion.moveSlowdown=Slowness
+potion.digSpeed=Haste
+potion.digSlowDown=Mining Fatigue
+potion.damageBoost=Strength
+potion.weakness=Weakness
+potion.heal=Instant Health
+potion.harm=Instant Damage
+potion.jump=Jump Boost
+potion.confusion=Nausea
+potion.regeneration=Regeneration
+potion.resistance=Resistance
+potion.fireResistance=Fire Resistance
+potion.waterBreathing=Water Breathing
+potion.invisibility=Invisibility
+potion.blindness=Blindness
+potion.nightVision=Night Vision
+potion.hunger=Hunger
+potion.poison=Poison
+potion.wither=Wither
+potion.healthBoost=Health Boost
+potion.absorption=Absorption
+potion.saturation=Saturation
+
+potion.moveSpeed.postfix=Potion of Swiftness
+potion.moveSlowdown.postfix=Potion of Slowness
+potion.digSpeed.postfix=Potion of Haste
+potion.digSlowDown.postfix=Potion of Dullness
+potion.damageBoost.postfix=Potion of Strength
+potion.weakness.postfix=Potion of Weakness
+potion.heal.postfix=Potion of Healing
+potion.harm.postfix=Potion of Harming
+potion.jump.postfix=Potion of Leaping
+potion.confusion.postfix=Potion of Nausea
+potion.regeneration.postfix=Potion of Regeneration
+potion.resistance.postfix=Potion of Resistance
+potion.fireResistance.postfix=Potion of Fire Resistance
+potion.waterBreathing.postfix=Potion of Water Breathing
+potion.invisibility.postfix=Potion of Invisibility
+potion.blindness.postfix=Potion of Blindness
+potion.nightVision.postfix=Potion of Night Vision
+potion.hunger.postfix=Potion of Hunger
+potion.poison.postfix=Potion of Poison
+potion.wither.postfix=Potion of Decay
+potion.healthBoost.postfix=Potion of Health Boost
+potion.absorption.postfix=Potion of Absorption
+potion.saturation.postfix=Potion of Saturation
+
+potion.potency.0=
+potion.potency.1=II
+potion.potency.2=III
+potion.potency.3=IV
+
+potion.prefix.grenade=Splash
+potion.prefix.mundane=Mundane
+potion.prefix.uninteresting=Uninteresting
+potion.prefix.bland=Bland
+potion.prefix.clear=Clear
+potion.prefix.milky=Milky
+potion.prefix.diffuse=Diffuse
+potion.prefix.artless=Artless
+potion.prefix.thin=Thin
+potion.prefix.awkward=Awkward
+potion.prefix.flat=Flat
+potion.prefix.bulky=Bulky
+potion.prefix.bungling=Bungling
+potion.prefix.buttered=Buttered
+potion.prefix.smooth=Smooth
+potion.prefix.suave=Suave
+potion.prefix.debonair=Debonair
+potion.prefix.thick=Thick
+potion.prefix.elegant=Elegant
+potion.prefix.fancy=Fancy
+potion.prefix.charming=Charming
+potion.prefix.dashing=Dashing
+potion.prefix.refined=Refined
+potion.prefix.cordial=Cordial
+potion.prefix.sparkling=Sparkling
+potion.prefix.potent=Potent
+potion.prefix.foul=Foul
+potion.prefix.odorless=Odorless
+potion.prefix.rank=Rank
+potion.prefix.harsh=Harsh
+potion.prefix.acrid=Acrid
+potion.prefix.gross=Gross
+potion.prefix.stinky=Stinky
+
+enchantment.damage.all=Sharpness
+enchantment.damage.undead=Smite
+enchantment.damage.arthropods=Bane of Arthropods
+enchantment.knockback=Knockback
+enchantment.fire=Fire Aspect
+enchantment.protect.all=Protection
+enchantment.protect.fire=Fire Protection
+enchantment.protect.fall=Feather Falling
+enchantment.protect.explosion=Blast Protection
+enchantment.protect.projectile=Projectile Protection
+enchantment.oxygen=Respiration
+enchantment.waterWorker=Aqua Affinity
+enchantment.digging=Efficiency
+enchantment.untouching=Silk Touch
+enchantment.durability=Unbreaking
+enchantment.lootBonus=Looting
+enchantment.lootBonusDigger=Fortune
+enchantment.arrowDamage=Power
+enchantment.arrowFire=Flame
+enchantment.arrowKnockback=Punch
+enchantment.arrowInfinite=Infinity
+enchantment.thorns=Thorns
+
+enchantment.level.1=I
+enchantment.level.2=II
+enchantment.level.3=III
+enchantment.level.4=IV
+enchantment.level.5=V
+enchantment.level.6=VI
+enchantment.level.7=VII
+enchantment.level.8=VIII
+enchantment.level.9=IX
+enchantment.level.10=X
+
+gui.achievements=Achievements
+gui.stats=Statistics
+
+stat.generalButton=General
+stat.blocksButton=Blocks
+stat.itemsButton=Items
+
+stat.used=Times Used
+stat.mined=Times Mined
+stat.depleted=Times Depleted
+stat.crafted=Times Crafted
+
+stat.startGame=Times played
+stat.createWorld=Worlds created
+stat.loadWorld=Saves loaded
+stat.joinMultiplayer=Multiplayer joins
+stat.leaveGame=Games quit
+
+stat.playOneMinute=Minutes Played
+
+stat.walkOneCm=Distance Walked
+stat.fallOneCm=Distance Fallen
+stat.swimOneCm=Distance Swum
+stat.flyOneCm=Distance Flown
+stat.climbOneCm=Distance Climbed
+stat.diveOneCm=Distance Dove
+stat.minecartOneCm=Distance by Minecart
+stat.boatOneCm=Distance by Boat
+stat.pigOneCm=Distance by Pig
+stat.jump=Jumps
+stat.drop=Items Dropped
+
+stat.damageDealt=Damage Dealt
+stat.damageTaken=Damage Taken
+stat.deaths=Number of Deaths
+stat.mobKills=Mob Kills
+stat.playerKills=Player Kills
+stat.fishCaught=Fish Caught
+
+stat.mineBlock=%1$s Mined
+stat.craftItem=%1$s Crafted
+stat.useItem=%1$s Used
+stat.breakItem=%1$s Depleted
+
+achievement.get=Achievement get!
+
+achievement.taken=Taken!
+
+achievement.requires=Requires '%1$s'
+achievement.openInventory=Taking Inventory
+achievement.openInventory.desc=Press '%1$s' to open your inventory.
+achievement.mineWood=Getting Wood
+achievement.mineWood.desc=Attack a tree until a block of wood pops out
+achievement.buildWorkBench=Benchmarking
+achievement.buildWorkBench.desc=Craft a workbench with four blocks of planks
+achievement.buildPickaxe=Time to Mine!
+achievement.buildPickaxe.desc=Use planks and sticks to make a pickaxe
+achievement.buildFurnace=Hot Topic
+achievement.buildFurnace.desc=Construct a furnace out of eight stone blocks
+achievement.acquireIron=Acquire Hardware
+achievement.acquireIron.desc=Smelt an iron ingot
+achievement.buildHoe=Time to Farm!
+achievement.buildHoe.desc=Use planks and sticks to make a hoe
+achievement.makeBread=Bake Bread
+achievement.makeBread.desc=Turn wheat into bread
+achievement.bakeCake=The Lie
+achievement.bakeCake.desc=Wheat, sugar, milk and eggs!
+achievement.buildBetterPickaxe=Getting an Upgrade
+achievement.buildBetterPickaxe.desc=Construct a better pickaxe
+achievement.cookFish=Delicious Fish
+achievement.cookFish.desc=Catch and cook fish!
+achievement.onARail=On A Rail
+achievement.onARail.desc=Travel by minecart at least 1 km from where you started
+achievement.buildSword=Time to Strike!
+achievement.buildSword.desc=Use planks and sticks to make a sword
+achievement.killEnemy=Monster Hunter
+achievement.killEnemy.desc=Attack and destroy a monster
+achievement.killCow=Cow Tipper
+achievement.killCow.desc=Harvest some leather
+achievement.flyPig=When Pigs Fly
+achievement.flyPig.desc=Fly a pig off a cliff
+achievement.snipeSkeleton=Sniper Duel
+achievement.snipeSkeleton.desc=Kill a skeleton with an arrow from more than 50 meters
+achievement.diamonds=DIAMONDS!
+achievement.diamonds.desc=Acquire diamonds with your iron tools
+achievement.portal=We Need to Go Deeper
+achievement.portal.desc=Build a portal to the Nether
+achievement.ghast=Return to Sender
+achievement.ghast.desc=Destroy a Ghast with a fireball
+achievement.blazeRod=Into Fire
+achievement.blazeRod.desc=Relieve a Blaze of its rod
+achievement.potion=Local Brewery
+achievement.potion.desc=Brew a potion
+achievement.theEnd=The End?
+achievement.theEnd.desc=Locate the End
+achievement.theEnd2=The End.
+achievement.theEnd2.desc=Defeat the Ender Dragon
+achievement.enchantments=Enchanter
+achievement.enchantments.desc=Use a book, obsidian and diamonds to construct an enchantment table
+achievement.overkill=Overkill
+achievement.overkill.desc=Deal eight hearts of damage in a single hit
+achievement.bookcase=Librarian
+achievement.bookcase.desc=Build some bookshelves to improve your enchantment table
+
+commands.generic.exception=An unknown error occurred while attempting to perform this command
+commands.generic.permission=You do not have permission to use this command
+commands.generic.syntax=Invalid command syntax
+commands.generic.player.notFound=That player cannot be found
+commands.generic.notFound=Unknown command. Try /help for a list of commands
+commands.generic.num.invalid='%s' is not a valid number
+commands.generic.boolean.invalid='%s' is not true or false
+commands.generic.num.tooSmall=The number you have entered (%d) is too small, it must be at least %d
+commands.generic.num.tooBig=The number you have entered (%d) is too big, it must be at most %d
+commands.generic.double.tooSmall=The number you have entered (%.2f) is too small, it must be at least %.2f
+commands.generic.double.tooBig=The number you have entered (%.2f) is too big, it must be at most %.2f
+commands.generic.usage=Usage: %s
+
+commands.setidletimeout.usage=/setidletimeout
+commands.setidletimeout.success=Successfully set the idle timeout to %d minutes.
+commands.xp.failure.widthdrawXp=Cannot give player negative experience points
+commands.xp.success=Given %d experience to %s
+commands.xp.success.levels=Given %d levels to %s
+commands.xp.success.negative.levels=Taken %d levels from %s
+commands.xp.usage=/xp [player] OR /xp L [player]
+commands.playsound.usage=/playsound [x] [y] [z] [volume] [pitch] [minimumVolume]
+commands.playsound.success=Played sound '%s' to %s
+commands.playsound.playerTooFar=Player %s is too far away to hear the sound
+commands.give.usage=/give - [amount] [data]
+commands.give.notFound=There is no such item with ID %d
+commands.give.success=Given %s (ID %d) * %d to %s
+commands.effect.usage=/effect [seconds] [amplifier]
+commands.effect.notFound=There is no such mob effect with ID %d
+commands.effect.success=Given %1$s (ID %2$d) * %3$d to %4$s for %5$d seconds
+commands.effect.success.removed=Took %1$s from %2$s
+commands.effect.success.removed.all=Took all effects from %s
+commands.effect.failure.notActive=Couldn't take %1$s from %2$s as they do not have the effect
+commands.effect.failure.notActive.all=Couldn't take any effects from %s as they do not have any
+commands.enchant.usage=/enchant [level]
+commands.enchant.notFound=There is no such enchantment with ID %d
+commands.enchant.noItem=The target doesn't hold an item
+commands.enchant.cantEnchant=The selected enchantment can't be added to the target item
+commands.enchant.cantCombine=%1$s can't be combined with %2$s
+commands.enchant.success=Enchanting succeeded
+commands.clear.usage=/clear [item] [data]
+commands.clear.success=Cleared the inventory of %s, removing %d items
+commands.clear.failure=Could not clear the inventory of %s, no items to remove
+commands.downfall.usage=/toggledownfall
+commands.downfall.success=Toggled downfall
+commands.time.usage=/time
+commands.time.added=Added %d to the time
+commands.time.set=Set the time to %d
+commands.players.usage=/list
+commands.players.list=There are %d/%d players online:
+commands.banlist.ips=There are %d total banned IP addresses:
+commands.banlist.players=There are %d total banned players:
+commands.banlist.usage=/banlist [ips|players]
+commands.kill.usage=/kill
+commands.kill.success=Ouch! That looked like it hurt
+commands.kick.success=Kicked %s from the game
+commands.kick.success.reason=Kicked %s from the game: '%s'
+commands.kick.usage=/kick [reason ...]
+commands.op.success=Opped %s
+commands.op.usage=/op
+commands.deop.success=De-opped %s
+commands.deop.usage=/deop
+commands.say.usage=/say
+commands.ban.success=Banned player %s
+commands.ban.usage=/ban [reason ...]
+commands.unban.success=Unbanned player %s
+commands.unban.usage=/pardon
+commands.banip.invalid=You have entered an invalid IP address or a player that is not online
+commands.banip.success=Banned IP address %s
+commands.banip.success.players=Banned IP address %s belonging to %s
+commands.banip.usage=/ban-ip [reason ...]
+commands.unbanip.invalid=You have entered an invalid IP address
+commands.unbanip.success=Unbanned IP address %s
+commands.unbanip.usage=/pardon-ip
+commands.save.usage=/save-all
+commands.save-on.alreadyOn=Saving is already turned on.
+commands.save-on.usage=/save-on
+commands.save-off.alreadyOff=Saving is already turned off.
+commands.save-off.usage=/save-off
+commands.save.enabled=Turned on world auto-saving
+commands.save.disabled=Turned off world auto-saving
+commands.save.start=Saving...
+commands.save.success=Saved the world
+commands.save.failed=Saving failed: %s
+commands.stop.usage=/stop
+commands.stop.start=Stopping the server
+commands.tp.success=Teleported %s to %s
+commands.tp.success.coordinates=Teleported %s to %.2f,%.2f,%.2f
+commands.tp.usage=/tp [target player] OR /tp [target player]
+commands.tp.notSameDimension=Unable to teleport because players are not in the same dimension
+commands.whitelist.list=There are %d (out of %d seen) whitelisted players:
+commands.whitelist.enabled=Turned on the whitelist
+commands.whitelist.disabled=Turned off the whitelist
+commands.whitelist.reloaded=Reloaded the whitelist
+commands.whitelist.add.success=Added %s to the whitelist
+commands.whitelist.add.usage=/whitelist add
+commands.whitelist.remove.success=Removed %s from the whitelist
+commands.whitelist.remove.usage=/whitelist remove
+commands.whitelist.usage=/whitelist
+commands.scoreboard.usage=/scoreboard
+commands.scoreboard.teamNotFound=No team was found by the name '%s'
+commands.scoreboard.objectiveNotFound=No objective was found by the name '%s'
+commands.scoreboard.objectiveReadOnly=The objective '%s' is read-only and cannot be set
+commands.scoreboard.objectives.usage=/scoreboard objectives
+commands.scoreboard.objectives.setdisplay.usage=/scoreboard objectives setdisplay [objective]
+commands.scoreboard.objectives.setdisplay.invalidSlot=No such display slot '%s'
+commands.scoreboard.objectives.setdisplay.successCleared=Cleared objective display slot '%s'
+commands.scoreboard.objectives.setdisplay.successSet=Set the display objective in slot '%s' to '%s'
+commands.scoreboard.objectives.add.usage=/scoreboard objectives add [display name ...]
+commands.scoreboard.objectives.add.wrongType=Invalid objective criteria type. Valid types are: %s
+commands.scoreboard.objectives.add.alreadyExists=An objective with the name '%s' already exists
+commands.scoreboard.objectives.add.tooLong=The name '%s' is too long for an objective, it can be at most %d characters long
+commands.scoreboard.objectives.add.displayTooLong=The display name '%s' is too long for an objective, it can be at most %d characters long
+commands.scoreboard.objectives.add.success=Added new objective '%s' successfully
+commands.scoreboard.objectives.remove.usage=/scoreboard objectives remove
+commands.scoreboard.objectives.remove.success=Removed objective '%s' successfully
+commands.scoreboard.objectives.list.count=Showing %d objective(s) on scoreboard
+commands.scoreboard.objectives.list.entry=- %s: displays as '%s' and is type '%s'
+commands.scoreboard.objectives.list.empty=There are no objectives on the scoreboard
+commands.scoreboard.players.usage=/scoreboard players
+commands.scoreboard.players.set.success=Set score of %s for player %s to %d
+commands.scoreboard.players.set.usage=/scoreboard players set
+commands.scoreboard.players.add.usage=/scoreboard players add
+commands.scoreboard.players.remove.usage=/scoreboard players remove
+commands.scoreboard.players.reset.usage=/scoreboard players reset
+commands.scoreboard.players.reset.success=Reset all scores of player %s
+commands.scoreboard.players.list.count=Showing %d tracked players on the scoreboard
+commands.scoreboard.players.list.empty=There are no tracked players on the scoreboard
+commands.scoreboard.players.list.player.count=Showing %d tracked objective(s) for %s
+commands.scoreboard.players.list.player.entry=- %2$s: %1$d (%3$s)
+commands.scoreboard.players.list.player.empty=Player %s has no scores recorded
+commands.scoreboard.teams.usage=/scoreboard teams
+commands.scoreboard.teams.add.usage=/scoreboard teams add [display name ...]
+commands.scoreboard.teams.add.alreadyExists=A team with the name '%s' already exists
+commands.scoreboard.teams.add.tooLong=The name '%s' is too long for a team, it can be at most %d characters long
+commands.scoreboard.teams.add.displayTooLong=The display name '%s' is too long for a team, it can be at most %d characters long
+commands.scoreboard.teams.add.success=Added new team '%s' successfully
+commands.scoreboard.teams.list.usage=/scoreboard teams list [name]
+commands.scoreboard.teams.list.count=Showing %d teams on the scoreboard
+commands.scoreboard.teams.list.entry=- %1$s: '%2$s' has %3$d players
+commands.scoreboard.teams.list.empty=There are no teams registered on the scoreboard
+commands.scoreboard.teams.list.player.count=Showing %d player(s) in team %s
+commands.scoreboard.teams.list.player.entry=- %2$s: %1$d (%3$s)
+commands.scoreboard.teams.list.player.empty=Team %s has no players
+commands.scoreboard.teams.empty.usage=/scoreboard teams clear
+commands.scoreboard.teams.empty.alreadyEmpty=Team %s is already empty, cannot remove nonexistant players
+commands.scoreboard.teams.empty.success=Removed all %d player(s) from team %s
+commands.scoreboard.teams.remove.usage=/scoreboard teams remove
+commands.scoreboard.teams.remove.success=Removed team %s
+commands.scoreboard.teams.join.usage=/scoreboard teams join [player]
+commands.scoreboard.teams.join.success=Added %d player(s) to team %s: %s
+commands.scoreboard.teams.join.failure=Could not add %d player(s) to team %s: %s
+commands.scoreboard.teams.leave.usage=/scoreboard teams leave [player]
+commands.scoreboard.teams.leave.success=Removed %d player(s) from their teams: %s
+commands.scoreboard.teams.leave.failure=Could not remove %d player(s) from their teams: %s
+commands.scoreboard.teams.leave.noTeam=You are not in a team
+commands.scoreboard.teams.option.usage=/scoreboard teams option
+commands.scoreboard.teams.option.noValue=Valid values for option %s are: %s
+commands.scoreboard.teams.option.success=Set option %s for team %s to %s
+commands.gamemode.success.self=Set own game mode to %s
+commands.gamemode.success.other=Set %s's game mode to %s
+commands.gamemode.usage=/gamemode [player]
+commands.defaultgamemode.usage=/defaultgamemode
+commands.defaultgamemode.success=The world's default game mode is now %s
+commands.me.usage=/me
+commands.help.header=--- Showing help page %d of %d (/help ) ---
+commands.help.footer=Tip: Use the key while typing a command to auto-complete the command or its arguments
+commands.help.usage=/help [page|command name]
+commands.publish.usage=/publish
+commands.publish.started=Local game hosted on port %s
+commands.publish.failed=Unable to host local game
+commands.debug.start=Started debug profiling
+commands.debug.stop=Stopped debug profiling after %.2f seconds (%d ticks)
+commands.debug.notStarted=Can't stop profiling when we haven't started yet!
+commands.debug.usage=/debug
+commands.message.usage=/tell
+commands.message.sameTarget=You can't send a private message to yourself!
+commands.message.display.outgoing=You whisper to %s: %s
+commands.message.display.incoming=%s whispers to you: %s
+commands.difficulty.usage=/difficulty
+commands.difficulty.success=Set game difficulty to %s
+commands.spawnpoint.usage=/spawnpoint OR /spawnpoint OR /spawnpoint
+commands.spawnpoint.success=Set %s's spawn point to (%d, %d, %d)
+commands.gamerule.usage=/gamerule OR /gamerule
+commands.gamerule.success=Game rule has been updated
+commands.gamerule.norule=No game rule called '%s' is available
+commands.weather.usage=/weather [duration in seconds]
+commands.weather.clear=Changing to clear weather
+commands.weather.rain=Changing to rainy weather
+commands.weather.thunder=Changing to rain and thunder
+commands.testfor.usage=/testfor
+commands.testfor.failed=/testfor is only usable by commandblocks with analog output
+commands.seed.usage=/seed
+commands.seed.success=Seed: %s
+commands.spreadplayers.usage=/spreadplayers
+commands.spreadplayers.spreading.teams=Spreading %s teams %s blocks around %s,%s (min %s blocks apart)
+commands.spreadplayers.spreading.players=Spreading %s players %s blocks around %s,%s (min %s blocks apart)
+commands.spreadplayers.success.teams=Successfully spread %s teams around %s,%s
+commands.spreadplayers.success.players=Successfully spread %s players around %s,%s
+commands.spreadplayers.info.teams=(Average distance between teams is %s blocks apart after %s iterations)
+commands.spreadplayers.info.players=(Average distance between players is %s blocks apart after %s iterations)
+commands.spreadplayers.failure.teams=Could not spread %s teams around %s,%s (too many players for space - try using spread of at most %s)
+commands.spreadplayers.failure.players=Could not spread %s players around %s,%s (too many players for space - try using spread of at most %s)
+
+itemGroup.buildingBlocks=Building Blocks
+itemGroup.decorations=Decoration Blocks
+itemGroup.redstone=Redstone
+itemGroup.transportation=Transportation
+itemGroup.misc=Miscellaneous
+itemGroup.search=Search Items
+itemGroup.food=Foodstuffs
+itemGroup.tools=Tools
+itemGroup.combat=Combat
+itemGroup.brewing=Brewing
+itemGroup.materials=Materials
+itemGroup.inventory=Survival Inventory
+
+inventory.binSlot=Destroy Item
+
+advMode.setCommand=Set Console Command for Block
+advMode.setCommand.success=Command set: %s
+advMode.command=Console Command
+advMode.nearestPlayer=Use "@p" to target nearest player
+advMode.randomPlayer=Use "@r" to target random player
+advMode.allPlayers=Use "@a" to target all players
+
+advMode.notEnabled=Command blocks are not enabled on this server
+advMode.notAllowed=Must be an opped player in creative mode
+
+mco.isRealmsRelatedCode=null
+
+build.tooHigh=Height limit for building is %s blocks
+
+attribute.modifier.plus.0=+%d %s
+attribute.modifier.plus.1=+%d%% %s
+attribute.modifier.plus.2=+%d%% %s
+attribute.modifier.take.0=-%d %s
+attribute.modifier.take.1=-%d%% %s
+attribute.modifier.take.2=-%d%% %s
+
+attribute.name.horse.jumpStrength=Horse Jump Strength
+attribute.name.zombie.spawnReinforcements=Zombie Reinforcements
+attribute.name.generic.maxHealth=Max Health
+attribute.name.generic.followRange=Mob Follow Range
+attribute.name.generic.knockbackResistance=Knockback Resistance
+attribute.name.generic.movementSpeed=Speed
+attribute.name.generic.attackDamage=Attack Damage
diff --git a/lwjgl-rundir/resources/pack.txt b/lwjgl-rundir/resources/pack.txt
new file mode 100644
index 0000000..c14bb3b
--- /dev/null
+++ b/lwjgl-rundir/resources/pack.txt
@@ -0,0 +1,2 @@
+The default look of Minecraft
+
diff --git a/lwjgl-rundir/resources/texts/credits.txt b/lwjgl-rundir/resources/texts/credits.txt
new file mode 100644
index 0000000..ff582fc
--- /dev/null
+++ b/lwjgl-rundir/resources/texts/credits.txt
@@ -0,0 +1,66 @@
+[C]§f===============
+[C]§eMinecraft Credits
+[C]§f===============
+
+§7Created by:
+§f Markus Persson
+
+§7Game design, programming and graphics:
+§f Markus Persson
+§f Jens Bergensten
+§f Nathan Adams
+
+§7Programming:
+§f Erik Broes
+
+§7Music and sound:
+§f Daniel Rosenfeld
+
+§7Ingame artwork and paintings:
+§f Kristoffer Zetterstrand
+
+§7End game narrative:
+§f Julian Gough
+
+§7Website development:
+§f Tobias Möllstam
+§f Daniel Frisk
+§f Leonard Axelsson
+§f Jens Bergensten
+§f Markus Persson
+
+§7Logo and promotional artwork:
+§f Markus Toivonen
+
+§7Business and administration:
+§f Carl Manneh
+§f Daniel Kaplan
+
+§7Director of fun:
+§f Lydia Winters
+
+§7Number crunching and statistics:
+§f Patrick Geuder
+
+§7Additional programming:
+§f Paul Spooner
+§f Ryan 'Scaevolus' Hitchman
+§f Elliot 'Hippoplatimus' Segal
+
+§7Developers of Mo' Creatures (horses etc):
+§f John Olarte (DrZhark)
+§f Kent Christian Jensen
+§f Dan Roque
+
+§7Technologies used:
+§f Java by Oracle
+§f LWJGL by many talented people
+§f "3d Sound System" by Paul Lamb
+§f JOrbis by JCraft
+
+
+
+
+
+
+§f"Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover." §7- Unknown
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/texts/end.txt b/lwjgl-rundir/resources/texts/end.txt
new file mode 100644
index 0000000..675775d
--- /dev/null
+++ b/lwjgl-rundir/resources/texts/end.txt
@@ -0,0 +1,151 @@
+§3I see the player you mean.
+
+§2PLAYERNAME?
+
+§3Yes. Take care. It has reached a higher level now. It can read our thoughts.
+
+§2That doesn't matter. It thinks we are part of the game.
+
+§3I like this player. It played well. It did not give up.
+
+§2It is reading our thoughts as though they were words on a screen.
+
+§3That is how it chooses to imagine many things, when it is deep in the dream of a game.
+
+§2Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen.
+
+§3They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons.
+
+§2What did this player dream?
+
+§3This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
+
+§2Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
+
+§3It worked, with a million others, to sculpt a true world in a fold of the §f§k§a§b§3, and created a §f§k§a§b§3 for §f§k§a§b§3, in the §f§k§a§b§3.
+
+§2It cannot read that thought.
+
+§3No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
+
+§2Does it know that we love it? That the universe is kind?
+
+§3Sometimes, through the noise of its thoughts, it hears the universe, yes.
+
+§2But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality.
+
+§3To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere.
+
+§2Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear.
+
+§3It reads our thoughts.
+
+§2Sometimes I do not care. Sometimes I wish to tell them, this world you take for truth is merely §f§k§a§b§2 and §f§k§a§b§2, I wish to tell them that they are §f§k§a§b§2 in the §f§k§a§b§2. They see so little of reality, in their long dream.
+
+§3And yet they play the game.
+
+§2But it would be so easy to tell them...
+
+§3Too strong for this dream. To tell them how to live is to prevent them living.
+
+§2I will not tell the player how to live.
+
+§3The player is growing restless.
+
+§2I will tell the player a story.
+
+§3But not the truth.
+
+§2No. A story that contains the truth safely, in a cage of words. Not the naked truth that can burn over any distance.
+
+§3Give it a body, again.
+
+§2Yes. Player...
+
+§3Use its name.
+
+§2PLAYERNAME. Player of games.
+
+§3Good.
+
+§2Take a breath, now. Take another. Feel air in your lungs. Let your limbs return. Yes, move your fingers. Have a body again, under gravity, in air. Respawn in the long dream. There you are. Your body touching the universe again at every point, as though you were separate things. As though we were separate things.
+
+§3Who are we? Once we were called the spirit of the mountain. Father sun, mother moon. Ancestral spirits, animal spirits. Jinn. Ghosts. The green man. Then gods, demons. Angels. Poltergeists. Aliens, extraterrestrials. Leptons, quarks. The words change. We do not change.
+
+§2We are the universe. We are everything you think isn't you. You are looking at us now, through your skin and your eyes. And why does the universe touch your skin, and throw light on you? To see you, player. To know you. And to be known. I shall tell you a story.
+
+§2Once upon a time, there was a player.
+
+§3The player was you, PLAYERNAME.
+
+§2Sometimes it thought itself human, on the thin crust of a spinning globe of molten rock. The ball of molten rock circled a ball of blazing gas that was three hundred and thirty thousand times more massive than it. They were so far apart that light took eight minutes to cross the gap. The light was information from a star, and it could burn your skin from a hundred and fifty million kilometres away.
+
+§2Sometimes the player dreamed it was a miner, on the surface of a world that was flat, and infinite. The sun was a square of white. The days were short; there was much to do; and death was a temporary inconvenience.
+
+§3Sometimes the player dreamed it was lost in a story.
+
+§2Sometimes the player dreamed it was other things, in other places. Sometimes these dreams were disturbing. Sometimes very beautiful indeed. Sometimes the player woke from one dream into another, then woke from that into a third.
+
+§3Sometimes the player dreamed it watched words on a screen.
+
+§2Let's go back.
+
+§2The atoms of the player were scattered in the grass, in the rivers, in the air, in the ground. A woman gathered the atoms; she drank and ate and inhaled; and the woman assembled the player, in her body.
+
+§2And the player awoke, from the warm, dark world of its mother's body, into the long dream.
+
+§2And the player was a new story, never told before, written in letters of DNA. And the player was a new program, never run before, generated by a sourcecode a billion years old. And the player was a new human, never alive before, made from nothing but milk and love.
+
+§3You are the player. The story. The program. The human. Made from nothing but milk and love.
+
+§2Let's go further back.
+
+§2The seven billion billion billion atoms of the player's body were created, long before this game, in the heart of a star. So the player, too, is information from a star. And the player moves through a story, which is a forest of information planted by a man called Julian, on a flat, infinite world created by a man called Markus, that exists inside a small, private world created by the player, who inhabits a universe created by...
+
+§3Shush. Sometimes the player created a small, private world that was soft and warm and simple. Sometimes hard, and cold, and complicated. Sometimes it built a model of the universe in its head; flecks of energy, moving through vast empty spaces. Sometimes it called those flecks "electrons" and "protons".
+
+§2Sometimes it called them "planets" and "stars".
+
+§2Sometimes it believed it was in a universe that was made of energy that was made of offs and ons; zeros and ones; lines of code. Sometimes it believed it was playing a game. Sometimes it believed it was reading words on a screen.
+
+§3You are the player, reading words...
+
+§2Shush... Sometimes the player read lines of code on a screen. Decoded them into words; decoded words into meaning; decoded meaning into feelings, emotions, theories, ideas, and the player started to breathe faster and deeper and realised it was alive, it was alive, those thousand deaths had not been real, the player was alive
+
+§3You. You. You are alive.
+
+§2and sometimes the player believed the universe had spoken to it through the sunlight that came through the shuffling leaves of the summer trees
+
+§3and sometimes the player believed the universe had spoken to it through the light that fell from the crisp night sky of winter, where a fleck of light in the corner of the player's eye might be a star a million times as massive as the sun, boiling its planets to plasma in order to be visible for a moment to the player, walking home at the far side of the universe, suddenly smelling food, almost at the familiar door, about to dream again
+
+§2and sometimes the player believed the universe had spoken to it through the zeros and ones, through the electricity of the world, through the scrolling words on a screen at the end of a dream
+
+§3and the universe said I love you
+
+§2and the universe said you have played the game well
+
+§3and the universe said everything you need is within you
+
+§2and the universe said you are stronger than you know
+
+§3and the universe said you are the daylight
+
+§2and the universe said you are the night
+
+§3and the universe said the darkness you fight is within you
+
+§2and the universe said the light you seek is within you
+
+§3and the universe said you are not alone
+
+§2and the universe said you are not separate from every other thing
+
+§3and the universe said you are the universe tasting itself, talking to itself, reading its own code
+
+§2and the universe said I love you because you are love.
+
+§3And the game was over and the player woke up from the dream. And the player began a new dream. And the player dreamed again, dreamed better. And the player was the universe. And the player was love.
+
+§3You are the player.
+
+§2Wake up.
diff --git a/lwjgl-rundir/resources/texts/splashes.txt b/lwjgl-rundir/resources/texts/splashes.txt
new file mode 100644
index 0000000..72edd20
--- /dev/null
+++ b/lwjgl-rundir/resources/texts/splashes.txt
@@ -0,0 +1,320 @@
+As seen on TV!
+Awesome!
+100% pure!
+May contain nuts!
+Better than Prey!
+More polygons!
+Sexy!
+Limited edition!
+Flashing letters!
+Made by Notch!
+It's here!
+Best in class!
+It's finished!
+Kind of dragon free!
+Excitement!
+More than 500 sold!
+One of a kind!
+Heaps of hits on YouTube!
+Indev!
+Spiders everywhere!
+Check it out!
+Holy cow, man!
+It's a game!
+Made in Sweden!
+Uses LWJGL!
+Reticulating splines!
+Minecraft!
+Yaaay!
+Singleplayer!
+Keyboard compatible!
+Undocumented!
+Ingots!
+Exploding creepers!
+That's no moon!
+l33t!
+Create!
+Survive!
+Dungeon!
+Exclusive!
+The bee's knees!
+Down with O.P.P.!
+Closed source!
+Classy!
+Wow!
+Not on steam!
+Oh man!
+Awesome community!
+Pixels!
+Teetsuuuuoooo!
+Kaaneeeedaaaa!
+Now with difficulty!
+Enhanced!
+90% bug free!
+Pretty!
+12 herbs and spices!
+Fat free!
+Absolutely no memes!
+Free dental!
+Ask your doctor!
+Minors welcome!
+Cloud computing!
+Legal in Finland!
+Hard to label!
+Technically good!
+Bringing home the bacon!
+Indie!
+GOTY!
+Ceci n'est pas une title screen!
+Euclidian!
+Now in 3D!
+Inspirational!
+Herregud!
+Complex cellular automata!
+Yes, sir!
+Played by cowboys!
+OpenGL 1.2!
+Thousands of colors!
+Try it!
+Age of Wonders is better!
+Try the mushroom stew!
+Sensational!
+Hot tamale, hot hot tamale!
+Play him off, keyboard cat!
+Guaranteed!
+Macroscopic!
+Bring it on!
+Random splash!
+Call your mother!
+Monster infighting!
+Loved by millions!
+Ultimate edition!
+Freaky!
+You've got a brand new key!
+Water proof!
+Uninflammable!
+Whoa, dude!
+All inclusive!
+Tell your friends!
+NP is not in P!
+Notch <3 ez!
+Music by C418!
+Livestreamed!
+Haunted!
+Polynomial!
+Terrestrial!
+All is full of love!
+Full of stars!
+Scientific!
+Cooler than Spock!
+Collaborate and listen!
+Never dig down!
+Take frequent breaks!
+Not linear!
+Han shot first!
+Nice to meet you!
+Buckets of lava!
+Ride the pig!
+Larger than Earth!
+sqrt(-1) love you!
+Phobos anomaly!
+Punching wood!
+Falling off cliffs!
+0% sugar!
+150% hyperbole!
+Synecdoche!
+Let's danec!
+Seecret Friday update!
+Reference implementation!
+Lewd with two dudes with food!
+Kiss the sky!
+20 GOTO 10!
+Verlet intregration!
+Peter Griffin!
+Do not distribute!
+Cogito ergo sum!
+4815162342 lines of code!
+A skeleton popped out!
+The Work of Notch!
+The sum of its parts!
+BTAF used to be good!
+I miss ADOM!
+umop-apisdn!
+OICU812!
+Bring me Ray Cokes!
+Finger-licking!
+Thematic!
+Pneumatic!
+Sublime!
+Octagonal!
+Une baguette!
+Gargamel plays it!
+Rita is the new top dog!
+SWM forever!
+Representing Edsbyn!
+Matt Damon!
+Supercalifragilisticexpialidocious!
+Consummate V's!
+Cow Tools!
+Double buffered!
+Fan fiction!
+Flaxkikare!
+Jason! Jason! Jason!
+Hotter than the sun!
+Internet enabled!
+Autonomous!
+Engage!
+Fantasy!
+DRR! DRR! DRR!
+Kick it root down!
+Regional resources!
+Woo, facepunch!
+Woo, somethingawful!
+Woo, /v/!
+Woo, tigsource!
+Woo, minecraftforum!
+Woo, worldofminecraft!
+Woo, reddit!
+Woo, 2pp!
+Google anlyticsed!
+Now supports åäö!
+Give us Gordon!
+Tip your waiter!
+Very fun!
+12345 is a bad password!
+Vote for net neutrality!
+Lives in a pineapple under the sea!
+MAP11 has two names!
+Omnipotent!
+Gasp!
+...!
+Bees, bees, bees, bees!
+Jag känner en bot!
+This text is hard to read if you play the game at the default resolution, but at 1080p it's fine!
+Haha, LOL!
+Hampsterdance!
+Switches and ores!
+Menger sponge!
+idspispopd!
+Eple (original edit)!
+So fresh, so clean!
+Slow acting portals!
+Try the Nether!
+Don't look directly at the bugs!
+Oh, ok, Pigmen!
+Finally with ladders!
+Scary!
+Play Minecraft, Watch Topgear, Get Pig!
+Twittered about!
+Jump up, jump up, and get down!
+Joel is neat!
+A riddle, wrapped in a mystery!
+Huge tracts of land!
+Welcome to your Doom!
+Stay a while, stay forever!
+Stay a while and listen!
+Treatment for your rash!
+"Autological" is!
+Information wants to be free!
+"Almost never" is an interesting concept!
+Lots of truthiness!
+The creeper is a spy!
+Turing complete!
+It's groundbreaking!
+Let our battle's begin!
+The sky is the limit!
+Jeb has amazing hair!
+Casual gaming!
+Undefeated!
+Kinda like Lemmings!
+Follow the train, CJ!
+Leveraging synergy!
+This message will never appear on the splash screen, isn't that weird?
+DungeonQuest is unfair!
+110813!
+90210!
+Check out the far lands!
+Tyrion would love it!
+Also try VVVVVV!
+Also try Super Meat Boy!
+Also try Terraria!
+Also try Mount And Blade!
+Also try Project Zomboid!
+Also try World of Goo!
+Also try Limbo!
+Also try Pixeljunk Shooter!
+Also try Braid!
+That's super!
+Bread is pain!
+Read more books!
+Khaaaaaaaaan!
+Less addictive than TV Tropes!
+More addictive than lemonade!
+Bigger than a bread box!
+Millions of peaches!
+Fnord!
+This is my true form!
+Totally forgot about Dre!
+Don't bother with the clones!
+Pumpkinhead!
+Hobo humping slobo babe!
+Made by Jeb!
+Has an ending!
+Finally complete!
+Feature packed!
+Boots with the fur!
+Stop, hammertime!
+Testificates!
+Conventional!
+Homeomorphic to a 3-sphere!
+Doesn't avoid double negatives!
+Place ALL the blocks!
+Does barrel rolls!
+Meeting expectations!
+PC gaming since 1873!
+Ghoughpteighbteau tchoghs!
+Déjà vu!
+Déjà vu!
+Got your nose!
+Haley loves Elan!
+Afraid of the big, black bat!
+Doesn't use the U-word!
+Child's play!
+See you next Friday or so!
+From the streets of Södermalm!
+150 bpm for 400000 minutes!
+Technologic!
+Funk soul brother!
+Pumpa kungen!
+日本ハロー!
+한국 안녕하세요!
+Helo Cymru!
+Cześć Polsko!
+你好中国!
+Привет Россия!
+Γεια σου Ελλάδα!
+My life for Aiur!
+Lennart lennart = new Lennart();
+I see your vocabulary has improved!
+Who put it there?
+You can't explain that!
+if not ok then return end
+§1C§2o§3l§4o§5r§6m§7a§8t§9i§ac
+§kFUNKY LOL
+SOPA means LOSER in Swedish!
+Big Pointy Teeth!
+Bekarton guards the gate!
+Mmmph, mmph!
+Don't feed avocados to parrots!
+Swords for everyone!
+Plz reply to my tweet!
+.party()!
+Take her pillow!
+Put that cookie down!
+Pretty scary!
+I have a suggestion.
+Now with extra hugs!
+Almost java 6!
+Woah.
+HURNERJSGER?
+What's up, Doc?
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/blocks/anvil_base.png b/lwjgl-rundir/resources/textures/blocks/anvil_base.png
new file mode 100644
index 0000000..cfc1fc8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/anvil_base.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_0.png b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_0.png
new file mode 100644
index 0000000..395dea4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_1.png b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_1.png
new file mode 100644
index 0000000..eddc47f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_2.png b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_2.png
new file mode 100644
index 0000000..6cade1f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/anvil_top_damaged_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/beacon.png b/lwjgl-rundir/resources/textures/blocks/beacon.png
new file mode 100644
index 0000000..a69e59d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/beacon.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_feet_end.png b/lwjgl-rundir/resources/textures/blocks/bed_feet_end.png
new file mode 100644
index 0000000..6e1a4be
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_feet_end.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_feet_side.png b/lwjgl-rundir/resources/textures/blocks/bed_feet_side.png
new file mode 100644
index 0000000..3ce06f3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_feet_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_feet_top.png b/lwjgl-rundir/resources/textures/blocks/bed_feet_top.png
new file mode 100644
index 0000000..b96d357
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_feet_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_head_end.png b/lwjgl-rundir/resources/textures/blocks/bed_head_end.png
new file mode 100644
index 0000000..b684c9a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_head_end.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_head_side.png b/lwjgl-rundir/resources/textures/blocks/bed_head_side.png
new file mode 100644
index 0000000..3270b4a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_head_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bed_head_top.png b/lwjgl-rundir/resources/textures/blocks/bed_head_top.png
new file mode 100644
index 0000000..2ab1090
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bed_head_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bedrock.png b/lwjgl-rundir/resources/textures/blocks/bedrock.png
new file mode 100644
index 0000000..1643c99
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bedrock.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/bookshelf.png b/lwjgl-rundir/resources/textures/blocks/bookshelf.png
new file mode 100644
index 0000000..4c87f0f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/bookshelf.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/brewing_stand.png b/lwjgl-rundir/resources/textures/blocks/brewing_stand.png
new file mode 100644
index 0000000..60832aa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/brewing_stand.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/brewing_stand_base.png b/lwjgl-rundir/resources/textures/blocks/brewing_stand_base.png
new file mode 100644
index 0000000..0742fbf
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/brewing_stand_base.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/brick.png b/lwjgl-rundir/resources/textures/blocks/brick.png
new file mode 100644
index 0000000..fd6959c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/brick.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cactus_bottom.png b/lwjgl-rundir/resources/textures/blocks/cactus_bottom.png
new file mode 100644
index 0000000..6f10bc0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cactus_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cactus_side.png b/lwjgl-rundir/resources/textures/blocks/cactus_side.png
new file mode 100644
index 0000000..9c55503
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cactus_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cactus_top.png b/lwjgl-rundir/resources/textures/blocks/cactus_top.png
new file mode 100644
index 0000000..f182e84
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cactus_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cake_bottom.png b/lwjgl-rundir/resources/textures/blocks/cake_bottom.png
new file mode 100644
index 0000000..d93b15a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cake_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cake_inner.png b/lwjgl-rundir/resources/textures/blocks/cake_inner.png
new file mode 100644
index 0000000..ce7ce69
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cake_inner.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cake_side.png b/lwjgl-rundir/resources/textures/blocks/cake_side.png
new file mode 100644
index 0000000..343a023
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cake_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cake_top.png b/lwjgl-rundir/resources/textures/blocks/cake_top.png
new file mode 100644
index 0000000..2947892
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cake_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/carrots_stage_0.png b/lwjgl-rundir/resources/textures/blocks/carrots_stage_0.png
new file mode 100644
index 0000000..c1ef732
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/carrots_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/carrots_stage_1.png b/lwjgl-rundir/resources/textures/blocks/carrots_stage_1.png
new file mode 100644
index 0000000..1275f4f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/carrots_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/carrots_stage_2.png b/lwjgl-rundir/resources/textures/blocks/carrots_stage_2.png
new file mode 100644
index 0000000..b7347df
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/carrots_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/carrots_stage_3.png b/lwjgl-rundir/resources/textures/blocks/carrots_stage_3.png
new file mode 100644
index 0000000..2391be8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/carrots_stage_3.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cauldron_bottom.png b/lwjgl-rundir/resources/textures/blocks/cauldron_bottom.png
new file mode 100644
index 0000000..fb31385
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cauldron_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cauldron_inner.png b/lwjgl-rundir/resources/textures/blocks/cauldron_inner.png
new file mode 100644
index 0000000..d5a30dd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cauldron_inner.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cauldron_side.png b/lwjgl-rundir/resources/textures/blocks/cauldron_side.png
new file mode 100644
index 0000000..72b0e5a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cauldron_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cauldron_top.png b/lwjgl-rundir/resources/textures/blocks/cauldron_top.png
new file mode 100644
index 0000000..3ed6171
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cauldron_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/clay.png b/lwjgl-rundir/resources/textures/blocks/clay.png
new file mode 100644
index 0000000..c19e031
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/clay.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/coal_block.png b/lwjgl-rundir/resources/textures/blocks/coal_block.png
new file mode 100644
index 0000000..024404b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/coal_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/coal_ore.png b/lwjgl-rundir/resources/textures/blocks/coal_ore.png
new file mode 100644
index 0000000..49486d2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/coal_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cobblestone.png b/lwjgl-rundir/resources/textures/blocks/cobblestone.png
new file mode 100644
index 0000000..da3498c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cobblestone.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cobblestone_mossy.png b/lwjgl-rundir/resources/textures/blocks/cobblestone_mossy.png
new file mode 100644
index 0000000..29449e3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cobblestone_mossy.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cocoa_stage_0.png b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_0.png
new file mode 100644
index 0000000..25892eb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cocoa_stage_1.png b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_1.png
new file mode 100644
index 0000000..d0098ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/cocoa_stage_2.png b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_2.png
new file mode 100644
index 0000000..db28c7b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/cocoa_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/command_block.png b/lwjgl-rundir/resources/textures/blocks/command_block.png
new file mode 100644
index 0000000..4459675
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/command_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/comparator_off.png b/lwjgl-rundir/resources/textures/blocks/comparator_off.png
new file mode 100644
index 0000000..c9527bc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/comparator_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/comparator_on.png b/lwjgl-rundir/resources/textures/blocks/comparator_on.png
new file mode 100644
index 0000000..2e4fb7a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/comparator_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/crafting_table_front.png b/lwjgl-rundir/resources/textures/blocks/crafting_table_front.png
new file mode 100644
index 0000000..11986a4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/crafting_table_front.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/crafting_table_side.png b/lwjgl-rundir/resources/textures/blocks/crafting_table_side.png
new file mode 100644
index 0000000..1c678b4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/crafting_table_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/crafting_table_top.png b/lwjgl-rundir/resources/textures/blocks/crafting_table_top.png
new file mode 100644
index 0000000..5cd53a5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/crafting_table_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/daylight_detector_side.png b/lwjgl-rundir/resources/textures/blocks/daylight_detector_side.png
new file mode 100644
index 0000000..ac273ea
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/daylight_detector_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/daylight_detector_top.png b/lwjgl-rundir/resources/textures/blocks/daylight_detector_top.png
new file mode 100644
index 0000000..3bfb2da
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/daylight_detector_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/deadbush.png b/lwjgl-rundir/resources/textures/blocks/deadbush.png
new file mode 100644
index 0000000..c64e079
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/deadbush.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_0.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_0.png
new file mode 100644
index 0000000..f65b7ed
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_1.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_1.png
new file mode 100644
index 0000000..7c91596
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_2.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_2.png
new file mode 100644
index 0000000..dadd6b0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_3.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_3.png
new file mode 100644
index 0000000..52a40b6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_3.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_4.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_4.png
new file mode 100644
index 0000000..e37c88a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_4.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_5.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_5.png
new file mode 100644
index 0000000..9590d2f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_5.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_6.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_6.png
new file mode 100644
index 0000000..8e490c0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_6.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_7.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_7.png
new file mode 100644
index 0000000..0b40c78
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_7.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_8.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_8.png
new file mode 100644
index 0000000..c0bf1de
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_8.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/destroy_stage_9.png b/lwjgl-rundir/resources/textures/blocks/destroy_stage_9.png
new file mode 100644
index 0000000..e3185f8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/destroy_stage_9.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/diamond_block.png b/lwjgl-rundir/resources/textures/blocks/diamond_block.png
new file mode 100644
index 0000000..f2e2e77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/diamond_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/diamond_ore.png b/lwjgl-rundir/resources/textures/blocks/diamond_ore.png
new file mode 100644
index 0000000..735ecda
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/diamond_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dirt.png b/lwjgl-rundir/resources/textures/blocks/dirt.png
new file mode 100644
index 0000000..617d353
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dirt.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dispenser_front_horizontal.png b/lwjgl-rundir/resources/textures/blocks/dispenser_front_horizontal.png
new file mode 100644
index 0000000..3e09fde
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dispenser_front_horizontal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dispenser_front_vertical.png b/lwjgl-rundir/resources/textures/blocks/dispenser_front_vertical.png
new file mode 100644
index 0000000..87a7837
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dispenser_front_vertical.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/door_iron_lower.png b/lwjgl-rundir/resources/textures/blocks/door_iron_lower.png
new file mode 100644
index 0000000..dbc33ab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/door_iron_lower.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/door_iron_upper.png b/lwjgl-rundir/resources/textures/blocks/door_iron_upper.png
new file mode 100644
index 0000000..56878fe
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/door_iron_upper.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/door_wood_lower.png b/lwjgl-rundir/resources/textures/blocks/door_wood_lower.png
new file mode 100644
index 0000000..cc61731
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/door_wood_lower.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/door_wood_upper.png b/lwjgl-rundir/resources/textures/blocks/door_wood_upper.png
new file mode 100644
index 0000000..93319d5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/door_wood_upper.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dragon_egg.png b/lwjgl-rundir/resources/textures/blocks/dragon_egg.png
new file mode 100644
index 0000000..02af123
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dragon_egg.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dropper_front_horizontal.png b/lwjgl-rundir/resources/textures/blocks/dropper_front_horizontal.png
new file mode 100644
index 0000000..7d5f260
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dropper_front_horizontal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/dropper_front_vertical.png b/lwjgl-rundir/resources/textures/blocks/dropper_front_vertical.png
new file mode 100644
index 0000000..68a56c8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/dropper_front_vertical.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/emerald_block.png b/lwjgl-rundir/resources/textures/blocks/emerald_block.png
new file mode 100644
index 0000000..dc214ee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/emerald_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/emerald_ore.png b/lwjgl-rundir/resources/textures/blocks/emerald_ore.png
new file mode 100644
index 0000000..a26c35f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/emerald_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/enchanting_table_bottom.png b/lwjgl-rundir/resources/textures/blocks/enchanting_table_bottom.png
new file mode 100644
index 0000000..0f492aa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/enchanting_table_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/enchanting_table_side.png b/lwjgl-rundir/resources/textures/blocks/enchanting_table_side.png
new file mode 100644
index 0000000..f2f4614
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/enchanting_table_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/enchanting_table_top.png b/lwjgl-rundir/resources/textures/blocks/enchanting_table_top.png
new file mode 100644
index 0000000..0d5f68f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/enchanting_table_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/end_stone.png b/lwjgl-rundir/resources/textures/blocks/end_stone.png
new file mode 100644
index 0000000..c2a91e3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/end_stone.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/endframe_eye.png b/lwjgl-rundir/resources/textures/blocks/endframe_eye.png
new file mode 100644
index 0000000..afa1d5d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/endframe_eye.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/endframe_side.png b/lwjgl-rundir/resources/textures/blocks/endframe_side.png
new file mode 100644
index 0000000..e6cb567
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/endframe_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/endframe_top.png b/lwjgl-rundir/resources/textures/blocks/endframe_top.png
new file mode 100644
index 0000000..35215a5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/endframe_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/farmland_dry.png b/lwjgl-rundir/resources/textures/blocks/farmland_dry.png
new file mode 100644
index 0000000..d03a0f4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/farmland_dry.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/farmland_wet.png b/lwjgl-rundir/resources/textures/blocks/farmland_wet.png
new file mode 100644
index 0000000..f8d460d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/farmland_wet.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/fern.png b/lwjgl-rundir/resources/textures/blocks/fern.png
new file mode 100644
index 0000000..fd76950
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/fern.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png b/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png
new file mode 100644
index 0000000..cf8910f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png.mcmeta
new file mode 100644
index 0000000..ca6a185
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/fire_layer_0.png.mcmeta
@@ -0,0 +1,38 @@
+{
+ "animation": {
+ "frames": [
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15
+ ]
+ }
+}
diff --git a/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png b/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png
new file mode 100644
index 0000000..6db92ac
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png.mcmeta
new file mode 100644
index 0000000..de3267f
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/fire_layer_1.png.mcmeta
@@ -0,0 +1,3 @@
+{
+ "animation": {}
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/blocks/flower_dandelion.png b/lwjgl-rundir/resources/textures/blocks/flower_dandelion.png
new file mode 100644
index 0000000..873e3f5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/flower_dandelion.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/flower_pot.png b/lwjgl-rundir/resources/textures/blocks/flower_pot.png
new file mode 100644
index 0000000..09c2523
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/flower_pot.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/flower_rose.png b/lwjgl-rundir/resources/textures/blocks/flower_rose.png
new file mode 100644
index 0000000..15ebba6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/flower_rose.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/furnace_front_off.png b/lwjgl-rundir/resources/textures/blocks/furnace_front_off.png
new file mode 100644
index 0000000..0570c3a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/furnace_front_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/furnace_front_on.png b/lwjgl-rundir/resources/textures/blocks/furnace_front_on.png
new file mode 100644
index 0000000..92c89f3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/furnace_front_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/furnace_side.png b/lwjgl-rundir/resources/textures/blocks/furnace_side.png
new file mode 100644
index 0000000..115f73d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/furnace_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/furnace_top.png b/lwjgl-rundir/resources/textures/blocks/furnace_top.png
new file mode 100644
index 0000000..a3a5a08
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/furnace_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/glass.png b/lwjgl-rundir/resources/textures/blocks/glass.png
new file mode 100644
index 0000000..acadb01
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/glass.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/glass_pane_top.png b/lwjgl-rundir/resources/textures/blocks/glass_pane_top.png
new file mode 100644
index 0000000..02de587
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/glass_pane_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/glowstone.png b/lwjgl-rundir/resources/textures/blocks/glowstone.png
new file mode 100644
index 0000000..c7253b3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/glowstone.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/gold_block.png b/lwjgl-rundir/resources/textures/blocks/gold_block.png
new file mode 100644
index 0000000..174002e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/gold_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/gold_ore.png b/lwjgl-rundir/resources/textures/blocks/gold_ore.png
new file mode 100644
index 0000000..b1a7a55
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/gold_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/grass_side.png b/lwjgl-rundir/resources/textures/blocks/grass_side.png
new file mode 100644
index 0000000..a4975e5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/grass_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/grass_side_overlay.png b/lwjgl-rundir/resources/textures/blocks/grass_side_overlay.png
new file mode 100644
index 0000000..fc3fa9d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/grass_side_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/grass_side_snowed.png b/lwjgl-rundir/resources/textures/blocks/grass_side_snowed.png
new file mode 100644
index 0000000..41f6197
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/grass_side_snowed.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/grass_top.png b/lwjgl-rundir/resources/textures/blocks/grass_top.png
new file mode 100644
index 0000000..eaa7e45
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/grass_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/gravel.png b/lwjgl-rundir/resources/textures/blocks/gravel.png
new file mode 100644
index 0000000..388e5c5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/gravel.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay.png
new file mode 100644
index 0000000..2446380
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_black.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_black.png
new file mode 100644
index 0000000..59da22c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_black.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_blue.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_blue.png
new file mode 100644
index 0000000..7e38e27
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_brown.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_brown.png
new file mode 100644
index 0000000..f81745f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_cyan.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_cyan.png
new file mode 100644
index 0000000..b05428c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_cyan.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_gray.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_gray.png
new file mode 100644
index 0000000..8f86904
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_gray.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_green.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_green.png
new file mode 100644
index 0000000..e89162e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_green.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_light_blue.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_light_blue.png
new file mode 100644
index 0000000..3d9ebea
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_light_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_lime.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_lime.png
new file mode 100644
index 0000000..b459a0b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_lime.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_magenta.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_magenta.png
new file mode 100644
index 0000000..9663106
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_magenta.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_orange.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_orange.png
new file mode 100644
index 0000000..40929db
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_orange.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_pink.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_pink.png
new file mode 100644
index 0000000..c21c0aa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_pink.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_purple.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_purple.png
new file mode 100644
index 0000000..edece94
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_purple.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_red.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_red.png
new file mode 100644
index 0000000..6561d12
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_red.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_silver.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_silver.png
new file mode 100644
index 0000000..eae07f2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_silver.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_white.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_white.png
new file mode 100644
index 0000000..8066af0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_white.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_yellow.png b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_yellow.png
new file mode 100644
index 0000000..5da4687
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hardened_clay_stained_yellow.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hay_block_side.png b/lwjgl-rundir/resources/textures/blocks/hay_block_side.png
new file mode 100644
index 0000000..a2b32db
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hay_block_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hay_block_top.png b/lwjgl-rundir/resources/textures/blocks/hay_block_top.png
new file mode 100644
index 0000000..1d35593
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hay_block_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hopper_inside.png b/lwjgl-rundir/resources/textures/blocks/hopper_inside.png
new file mode 100644
index 0000000..24e8eae
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hopper_inside.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hopper_outside.png b/lwjgl-rundir/resources/textures/blocks/hopper_outside.png
new file mode 100644
index 0000000..50ed8d5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hopper_outside.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/hopper_top.png b/lwjgl-rundir/resources/textures/blocks/hopper_top.png
new file mode 100644
index 0000000..3ed6171
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/hopper_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/ice.png b/lwjgl-rundir/resources/textures/blocks/ice.png
new file mode 100644
index 0000000..ac946e9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/ice.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/iron_bars.png b/lwjgl-rundir/resources/textures/blocks/iron_bars.png
new file mode 100644
index 0000000..732807f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/iron_bars.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/iron_block.png b/lwjgl-rundir/resources/textures/blocks/iron_block.png
new file mode 100644
index 0000000..7816799
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/iron_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/iron_ore.png b/lwjgl-rundir/resources/textures/blocks/iron_ore.png
new file mode 100644
index 0000000..250d8bb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/iron_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/itemframe_background.png b/lwjgl-rundir/resources/textures/blocks/itemframe_background.png
new file mode 100644
index 0000000..b40ad65
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/itemframe_background.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/jukebox_side.png b/lwjgl-rundir/resources/textures/blocks/jukebox_side.png
new file mode 100644
index 0000000..a3c27c1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/jukebox_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/jukebox_top.png b/lwjgl-rundir/resources/textures/blocks/jukebox_top.png
new file mode 100644
index 0000000..92ddb15
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/jukebox_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/ladder.png b/lwjgl-rundir/resources/textures/blocks/ladder.png
new file mode 100644
index 0000000..e2ec5f2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/ladder.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lapis_block.png b/lwjgl-rundir/resources/textures/blocks/lapis_block.png
new file mode 100644
index 0000000..0271489
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/lapis_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lapis_ore.png b/lwjgl-rundir/resources/textures/blocks/lapis_ore.png
new file mode 100644
index 0000000..6144236
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/lapis_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lava_flow.png b/lwjgl-rundir/resources/textures/blocks/lava_flow.png
new file mode 100644
index 0000000..af07f91
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/lava_flow.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lava_flow.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/lava_flow.png.mcmeta
new file mode 100644
index 0000000..df9c61a
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/lava_flow.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation": {
+ "frametime": 3
+ }
+}
diff --git a/lwjgl-rundir/resources/textures/blocks/lava_still.png b/lwjgl-rundir/resources/textures/blocks/lava_still.png
new file mode 100644
index 0000000..78bb29d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/lava_still.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lava_still.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/lava_still.png.mcmeta
new file mode 100644
index 0000000..55438bf
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/lava_still.png.mcmeta
@@ -0,0 +1,45 @@
+{
+ "animation": {
+ "frametime": 2,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_birch.png b/lwjgl-rundir/resources/textures/blocks/leaves_birch.png
new file mode 100644
index 0000000..a6773af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_birch.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_birch_opaque.png b/lwjgl-rundir/resources/textures/blocks/leaves_birch_opaque.png
new file mode 100644
index 0000000..e91ed32
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_birch_opaque.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_jungle.png b/lwjgl-rundir/resources/textures/blocks/leaves_jungle.png
new file mode 100644
index 0000000..e0cb935
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_jungle.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_jungle_opaque.png b/lwjgl-rundir/resources/textures/blocks/leaves_jungle_opaque.png
new file mode 100644
index 0000000..110a618
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_jungle_opaque.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_oak.png b/lwjgl-rundir/resources/textures/blocks/leaves_oak.png
new file mode 100644
index 0000000..a6773af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_oak.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_oak_opaque.png b/lwjgl-rundir/resources/textures/blocks/leaves_oak_opaque.png
new file mode 100644
index 0000000..e91ed32
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_oak_opaque.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_spruce.png b/lwjgl-rundir/resources/textures/blocks/leaves_spruce.png
new file mode 100644
index 0000000..602eab8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_spruce.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/leaves_spruce_opaque.png b/lwjgl-rundir/resources/textures/blocks/leaves_spruce_opaque.png
new file mode 100644
index 0000000..2e5228e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/leaves_spruce_opaque.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/lever.png b/lwjgl-rundir/resources/textures/blocks/lever.png
new file mode 100644
index 0000000..051187f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/lever.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_birch.png b/lwjgl-rundir/resources/textures/blocks/log_birch.png
new file mode 100644
index 0000000..bfb209d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_birch.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_birch_top.png b/lwjgl-rundir/resources/textures/blocks/log_birch_top.png
new file mode 100644
index 0000000..7a44e77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_birch_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_jungle.png b/lwjgl-rundir/resources/textures/blocks/log_jungle.png
new file mode 100644
index 0000000..0b7120a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_jungle.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_jungle_top.png b/lwjgl-rundir/resources/textures/blocks/log_jungle_top.png
new file mode 100644
index 0000000..7a44e77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_jungle_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_oak.png b/lwjgl-rundir/resources/textures/blocks/log_oak.png
new file mode 100644
index 0000000..914cb5f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_oak.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_oak_top.png b/lwjgl-rundir/resources/textures/blocks/log_oak_top.png
new file mode 100644
index 0000000..7a44e77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_oak_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_spruce.png b/lwjgl-rundir/resources/textures/blocks/log_spruce.png
new file mode 100644
index 0000000..dc1aa2f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_spruce.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/log_spruce_top.png b/lwjgl-rundir/resources/textures/blocks/log_spruce_top.png
new file mode 100644
index 0000000..7a44e77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/log_spruce_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/melon_side.png b/lwjgl-rundir/resources/textures/blocks/melon_side.png
new file mode 100644
index 0000000..ec7b430
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/melon_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/melon_stem_connected.png b/lwjgl-rundir/resources/textures/blocks/melon_stem_connected.png
new file mode 100644
index 0000000..6a5c10e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/melon_stem_connected.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/melon_stem_disconnected.png b/lwjgl-rundir/resources/textures/blocks/melon_stem_disconnected.png
new file mode 100644
index 0000000..38065ef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/melon_stem_disconnected.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/melon_top.png b/lwjgl-rundir/resources/textures/blocks/melon_top.png
new file mode 100644
index 0000000..65cf169
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/melon_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mob_spawner.png b/lwjgl-rundir/resources/textures/blocks/mob_spawner.png
new file mode 100644
index 0000000..7d55217
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mob_spawner.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_block_inside.png b/lwjgl-rundir/resources/textures/blocks/mushroom_block_inside.png
new file mode 100644
index 0000000..f0e7a04
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_block_inside.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_brown.png b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_brown.png
new file mode 100644
index 0000000..1f52ba8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_red.png b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_red.png
new file mode 100644
index 0000000..66cf12c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_red.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_stem.png b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_stem.png
new file mode 100644
index 0000000..83c0840
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_block_skin_stem.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_brown.png b/lwjgl-rundir/resources/textures/blocks/mushroom_brown.png
new file mode 100644
index 0000000..bf33d34
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mushroom_red.png b/lwjgl-rundir/resources/textures/blocks/mushroom_red.png
new file mode 100644
index 0000000..1b332b7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mushroom_red.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mycelium_side.png b/lwjgl-rundir/resources/textures/blocks/mycelium_side.png
new file mode 100644
index 0000000..5547425
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mycelium_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/mycelium_top.png b/lwjgl-rundir/resources/textures/blocks/mycelium_top.png
new file mode 100644
index 0000000..088a825
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/mycelium_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/nether_brick.png b/lwjgl-rundir/resources/textures/blocks/nether_brick.png
new file mode 100644
index 0000000..caaf66f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/nether_brick.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_0.png b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_0.png
new file mode 100644
index 0000000..514a95b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_1.png b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_1.png
new file mode 100644
index 0000000..b4ad0d1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_2.png b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_2.png
new file mode 100644
index 0000000..b9b6743
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/nether_wart_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/netherrack.png b/lwjgl-rundir/resources/textures/blocks/netherrack.png
new file mode 100644
index 0000000..88129c4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/netherrack.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/noteblock.png b/lwjgl-rundir/resources/textures/blocks/noteblock.png
new file mode 100644
index 0000000..a3c27c1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/noteblock.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/obsidian.png b/lwjgl-rundir/resources/textures/blocks/obsidian.png
new file mode 100644
index 0000000..ff0a683
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/obsidian.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/piston_bottom.png b/lwjgl-rundir/resources/textures/blocks/piston_bottom.png
new file mode 100644
index 0000000..a3a5a08
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/piston_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/piston_inner.png b/lwjgl-rundir/resources/textures/blocks/piston_inner.png
new file mode 100644
index 0000000..1043929
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/piston_inner.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/piston_side.png b/lwjgl-rundir/resources/textures/blocks/piston_side.png
new file mode 100644
index 0000000..634f54a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/piston_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/piston_top_normal.png b/lwjgl-rundir/resources/textures/blocks/piston_top_normal.png
new file mode 100644
index 0000000..eeaadab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/piston_top_normal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/piston_top_sticky.png b/lwjgl-rundir/resources/textures/blocks/piston_top_sticky.png
new file mode 100644
index 0000000..6ddd4ad
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/piston_top_sticky.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/planks_birch.png b/lwjgl-rundir/resources/textures/blocks/planks_birch.png
new file mode 100644
index 0000000..b113e3a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/planks_birch.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/planks_jungle.png b/lwjgl-rundir/resources/textures/blocks/planks_jungle.png
new file mode 100644
index 0000000..e3fe82d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/planks_jungle.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/planks_oak.png b/lwjgl-rundir/resources/textures/blocks/planks_oak.png
new file mode 100644
index 0000000..346f77d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/planks_oak.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/planks_spruce.png b/lwjgl-rundir/resources/textures/blocks/planks_spruce.png
new file mode 100644
index 0000000..f45fa94
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/planks_spruce.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/portal.png b/lwjgl-rundir/resources/textures/blocks/portal.png
new file mode 100644
index 0000000..96859e2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/portal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/portal.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/portal.png.mcmeta
new file mode 100644
index 0000000..de3267f
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/portal.png.mcmeta
@@ -0,0 +1,3 @@
+{
+ "animation": {}
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/blocks/potatoes_stage_0.png b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_0.png
new file mode 100644
index 0000000..c1ef732
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/potatoes_stage_1.png b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_1.png
new file mode 100644
index 0000000..1275f4f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/potatoes_stage_2.png b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_2.png
new file mode 100644
index 0000000..b7347df
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/potatoes_stage_3.png b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_3.png
new file mode 100644
index 0000000..d7e8185
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/potatoes_stage_3.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_face_off.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_face_off.png
new file mode 100644
index 0000000..ecef025
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_face_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_face_on.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_face_on.png
new file mode 100644
index 0000000..907f499
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_face_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_side.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_side.png
new file mode 100644
index 0000000..75dfc47
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_connected.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_connected.png
new file mode 100644
index 0000000..6a5c10e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_connected.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_disconnected.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_disconnected.png
new file mode 100644
index 0000000..38065ef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_stem_disconnected.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/pumpkin_top.png b/lwjgl-rundir/resources/textures/blocks/pumpkin_top.png
new file mode 100644
index 0000000..297ce3c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/pumpkin_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_bottom.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_bottom.png
new file mode 100644
index 0000000..7e16c7c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled.png
new file mode 100644
index 0000000..80465a1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled_top.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled_top.png
new file mode 100644
index 0000000..44073e5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_chiseled_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_lines.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_lines.png
new file mode 100644
index 0000000..184ecd2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_lines.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_lines_top.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_lines_top.png
new file mode 100644
index 0000000..6d20379
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_lines_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_side.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_side.png
new file mode 100644
index 0000000..a2cd2ca
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_block_top.png b/lwjgl-rundir/resources/textures/blocks/quartz_block_top.png
new file mode 100644
index 0000000..a2cd2ca
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_block_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/quartz_ore.png b/lwjgl-rundir/resources/textures/blocks/quartz_ore.png
new file mode 100644
index 0000000..4d758c1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/quartz_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_activator.png b/lwjgl-rundir/resources/textures/blocks/rail_activator.png
new file mode 100644
index 0000000..ce115ba
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_activator.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_activator_powered.png b/lwjgl-rundir/resources/textures/blocks/rail_activator_powered.png
new file mode 100644
index 0000000..a3aaca9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_activator_powered.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_detector.png b/lwjgl-rundir/resources/textures/blocks/rail_detector.png
new file mode 100644
index 0000000..92c1466
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_detector.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_detector_powered.png b/lwjgl-rundir/resources/textures/blocks/rail_detector_powered.png
new file mode 100644
index 0000000..a1c6e6b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_detector_powered.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_golden.png b/lwjgl-rundir/resources/textures/blocks/rail_golden.png
new file mode 100644
index 0000000..1fc52c3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_golden.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_golden_powered.png b/lwjgl-rundir/resources/textures/blocks/rail_golden_powered.png
new file mode 100644
index 0000000..bd343be
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_golden_powered.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_normal.png b/lwjgl-rundir/resources/textures/blocks/rail_normal.png
new file mode 100644
index 0000000..d609236
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_normal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/rail_normal_turned.png b/lwjgl-rundir/resources/textures/blocks/rail_normal_turned.png
new file mode 100644
index 0000000..f394a23
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/rail_normal_turned.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_block.png b/lwjgl-rundir/resources/textures/blocks/redstone_block.png
new file mode 100644
index 0000000..fcf6b40
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_block.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross.png b/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross.png
new file mode 100644
index 0000000..dcec893
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross_overlay.png b/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross_overlay.png
new file mode 100644
index 0000000..96729e1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_dust_cross_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_dust_line.png b/lwjgl-rundir/resources/textures/blocks/redstone_dust_line.png
new file mode 100644
index 0000000..ff0fb23
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_dust_line.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_dust_line_overlay.png b/lwjgl-rundir/resources/textures/blocks/redstone_dust_line_overlay.png
new file mode 100644
index 0000000..96729e1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_dust_line_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_lamp_off.png b/lwjgl-rundir/resources/textures/blocks/redstone_lamp_off.png
new file mode 100644
index 0000000..522765b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_lamp_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_lamp_on.png b/lwjgl-rundir/resources/textures/blocks/redstone_lamp_on.png
new file mode 100644
index 0000000..9562ef3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_lamp_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_ore.png b/lwjgl-rundir/resources/textures/blocks/redstone_ore.png
new file mode 100644
index 0000000..575a488
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_ore.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_torch_off.png b/lwjgl-rundir/resources/textures/blocks/redstone_torch_off.png
new file mode 100644
index 0000000..635eabd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_torch_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/redstone_torch_on.png b/lwjgl-rundir/resources/textures/blocks/redstone_torch_on.png
new file mode 100644
index 0000000..2983d6c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/redstone_torch_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/reeds.png b/lwjgl-rundir/resources/textures/blocks/reeds.png
new file mode 100644
index 0000000..64bbfe0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/reeds.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/repeater_off.png b/lwjgl-rundir/resources/textures/blocks/repeater_off.png
new file mode 100644
index 0000000..8634669
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/repeater_off.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/repeater_on.png b/lwjgl-rundir/resources/textures/blocks/repeater_on.png
new file mode 100644
index 0000000..d71d0d9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/repeater_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sand.png b/lwjgl-rundir/resources/textures/blocks/sand.png
new file mode 100644
index 0000000..86b9654
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sand.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sandstone_bottom.png b/lwjgl-rundir/resources/textures/blocks/sandstone_bottom.png
new file mode 100644
index 0000000..e102220
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sandstone_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sandstone_carved.png b/lwjgl-rundir/resources/textures/blocks/sandstone_carved.png
new file mode 100644
index 0000000..9bd7fa1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sandstone_carved.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sandstone_normal.png b/lwjgl-rundir/resources/textures/blocks/sandstone_normal.png
new file mode 100644
index 0000000..1b79145
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sandstone_normal.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sandstone_smooth.png b/lwjgl-rundir/resources/textures/blocks/sandstone_smooth.png
new file mode 100644
index 0000000..ef118bd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sandstone_smooth.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sandstone_top.png b/lwjgl-rundir/resources/textures/blocks/sandstone_top.png
new file mode 100644
index 0000000..bb5b157
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sandstone_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sapling_birch.png b/lwjgl-rundir/resources/textures/blocks/sapling_birch.png
new file mode 100644
index 0000000..b0dacc5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sapling_birch.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sapling_jungle.png b/lwjgl-rundir/resources/textures/blocks/sapling_jungle.png
new file mode 100644
index 0000000..4e10b35
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sapling_jungle.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sapling_oak.png b/lwjgl-rundir/resources/textures/blocks/sapling_oak.png
new file mode 100644
index 0000000..1bf1bfa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sapling_oak.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sapling_spruce.png b/lwjgl-rundir/resources/textures/blocks/sapling_spruce.png
new file mode 100644
index 0000000..5767d48
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sapling_spruce.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/snow.png b/lwjgl-rundir/resources/textures/blocks/snow.png
new file mode 100644
index 0000000..5c146cd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/snow.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/soul_sand.png b/lwjgl-rundir/resources/textures/blocks/soul_sand.png
new file mode 100644
index 0000000..fca7e8f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/soul_sand.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/sponge.png b/lwjgl-rundir/resources/textures/blocks/sponge.png
new file mode 100644
index 0000000..a850804
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/sponge.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stone.png b/lwjgl-rundir/resources/textures/blocks/stone.png
new file mode 100644
index 0000000..87e19ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stone.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stone_slab_side.png b/lwjgl-rundir/resources/textures/blocks/stone_slab_side.png
new file mode 100644
index 0000000..fe2a204
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stone_slab_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stone_slab_top.png b/lwjgl-rundir/resources/textures/blocks/stone_slab_top.png
new file mode 100644
index 0000000..090657d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stone_slab_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stonebrick.png b/lwjgl-rundir/resources/textures/blocks/stonebrick.png
new file mode 100644
index 0000000..69138cf
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stonebrick.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stonebrick_carved.png b/lwjgl-rundir/resources/textures/blocks/stonebrick_carved.png
new file mode 100644
index 0000000..b7e88db
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stonebrick_carved.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stonebrick_cracked.png b/lwjgl-rundir/resources/textures/blocks/stonebrick_cracked.png
new file mode 100644
index 0000000..918a884
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stonebrick_cracked.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/stonebrick_mossy.png b/lwjgl-rundir/resources/textures/blocks/stonebrick_mossy.png
new file mode 100644
index 0000000..5b9fe37
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/stonebrick_mossy.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/tallgrass.png b/lwjgl-rundir/resources/textures/blocks/tallgrass.png
new file mode 100644
index 0000000..42b2013
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/tallgrass.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/tnt_bottom.png b/lwjgl-rundir/resources/textures/blocks/tnt_bottom.png
new file mode 100644
index 0000000..cc2e586
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/tnt_bottom.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/tnt_side.png b/lwjgl-rundir/resources/textures/blocks/tnt_side.png
new file mode 100644
index 0000000..21109fb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/tnt_side.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/tnt_top.png b/lwjgl-rundir/resources/textures/blocks/tnt_top.png
new file mode 100644
index 0000000..ceb44b6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/tnt_top.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/torch_on.png b/lwjgl-rundir/resources/textures/blocks/torch_on.png
new file mode 100644
index 0000000..a2ce41b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/torch_on.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/trapdoor.png b/lwjgl-rundir/resources/textures/blocks/trapdoor.png
new file mode 100644
index 0000000..a7dcccc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/trapdoor.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/trip_wire.png b/lwjgl-rundir/resources/textures/blocks/trip_wire.png
new file mode 100644
index 0000000..6a9a72b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/trip_wire.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/trip_wire_source.png b/lwjgl-rundir/resources/textures/blocks/trip_wire_source.png
new file mode 100644
index 0000000..fbd464d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/trip_wire_source.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/vine.png b/lwjgl-rundir/resources/textures/blocks/vine.png
new file mode 100644
index 0000000..df5e435
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/vine.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/water_flow.png b/lwjgl-rundir/resources/textures/blocks/water_flow.png
new file mode 100644
index 0000000..e72280c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/water_flow.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/water_flow.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/water_flow.png.mcmeta
new file mode 100644
index 0000000..de3267f
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/water_flow.png.mcmeta
@@ -0,0 +1,3 @@
+{
+ "animation": {}
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/blocks/water_still.png b/lwjgl-rundir/resources/textures/blocks/water_still.png
new file mode 100644
index 0000000..c7e90b0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/water_still.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/water_still.png.mcmeta b/lwjgl-rundir/resources/textures/blocks/water_still.png.mcmeta
new file mode 100644
index 0000000..4b721e0
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/blocks/water_still.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation": {
+ "frametime": 2
+ }
+}
diff --git a/lwjgl-rundir/resources/textures/blocks/waterlily.png b/lwjgl-rundir/resources/textures/blocks/waterlily.png
new file mode 100644
index 0000000..f6c84f8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/waterlily.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/web.png b/lwjgl-rundir/resources/textures/blocks/web.png
new file mode 100644
index 0000000..7c097f1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/web.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_0.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_0.png
new file mode 100644
index 0000000..185af6f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_0.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_1.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_1.png
new file mode 100644
index 0000000..67588c1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_1.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_2.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_2.png
new file mode 100644
index 0000000..3d33792
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_2.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_3.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_3.png
new file mode 100644
index 0000000..4649f78
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_3.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_4.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_4.png
new file mode 100644
index 0000000..ac04b52
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_4.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_5.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_5.png
new file mode 100644
index 0000000..1ea81ac
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_5.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_6.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_6.png
new file mode 100644
index 0000000..cb5f195
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_6.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wheat_stage_7.png b/lwjgl-rundir/resources/textures/blocks/wheat_stage_7.png
new file mode 100644
index 0000000..7acafb3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wheat_stage_7.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_black.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_black.png
new file mode 100644
index 0000000..b74d5c9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_black.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_blue.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_blue.png
new file mode 100644
index 0000000..ce9515f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_brown.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_brown.png
new file mode 100644
index 0000000..b4dc3c5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_cyan.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_cyan.png
new file mode 100644
index 0000000..ca0800a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_cyan.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_gray.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_gray.png
new file mode 100644
index 0000000..6409ff2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_gray.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_green.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_green.png
new file mode 100644
index 0000000..a7be6d7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_green.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_light_blue.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_light_blue.png
new file mode 100644
index 0000000..72d9d9e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_light_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_lime.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_lime.png
new file mode 100644
index 0000000..bf56389
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_lime.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_magenta.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_magenta.png
new file mode 100644
index 0000000..3af6747
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_magenta.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_orange.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_orange.png
new file mode 100644
index 0000000..eefe6de
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_orange.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_pink.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_pink.png
new file mode 100644
index 0000000..c2785af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_pink.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_purple.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_purple.png
new file mode 100644
index 0000000..76f68d6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_purple.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_red.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_red.png
new file mode 100644
index 0000000..0cff7a9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_red.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_silver.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_silver.png
new file mode 100644
index 0000000..756d9b0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_silver.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_white.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_white.png
new file mode 100644
index 0000000..abc7999
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_white.png differ
diff --git a/lwjgl-rundir/resources/textures/blocks/wool_colored_yellow.png b/lwjgl-rundir/resources/textures/blocks/wool_colored_yellow.png
new file mode 100644
index 0000000..4babaaa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/blocks/wool_colored_yellow.png differ
diff --git a/lwjgl-rundir/resources/textures/colormap/foliage.png b/lwjgl-rundir/resources/textures/colormap/foliage.png
new file mode 100644
index 0000000..dcc119e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/colormap/foliage.png differ
diff --git a/lwjgl-rundir/resources/textures/colormap/grass.png b/lwjgl-rundir/resources/textures/colormap/grass.png
new file mode 100644
index 0000000..484a9a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/colormap/grass.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/arrow.png b/lwjgl-rundir/resources/textures/entity/arrow.png
new file mode 100644
index 0000000..3afa604
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/arrow.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/bat.png b/lwjgl-rundir/resources/textures/entity/bat.png
new file mode 100644
index 0000000..803860e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/bat.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/beacon_beam.png b/lwjgl-rundir/resources/textures/entity/beacon_beam.png
new file mode 100644
index 0000000..67545b4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/beacon_beam.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/blaze.png b/lwjgl-rundir/resources/textures/entity/blaze.png
new file mode 100644
index 0000000..19cdbb5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/blaze.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/boat.png b/lwjgl-rundir/resources/textures/entity/boat.png
new file mode 100644
index 0000000..9b58965
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/boat.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cat/black.png b/lwjgl-rundir/resources/textures/entity/cat/black.png
new file mode 100644
index 0000000..422908f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cat/black.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cat/ocelot.png b/lwjgl-rundir/resources/textures/entity/cat/ocelot.png
new file mode 100644
index 0000000..6b5064e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cat/ocelot.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cat/red.png b/lwjgl-rundir/resources/textures/entity/cat/red.png
new file mode 100644
index 0000000..17b6de5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cat/red.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cat/siamese.png b/lwjgl-rundir/resources/textures/entity/cat/siamese.png
new file mode 100644
index 0000000..cfed948
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cat/siamese.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/christmas.png b/lwjgl-rundir/resources/textures/entity/chest/christmas.png
new file mode 100644
index 0000000..4459112
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/christmas.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/christmas_double.png b/lwjgl-rundir/resources/textures/entity/chest/christmas_double.png
new file mode 100644
index 0000000..9e44eeb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/christmas_double.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/ender.png b/lwjgl-rundir/resources/textures/entity/chest/ender.png
new file mode 100644
index 0000000..3631d0d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/ender.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/normal.png b/lwjgl-rundir/resources/textures/entity/chest/normal.png
new file mode 100644
index 0000000..2e3d7fd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/normal.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/normal_double.png b/lwjgl-rundir/resources/textures/entity/chest/normal_double.png
new file mode 100644
index 0000000..0168338
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/normal_double.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/trapped.png b/lwjgl-rundir/resources/textures/entity/chest/trapped.png
new file mode 100644
index 0000000..3aef190
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/trapped.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chest/trapped_double.png b/lwjgl-rundir/resources/textures/entity/chest/trapped_double.png
new file mode 100644
index 0000000..00eebe5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chest/trapped_double.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/chicken.png b/lwjgl-rundir/resources/textures/entity/chicken.png
new file mode 100644
index 0000000..e24d550
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/chicken.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cow/cow.png b/lwjgl-rundir/resources/textures/entity/cow/cow.png
new file mode 100644
index 0000000..f1320c3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cow/cow.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/cow/mooshroom.png b/lwjgl-rundir/resources/textures/entity/cow/mooshroom.png
new file mode 100644
index 0000000..905f160
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/cow/mooshroom.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/creeper/creeper.png b/lwjgl-rundir/resources/textures/entity/creeper/creeper.png
new file mode 100644
index 0000000..abdb540
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/creeper/creeper.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/creeper/creeper_armor.png b/lwjgl-rundir/resources/textures/entity/creeper/creeper_armor.png
new file mode 100644
index 0000000..119f6ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/creeper/creeper_armor.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enchanting_table_book.png b/lwjgl-rundir/resources/textures/entity/enchanting_table_book.png
new file mode 100644
index 0000000..619e7a5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enchanting_table_book.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/end_portal.png b/lwjgl-rundir/resources/textures/entity/end_portal.png
new file mode 100644
index 0000000..d5d8569
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/end_portal.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal.png b/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal.png
new file mode 100644
index 0000000..8b3668a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal_beam.png b/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal_beam.png
new file mode 100644
index 0000000..1259a5d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/endercrystal/endercrystal_beam.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enderdragon/dragon.png b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon.png
new file mode 100644
index 0000000..b8a680c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_exploding.png b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_exploding.png
new file mode 100644
index 0000000..ca5c949
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_exploding.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_eyes.png b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_eyes.png
new file mode 100644
index 0000000..147b303
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enderdragon/dragon_eyes.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enderman/enderman.png b/lwjgl-rundir/resources/textures/entity/enderman/enderman.png
new file mode 100644
index 0000000..ab23cb9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enderman/enderman.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/enderman/enderman_eyes.png b/lwjgl-rundir/resources/textures/entity/enderman/enderman_eyes.png
new file mode 100644
index 0000000..0804402
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/enderman/enderman_eyes.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/experience_orb.png b/lwjgl-rundir/resources/textures/entity/experience_orb.png
new file mode 100644
index 0000000..92f9d0f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/experience_orb.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/explosion.png b/lwjgl-rundir/resources/textures/entity/explosion.png
new file mode 100644
index 0000000..c309409
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/explosion.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/ghast/ghast.png b/lwjgl-rundir/resources/textures/entity/ghast/ghast.png
new file mode 100644
index 0000000..dd63bc1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/ghast/ghast.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/ghast/ghast_shooting.png b/lwjgl-rundir/resources/textures/entity/ghast/ghast_shooting.png
new file mode 100644
index 0000000..5d9be29
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/ghast/ghast_shooting.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_diamond.png b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_diamond.png
new file mode 100644
index 0000000..39068f2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_diamond.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_gold.png b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_gold.png
new file mode 100644
index 0000000..4a0786d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_gold.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_iron.png b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_iron.png
new file mode 100644
index 0000000..533b2dd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/armor/horse_armor_iron.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/donkey.png b/lwjgl-rundir/resources/textures/entity/horse/donkey.png
new file mode 100644
index 0000000..b94bc63
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/donkey.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_black.png b/lwjgl-rundir/resources/textures/entity/horse/horse_black.png
new file mode 100644
index 0000000..dde716e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_black.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_brown.png b/lwjgl-rundir/resources/textures/entity/horse/horse_brown.png
new file mode 100644
index 0000000..ec0158f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_chestnut.png b/lwjgl-rundir/resources/textures/entity/horse/horse_chestnut.png
new file mode 100644
index 0000000..40322ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_chestnut.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_creamy.png b/lwjgl-rundir/resources/textures/entity/horse/horse_creamy.png
new file mode 100644
index 0000000..bc42bcc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_creamy.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_darkbrown.png b/lwjgl-rundir/resources/textures/entity/horse/horse_darkbrown.png
new file mode 100644
index 0000000..b38e914
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_darkbrown.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_gray.png b/lwjgl-rundir/resources/textures/entity/horse/horse_gray.png
new file mode 100644
index 0000000..4987532
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_gray.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_markings_blackdots.png b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_blackdots.png
new file mode 100644
index 0000000..7320648
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_blackdots.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_markings_white.png b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_white.png
new file mode 100644
index 0000000..b1f0a69
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_white.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitedots.png b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitedots.png
new file mode 100644
index 0000000..20e1954
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitedots.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitefield.png b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitefield.png
new file mode 100644
index 0000000..baa2c06
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_markings_whitefield.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_skeleton.png b/lwjgl-rundir/resources/textures/entity/horse/horse_skeleton.png
new file mode 100644
index 0000000..29d4ed5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_skeleton.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_white.png b/lwjgl-rundir/resources/textures/entity/horse/horse_white.png
new file mode 100644
index 0000000..e90e6e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_white.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/horse_zombie.png b/lwjgl-rundir/resources/textures/entity/horse/horse_zombie.png
new file mode 100644
index 0000000..22d55fa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/horse_zombie.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/horse/mule.png b/lwjgl-rundir/resources/textures/entity/horse/mule.png
new file mode 100644
index 0000000..241bdaa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/horse/mule.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/iron_golem.png b/lwjgl-rundir/resources/textures/entity/iron_golem.png
new file mode 100644
index 0000000..f9f6465
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/iron_golem.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/lead_knot.png b/lwjgl-rundir/resources/textures/entity/lead_knot.png
new file mode 100644
index 0000000..ab4d3b3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/lead_knot.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/minecart.png b/lwjgl-rundir/resources/textures/entity/minecart.png
new file mode 100644
index 0000000..7ad7b54
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/minecart.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/pig/pig.png b/lwjgl-rundir/resources/textures/entity/pig/pig.png
new file mode 100644
index 0000000..0a9532f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/pig/pig.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/pig/pig_saddle.png b/lwjgl-rundir/resources/textures/entity/pig/pig_saddle.png
new file mode 100644
index 0000000..640ea76
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/pig/pig_saddle.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/sheep/sheep.png b/lwjgl-rundir/resources/textures/entity/sheep/sheep.png
new file mode 100644
index 0000000..d9fe93f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/sheep/sheep.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/sheep/sheep_fur.png b/lwjgl-rundir/resources/textures/entity/sheep/sheep_fur.png
new file mode 100644
index 0000000..623340b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/sheep/sheep_fur.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/sign.png b/lwjgl-rundir/resources/textures/entity/sign.png
new file mode 100644
index 0000000..e22e2f7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/sign.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/silverfish.png b/lwjgl-rundir/resources/textures/entity/silverfish.png
new file mode 100644
index 0000000..416fa16
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/silverfish.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/skeleton/skeleton.png b/lwjgl-rundir/resources/textures/entity/skeleton/skeleton.png
new file mode 100644
index 0000000..184b585
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/skeleton/skeleton.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/skeleton/wither_skeleton.png b/lwjgl-rundir/resources/textures/entity/skeleton/wither_skeleton.png
new file mode 100644
index 0000000..b0db19d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/skeleton/wither_skeleton.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/slime/magmacube.png b/lwjgl-rundir/resources/textures/entity/slime/magmacube.png
new file mode 100644
index 0000000..c1b397f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/slime/magmacube.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/slime/slime.png b/lwjgl-rundir/resources/textures/entity/slime/slime.png
new file mode 100644
index 0000000..96edcf6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/slime/slime.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/snowman.png b/lwjgl-rundir/resources/textures/entity/snowman.png
new file mode 100644
index 0000000..568d5f6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/snowman.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/spider/cave_spider.png b/lwjgl-rundir/resources/textures/entity/spider/cave_spider.png
new file mode 100644
index 0000000..934f1ea
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/spider/cave_spider.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/spider/spider.png b/lwjgl-rundir/resources/textures/entity/spider/spider.png
new file mode 100644
index 0000000..3a8c779
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/spider/spider.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/spider_eyes.png b/lwjgl-rundir/resources/textures/entity/spider_eyes.png
new file mode 100644
index 0000000..6b80a06
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/spider_eyes.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/squid.png b/lwjgl-rundir/resources/textures/entity/squid.png
new file mode 100644
index 0000000..f285388
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/squid.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/steve.png b/lwjgl-rundir/resources/textures/entity/steve.png
new file mode 100644
index 0000000..6650185
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/steve.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/butcher.png b/lwjgl-rundir/resources/textures/entity/villager/butcher.png
new file mode 100644
index 0000000..f1c07d4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/butcher.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/farmer.png b/lwjgl-rundir/resources/textures/entity/villager/farmer.png
new file mode 100644
index 0000000..970c179
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/farmer.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/librarian.png b/lwjgl-rundir/resources/textures/entity/villager/librarian.png
new file mode 100644
index 0000000..b071cd3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/librarian.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/priest.png b/lwjgl-rundir/resources/textures/entity/villager/priest.png
new file mode 100644
index 0000000..35054ce
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/priest.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/smith.png b/lwjgl-rundir/resources/textures/entity/villager/smith.png
new file mode 100644
index 0000000..965da7f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/smith.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/villager/villager.png b/lwjgl-rundir/resources/textures/entity/villager/villager.png
new file mode 100644
index 0000000..52de8e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/villager/villager.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/witch.png b/lwjgl-rundir/resources/textures/entity/witch.png
new file mode 100644
index 0000000..2403570
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/witch.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wither/wither.png b/lwjgl-rundir/resources/textures/entity/wither/wither.png
new file mode 100644
index 0000000..0882d05
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wither/wither.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wither/wither_armor.png b/lwjgl-rundir/resources/textures/entity/wither/wither_armor.png
new file mode 100644
index 0000000..a6b5cf5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wither/wither_armor.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wither/wither_invulnerable.png b/lwjgl-rundir/resources/textures/entity/wither/wither_invulnerable.png
new file mode 100644
index 0000000..717750b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wither/wither_invulnerable.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wolf/wolf.png b/lwjgl-rundir/resources/textures/entity/wolf/wolf.png
new file mode 100644
index 0000000..f37ef81
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wolf/wolf.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wolf/wolf_angry.png b/lwjgl-rundir/resources/textures/entity/wolf/wolf_angry.png
new file mode 100644
index 0000000..7891ce9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wolf/wolf_angry.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wolf/wolf_collar.png b/lwjgl-rundir/resources/textures/entity/wolf/wolf_collar.png
new file mode 100644
index 0000000..ae1c920
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wolf/wolf_collar.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/wolf/wolf_tame.png b/lwjgl-rundir/resources/textures/entity/wolf/wolf_tame.png
new file mode 100644
index 0000000..f1236d2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/wolf/wolf_tame.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/zombie/zombie.png b/lwjgl-rundir/resources/textures/entity/zombie/zombie.png
new file mode 100644
index 0000000..22ff8f9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/zombie/zombie.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/zombie/zombie_villager.png b/lwjgl-rundir/resources/textures/entity/zombie/zombie_villager.png
new file mode 100644
index 0000000..349f9c2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/zombie/zombie_villager.png differ
diff --git a/lwjgl-rundir/resources/textures/entity/zombie_pigman.png b/lwjgl-rundir/resources/textures/entity/zombie_pigman.png
new file mode 100644
index 0000000..e95cc4c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/entity/zombie_pigman.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/clouds.png b/lwjgl-rundir/resources/textures/environment/clouds.png
new file mode 100644
index 0000000..a67c44d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/clouds.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/end_sky.png b/lwjgl-rundir/resources/textures/environment/end_sky.png
new file mode 100644
index 0000000..094b309
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/end_sky.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/moon_phases.png b/lwjgl-rundir/resources/textures/environment/moon_phases.png
new file mode 100644
index 0000000..cdba8d1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/moon_phases.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/rain.png b/lwjgl-rundir/resources/textures/environment/rain.png
new file mode 100644
index 0000000..2dc4b1c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/rain.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/snow.png b/lwjgl-rundir/resources/textures/environment/snow.png
new file mode 100644
index 0000000..1898903
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/snow.png differ
diff --git a/lwjgl-rundir/resources/textures/environment/sun.png b/lwjgl-rundir/resources/textures/environment/sun.png
new file mode 100644
index 0000000..08de644
Binary files /dev/null and b/lwjgl-rundir/resources/textures/environment/sun.png differ
diff --git a/lwjgl-rundir/resources/textures/font/ascii.png b/lwjgl-rundir/resources/textures/font/ascii.png
new file mode 100644
index 0000000..e446d53
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/ascii.png differ
diff --git a/lwjgl-rundir/resources/textures/font/ascii_sga.png b/lwjgl-rundir/resources/textures/font/ascii_sga.png
new file mode 100644
index 0000000..f443b4a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/ascii_sga.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_00.png b/lwjgl-rundir/resources/textures/font/unicode_page_00.png
new file mode 100644
index 0000000..44fd12f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_00.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_01.png b/lwjgl-rundir/resources/textures/font/unicode_page_01.png
new file mode 100644
index 0000000..ddac030
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_01.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_02.png b/lwjgl-rundir/resources/textures/font/unicode_page_02.png
new file mode 100644
index 0000000..dc1335a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_02.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_03.png b/lwjgl-rundir/resources/textures/font/unicode_page_03.png
new file mode 100644
index 0000000..6ff0257
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_03.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_04.png b/lwjgl-rundir/resources/textures/font/unicode_page_04.png
new file mode 100644
index 0000000..be3e833
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_04.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_05.png b/lwjgl-rundir/resources/textures/font/unicode_page_05.png
new file mode 100644
index 0000000..9b58804
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_05.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_06.png b/lwjgl-rundir/resources/textures/font/unicode_page_06.png
new file mode 100644
index 0000000..ed74e78
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_06.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_07.png b/lwjgl-rundir/resources/textures/font/unicode_page_07.png
new file mode 100644
index 0000000..b532177
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_07.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_09.png b/lwjgl-rundir/resources/textures/font/unicode_page_09.png
new file mode 100644
index 0000000..083b911
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_09.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0a.png b/lwjgl-rundir/resources/textures/font/unicode_page_0a.png
new file mode 100644
index 0000000..0190c11
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0b.png b/lwjgl-rundir/resources/textures/font/unicode_page_0b.png
new file mode 100644
index 0000000..4d0af48
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0c.png b/lwjgl-rundir/resources/textures/font/unicode_page_0c.png
new file mode 100644
index 0000000..773297d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0d.png b/lwjgl-rundir/resources/textures/font/unicode_page_0d.png
new file mode 100644
index 0000000..5f52231
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0e.png b/lwjgl-rundir/resources/textures/font/unicode_page_0e.png
new file mode 100644
index 0000000..531ca7d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_0f.png b/lwjgl-rundir/resources/textures/font/unicode_page_0f.png
new file mode 100644
index 0000000..7b879fc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_0f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_10.png b/lwjgl-rundir/resources/textures/font/unicode_page_10.png
new file mode 100644
index 0000000..53f056c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_10.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_11.png b/lwjgl-rundir/resources/textures/font/unicode_page_11.png
new file mode 100644
index 0000000..a9d5c11
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_11.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_12.png b/lwjgl-rundir/resources/textures/font/unicode_page_12.png
new file mode 100644
index 0000000..d20a864
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_12.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_13.png b/lwjgl-rundir/resources/textures/font/unicode_page_13.png
new file mode 100644
index 0000000..bbb0641
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_13.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_14.png b/lwjgl-rundir/resources/textures/font/unicode_page_14.png
new file mode 100644
index 0000000..ffd8e42
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_14.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_15.png b/lwjgl-rundir/resources/textures/font/unicode_page_15.png
new file mode 100644
index 0000000..ccfcae6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_15.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_16.png b/lwjgl-rundir/resources/textures/font/unicode_page_16.png
new file mode 100644
index 0000000..d02c557
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_16.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_17.png b/lwjgl-rundir/resources/textures/font/unicode_page_17.png
new file mode 100644
index 0000000..fed5b6e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_17.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_18.png b/lwjgl-rundir/resources/textures/font/unicode_page_18.png
new file mode 100644
index 0000000..97394d0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_18.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_19.png b/lwjgl-rundir/resources/textures/font/unicode_page_19.png
new file mode 100644
index 0000000..6929413
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_19.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1a.png b/lwjgl-rundir/resources/textures/font/unicode_page_1a.png
new file mode 100644
index 0000000..d3a1b98
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1b.png b/lwjgl-rundir/resources/textures/font/unicode_page_1b.png
new file mode 100644
index 0000000..9e0adf7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1c.png b/lwjgl-rundir/resources/textures/font/unicode_page_1c.png
new file mode 100644
index 0000000..14d4890
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1d.png b/lwjgl-rundir/resources/textures/font/unicode_page_1d.png
new file mode 100644
index 0000000..1924226
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1e.png b/lwjgl-rundir/resources/textures/font/unicode_page_1e.png
new file mode 100644
index 0000000..cce20e3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_1f.png b/lwjgl-rundir/resources/textures/font/unicode_page_1f.png
new file mode 100644
index 0000000..bdaf22f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_1f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_20.png b/lwjgl-rundir/resources/textures/font/unicode_page_20.png
new file mode 100644
index 0000000..ba948e9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_20.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_21.png b/lwjgl-rundir/resources/textures/font/unicode_page_21.png
new file mode 100644
index 0000000..998f2f9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_21.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_22.png b/lwjgl-rundir/resources/textures/font/unicode_page_22.png
new file mode 100644
index 0000000..c3fd5dd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_22.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_23.png b/lwjgl-rundir/resources/textures/font/unicode_page_23.png
new file mode 100644
index 0000000..9c2b2dc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_23.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_24.png b/lwjgl-rundir/resources/textures/font/unicode_page_24.png
new file mode 100644
index 0000000..d6cc8ae
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_24.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_25.png b/lwjgl-rundir/resources/textures/font/unicode_page_25.png
new file mode 100644
index 0000000..ee7535d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_25.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_26.png b/lwjgl-rundir/resources/textures/font/unicode_page_26.png
new file mode 100644
index 0000000..93aa960
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_26.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_27.png b/lwjgl-rundir/resources/textures/font/unicode_page_27.png
new file mode 100644
index 0000000..92f4501
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_27.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_28.png b/lwjgl-rundir/resources/textures/font/unicode_page_28.png
new file mode 100644
index 0000000..5f96e1b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_28.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_29.png b/lwjgl-rundir/resources/textures/font/unicode_page_29.png
new file mode 100644
index 0000000..4558220
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_29.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2a.png b/lwjgl-rundir/resources/textures/font/unicode_page_2a.png
new file mode 100644
index 0000000..87e0e0c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2b.png b/lwjgl-rundir/resources/textures/font/unicode_page_2b.png
new file mode 100644
index 0000000..722edf0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2c.png b/lwjgl-rundir/resources/textures/font/unicode_page_2c.png
new file mode 100644
index 0000000..51830f7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2d.png b/lwjgl-rundir/resources/textures/font/unicode_page_2d.png
new file mode 100644
index 0000000..dfafa53
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2e.png b/lwjgl-rundir/resources/textures/font/unicode_page_2e.png
new file mode 100644
index 0000000..2aea04b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_2f.png b/lwjgl-rundir/resources/textures/font/unicode_page_2f.png
new file mode 100644
index 0000000..bff5f8e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_2f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_30.png b/lwjgl-rundir/resources/textures/font/unicode_page_30.png
new file mode 100644
index 0000000..5ccba75
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_30.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_31.png b/lwjgl-rundir/resources/textures/font/unicode_page_31.png
new file mode 100644
index 0000000..44fc5e5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_31.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_32.png b/lwjgl-rundir/resources/textures/font/unicode_page_32.png
new file mode 100644
index 0000000..4858d08
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_32.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_33.png b/lwjgl-rundir/resources/textures/font/unicode_page_33.png
new file mode 100644
index 0000000..ab67072
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_33.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_34.png b/lwjgl-rundir/resources/textures/font/unicode_page_34.png
new file mode 100644
index 0000000..fd8fca9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_34.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_35.png b/lwjgl-rundir/resources/textures/font/unicode_page_35.png
new file mode 100644
index 0000000..603dc02
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_35.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_36.png b/lwjgl-rundir/resources/textures/font/unicode_page_36.png
new file mode 100644
index 0000000..778c190
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_36.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_37.png b/lwjgl-rundir/resources/textures/font/unicode_page_37.png
new file mode 100644
index 0000000..3032a23
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_37.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_38.png b/lwjgl-rundir/resources/textures/font/unicode_page_38.png
new file mode 100644
index 0000000..9b637bd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_38.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_39.png b/lwjgl-rundir/resources/textures/font/unicode_page_39.png
new file mode 100644
index 0000000..2f93850
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_39.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3a.png b/lwjgl-rundir/resources/textures/font/unicode_page_3a.png
new file mode 100644
index 0000000..cdf4944
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3b.png b/lwjgl-rundir/resources/textures/font/unicode_page_3b.png
new file mode 100644
index 0000000..10e8502
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3c.png b/lwjgl-rundir/resources/textures/font/unicode_page_3c.png
new file mode 100644
index 0000000..022fea5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3d.png b/lwjgl-rundir/resources/textures/font/unicode_page_3d.png
new file mode 100644
index 0000000..01ea1d1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3e.png b/lwjgl-rundir/resources/textures/font/unicode_page_3e.png
new file mode 100644
index 0000000..3bdf7f8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_3f.png b/lwjgl-rundir/resources/textures/font/unicode_page_3f.png
new file mode 100644
index 0000000..3fd5249
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_3f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_40.png b/lwjgl-rundir/resources/textures/font/unicode_page_40.png
new file mode 100644
index 0000000..544f89e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_40.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_41.png b/lwjgl-rundir/resources/textures/font/unicode_page_41.png
new file mode 100644
index 0000000..729fdaf
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_41.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_42.png b/lwjgl-rundir/resources/textures/font/unicode_page_42.png
new file mode 100644
index 0000000..755e546
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_42.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_43.png b/lwjgl-rundir/resources/textures/font/unicode_page_43.png
new file mode 100644
index 0000000..6069d0d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_43.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_44.png b/lwjgl-rundir/resources/textures/font/unicode_page_44.png
new file mode 100644
index 0000000..845c364
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_44.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_45.png b/lwjgl-rundir/resources/textures/font/unicode_page_45.png
new file mode 100644
index 0000000..294c78d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_45.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_46.png b/lwjgl-rundir/resources/textures/font/unicode_page_46.png
new file mode 100644
index 0000000..ee5e629
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_46.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_47.png b/lwjgl-rundir/resources/textures/font/unicode_page_47.png
new file mode 100644
index 0000000..55cb0c0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_47.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_48.png b/lwjgl-rundir/resources/textures/font/unicode_page_48.png
new file mode 100644
index 0000000..7652211
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_48.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_49.png b/lwjgl-rundir/resources/textures/font/unicode_page_49.png
new file mode 100644
index 0000000..b736232
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_49.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4a.png b/lwjgl-rundir/resources/textures/font/unicode_page_4a.png
new file mode 100644
index 0000000..d3419bd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4b.png b/lwjgl-rundir/resources/textures/font/unicode_page_4b.png
new file mode 100644
index 0000000..5e02ad3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4c.png b/lwjgl-rundir/resources/textures/font/unicode_page_4c.png
new file mode 100644
index 0000000..11c6b31
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4d.png b/lwjgl-rundir/resources/textures/font/unicode_page_4d.png
new file mode 100644
index 0000000..3eb224a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4e.png b/lwjgl-rundir/resources/textures/font/unicode_page_4e.png
new file mode 100644
index 0000000..11a78ba
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_4f.png b/lwjgl-rundir/resources/textures/font/unicode_page_4f.png
new file mode 100644
index 0000000..b4c9fab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_4f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_50.png b/lwjgl-rundir/resources/textures/font/unicode_page_50.png
new file mode 100644
index 0000000..ff73d23
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_50.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_51.png b/lwjgl-rundir/resources/textures/font/unicode_page_51.png
new file mode 100644
index 0000000..6e0eae9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_51.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_52.png b/lwjgl-rundir/resources/textures/font/unicode_page_52.png
new file mode 100644
index 0000000..6f10fcb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_52.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_53.png b/lwjgl-rundir/resources/textures/font/unicode_page_53.png
new file mode 100644
index 0000000..60d478e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_53.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_54.png b/lwjgl-rundir/resources/textures/font/unicode_page_54.png
new file mode 100644
index 0000000..ac75bdd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_54.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_55.png b/lwjgl-rundir/resources/textures/font/unicode_page_55.png
new file mode 100644
index 0000000..3d122d2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_55.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_56.png b/lwjgl-rundir/resources/textures/font/unicode_page_56.png
new file mode 100644
index 0000000..576d07f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_56.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_57.png b/lwjgl-rundir/resources/textures/font/unicode_page_57.png
new file mode 100644
index 0000000..545da73
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_57.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_58.png b/lwjgl-rundir/resources/textures/font/unicode_page_58.png
new file mode 100644
index 0000000..941542e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_58.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_59.png b/lwjgl-rundir/resources/textures/font/unicode_page_59.png
new file mode 100644
index 0000000..56f0102
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_59.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5a.png b/lwjgl-rundir/resources/textures/font/unicode_page_5a.png
new file mode 100644
index 0000000..c14f1b1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5b.png b/lwjgl-rundir/resources/textures/font/unicode_page_5b.png
new file mode 100644
index 0000000..f418e4c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5c.png b/lwjgl-rundir/resources/textures/font/unicode_page_5c.png
new file mode 100644
index 0000000..e7efae6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5d.png b/lwjgl-rundir/resources/textures/font/unicode_page_5d.png
new file mode 100644
index 0000000..7355fd3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5e.png b/lwjgl-rundir/resources/textures/font/unicode_page_5e.png
new file mode 100644
index 0000000..abfd3af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_5f.png b/lwjgl-rundir/resources/textures/font/unicode_page_5f.png
new file mode 100644
index 0000000..5a64b50
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_5f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_60.png b/lwjgl-rundir/resources/textures/font/unicode_page_60.png
new file mode 100644
index 0000000..8166f15
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_60.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_61.png b/lwjgl-rundir/resources/textures/font/unicode_page_61.png
new file mode 100644
index 0000000..d11cd8a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_61.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_62.png b/lwjgl-rundir/resources/textures/font/unicode_page_62.png
new file mode 100644
index 0000000..f7b9a5b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_62.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_63.png b/lwjgl-rundir/resources/textures/font/unicode_page_63.png
new file mode 100644
index 0000000..5d4a8cc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_63.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_64.png b/lwjgl-rundir/resources/textures/font/unicode_page_64.png
new file mode 100644
index 0000000..bc43210
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_64.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_65.png b/lwjgl-rundir/resources/textures/font/unicode_page_65.png
new file mode 100644
index 0000000..42144c1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_65.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_66.png b/lwjgl-rundir/resources/textures/font/unicode_page_66.png
new file mode 100644
index 0000000..a65f25e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_66.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_67.png b/lwjgl-rundir/resources/textures/font/unicode_page_67.png
new file mode 100644
index 0000000..a115bb8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_67.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_68.png b/lwjgl-rundir/resources/textures/font/unicode_page_68.png
new file mode 100644
index 0000000..d47938b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_68.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_69.png b/lwjgl-rundir/resources/textures/font/unicode_page_69.png
new file mode 100644
index 0000000..c36e640
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_69.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6a.png b/lwjgl-rundir/resources/textures/font/unicode_page_6a.png
new file mode 100644
index 0000000..5265d07
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6b.png b/lwjgl-rundir/resources/textures/font/unicode_page_6b.png
new file mode 100644
index 0000000..6f207cc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6c.png b/lwjgl-rundir/resources/textures/font/unicode_page_6c.png
new file mode 100644
index 0000000..6ffad7e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6d.png b/lwjgl-rundir/resources/textures/font/unicode_page_6d.png
new file mode 100644
index 0000000..0fa88e3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6e.png b/lwjgl-rundir/resources/textures/font/unicode_page_6e.png
new file mode 100644
index 0000000..301513e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_6f.png b/lwjgl-rundir/resources/textures/font/unicode_page_6f.png
new file mode 100644
index 0000000..a24cfff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_6f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_70.png b/lwjgl-rundir/resources/textures/font/unicode_page_70.png
new file mode 100644
index 0000000..2cec746
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_70.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_71.png b/lwjgl-rundir/resources/textures/font/unicode_page_71.png
new file mode 100644
index 0000000..1592ff4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_71.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_72.png b/lwjgl-rundir/resources/textures/font/unicode_page_72.png
new file mode 100644
index 0000000..856eedc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_72.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_73.png b/lwjgl-rundir/resources/textures/font/unicode_page_73.png
new file mode 100644
index 0000000..a7a2151
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_73.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_74.png b/lwjgl-rundir/resources/textures/font/unicode_page_74.png
new file mode 100644
index 0000000..a1b034a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_74.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_75.png b/lwjgl-rundir/resources/textures/font/unicode_page_75.png
new file mode 100644
index 0000000..512dc16
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_75.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_76.png b/lwjgl-rundir/resources/textures/font/unicode_page_76.png
new file mode 100644
index 0000000..12a45ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_76.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_77.png b/lwjgl-rundir/resources/textures/font/unicode_page_77.png
new file mode 100644
index 0000000..d763fba
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_77.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_78.png b/lwjgl-rundir/resources/textures/font/unicode_page_78.png
new file mode 100644
index 0000000..846c060
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_78.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_79.png b/lwjgl-rundir/resources/textures/font/unicode_page_79.png
new file mode 100644
index 0000000..f887cae
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_79.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7a.png b/lwjgl-rundir/resources/textures/font/unicode_page_7a.png
new file mode 100644
index 0000000..90d5561
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7b.png b/lwjgl-rundir/resources/textures/font/unicode_page_7b.png
new file mode 100644
index 0000000..2932cee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7c.png b/lwjgl-rundir/resources/textures/font/unicode_page_7c.png
new file mode 100644
index 0000000..416a21b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7d.png b/lwjgl-rundir/resources/textures/font/unicode_page_7d.png
new file mode 100644
index 0000000..2e12e13
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7e.png b/lwjgl-rundir/resources/textures/font/unicode_page_7e.png
new file mode 100644
index 0000000..952bfab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_7f.png b/lwjgl-rundir/resources/textures/font/unicode_page_7f.png
new file mode 100644
index 0000000..d3d275c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_7f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_80.png b/lwjgl-rundir/resources/textures/font/unicode_page_80.png
new file mode 100644
index 0000000..044ac3e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_80.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_81.png b/lwjgl-rundir/resources/textures/font/unicode_page_81.png
new file mode 100644
index 0000000..913a4ca
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_81.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_82.png b/lwjgl-rundir/resources/textures/font/unicode_page_82.png
new file mode 100644
index 0000000..19b8ded
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_82.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_83.png b/lwjgl-rundir/resources/textures/font/unicode_page_83.png
new file mode 100644
index 0000000..ef2d794
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_83.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_84.png b/lwjgl-rundir/resources/textures/font/unicode_page_84.png
new file mode 100644
index 0000000..74a6a53
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_84.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_85.png b/lwjgl-rundir/resources/textures/font/unicode_page_85.png
new file mode 100644
index 0000000..73cb2f9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_85.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_86.png b/lwjgl-rundir/resources/textures/font/unicode_page_86.png
new file mode 100644
index 0000000..135d6fc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_86.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_87.png b/lwjgl-rundir/resources/textures/font/unicode_page_87.png
new file mode 100644
index 0000000..bef88db
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_87.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_88.png b/lwjgl-rundir/resources/textures/font/unicode_page_88.png
new file mode 100644
index 0000000..698ff80
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_88.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_89.png b/lwjgl-rundir/resources/textures/font/unicode_page_89.png
new file mode 100644
index 0000000..a3820ee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_89.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8a.png b/lwjgl-rundir/resources/textures/font/unicode_page_8a.png
new file mode 100644
index 0000000..beb9024
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8b.png b/lwjgl-rundir/resources/textures/font/unicode_page_8b.png
new file mode 100644
index 0000000..7f978ab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8c.png b/lwjgl-rundir/resources/textures/font/unicode_page_8c.png
new file mode 100644
index 0000000..3ed4594
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8d.png b/lwjgl-rundir/resources/textures/font/unicode_page_8d.png
new file mode 100644
index 0000000..8d79123
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8e.png b/lwjgl-rundir/resources/textures/font/unicode_page_8e.png
new file mode 100644
index 0000000..d82000b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_8f.png b/lwjgl-rundir/resources/textures/font/unicode_page_8f.png
new file mode 100644
index 0000000..b8c8328
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_8f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_90.png b/lwjgl-rundir/resources/textures/font/unicode_page_90.png
new file mode 100644
index 0000000..132974b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_90.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_91.png b/lwjgl-rundir/resources/textures/font/unicode_page_91.png
new file mode 100644
index 0000000..b8e09ae
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_91.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_92.png b/lwjgl-rundir/resources/textures/font/unicode_page_92.png
new file mode 100644
index 0000000..9244661
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_92.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_93.png b/lwjgl-rundir/resources/textures/font/unicode_page_93.png
new file mode 100644
index 0000000..f71d835
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_93.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_94.png b/lwjgl-rundir/resources/textures/font/unicode_page_94.png
new file mode 100644
index 0000000..fa68d81
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_94.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_95.png b/lwjgl-rundir/resources/textures/font/unicode_page_95.png
new file mode 100644
index 0000000..346bc36
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_95.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_96.png b/lwjgl-rundir/resources/textures/font/unicode_page_96.png
new file mode 100644
index 0000000..bbd1772
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_96.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_97.png b/lwjgl-rundir/resources/textures/font/unicode_page_97.png
new file mode 100644
index 0000000..2fd136b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_97.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_98.png b/lwjgl-rundir/resources/textures/font/unicode_page_98.png
new file mode 100644
index 0000000..9319c0b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_98.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_99.png b/lwjgl-rundir/resources/textures/font/unicode_page_99.png
new file mode 100644
index 0000000..2bb7f3e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_99.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9a.png b/lwjgl-rundir/resources/textures/font/unicode_page_9a.png
new file mode 100644
index 0000000..cbdd91e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9a.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9b.png b/lwjgl-rundir/resources/textures/font/unicode_page_9b.png
new file mode 100644
index 0000000..8a96209
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9b.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9c.png b/lwjgl-rundir/resources/textures/font/unicode_page_9c.png
new file mode 100644
index 0000000..8e977ff
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9c.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9d.png b/lwjgl-rundir/resources/textures/font/unicode_page_9d.png
new file mode 100644
index 0000000..5041d6a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9d.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9e.png b/lwjgl-rundir/resources/textures/font/unicode_page_9e.png
new file mode 100644
index 0000000..1cb0a5b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9e.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_9f.png b/lwjgl-rundir/resources/textures/font/unicode_page_9f.png
new file mode 100644
index 0000000..d987326
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_9f.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a0.png b/lwjgl-rundir/resources/textures/font/unicode_page_a0.png
new file mode 100644
index 0000000..8c47db0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a0.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a1.png b/lwjgl-rundir/resources/textures/font/unicode_page_a1.png
new file mode 100644
index 0000000..5ede7e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a1.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a2.png b/lwjgl-rundir/resources/textures/font/unicode_page_a2.png
new file mode 100644
index 0000000..a8c6ac1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a2.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a3.png b/lwjgl-rundir/resources/textures/font/unicode_page_a3.png
new file mode 100644
index 0000000..7cc8448
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a3.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a4.png b/lwjgl-rundir/resources/textures/font/unicode_page_a4.png
new file mode 100644
index 0000000..dc00e27
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a4.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a5.png b/lwjgl-rundir/resources/textures/font/unicode_page_a5.png
new file mode 100644
index 0000000..eccfa47
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a5.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a6.png b/lwjgl-rundir/resources/textures/font/unicode_page_a6.png
new file mode 100644
index 0000000..dcac87f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a6.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a7.png b/lwjgl-rundir/resources/textures/font/unicode_page_a7.png
new file mode 100644
index 0000000..76c1ce2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a7.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a8.png b/lwjgl-rundir/resources/textures/font/unicode_page_a8.png
new file mode 100644
index 0000000..a022390
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a8.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_a9.png b/lwjgl-rundir/resources/textures/font/unicode_page_a9.png
new file mode 100644
index 0000000..a35159a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_a9.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_aa.png b/lwjgl-rundir/resources/textures/font/unicode_page_aa.png
new file mode 100644
index 0000000..da1b615
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_aa.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ab.png b/lwjgl-rundir/resources/textures/font/unicode_page_ab.png
new file mode 100644
index 0000000..0e45eae
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ab.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ac.png b/lwjgl-rundir/resources/textures/font/unicode_page_ac.png
new file mode 100644
index 0000000..04d4d59
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ac.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ad.png b/lwjgl-rundir/resources/textures/font/unicode_page_ad.png
new file mode 100644
index 0000000..3834337
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ad.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ae.png b/lwjgl-rundir/resources/textures/font/unicode_page_ae.png
new file mode 100644
index 0000000..1445e68
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ae.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_af.png b/lwjgl-rundir/resources/textures/font/unicode_page_af.png
new file mode 100644
index 0000000..ea945dc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_af.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b0.png b/lwjgl-rundir/resources/textures/font/unicode_page_b0.png
new file mode 100644
index 0000000..84b4885
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b0.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b1.png b/lwjgl-rundir/resources/textures/font/unicode_page_b1.png
new file mode 100644
index 0000000..5f64672
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b1.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b2.png b/lwjgl-rundir/resources/textures/font/unicode_page_b2.png
new file mode 100644
index 0000000..8551db8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b2.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b3.png b/lwjgl-rundir/resources/textures/font/unicode_page_b3.png
new file mode 100644
index 0000000..b954159
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b3.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b4.png b/lwjgl-rundir/resources/textures/font/unicode_page_b4.png
new file mode 100644
index 0000000..65991a4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b4.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b5.png b/lwjgl-rundir/resources/textures/font/unicode_page_b5.png
new file mode 100644
index 0000000..3e6391b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b5.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b6.png b/lwjgl-rundir/resources/textures/font/unicode_page_b6.png
new file mode 100644
index 0000000..df7c0f7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b6.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b7.png b/lwjgl-rundir/resources/textures/font/unicode_page_b7.png
new file mode 100644
index 0000000..9142cad
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b7.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b8.png b/lwjgl-rundir/resources/textures/font/unicode_page_b8.png
new file mode 100644
index 0000000..5b18d12
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b8.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_b9.png b/lwjgl-rundir/resources/textures/font/unicode_page_b9.png
new file mode 100644
index 0000000..0d212f0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_b9.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ba.png b/lwjgl-rundir/resources/textures/font/unicode_page_ba.png
new file mode 100644
index 0000000..696cca9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ba.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_bb.png b/lwjgl-rundir/resources/textures/font/unicode_page_bb.png
new file mode 100644
index 0000000..5a2544c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_bb.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_bc.png b/lwjgl-rundir/resources/textures/font/unicode_page_bc.png
new file mode 100644
index 0000000..df37526
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_bc.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_bd.png b/lwjgl-rundir/resources/textures/font/unicode_page_bd.png
new file mode 100644
index 0000000..aed7803
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_bd.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_be.png b/lwjgl-rundir/resources/textures/font/unicode_page_be.png
new file mode 100644
index 0000000..0da2254
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_be.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_bf.png b/lwjgl-rundir/resources/textures/font/unicode_page_bf.png
new file mode 100644
index 0000000..1f6a248
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_bf.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c0.png b/lwjgl-rundir/resources/textures/font/unicode_page_c0.png
new file mode 100644
index 0000000..0610d67
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c0.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c1.png b/lwjgl-rundir/resources/textures/font/unicode_page_c1.png
new file mode 100644
index 0000000..a95ca9b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c1.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c2.png b/lwjgl-rundir/resources/textures/font/unicode_page_c2.png
new file mode 100644
index 0000000..1d104a0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c2.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c3.png b/lwjgl-rundir/resources/textures/font/unicode_page_c3.png
new file mode 100644
index 0000000..6470dd8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c3.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c4.png b/lwjgl-rundir/resources/textures/font/unicode_page_c4.png
new file mode 100644
index 0000000..e8c3105
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c4.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c5.png b/lwjgl-rundir/resources/textures/font/unicode_page_c5.png
new file mode 100644
index 0000000..d89f288
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c5.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c6.png b/lwjgl-rundir/resources/textures/font/unicode_page_c6.png
new file mode 100644
index 0000000..004091d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c6.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c7.png b/lwjgl-rundir/resources/textures/font/unicode_page_c7.png
new file mode 100644
index 0000000..f64f6b4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c7.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c8.png b/lwjgl-rundir/resources/textures/font/unicode_page_c8.png
new file mode 100644
index 0000000..75f8a50
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c8.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_c9.png b/lwjgl-rundir/resources/textures/font/unicode_page_c9.png
new file mode 100644
index 0000000..fbd9435
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_c9.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ca.png b/lwjgl-rundir/resources/textures/font/unicode_page_ca.png
new file mode 100644
index 0000000..112b9c6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ca.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_cb.png b/lwjgl-rundir/resources/textures/font/unicode_page_cb.png
new file mode 100644
index 0000000..c0549b5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_cb.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_cc.png b/lwjgl-rundir/resources/textures/font/unicode_page_cc.png
new file mode 100644
index 0000000..0684431
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_cc.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_cd.png b/lwjgl-rundir/resources/textures/font/unicode_page_cd.png
new file mode 100644
index 0000000..9fdc54d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_cd.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ce.png b/lwjgl-rundir/resources/textures/font/unicode_page_ce.png
new file mode 100644
index 0000000..958a96b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ce.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_cf.png b/lwjgl-rundir/resources/textures/font/unicode_page_cf.png
new file mode 100644
index 0000000..4106f1b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_cf.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d0.png b/lwjgl-rundir/resources/textures/font/unicode_page_d0.png
new file mode 100644
index 0000000..546b014
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d0.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d1.png b/lwjgl-rundir/resources/textures/font/unicode_page_d1.png
new file mode 100644
index 0000000..6d67bf1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d1.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d2.png b/lwjgl-rundir/resources/textures/font/unicode_page_d2.png
new file mode 100644
index 0000000..c4ae511
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d2.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d3.png b/lwjgl-rundir/resources/textures/font/unicode_page_d3.png
new file mode 100644
index 0000000..576c9ea
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d3.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d4.png b/lwjgl-rundir/resources/textures/font/unicode_page_d4.png
new file mode 100644
index 0000000..14be6c7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d4.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d5.png b/lwjgl-rundir/resources/textures/font/unicode_page_d5.png
new file mode 100644
index 0000000..3c41836
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d5.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d6.png b/lwjgl-rundir/resources/textures/font/unicode_page_d6.png
new file mode 100644
index 0000000..27424b1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d6.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_d7.png b/lwjgl-rundir/resources/textures/font/unicode_page_d7.png
new file mode 100644
index 0000000..d8772d8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_d7.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_f9.png b/lwjgl-rundir/resources/textures/font/unicode_page_f9.png
new file mode 100644
index 0000000..e723235
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_f9.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_fa.png b/lwjgl-rundir/resources/textures/font/unicode_page_fa.png
new file mode 100644
index 0000000..d78dcfe
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_fa.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_fb.png b/lwjgl-rundir/resources/textures/font/unicode_page_fb.png
new file mode 100644
index 0000000..5423c86
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_fb.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_fc.png b/lwjgl-rundir/resources/textures/font/unicode_page_fc.png
new file mode 100644
index 0000000..8034140
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_fc.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_fd.png b/lwjgl-rundir/resources/textures/font/unicode_page_fd.png
new file mode 100644
index 0000000..c31bd6f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_fd.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_fe.png b/lwjgl-rundir/resources/textures/font/unicode_page_fe.png
new file mode 100644
index 0000000..42ed33e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_fe.png differ
diff --git a/lwjgl-rundir/resources/textures/font/unicode_page_ff.png b/lwjgl-rundir/resources/textures/font/unicode_page_ff.png
new file mode 100644
index 0000000..f0ff742
Binary files /dev/null and b/lwjgl-rundir/resources/textures/font/unicode_page_ff.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/achievement/achievement_background.png b/lwjgl-rundir/resources/textures/gui/achievement/achievement_background.png
new file mode 100644
index 0000000..958ebd6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/achievement/achievement_background.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/achievement/achievement_icons.png b/lwjgl-rundir/resources/textures/gui/achievement/achievement_icons.png
new file mode 100644
index 0000000..8c4ae79
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/achievement/achievement_icons.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/book.png b/lwjgl-rundir/resources/textures/gui/book.png
new file mode 100644
index 0000000..3e4ba4e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/book.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/anvil.png b/lwjgl-rundir/resources/textures/gui/container/anvil.png
new file mode 100644
index 0000000..34e8f9f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/anvil.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/beacon.png b/lwjgl-rundir/resources/textures/gui/container/beacon.png
new file mode 100644
index 0000000..f51a2ef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/beacon.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/brewing_stand.png b/lwjgl-rundir/resources/textures/gui/container/brewing_stand.png
new file mode 100644
index 0000000..e7dc203
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/brewing_stand.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/crafting_table.png b/lwjgl-rundir/resources/textures/gui/container/crafting_table.png
new file mode 100644
index 0000000..254dacc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/crafting_table.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_inventory.png b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_inventory.png
new file mode 100644
index 0000000..c8d53a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_inventory.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_item_search.png b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_item_search.png
new file mode 100644
index 0000000..cc250e5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_item_search.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_items.png b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_items.png
new file mode 100644
index 0000000..38421f7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tab_items.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tabs.png b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tabs.png
new file mode 100644
index 0000000..1c44093
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/creative_inventory/tabs.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/dispenser.png b/lwjgl-rundir/resources/textures/gui/container/dispenser.png
new file mode 100644
index 0000000..0a6ebe7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/dispenser.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/enchanting_table.png b/lwjgl-rundir/resources/textures/gui/container/enchanting_table.png
new file mode 100644
index 0000000..59aeb04
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/enchanting_table.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/furnace.png b/lwjgl-rundir/resources/textures/gui/container/furnace.png
new file mode 100644
index 0000000..2255d0a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/furnace.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/generic_54.png b/lwjgl-rundir/resources/textures/gui/container/generic_54.png
new file mode 100644
index 0000000..0b880ef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/generic_54.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/hopper.png b/lwjgl-rundir/resources/textures/gui/container/hopper.png
new file mode 100644
index 0000000..3d00547
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/hopper.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/horse.png b/lwjgl-rundir/resources/textures/gui/container/horse.png
new file mode 100644
index 0000000..194cc6b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/horse.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/inventory.png b/lwjgl-rundir/resources/textures/gui/container/inventory.png
new file mode 100644
index 0000000..d553c4f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/inventory.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/stats_icons.png b/lwjgl-rundir/resources/textures/gui/container/stats_icons.png
new file mode 100644
index 0000000..f13323b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/stats_icons.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/container/villager.png b/lwjgl-rundir/resources/textures/gui/container/villager.png
new file mode 100644
index 0000000..3211a7a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/container/villager.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/demo_background.png b/lwjgl-rundir/resources/textures/gui/demo_background.png
new file mode 100644
index 0000000..a7fd8be
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/demo_background.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/icons.png b/lwjgl-rundir/resources/textures/gui/icons.png
new file mode 100644
index 0000000..89d780f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/icons.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/options_background.png b/lwjgl-rundir/resources/textures/gui/options_background.png
new file mode 100644
index 0000000..cae5528
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/options_background.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_0.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_0.png
new file mode 100644
index 0000000..27f015d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_0.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_1.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_1.png
new file mode 100644
index 0000000..c16841a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_1.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_2.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_2.png
new file mode 100644
index 0000000..0436d77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_2.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_3.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_3.png
new file mode 100644
index 0000000..2c7ad77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_3.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_4.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_4.png
new file mode 100644
index 0000000..0390096
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_4.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/background/panorama_5.png b/lwjgl-rundir/resources/textures/gui/title/background/panorama_5.png
new file mode 100644
index 0000000..0331ad4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/background/panorama_5.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/minecraft.png b/lwjgl-rundir/resources/textures/gui/title/minecraft.png
new file mode 100644
index 0000000..dc61041
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/minecraft.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/title/mojang.png b/lwjgl-rundir/resources/textures/gui/title/mojang.png
new file mode 100644
index 0000000..ba394db
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/title/mojang.png differ
diff --git a/lwjgl-rundir/resources/textures/gui/widgets.png b/lwjgl-rundir/resources/textures/gui/widgets.png
new file mode 100644
index 0000000..2a749c8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/gui/widgets.png differ
diff --git a/lwjgl-rundir/resources/textures/items/apple.png b/lwjgl-rundir/resources/textures/items/apple.png
new file mode 100644
index 0000000..3e2ee59
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/apple.png differ
diff --git a/lwjgl-rundir/resources/textures/items/apple_golden.png b/lwjgl-rundir/resources/textures/items/apple_golden.png
new file mode 100644
index 0000000..6201989
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/apple_golden.png differ
diff --git a/lwjgl-rundir/resources/textures/items/arrow.png b/lwjgl-rundir/resources/textures/items/arrow.png
new file mode 100644
index 0000000..4f748a0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/arrow.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bed.png b/lwjgl-rundir/resources/textures/items/bed.png
new file mode 100644
index 0000000..22a4cf0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bed.png differ
diff --git a/lwjgl-rundir/resources/textures/items/beef_cooked.png b/lwjgl-rundir/resources/textures/items/beef_cooked.png
new file mode 100644
index 0000000..a1c765a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/beef_cooked.png differ
diff --git a/lwjgl-rundir/resources/textures/items/beef_raw.png b/lwjgl-rundir/resources/textures/items/beef_raw.png
new file mode 100644
index 0000000..82af4e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/beef_raw.png differ
diff --git a/lwjgl-rundir/resources/textures/items/blaze_powder.png b/lwjgl-rundir/resources/textures/items/blaze_powder.png
new file mode 100644
index 0000000..89c57d6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/blaze_powder.png differ
diff --git a/lwjgl-rundir/resources/textures/items/blaze_rod.png b/lwjgl-rundir/resources/textures/items/blaze_rod.png
new file mode 100644
index 0000000..7050e10
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/blaze_rod.png differ
diff --git a/lwjgl-rundir/resources/textures/items/boat.png b/lwjgl-rundir/resources/textures/items/boat.png
new file mode 100644
index 0000000..235e0a2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/boat.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bone.png b/lwjgl-rundir/resources/textures/items/bone.png
new file mode 100644
index 0000000..3faca89
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bone.png differ
diff --git a/lwjgl-rundir/resources/textures/items/book_enchanted.png b/lwjgl-rundir/resources/textures/items/book_enchanted.png
new file mode 100644
index 0000000..44215f6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/book_enchanted.png differ
diff --git a/lwjgl-rundir/resources/textures/items/book_normal.png b/lwjgl-rundir/resources/textures/items/book_normal.png
new file mode 100644
index 0000000..f791ae4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/book_normal.png differ
diff --git a/lwjgl-rundir/resources/textures/items/book_writable.png b/lwjgl-rundir/resources/textures/items/book_writable.png
new file mode 100644
index 0000000..fa95246
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/book_writable.png differ
diff --git a/lwjgl-rundir/resources/textures/items/book_written.png b/lwjgl-rundir/resources/textures/items/book_written.png
new file mode 100644
index 0000000..b2a2aa8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/book_written.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bow_pulling_0.png b/lwjgl-rundir/resources/textures/items/bow_pulling_0.png
new file mode 100644
index 0000000..2022aab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bow_pulling_0.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bow_pulling_1.png b/lwjgl-rundir/resources/textures/items/bow_pulling_1.png
new file mode 100644
index 0000000..a132079
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bow_pulling_1.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bow_pulling_2.png b/lwjgl-rundir/resources/textures/items/bow_pulling_2.png
new file mode 100644
index 0000000..d459e68
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bow_pulling_2.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bow_standby.png b/lwjgl-rundir/resources/textures/items/bow_standby.png
new file mode 100644
index 0000000..d709b9c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bow_standby.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bowl.png b/lwjgl-rundir/resources/textures/items/bowl.png
new file mode 100644
index 0000000..63d16ad
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bowl.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bread.png b/lwjgl-rundir/resources/textures/items/bread.png
new file mode 100644
index 0000000..c833604
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bread.png differ
diff --git a/lwjgl-rundir/resources/textures/items/brewing_stand.png b/lwjgl-rundir/resources/textures/items/brewing_stand.png
new file mode 100644
index 0000000..97db9af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/brewing_stand.png differ
diff --git a/lwjgl-rundir/resources/textures/items/brick.png b/lwjgl-rundir/resources/textures/items/brick.png
new file mode 100644
index 0000000..11e74be
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/brick.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bucket_empty.png b/lwjgl-rundir/resources/textures/items/bucket_empty.png
new file mode 100644
index 0000000..f8e5369
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bucket_empty.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bucket_lava.png b/lwjgl-rundir/resources/textures/items/bucket_lava.png
new file mode 100644
index 0000000..13a1957
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bucket_lava.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bucket_milk.png b/lwjgl-rundir/resources/textures/items/bucket_milk.png
new file mode 100644
index 0000000..c77d92c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bucket_milk.png differ
diff --git a/lwjgl-rundir/resources/textures/items/bucket_water.png b/lwjgl-rundir/resources/textures/items/bucket_water.png
new file mode 100644
index 0000000..2f36acc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/bucket_water.png differ
diff --git a/lwjgl-rundir/resources/textures/items/cake.png b/lwjgl-rundir/resources/textures/items/cake.png
new file mode 100644
index 0000000..46e94b8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/cake.png differ
diff --git a/lwjgl-rundir/resources/textures/items/carrot.png b/lwjgl-rundir/resources/textures/items/carrot.png
new file mode 100644
index 0000000..2d08aab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/carrot.png differ
diff --git a/lwjgl-rundir/resources/textures/items/carrot_golden.png b/lwjgl-rundir/resources/textures/items/carrot_golden.png
new file mode 100644
index 0000000..e0f1ea6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/carrot_golden.png differ
diff --git a/lwjgl-rundir/resources/textures/items/carrot_on_a_stick.png b/lwjgl-rundir/resources/textures/items/carrot_on_a_stick.png
new file mode 100644
index 0000000..9e88571
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/carrot_on_a_stick.png differ
diff --git a/lwjgl-rundir/resources/textures/items/cauldron.png b/lwjgl-rundir/resources/textures/items/cauldron.png
new file mode 100644
index 0000000..e3186eb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/cauldron.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chainmail_boots.png b/lwjgl-rundir/resources/textures/items/chainmail_boots.png
new file mode 100644
index 0000000..54a4a15
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chainmail_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chainmail_chestplate.png b/lwjgl-rundir/resources/textures/items/chainmail_chestplate.png
new file mode 100644
index 0000000..cd2115a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chainmail_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chainmail_helmet.png b/lwjgl-rundir/resources/textures/items/chainmail_helmet.png
new file mode 100644
index 0000000..a143338
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chainmail_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chainmail_leggings.png b/lwjgl-rundir/resources/textures/items/chainmail_leggings.png
new file mode 100644
index 0000000..dae4b26
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chainmail_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/charcoal.png b/lwjgl-rundir/resources/textures/items/charcoal.png
new file mode 100644
index 0000000..20d5b25
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/charcoal.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chicken_cooked.png b/lwjgl-rundir/resources/textures/items/chicken_cooked.png
new file mode 100644
index 0000000..890b5b3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chicken_cooked.png differ
diff --git a/lwjgl-rundir/resources/textures/items/chicken_raw.png b/lwjgl-rundir/resources/textures/items/chicken_raw.png
new file mode 100644
index 0000000..6d25922
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/chicken_raw.png differ
diff --git a/lwjgl-rundir/resources/textures/items/clay_ball.png b/lwjgl-rundir/resources/textures/items/clay_ball.png
new file mode 100644
index 0000000..5103d6c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/clay_ball.png differ
diff --git a/lwjgl-rundir/resources/textures/items/clock.png b/lwjgl-rundir/resources/textures/items/clock.png
new file mode 100644
index 0000000..069a0ab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/clock.png differ
diff --git a/lwjgl-rundir/resources/textures/items/clock.png.mcmeta b/lwjgl-rundir/resources/textures/items/clock.png.mcmeta
new file mode 100644
index 0000000..de3267f
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/items/clock.png.mcmeta
@@ -0,0 +1,3 @@
+{
+ "animation": {}
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/items/coal.png b/lwjgl-rundir/resources/textures/items/coal.png
new file mode 100644
index 0000000..5563b6f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/coal.png differ
diff --git a/lwjgl-rundir/resources/textures/items/comparator.png b/lwjgl-rundir/resources/textures/items/comparator.png
new file mode 100644
index 0000000..28b8eec
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/comparator.png differ
diff --git a/lwjgl-rundir/resources/textures/items/compass.png b/lwjgl-rundir/resources/textures/items/compass.png
new file mode 100644
index 0000000..9dcbdfe
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/compass.png differ
diff --git a/lwjgl-rundir/resources/textures/items/compass.png.mcmeta b/lwjgl-rundir/resources/textures/items/compass.png.mcmeta
new file mode 100644
index 0000000..de3267f
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/items/compass.png.mcmeta
@@ -0,0 +1,3 @@
+{
+ "animation": {}
+}
\ No newline at end of file
diff --git a/lwjgl-rundir/resources/textures/items/cookie.png b/lwjgl-rundir/resources/textures/items/cookie.png
new file mode 100644
index 0000000..01fe56b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/cookie.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond.png b/lwjgl-rundir/resources/textures/items/diamond.png
new file mode 100644
index 0000000..10e70a0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_axe.png b/lwjgl-rundir/resources/textures/items/diamond_axe.png
new file mode 100644
index 0000000..7627f87
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_axe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_boots.png b/lwjgl-rundir/resources/textures/items/diamond_boots.png
new file mode 100644
index 0000000..70d9e5f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_chestplate.png b/lwjgl-rundir/resources/textures/items/diamond_chestplate.png
new file mode 100644
index 0000000..afdff93
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_helmet.png b/lwjgl-rundir/resources/textures/items/diamond_helmet.png
new file mode 100644
index 0000000..1c88592
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_hoe.png b/lwjgl-rundir/resources/textures/items/diamond_hoe.png
new file mode 100644
index 0000000..c9a97e0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_hoe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_horse_armor.png b/lwjgl-rundir/resources/textures/items/diamond_horse_armor.png
new file mode 100644
index 0000000..b281aad
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_horse_armor.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_leggings.png b/lwjgl-rundir/resources/textures/items/diamond_leggings.png
new file mode 100644
index 0000000..a99c896
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_pickaxe.png b/lwjgl-rundir/resources/textures/items/diamond_pickaxe.png
new file mode 100644
index 0000000..c279828
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_pickaxe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_shovel.png b/lwjgl-rundir/resources/textures/items/diamond_shovel.png
new file mode 100644
index 0000000..e4a8992
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_shovel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/diamond_sword.png b/lwjgl-rundir/resources/textures/items/diamond_sword.png
new file mode 100644
index 0000000..2a1552d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/diamond_sword.png differ
diff --git a/lwjgl-rundir/resources/textures/items/door_iron.png b/lwjgl-rundir/resources/textures/items/door_iron.png
new file mode 100644
index 0000000..67877ab
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/door_iron.png differ
diff --git a/lwjgl-rundir/resources/textures/items/door_wood.png b/lwjgl-rundir/resources/textures/items/door_wood.png
new file mode 100644
index 0000000..750307f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/door_wood.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_black.png b/lwjgl-rundir/resources/textures/items/dye_powder_black.png
new file mode 100644
index 0000000..909bea5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_black.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_blue.png b/lwjgl-rundir/resources/textures/items/dye_powder_blue.png
new file mode 100644
index 0000000..4713983
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_brown.png b/lwjgl-rundir/resources/textures/items/dye_powder_brown.png
new file mode 100644
index 0000000..62eae8d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_brown.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_cyan.png b/lwjgl-rundir/resources/textures/items/dye_powder_cyan.png
new file mode 100644
index 0000000..7b10c11
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_cyan.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_gray.png b/lwjgl-rundir/resources/textures/items/dye_powder_gray.png
new file mode 100644
index 0000000..4fce7e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_gray.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_green.png b/lwjgl-rundir/resources/textures/items/dye_powder_green.png
new file mode 100644
index 0000000..009e058
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_green.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_light_blue.png b/lwjgl-rundir/resources/textures/items/dye_powder_light_blue.png
new file mode 100644
index 0000000..a8b45c9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_light_blue.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_lime.png b/lwjgl-rundir/resources/textures/items/dye_powder_lime.png
new file mode 100644
index 0000000..7a78764
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_lime.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_magenta.png b/lwjgl-rundir/resources/textures/items/dye_powder_magenta.png
new file mode 100644
index 0000000..ea7342a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_magenta.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_orange.png b/lwjgl-rundir/resources/textures/items/dye_powder_orange.png
new file mode 100644
index 0000000..677a1aa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_orange.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_pink.png b/lwjgl-rundir/resources/textures/items/dye_powder_pink.png
new file mode 100644
index 0000000..1acc483
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_pink.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_purple.png b/lwjgl-rundir/resources/textures/items/dye_powder_purple.png
new file mode 100644
index 0000000..7d201c2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_purple.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_red.png b/lwjgl-rundir/resources/textures/items/dye_powder_red.png
new file mode 100644
index 0000000..2d1a742
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_red.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_silver.png b/lwjgl-rundir/resources/textures/items/dye_powder_silver.png
new file mode 100644
index 0000000..fa9e501
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_silver.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_white.png b/lwjgl-rundir/resources/textures/items/dye_powder_white.png
new file mode 100644
index 0000000..5b1833b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_white.png differ
diff --git a/lwjgl-rundir/resources/textures/items/dye_powder_yellow.png b/lwjgl-rundir/resources/textures/items/dye_powder_yellow.png
new file mode 100644
index 0000000..95e0673
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/dye_powder_yellow.png differ
diff --git a/lwjgl-rundir/resources/textures/items/egg.png b/lwjgl-rundir/resources/textures/items/egg.png
new file mode 100644
index 0000000..a6fe2bf
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/egg.png differ
diff --git a/lwjgl-rundir/resources/textures/items/emerald.png b/lwjgl-rundir/resources/textures/items/emerald.png
new file mode 100644
index 0000000..98d953e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/emerald.png differ
diff --git a/lwjgl-rundir/resources/textures/items/empty_armor_slot_boots.png b/lwjgl-rundir/resources/textures/items/empty_armor_slot_boots.png
new file mode 100644
index 0000000..fd7e05f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/empty_armor_slot_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/empty_armor_slot_chestplate.png b/lwjgl-rundir/resources/textures/items/empty_armor_slot_chestplate.png
new file mode 100644
index 0000000..6e632b9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/empty_armor_slot_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/empty_armor_slot_helmet.png b/lwjgl-rundir/resources/textures/items/empty_armor_slot_helmet.png
new file mode 100644
index 0000000..3a455f3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/empty_armor_slot_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/empty_armor_slot_leggings.png b/lwjgl-rundir/resources/textures/items/empty_armor_slot_leggings.png
new file mode 100644
index 0000000..28b2c49
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/empty_armor_slot_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/ender_eye.png b/lwjgl-rundir/resources/textures/items/ender_eye.png
new file mode 100644
index 0000000..8c4ef4e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/ender_eye.png differ
diff --git a/lwjgl-rundir/resources/textures/items/ender_pearl.png b/lwjgl-rundir/resources/textures/items/ender_pearl.png
new file mode 100644
index 0000000..4b752a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/ender_pearl.png differ
diff --git a/lwjgl-rundir/resources/textures/items/experience_bottle.png b/lwjgl-rundir/resources/textures/items/experience_bottle.png
new file mode 100644
index 0000000..ae4214f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/experience_bottle.png differ
diff --git a/lwjgl-rundir/resources/textures/items/feather.png b/lwjgl-rundir/resources/textures/items/feather.png
new file mode 100644
index 0000000..d4c3be5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/feather.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fireball.png b/lwjgl-rundir/resources/textures/items/fireball.png
new file mode 100644
index 0000000..d62a6f4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fireball.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fireworks.png b/lwjgl-rundir/resources/textures/items/fireworks.png
new file mode 100644
index 0000000..f1e07fd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fireworks.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fireworks_charge.png b/lwjgl-rundir/resources/textures/items/fireworks_charge.png
new file mode 100644
index 0000000..43a4a21
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fireworks_charge.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fireworks_charge_overlay.png b/lwjgl-rundir/resources/textures/items/fireworks_charge_overlay.png
new file mode 100644
index 0000000..d8b91a9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fireworks_charge_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fish_cooked.png b/lwjgl-rundir/resources/textures/items/fish_cooked.png
new file mode 100644
index 0000000..87564c7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fish_cooked.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fish_raw.png b/lwjgl-rundir/resources/textures/items/fish_raw.png
new file mode 100644
index 0000000..e4f6837
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fish_raw.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fishing_rod_cast.png b/lwjgl-rundir/resources/textures/items/fishing_rod_cast.png
new file mode 100644
index 0000000..a5ab378
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fishing_rod_cast.png differ
diff --git a/lwjgl-rundir/resources/textures/items/fishing_rod_uncast.png b/lwjgl-rundir/resources/textures/items/fishing_rod_uncast.png
new file mode 100644
index 0000000..d4b53f0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/fishing_rod_uncast.png differ
diff --git a/lwjgl-rundir/resources/textures/items/flint.png b/lwjgl-rundir/resources/textures/items/flint.png
new file mode 100644
index 0000000..5f51093
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/flint.png differ
diff --git a/lwjgl-rundir/resources/textures/items/flint_and_steel.png b/lwjgl-rundir/resources/textures/items/flint_and_steel.png
new file mode 100644
index 0000000..77bc340
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/flint_and_steel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/flower_pot.png b/lwjgl-rundir/resources/textures/items/flower_pot.png
new file mode 100644
index 0000000..c4f26d2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/flower_pot.png differ
diff --git a/lwjgl-rundir/resources/textures/items/ghast_tear.png b/lwjgl-rundir/resources/textures/items/ghast_tear.png
new file mode 100644
index 0000000..e5c741f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/ghast_tear.png differ
diff --git a/lwjgl-rundir/resources/textures/items/glowstone_dust.png b/lwjgl-rundir/resources/textures/items/glowstone_dust.png
new file mode 100644
index 0000000..edd93a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/glowstone_dust.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_axe.png b/lwjgl-rundir/resources/textures/items/gold_axe.png
new file mode 100644
index 0000000..0f47b60
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_axe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_boots.png b/lwjgl-rundir/resources/textures/items/gold_boots.png
new file mode 100644
index 0000000..f6033d2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_chestplate.png b/lwjgl-rundir/resources/textures/items/gold_chestplate.png
new file mode 100644
index 0000000..e36076a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_helmet.png b/lwjgl-rundir/resources/textures/items/gold_helmet.png
new file mode 100644
index 0000000..9eb89a0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_hoe.png b/lwjgl-rundir/resources/textures/items/gold_hoe.png
new file mode 100644
index 0000000..1685d47
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_hoe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_horse_armor.png b/lwjgl-rundir/resources/textures/items/gold_horse_armor.png
new file mode 100644
index 0000000..7c5c3a5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_horse_armor.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_ingot.png b/lwjgl-rundir/resources/textures/items/gold_ingot.png
new file mode 100644
index 0000000..ea781e7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_ingot.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_leggings.png b/lwjgl-rundir/resources/textures/items/gold_leggings.png
new file mode 100644
index 0000000..da23771
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_nugget.png b/lwjgl-rundir/resources/textures/items/gold_nugget.png
new file mode 100644
index 0000000..3a9a2fe
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_nugget.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_pickaxe.png b/lwjgl-rundir/resources/textures/items/gold_pickaxe.png
new file mode 100644
index 0000000..ecccafe
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_pickaxe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_shovel.png b/lwjgl-rundir/resources/textures/items/gold_shovel.png
new file mode 100644
index 0000000..150cbb9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_shovel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gold_sword.png b/lwjgl-rundir/resources/textures/items/gold_sword.png
new file mode 100644
index 0000000..0ddef04
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gold_sword.png differ
diff --git a/lwjgl-rundir/resources/textures/items/gunpowder.png b/lwjgl-rundir/resources/textures/items/gunpowder.png
new file mode 100644
index 0000000..73cadec
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/gunpowder.png differ
diff --git a/lwjgl-rundir/resources/textures/items/hopper.png b/lwjgl-rundir/resources/textures/items/hopper.png
new file mode 100644
index 0000000..f8b244f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/hopper.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_axe.png b/lwjgl-rundir/resources/textures/items/iron_axe.png
new file mode 100644
index 0000000..8bf133e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_axe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_boots.png b/lwjgl-rundir/resources/textures/items/iron_boots.png
new file mode 100644
index 0000000..b69ca05
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_chestplate.png b/lwjgl-rundir/resources/textures/items/iron_chestplate.png
new file mode 100644
index 0000000..e7993ce
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_helmet.png b/lwjgl-rundir/resources/textures/items/iron_helmet.png
new file mode 100644
index 0000000..65e64cc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_hoe.png b/lwjgl-rundir/resources/textures/items/iron_hoe.png
new file mode 100644
index 0000000..28d4c36
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_hoe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_horse_armor.png b/lwjgl-rundir/resources/textures/items/iron_horse_armor.png
new file mode 100644
index 0000000..5d697d1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_horse_armor.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_ingot.png b/lwjgl-rundir/resources/textures/items/iron_ingot.png
new file mode 100644
index 0000000..3833fa0
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_ingot.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_leggings.png b/lwjgl-rundir/resources/textures/items/iron_leggings.png
new file mode 100644
index 0000000..ad53673
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_pickaxe.png b/lwjgl-rundir/resources/textures/items/iron_pickaxe.png
new file mode 100644
index 0000000..d21440b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_pickaxe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_shovel.png b/lwjgl-rundir/resources/textures/items/iron_shovel.png
new file mode 100644
index 0000000..079b236
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_shovel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/iron_sword.png b/lwjgl-rundir/resources/textures/items/iron_sword.png
new file mode 100644
index 0000000..4d49c5a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/iron_sword.png differ
diff --git a/lwjgl-rundir/resources/textures/items/item_frame.png b/lwjgl-rundir/resources/textures/items/item_frame.png
new file mode 100644
index 0000000..261c98a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/item_frame.png differ
diff --git a/lwjgl-rundir/resources/textures/items/lead.png b/lwjgl-rundir/resources/textures/items/lead.png
new file mode 100644
index 0000000..0ef5312
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/lead.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather.png b/lwjgl-rundir/resources/textures/items/leather.png
new file mode 100644
index 0000000..13dc199
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_boots.png b/lwjgl-rundir/resources/textures/items/leather_boots.png
new file mode 100644
index 0000000..31c2132
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_boots.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_boots_overlay.png b/lwjgl-rundir/resources/textures/items/leather_boots_overlay.png
new file mode 100644
index 0000000..b6896d8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_boots_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_chestplate.png b/lwjgl-rundir/resources/textures/items/leather_chestplate.png
new file mode 100644
index 0000000..e534aef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_chestplate.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_chestplate_overlay.png b/lwjgl-rundir/resources/textures/items/leather_chestplate_overlay.png
new file mode 100644
index 0000000..125fd34
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_chestplate_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_helmet.png b/lwjgl-rundir/resources/textures/items/leather_helmet.png
new file mode 100644
index 0000000..da2cfa8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_helmet.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_helmet_overlay.png b/lwjgl-rundir/resources/textures/items/leather_helmet_overlay.png
new file mode 100644
index 0000000..8040d77
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_helmet_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_leggings.png b/lwjgl-rundir/resources/textures/items/leather_leggings.png
new file mode 100644
index 0000000..3ff24ee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_leggings.png differ
diff --git a/lwjgl-rundir/resources/textures/items/leather_leggings_overlay.png b/lwjgl-rundir/resources/textures/items/leather_leggings_overlay.png
new file mode 100644
index 0000000..813ba26
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/leather_leggings_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/magma_cream.png b/lwjgl-rundir/resources/textures/items/magma_cream.png
new file mode 100644
index 0000000..b2be210
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/magma_cream.png differ
diff --git a/lwjgl-rundir/resources/textures/items/map_empty.png b/lwjgl-rundir/resources/textures/items/map_empty.png
new file mode 100644
index 0000000..8dc6e58
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/map_empty.png differ
diff --git a/lwjgl-rundir/resources/textures/items/map_filled.png b/lwjgl-rundir/resources/textures/items/map_filled.png
new file mode 100644
index 0000000..1381e21
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/map_filled.png differ
diff --git a/lwjgl-rundir/resources/textures/items/melon.png b/lwjgl-rundir/resources/textures/items/melon.png
new file mode 100644
index 0000000..590f47a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/melon.png differ
diff --git a/lwjgl-rundir/resources/textures/items/melon_speckled.png b/lwjgl-rundir/resources/textures/items/melon_speckled.png
new file mode 100644
index 0000000..dee1bf5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/melon_speckled.png differ
diff --git a/lwjgl-rundir/resources/textures/items/minecart_chest.png b/lwjgl-rundir/resources/textures/items/minecart_chest.png
new file mode 100644
index 0000000..78a3778
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/minecart_chest.png differ
diff --git a/lwjgl-rundir/resources/textures/items/minecart_furnace.png b/lwjgl-rundir/resources/textures/items/minecart_furnace.png
new file mode 100644
index 0000000..5478f25
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/minecart_furnace.png differ
diff --git a/lwjgl-rundir/resources/textures/items/minecart_hopper.png b/lwjgl-rundir/resources/textures/items/minecart_hopper.png
new file mode 100644
index 0000000..8a138fb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/minecart_hopper.png differ
diff --git a/lwjgl-rundir/resources/textures/items/minecart_normal.png b/lwjgl-rundir/resources/textures/items/minecart_normal.png
new file mode 100644
index 0000000..2046f2b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/minecart_normal.png differ
diff --git a/lwjgl-rundir/resources/textures/items/minecart_tnt.png b/lwjgl-rundir/resources/textures/items/minecart_tnt.png
new file mode 100644
index 0000000..561279b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/minecart_tnt.png differ
diff --git a/lwjgl-rundir/resources/textures/items/mushroom_stew.png b/lwjgl-rundir/resources/textures/items/mushroom_stew.png
new file mode 100644
index 0000000..5598bc7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/mushroom_stew.png differ
diff --git a/lwjgl-rundir/resources/textures/items/name_tag.png b/lwjgl-rundir/resources/textures/items/name_tag.png
new file mode 100644
index 0000000..a88f559
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/name_tag.png differ
diff --git a/lwjgl-rundir/resources/textures/items/nether_star.png b/lwjgl-rundir/resources/textures/items/nether_star.png
new file mode 100644
index 0000000..6b848af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/nether_star.png differ
diff --git a/lwjgl-rundir/resources/textures/items/nether_wart.png b/lwjgl-rundir/resources/textures/items/nether_wart.png
new file mode 100644
index 0000000..09da1e3
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/nether_wart.png differ
diff --git a/lwjgl-rundir/resources/textures/items/netherbrick.png b/lwjgl-rundir/resources/textures/items/netherbrick.png
new file mode 100644
index 0000000..e9c14ed
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/netherbrick.png differ
diff --git a/lwjgl-rundir/resources/textures/items/painting.png b/lwjgl-rundir/resources/textures/items/painting.png
new file mode 100644
index 0000000..b394f30
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/painting.png differ
diff --git a/lwjgl-rundir/resources/textures/items/paper.png b/lwjgl-rundir/resources/textures/items/paper.png
new file mode 100644
index 0000000..a1d9c7e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/paper.png differ
diff --git a/lwjgl-rundir/resources/textures/items/porkchop_cooked.png b/lwjgl-rundir/resources/textures/items/porkchop_cooked.png
new file mode 100644
index 0000000..605d3f5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/porkchop_cooked.png differ
diff --git a/lwjgl-rundir/resources/textures/items/porkchop_raw.png b/lwjgl-rundir/resources/textures/items/porkchop_raw.png
new file mode 100644
index 0000000..7e83c1a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/porkchop_raw.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potato.png b/lwjgl-rundir/resources/textures/items/potato.png
new file mode 100644
index 0000000..c1d8541
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potato.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potato_baked.png b/lwjgl-rundir/resources/textures/items/potato_baked.png
new file mode 100644
index 0000000..e4d765b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potato_baked.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potato_poisonous.png b/lwjgl-rundir/resources/textures/items/potato_poisonous.png
new file mode 100644
index 0000000..6f154af
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potato_poisonous.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potion_bottle_drinkable.png b/lwjgl-rundir/resources/textures/items/potion_bottle_drinkable.png
new file mode 100644
index 0000000..87339d7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potion_bottle_drinkable.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potion_bottle_empty.png b/lwjgl-rundir/resources/textures/items/potion_bottle_empty.png
new file mode 100644
index 0000000..87339d7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potion_bottle_empty.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potion_bottle_splash.png b/lwjgl-rundir/resources/textures/items/potion_bottle_splash.png
new file mode 100644
index 0000000..03b1f90
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potion_bottle_splash.png differ
diff --git a/lwjgl-rundir/resources/textures/items/potion_overlay.png b/lwjgl-rundir/resources/textures/items/potion_overlay.png
new file mode 100644
index 0000000..1e6165e
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/potion_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/pumpkin_pie.png b/lwjgl-rundir/resources/textures/items/pumpkin_pie.png
new file mode 100644
index 0000000..c21a032
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/pumpkin_pie.png differ
diff --git a/lwjgl-rundir/resources/textures/items/quartz.png b/lwjgl-rundir/resources/textures/items/quartz.png
new file mode 100644
index 0000000..e403446
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/quartz.png differ
diff --git a/lwjgl-rundir/resources/textures/items/quiver.png b/lwjgl-rundir/resources/textures/items/quiver.png
new file mode 100644
index 0000000..818f728
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/quiver.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_11.png b/lwjgl-rundir/resources/textures/items/record_11.png
new file mode 100644
index 0000000..07ac487
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_11.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_13.png b/lwjgl-rundir/resources/textures/items/record_13.png
new file mode 100644
index 0000000..ead0c61
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_13.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_blocks.png b/lwjgl-rundir/resources/textures/items/record_blocks.png
new file mode 100644
index 0000000..3732d6c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_blocks.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_cat.png b/lwjgl-rundir/resources/textures/items/record_cat.png
new file mode 100644
index 0000000..b3527ef
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_cat.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_chirp.png b/lwjgl-rundir/resources/textures/items/record_chirp.png
new file mode 100644
index 0000000..1b24e11
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_chirp.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_far.png b/lwjgl-rundir/resources/textures/items/record_far.png
new file mode 100644
index 0000000..2320efd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_far.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_mall.png b/lwjgl-rundir/resources/textures/items/record_mall.png
new file mode 100644
index 0000000..811d046
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_mall.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_mellohi.png b/lwjgl-rundir/resources/textures/items/record_mellohi.png
new file mode 100644
index 0000000..879b6a4
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_mellohi.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_stal.png b/lwjgl-rundir/resources/textures/items/record_stal.png
new file mode 100644
index 0000000..c650d21
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_stal.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_strad.png b/lwjgl-rundir/resources/textures/items/record_strad.png
new file mode 100644
index 0000000..72d6e32
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_strad.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_wait.png b/lwjgl-rundir/resources/textures/items/record_wait.png
new file mode 100644
index 0000000..5306b51
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_wait.png differ
diff --git a/lwjgl-rundir/resources/textures/items/record_ward.png b/lwjgl-rundir/resources/textures/items/record_ward.png
new file mode 100644
index 0000000..b33b93d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/record_ward.png differ
diff --git a/lwjgl-rundir/resources/textures/items/redstone_dust.png b/lwjgl-rundir/resources/textures/items/redstone_dust.png
new file mode 100644
index 0000000..6da938b
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/redstone_dust.png differ
diff --git a/lwjgl-rundir/resources/textures/items/reeds.png b/lwjgl-rundir/resources/textures/items/reeds.png
new file mode 100644
index 0000000..40872c6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/reeds.png differ
diff --git a/lwjgl-rundir/resources/textures/items/repeater.png b/lwjgl-rundir/resources/textures/items/repeater.png
new file mode 100644
index 0000000..7a07381
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/repeater.png differ
diff --git a/lwjgl-rundir/resources/textures/items/rotten_flesh.png b/lwjgl-rundir/resources/textures/items/rotten_flesh.png
new file mode 100644
index 0000000..3f39998
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/rotten_flesh.png differ
diff --git a/lwjgl-rundir/resources/textures/items/ruby.png b/lwjgl-rundir/resources/textures/items/ruby.png
new file mode 100644
index 0000000..4f288d9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/ruby.png differ
diff --git a/lwjgl-rundir/resources/textures/items/saddle.png b/lwjgl-rundir/resources/textures/items/saddle.png
new file mode 100644
index 0000000..b12eafa
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/saddle.png differ
diff --git a/lwjgl-rundir/resources/textures/items/seeds_melon.png b/lwjgl-rundir/resources/textures/items/seeds_melon.png
new file mode 100644
index 0000000..ef84499
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/seeds_melon.png differ
diff --git a/lwjgl-rundir/resources/textures/items/seeds_pumpkin.png b/lwjgl-rundir/resources/textures/items/seeds_pumpkin.png
new file mode 100644
index 0000000..8d8f076
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/seeds_pumpkin.png differ
diff --git a/lwjgl-rundir/resources/textures/items/seeds_wheat.png b/lwjgl-rundir/resources/textures/items/seeds_wheat.png
new file mode 100644
index 0000000..83d23a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/seeds_wheat.png differ
diff --git a/lwjgl-rundir/resources/textures/items/shears.png b/lwjgl-rundir/resources/textures/items/shears.png
new file mode 100644
index 0000000..f9c6de1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/shears.png differ
diff --git a/lwjgl-rundir/resources/textures/items/sign.png b/lwjgl-rundir/resources/textures/items/sign.png
new file mode 100644
index 0000000..9b6e2ee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/sign.png differ
diff --git a/lwjgl-rundir/resources/textures/items/skull_creeper.png b/lwjgl-rundir/resources/textures/items/skull_creeper.png
new file mode 100644
index 0000000..c195fd5
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/skull_creeper.png differ
diff --git a/lwjgl-rundir/resources/textures/items/skull_skeleton.png b/lwjgl-rundir/resources/textures/items/skull_skeleton.png
new file mode 100644
index 0000000..bf383fc
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/skull_skeleton.png differ
diff --git a/lwjgl-rundir/resources/textures/items/skull_steve.png b/lwjgl-rundir/resources/textures/items/skull_steve.png
new file mode 100644
index 0000000..e56f406
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/skull_steve.png differ
diff --git a/lwjgl-rundir/resources/textures/items/skull_wither.png b/lwjgl-rundir/resources/textures/items/skull_wither.png
new file mode 100644
index 0000000..3571603
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/skull_wither.png differ
diff --git a/lwjgl-rundir/resources/textures/items/skull_zombie.png b/lwjgl-rundir/resources/textures/items/skull_zombie.png
new file mode 100644
index 0000000..67d1347
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/skull_zombie.png differ
diff --git a/lwjgl-rundir/resources/textures/items/slimeball.png b/lwjgl-rundir/resources/textures/items/slimeball.png
new file mode 100644
index 0000000..46478ee
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/slimeball.png differ
diff --git a/lwjgl-rundir/resources/textures/items/snowball.png b/lwjgl-rundir/resources/textures/items/snowball.png
new file mode 100644
index 0000000..340c639
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/snowball.png differ
diff --git a/lwjgl-rundir/resources/textures/items/spawn_egg.png b/lwjgl-rundir/resources/textures/items/spawn_egg.png
new file mode 100644
index 0000000..23259c7
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/spawn_egg.png differ
diff --git a/lwjgl-rundir/resources/textures/items/spawn_egg_overlay.png b/lwjgl-rundir/resources/textures/items/spawn_egg_overlay.png
new file mode 100644
index 0000000..83ec78f
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/spawn_egg_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/items/spider_eye.png b/lwjgl-rundir/resources/textures/items/spider_eye.png
new file mode 100644
index 0000000..35d8584
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/spider_eye.png differ
diff --git a/lwjgl-rundir/resources/textures/items/spider_eye_fermented.png b/lwjgl-rundir/resources/textures/items/spider_eye_fermented.png
new file mode 100644
index 0000000..226ffb8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/spider_eye_fermented.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stick.png b/lwjgl-rundir/resources/textures/items/stick.png
new file mode 100644
index 0000000..6f8ce13
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stick.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stone_axe.png b/lwjgl-rundir/resources/textures/items/stone_axe.png
new file mode 100644
index 0000000..fb33584
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stone_axe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stone_hoe.png b/lwjgl-rundir/resources/textures/items/stone_hoe.png
new file mode 100644
index 0000000..d46b272
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stone_hoe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stone_pickaxe.png b/lwjgl-rundir/resources/textures/items/stone_pickaxe.png
new file mode 100644
index 0000000..19a8e50
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stone_pickaxe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stone_shovel.png b/lwjgl-rundir/resources/textures/items/stone_shovel.png
new file mode 100644
index 0000000..8e1c0c2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stone_shovel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/stone_sword.png b/lwjgl-rundir/resources/textures/items/stone_sword.png
new file mode 100644
index 0000000..5810dfd
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/stone_sword.png differ
diff --git a/lwjgl-rundir/resources/textures/items/string.png b/lwjgl-rundir/resources/textures/items/string.png
new file mode 100644
index 0000000..0b04ddb
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/string.png differ
diff --git a/lwjgl-rundir/resources/textures/items/sugar.png b/lwjgl-rundir/resources/textures/items/sugar.png
new file mode 100644
index 0000000..0864df9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/sugar.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wheat.png b/lwjgl-rundir/resources/textures/items/wheat.png
new file mode 100644
index 0000000..bbd2fd9
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wheat.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wood_axe.png b/lwjgl-rundir/resources/textures/items/wood_axe.png
new file mode 100644
index 0000000..3a19203
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wood_axe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wood_hoe.png b/lwjgl-rundir/resources/textures/items/wood_hoe.png
new file mode 100644
index 0000000..de1c7a6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wood_hoe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wood_pickaxe.png b/lwjgl-rundir/resources/textures/items/wood_pickaxe.png
new file mode 100644
index 0000000..ebc6756
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wood_pickaxe.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wood_shovel.png b/lwjgl-rundir/resources/textures/items/wood_shovel.png
new file mode 100644
index 0000000..b057911
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wood_shovel.png differ
diff --git a/lwjgl-rundir/resources/textures/items/wood_sword.png b/lwjgl-rundir/resources/textures/items/wood_sword.png
new file mode 100644
index 0000000..c04dc0a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/items/wood_sword.png differ
diff --git a/lwjgl-rundir/resources/textures/map/map_background.png b/lwjgl-rundir/resources/textures/map/map_background.png
new file mode 100644
index 0000000..2783b50
Binary files /dev/null and b/lwjgl-rundir/resources/textures/map/map_background.png differ
diff --git a/lwjgl-rundir/resources/textures/map/map_icons.png b/lwjgl-rundir/resources/textures/map/map_icons.png
new file mode 100644
index 0000000..c2f35b8
Binary files /dev/null and b/lwjgl-rundir/resources/textures/map/map_icons.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png b/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png
new file mode 100644
index 0000000..f9ca97c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png.mcmeta b/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png.mcmeta
new file mode 100644
index 0000000..2f6b501
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/misc/enchanted_item_glint.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "texture": {
+ "blur": true
+ }
+}
diff --git a/lwjgl-rundir/resources/textures/misc/pumpkinblur.png b/lwjgl-rundir/resources/textures/misc/pumpkinblur.png
new file mode 100644
index 0000000..d9725ce
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/pumpkinblur.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/pumpkinblur.png.mcmeta b/lwjgl-rundir/resources/textures/misc/pumpkinblur.png.mcmeta
new file mode 100644
index 0000000..5b992c3
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/misc/pumpkinblur.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "texture": {
+ "blur": true
+ }
+}
+
diff --git a/lwjgl-rundir/resources/textures/misc/shadow.png b/lwjgl-rundir/resources/textures/misc/shadow.png
new file mode 100644
index 0000000..b09fd47
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/shadow.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/shadow.png.mcmeta b/lwjgl-rundir/resources/textures/misc/shadow.png.mcmeta
new file mode 100644
index 0000000..67b9d53
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/misc/shadow.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "texture": {
+ "clamp": true
+ }
+}
+
diff --git a/lwjgl-rundir/resources/textures/misc/underwater.png b/lwjgl-rundir/resources/textures/misc/underwater.png
new file mode 100644
index 0000000..2fc23b1
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/underwater.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/unknown_pack.png b/lwjgl-rundir/resources/textures/misc/unknown_pack.png
new file mode 100644
index 0000000..16afade
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/unknown_pack.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/vignette.png b/lwjgl-rundir/resources/textures/misc/vignette.png
new file mode 100644
index 0000000..9c14e2d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/misc/vignette.png differ
diff --git a/lwjgl-rundir/resources/textures/misc/vignette.png.mcmeta b/lwjgl-rundir/resources/textures/misc/vignette.png.mcmeta
new file mode 100644
index 0000000..5b992c3
--- /dev/null
+++ b/lwjgl-rundir/resources/textures/misc/vignette.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "texture": {
+ "blur": true
+ }
+}
+
diff --git a/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_1.png b/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_1.png
new file mode 100644
index 0000000..9f84c18
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_2.png b/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_2.png
new file mode 100644
index 0000000..117811c
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/chainmail_layer_2.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/diamond_layer_1.png b/lwjgl-rundir/resources/textures/models/armor/diamond_layer_1.png
new file mode 100644
index 0000000..14fecf2
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/diamond_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/diamond_layer_2.png b/lwjgl-rundir/resources/textures/models/armor/diamond_layer_2.png
new file mode 100644
index 0000000..2cca056
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/diamond_layer_2.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/gold_layer_1.png b/lwjgl-rundir/resources/textures/models/armor/gold_layer_1.png
new file mode 100644
index 0000000..6802e06
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/gold_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/gold_layer_2.png b/lwjgl-rundir/resources/textures/models/armor/gold_layer_2.png
new file mode 100644
index 0000000..a7cf835
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/gold_layer_2.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/iron_layer_1.png b/lwjgl-rundir/resources/textures/models/armor/iron_layer_1.png
new file mode 100644
index 0000000..6da6e84
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/iron_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/iron_layer_2.png b/lwjgl-rundir/resources/textures/models/armor/iron_layer_2.png
new file mode 100644
index 0000000..fab422a
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/iron_layer_2.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/leather_layer_1.png b/lwjgl-rundir/resources/textures/models/armor/leather_layer_1.png
new file mode 100644
index 0000000..ebcfc41
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/leather_layer_1.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/leather_layer_1_overlay.png b/lwjgl-rundir/resources/textures/models/armor/leather_layer_1_overlay.png
new file mode 100644
index 0000000..546397d
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/leather_layer_1_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/leather_layer_2.png b/lwjgl-rundir/resources/textures/models/armor/leather_layer_2.png
new file mode 100644
index 0000000..8d8bba6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/leather_layer_2.png differ
diff --git a/lwjgl-rundir/resources/textures/models/armor/leather_layer_2_overlay.png b/lwjgl-rundir/resources/textures/models/armor/leather_layer_2_overlay.png
new file mode 100644
index 0000000..5655659
Binary files /dev/null and b/lwjgl-rundir/resources/textures/models/armor/leather_layer_2_overlay.png differ
diff --git a/lwjgl-rundir/resources/textures/painting/paintings_kristoffer_zetterstrand.png b/lwjgl-rundir/resources/textures/painting/paintings_kristoffer_zetterstrand.png
new file mode 100644
index 0000000..d7df7f6
Binary files /dev/null and b/lwjgl-rundir/resources/textures/painting/paintings_kristoffer_zetterstrand.png differ
diff --git a/lwjgl-rundir/resources/textures/particle/footprint.png b/lwjgl-rundir/resources/textures/particle/footprint.png
new file mode 100644
index 0000000..8d23f64
Binary files /dev/null and b/lwjgl-rundir/resources/textures/particle/footprint.png differ
diff --git a/lwjgl-rundir/resources/textures/particle/particles.png b/lwjgl-rundir/resources/textures/particle/particles.png
new file mode 100644
index 0000000..eec1f89
Binary files /dev/null and b/lwjgl-rundir/resources/textures/particle/particles.png differ
diff --git a/src/main/java/net/minecraft/src/DefaultResourcePack.java b/src/main/java/net/minecraft/src/DefaultResourcePack.java
index ad261a1..24951c2 100644
--- a/src/main/java/net/minecraft/src/DefaultResourcePack.java
+++ b/src/main/java/net/minecraft/src/DefaultResourcePack.java
@@ -44,7 +44,7 @@ public class DefaultResourcePack implements ResourcePack
}
else
{
- throw new FileNotFoundException(par1TextureLocation.getResourcePath());
+ //throw new FileNotFoundException(par1TextureLocation.getResourcePath());
}
}
}
diff --git a/src/main/java/net/minecraft/src/EntityRenderer.java b/src/main/java/net/minecraft/src/EntityRenderer.java
index d7d3310..0fe175f 100644
--- a/src/main/java/net/minecraft/src/EntityRenderer.java
+++ b/src/main/java/net/minecraft/src/EntityRenderer.java
@@ -1113,7 +1113,7 @@ public class EntityRenderer
this.mc.mcProfiler.endStartSection("prepareterrain");
this.setupFog(0, par1);
GL11.glEnable(GL11.GL_FOG);
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
+ TextureMap.locationBlocksTexture.bindTexture();
RenderHelper.disableStandardItemLighting();
this.mc.mcProfiler.endStartSection("terrain");
var5.sortAndRender(var4, 0, (double)par1);
diff --git a/src/main/java/net/minecraft/src/EntityWither.java b/src/main/java/net/minecraft/src/EntityWither.java
index d079c59..3ae1d0d 100644
--- a/src/main/java/net/minecraft/src/EntityWither.java
+++ b/src/main/java/net/minecraft/src/EntityWither.java
@@ -88,6 +88,11 @@ public class EntityWither extends EntityMob implements IBossDisplayData, IRanged
return "mob.wither.death";
}
+ public boolean isInvul() {
+ int var1 = this.func_82212_n();
+ return var1 > 0 && (var1 > 80 || var1 / 5 % 2 != 1);
+ }
+
/**
* Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
* use this to react to sunlight and start to burn.
diff --git a/src/main/java/net/minecraft/src/FallbackResourceManager.java b/src/main/java/net/minecraft/src/FallbackResourceManager.java
deleted file mode 100644
index f7c3235..0000000
--- a/src/main/java/net/minecraft/src/FallbackResourceManager.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package net.minecraft.src;
-
-import com.google.common.collect.Lists;
-import net.lax1dude.eaglercraft.TextureLocation;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-public class FallbackResourceManager implements ResourceManager
-{
- protected final List resourcePacks = new ArrayList();
- private final MetadataSerializer frmMetadataSerializer;
-
- public FallbackResourceManager(MetadataSerializer par1MetadataSerializer)
- {
- this.frmMetadataSerializer = par1MetadataSerializer;
- }
-
- public void addResourcePack(ResourcePack par1ResourcePack)
- {
- this.resourcePacks.add(par1ResourcePack);
- }
-
- public Set getResourceDomains()
- {
- return null;
- }
-
- public Resource getResource(TextureLocation par1TextureLocation) throws IOException
- {
- ResourcePack var2 = null;
- TextureLocation var3 = getLocationMcmeta(par1TextureLocation);
-
- for (int var4 = this.resourcePacks.size() - 1; var4 >= 0; --var4)
- {
- ResourcePack var5 = (ResourcePack)this.resourcePacks.get(var4);
-
- if (var2 == null && var5.resourceExists(var3))
- {
- var2 = var5;
- }
-
- if (var5.resourceExists(par1TextureLocation))
- {
- InputStream var6 = null;
-
- if (var2 != null)
- {
- var6 = var2.getInputStream(var3);
- }
-
- return new SimpleResource(par1TextureLocation, var5.getInputStream(par1TextureLocation), var6, this.frmMetadataSerializer);
- }
- }
-
- throw new FileNotFoundException(par1TextureLocation.toString());
- }
-
- public List getAllResources(TextureLocation par1TextureLocation) throws IOException
- {
- ArrayList var2 = Lists.newArrayList();
- TextureLocation var3 = getLocationMcmeta(par1TextureLocation);
- Iterator var4 = this.resourcePacks.iterator();
-
- while (var4.hasNext())
- {
- ResourcePack var5 = (ResourcePack)var4.next();
-
- if (var5.resourceExists(par1TextureLocation))
- {
- InputStream var6 = var5.resourceExists(var3) ? var5.getInputStream(var3) : null;
- var2.add(new SimpleResource(par1TextureLocation, var5.getInputStream(par1TextureLocation), var6, this.frmMetadataSerializer));
- }
- }
-
- if (var2.isEmpty())
- {
- throw new FileNotFoundException(par1TextureLocation.toString());
- }
- else
- {
- return var2;
- }
- }
-
- static TextureLocation getLocationMcmeta(TextureLocation par0TextureLocation)
- {
- return new TextureLocation(par0TextureLocation.getResourceDomain(), par0TextureLocation.getResourcePath() + ".mcmeta");
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenConfigureWorld.java b/src/main/java/net/minecraft/src/GuiScreenConfigureWorld.java
deleted file mode 100644
index e78cb8d..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenConfigureWorld.java
+++ /dev/null
@@ -1,322 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenConfigureWorld extends GuiScreen
-{
- private final GuiScreen field_96285_a;
- private McoServer field_96280_b;
- private SelectionListInvited field_96282_c;
- private int field_96277_d;
- private int field_96286_n;
- private int field_96287_o;
- private int field_96284_p = -1;
- private String field_96283_q;
- private GuiButton field_96281_r;
- private GuiButton field_96279_s;
- private GuiButton field_96278_t;
- private GuiButton field_96276_u;
- private GuiButton field_98128_v;
- private GuiButton field_98127_w;
- private GuiButton field_98129_x;
- private GuiButton field_110381_z;
- private boolean field_102020_y;
-
- public GuiScreenConfigureWorld(GuiScreen par1GuiScreen, McoServer par2McoServer)
- {
- this.field_96285_a = par1GuiScreen;
- this.field_96280_b = par2McoServer;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen() {}
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- this.field_96277_d = this.width / 2 - 200;
- this.field_96286_n = 180;
- this.field_96287_o = this.width / 2;
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
-
- if (this.field_96280_b.field_96404_d.equals("CLOSED"))
- {
- this.buttonList.add(this.field_96281_r = new GuiButton(0, this.field_96277_d, this.func_96264_a(12), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.open")));
- this.field_96281_r.enabled = !this.field_96280_b.field_98166_h;
- }
- else
- {
- this.buttonList.add(this.field_96279_s = new GuiButton(1, this.field_96277_d, this.func_96264_a(12), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.close")));
- this.field_96279_s.enabled = !this.field_96280_b.field_98166_h;
- }
-
- this.buttonList.add(this.field_98129_x = new GuiButton(7, this.field_96277_d + this.field_96286_n / 2 + 2, this.func_96264_a(12), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.subscription")));
- this.buttonList.add(this.field_96278_t = new GuiButton(5, this.field_96277_d, this.func_96264_a(10), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.edit")));
- this.buttonList.add(this.field_96276_u = new GuiButton(6, this.field_96277_d + this.field_96286_n / 2 + 2, this.func_96264_a(10), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.reset")));
- this.buttonList.add(this.field_98128_v = new GuiButton(4, this.field_96287_o, this.func_96264_a(10), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.invite")));
- this.buttonList.add(this.field_98127_w = new GuiButton(3, this.field_96287_o + this.field_96286_n / 2 + 2, this.func_96264_a(10), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.uninvite")));
- this.buttonList.add(this.field_110381_z = new GuiButton(8, this.field_96287_o, this.func_96264_a(12), this.field_96286_n / 2 - 2, 20, I18n.getString("mco.configure.world.buttons.backup")));
- this.buttonList.add(new GuiButton(10, this.field_96287_o + this.field_96286_n / 2 + 2, this.func_96264_a(12), this.field_96286_n / 2 - 2, 20, I18n.getString("gui.back")));
- this.field_96282_c = new SelectionListInvited(this);
- this.field_96278_t.enabled = !this.field_96280_b.field_98166_h;
- this.field_96276_u.enabled = !this.field_96280_b.field_98166_h;
- this.field_98128_v.enabled = !this.field_96280_b.field_98166_h;
- this.field_98127_w.enabled = !this.field_96280_b.field_98166_h;
- this.field_110381_z.enabled = !this.field_96280_b.field_98166_h;
- }
-
- private int func_96264_a(int par1)
- {
- return 40 + par1 * 13;
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 10)
- {
- if (this.field_102020_y)
- {
- ((GuiScreenOnlineServers)this.field_96285_a).func_102018_a(this.field_96280_b.field_96408_a);
- }
-
- this.mc.displayGuiScreen(this.field_96285_a);
- }
- else if (par1GuiButton.id == 5)
- {
- this.mc.displayGuiScreen(new GuiScreenEditOnlineWorld(this, this.field_96285_a, this.field_96280_b));
- }
- else if (par1GuiButton.id == 1)
- {
- String var2 = I18n.getString("mco.configure.world.close.question.line1");
- String var3 = I18n.getString("mco.configure.world.close.question.line2");
- this.mc.displayGuiScreen(new GuiScreenConfirmation(this, "Warning!", var2, var3, 1));
- }
- else if (par1GuiButton.id == 0)
- {
- this.func_96268_g();
- }
- else if (par1GuiButton.id == 4)
- {
- this.mc.displayGuiScreen(new GuiScreenInvite(this.field_96285_a, this, this.field_96280_b));
- }
- else if (par1GuiButton.id == 3)
- {
- this.func_96272_i();
- }
- else if (par1GuiButton.id == 6)
- {
- this.mc.displayGuiScreen(new GuiScreenResetWorld(this, this.field_96280_b));
- }
- else if (par1GuiButton.id == 7)
- {
- this.mc.displayGuiScreen(new GuiScreenSubscription(this, this.field_96280_b));
- }
- else if (par1GuiButton.id == 8)
- {
- this.mc.displayGuiScreen(new GuiScreenBackup(this, this.field_96280_b.field_96408_a));
- }
- }
- }
-
- private void func_96268_g()
- {
- McoClient var1 = new McoClient(this.mc.getSession());
-
- try
- {
- Boolean var2 = var1.func_96383_b(this.field_96280_b.field_96408_a);
-
- if (var2.booleanValue())
- {
- this.field_102020_y = true;
- this.field_96280_b.field_96404_d = "OPEN";
- this.initGui();
- }
- }
- catch (ExceptionMcoService var3)
- {
- this.mc.getLogAgent().logSevere(var3.toString());
- }
- catch (IOException var4)
- {
- this.mc.getLogAgent().logWarning("Realms: could not parse response");
- }
- }
-
- private void func_96275_h()
- {
- McoClient var1 = new McoClient(this.mc.getSession());
-
- try
- {
- boolean var2 = var1.func_96378_c(this.field_96280_b.field_96408_a).booleanValue();
-
- if (var2)
- {
- this.field_102020_y = true;
- this.field_96280_b.field_96404_d = "CLOSED";
- this.initGui();
- }
- }
- catch (ExceptionMcoService var3)
- {
- this.mc.getLogAgent().logSevere(var3.toString());
- }
- catch (IOException var4)
- {
- this.mc.getLogAgent().logWarning("Realms: could not parse response");
- }
- }
-
- private void func_96272_i()
- {
- if (this.field_96284_p >= 0 && this.field_96284_p < this.field_96280_b.field_96402_f.size())
- {
- this.field_96283_q = (String)this.field_96280_b.field_96402_f.get(this.field_96284_p);
- GuiYesNo var1 = new GuiYesNo(this, "Warning!", I18n.getString("mco.configure.world.uninvite.question") + " \'" + this.field_96283_q + "\'", 3);
- this.mc.displayGuiScreen(var1);
- }
- }
-
- public void confirmClicked(boolean par1, int par2)
- {
- if (par2 == 3)
- {
- if (par1)
- {
- McoClient var3 = new McoClient(this.mc.getSession());
-
- try
- {
- var3.func_96381_a(this.field_96280_b.field_96408_a, this.field_96283_q);
- }
- catch (ExceptionMcoService var5)
- {
- this.mc.getLogAgent().logSevere(var5.toString());
- }
-
- this.func_96267_d(this.field_96284_p);
- }
-
- this.mc.displayGuiScreen(new GuiScreenConfigureWorld(this.field_96285_a, this.field_96280_b));
- }
-
- if (par2 == 1)
- {
- if (par1)
- {
- this.func_96275_h();
- }
-
- this.mc.displayGuiScreen(this);
- }
- }
-
- private void func_96267_d(int par1)
- {
- this.field_96280_b.field_96402_f.remove(par1);
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2) {}
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.field_96282_c.func_96612_a(par1, par2, par3);
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.configure.world.title"), this.width / 2, 17, 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.name"), this.field_96277_d, this.func_96264_a(1), 10526880);
- this.drawString(this.fontRenderer, this.field_96280_b.func_96398_b(), this.field_96277_d, this.func_96264_a(2), 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.description"), this.field_96277_d, this.func_96264_a(4), 10526880);
- this.drawString(this.fontRenderer, this.field_96280_b.func_96397_a(), this.field_96277_d, this.func_96264_a(5), 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.status"), this.field_96277_d, this.func_96264_a(7), 10526880);
- this.drawString(this.fontRenderer, this.func_104045_j(), this.field_96277_d, this.func_96264_a(8), 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.invited"), this.field_96287_o, this.func_96264_a(1), 10526880);
- super.drawScreen(par1, par2, par3);
- }
-
- private String func_104045_j()
- {
- if (this.field_96280_b.field_98166_h)
- {
- return "Expired";
- }
- else
- {
- String var1 = this.field_96280_b.field_96404_d.toLowerCase();
- return Character.toUpperCase(var1.charAt(0)) + var1.substring(1);
- }
- }
-
- static Minecraft getMinecraft(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.mc;
- }
-
- static int func_96271_b(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.field_96287_o;
- }
-
- static int func_96274_a(GuiScreenConfigureWorld par0GuiScreenConfigureWorld, int par1)
- {
- return par0GuiScreenConfigureWorld.func_96264_a(par1);
- }
-
- static int func_96269_c(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.field_96286_n;
- }
-
- static McoServer func_96266_d(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.field_96280_b;
- }
-
- static int func_96270_b(GuiScreenConfigureWorld par0GuiScreenConfigureWorld, int par1)
- {
- return par0GuiScreenConfigureWorld.field_96284_p = par1;
- }
-
- static int func_96263_e(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.field_96284_p;
- }
-
- static FontRenderer func_96273_f(GuiScreenConfigureWorld par0GuiScreenConfigureWorld)
- {
- return par0GuiScreenConfigureWorld.fontRenderer;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenCreateOnlineWorld.java b/src/main/java/net/minecraft/src/GuiScreenCreateOnlineWorld.java
deleted file mode 100644
index 133cf4b..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenCreateOnlineWorld.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package net.minecraft.src;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenCreateOnlineWorld extends ScreenWithCallback
-{
- private GuiScreen field_96260_a;
- private GuiTextField field_96257_c;
- private GuiTextField field_96255_b;
- private String field_98108_c;
- private String field_98109_n;
- private static int field_96253_d;
- private static int field_96261_n = 1;
- private static int field_110357_r = 2;
- private boolean field_96256_r;
- private String field_96254_s = "You must enter a name!";
- private WorldTemplate field_110356_u;
-
- public GuiScreenCreateOnlineWorld(GuiScreen par1GuiScreen)
- {
- super.buttonList = Collections.synchronizedList(new ArrayList());
- this.field_96260_a = par1GuiScreen;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- this.field_96257_c.updateCursorCounter();
- this.field_98108_c = this.field_96257_c.getText();
- this.field_96255_b.updateCursorCounter();
- this.field_98109_n = this.field_96255_b.getText();
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.buttonList.add(new GuiButton(field_96253_d, this.width / 2 - 100, this.height / 4 + 120 + 17, 97, 20, I18n.getString("mco.create.world")));
- this.buttonList.add(new GuiButton(field_96261_n, this.width / 2 + 5, this.height / 4 + 120 + 17, 95, 20, I18n.getString("gui.cancel")));
- this.field_96257_c = new GuiTextField(this.fontRenderer, this.width / 2 - 100, 65, 200, 20);
- this.field_96257_c.setFocused(true);
-
- if (this.field_98108_c != null)
- {
- this.field_96257_c.setText(this.field_98108_c);
- }
-
- this.field_96255_b = new GuiTextField(this.fontRenderer, this.width / 2 - 100, 111, 200, 20);
-
- if (this.field_98109_n != null)
- {
- this.field_96255_b.setText(this.field_98109_n);
- }
-
- if (this.field_110356_u == null)
- {
- this.buttonList.add(new GuiButton(field_110357_r, this.width / 2 - 100, 147, 200, 20, I18n.getString("mco.template.default.name")));
- }
- else
- {
- this.field_96255_b.setText("");
- this.field_96255_b.setEnabled(false);
- this.field_96255_b.setFocused(false);
- this.buttonList.add(new GuiButton(field_110357_r, this.width / 2 - 100, 147, 200, 20, I18n.getString("mco.template.name") + ": " + this.field_110356_u.field_110732_b));
- }
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == field_96261_n)
- {
- this.mc.displayGuiScreen(this.field_96260_a);
- }
- else if (par1GuiButton.id == field_96253_d)
- {
- this.func_96252_h();
- }
- else if (par1GuiButton.id == field_110357_r)
- {
- this.mc.displayGuiScreen(new GuiScreenMcoWorldTemplate(this, this.field_110356_u));
- }
- }
- }
-
- private void func_96252_h()
- {
- if (this.func_96249_i())
- {
- TaskWorldCreation var1 = new TaskWorldCreation(this, this.field_96257_c.getText(), "Minecraft Realms Server", this.field_98109_n, this.field_110356_u);
- GuiScreenLongRunningTask var2 = new GuiScreenLongRunningTask(this.mc, this.field_96260_a, var1);
- var2.func_98117_g();
- this.mc.displayGuiScreen(var2);
- }
- }
-
- private boolean func_96249_i()
- {
- this.field_96256_r = this.field_96257_c.getText() == null || this.field_96257_c.getText().trim().equals("");
- return !this.field_96256_r;
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2)
- {
- this.field_96257_c.textboxKeyTyped(par1, par2);
- this.field_96255_b.textboxKeyTyped(par1, par2);
-
- if (par2 == 15)
- {
- this.field_96257_c.setFocused(!this.field_96257_c.isFocused());
- this.field_96255_b.setFocused(!this.field_96255_b.isFocused());
- }
-
- if (par2 == 28 || par2 == 156)
- {
- this.actionPerformed((GuiButton)this.buttonList.get(0));
- }
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- this.field_96257_c.mouseClicked(par1, par2, par3);
- this.field_96255_b.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.selectServer.create"), this.width / 2, 11, 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.name"), this.width / 2 - 100, 52, 10526880);
- this.drawString(this.fontRenderer, I18n.getString("mco.create.world.seed"), this.width / 2 - 100, 98, 10526880);
-
- if (this.field_96256_r)
- {
- this.drawCenteredString(this.fontRenderer, this.field_96254_s, this.width / 2, 167, 16711680);
- }
-
- this.field_96257_c.drawTextBox();
- this.field_96255_b.drawTextBox();
- super.drawScreen(par1, par2, par3);
- }
-
- public void func_110355_a(WorldTemplate par1WorldTemplate)
- {
- this.field_110356_u = par1WorldTemplate;
- }
-
- public void func_110354_a(Object par1Obj)
- {
- this.func_110355_a((WorldTemplate)par1Obj);
- }
-
- static Minecraft func_96248_a(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.mc;
- }
-
- static GuiScreen func_96247_b(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.field_96260_a;
- }
-
- static Minecraft func_96246_c(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.mc;
- }
-
- static Minecraft func_130026_d(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.mc;
- }
-
- static Minecraft func_130027_e(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.mc;
- }
-
- static Minecraft func_130028_f(GuiScreenCreateOnlineWorld par0GuiScreenCreateOnlineWorld)
- {
- return par0GuiScreenCreateOnlineWorld.mc;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenDisconnectedOnline.java b/src/main/java/net/minecraft/src/GuiScreenDisconnectedOnline.java
deleted file mode 100644
index 992c831..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenDisconnectedOnline.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package net.minecraft.src;
-
-import java.util.Iterator;
-import java.util.List;
-
-public class GuiScreenDisconnectedOnline extends GuiScreen
-{
- private String field_98113_a;
- private String field_98111_b;
- private Object[] field_98112_c;
- private List field_98110_d;
- private final GuiScreen field_98114_n;
-
- public GuiScreenDisconnectedOnline(GuiScreen par1GuiScreen, String par2Str, String par3Str, Object ... par4ArrayOfObj)
- {
- this.field_98114_n = par1GuiScreen;
- this.field_98113_a = I18n.getString(par2Str);
- this.field_98111_b = par3Str;
- this.field_98112_c = par4ArrayOfObj;
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2) {}
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- this.buttonList.clear();
- this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + 12, I18n.getString("gui.back")));
-
- if (this.field_98112_c != null)
- {
- this.field_98110_d = this.fontRenderer.listFormattedStringToWidth(I18n.getStringParams(this.field_98111_b, this.field_98112_c), this.width - 50);
- }
- else
- {
- this.field_98110_d = this.fontRenderer.listFormattedStringToWidth(I18n.getString(this.field_98111_b), this.width - 50);
- }
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.id == 0)
- {
- this.mc.displayGuiScreen(this.field_98114_n);
- }
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawCenteredString(this.fontRenderer, this.field_98113_a, this.width / 2, this.height / 2 - 50, 11184810);
- int var4 = this.height / 2 - 30;
-
- if (this.field_98110_d != null)
- {
- for (Iterator var5 = this.field_98110_d.iterator(); var5.hasNext(); var4 += this.fontRenderer.FONT_HEIGHT)
- {
- String var6 = (String)var5.next();
- this.drawCenteredString(this.fontRenderer, var6, this.width / 2, var4, 16777215);
- }
- }
-
- super.drawScreen(par1, par2, par3);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenEditOnlineWorld.java b/src/main/java/net/minecraft/src/GuiScreenEditOnlineWorld.java
deleted file mode 100644
index b8d91df..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenEditOnlineWorld.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package net.minecraft.src;
-
-import java.io.UnsupportedEncodingException;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenEditOnlineWorld extends GuiScreen
-{
- private GuiScreen field_96204_a;
- private GuiScreen field_96202_b;
- private GuiTextField field_96203_c;
- private GuiTextField field_96201_d;
- private McoServer field_96205_n;
- private GuiButton field_96206_o;
- private int field_104054_p;
- private int field_104053_q;
- private int field_104052_r;
- private GuiScreenOnlineServersSubscreen field_104051_s;
-
- public GuiScreenEditOnlineWorld(GuiScreen par1GuiScreen, GuiScreen par2GuiScreen, McoServer par3McoServer)
- {
- this.field_96204_a = par1GuiScreen;
- this.field_96202_b = par2GuiScreen;
- this.field_96205_n = par3McoServer;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- this.field_96201_d.updateCursorCounter();
- this.field_96203_c.updateCursorCounter();
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- this.field_104054_p = this.width / 4;
- this.field_104053_q = this.width / 4 - 2;
- this.field_104052_r = this.width / 2 + 4;
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.buttonList.add(this.field_96206_o = new GuiButton(0, this.field_104054_p, this.height / 4 + 120 + 22, this.field_104053_q, 20, I18n.getString("mco.configure.world.buttons.done")));
- this.buttonList.add(new GuiButton(1, this.field_104052_r, this.height / 4 + 120 + 22, this.field_104053_q, 20, I18n.getString("gui.cancel")));
- this.field_96201_d = new GuiTextField(this.fontRenderer, this.field_104054_p, 56, 212, 20);
- this.field_96201_d.setFocused(true);
- this.field_96201_d.setMaxStringLength(32);
- this.field_96201_d.setText(this.field_96205_n.func_96398_b());
- this.field_96203_c = new GuiTextField(this.fontRenderer, this.field_104054_p, 96, 212, 20);
- this.field_96203_c.setMaxStringLength(32);
- this.field_96203_c.setText(this.field_96205_n.func_96397_a());
- this.field_104051_s = new GuiScreenOnlineServersSubscreen(this.width, this.height, this.field_104054_p, 122, this.field_96205_n.field_110729_i, this.field_96205_n.field_110728_j);
- this.buttonList.addAll(this.field_104051_s.field_104079_a);
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 1)
- {
- this.mc.displayGuiScreen(this.field_96204_a);
- }
- else if (par1GuiButton.id == 0)
- {
- this.func_96200_g();
- }
- else if (par1GuiButton.id == 2)
- {
- this.mc.displayGuiScreen(new GuiScreenResetWorld(this, this.field_96205_n));
- }
- else
- {
- this.field_104051_s.func_104069_a(par1GuiButton);
- }
- }
- }
-
- private void func_96200_g()
- {
- McoClient var1 = new McoClient(this.mc.getSession());
-
- try
- {
- String var2 = this.field_96203_c.getText() != null && !this.field_96203_c.getText().trim().equals("") ? this.field_96203_c.getText() : null;
- var1.func_96384_a(this.field_96205_n.field_96408_a, this.field_96201_d.getText(), var2, this.field_104051_s.field_104076_e, this.field_104051_s.field_104073_f);
- this.field_96205_n.func_96399_a(this.field_96201_d.getText());
- this.field_96205_n.func_96400_b(this.field_96203_c.getText());
- this.field_96205_n.field_110729_i = this.field_104051_s.field_104076_e;
- this.field_96205_n.field_110728_j = this.field_104051_s.field_104073_f;
- this.mc.displayGuiScreen(new GuiScreenConfigureWorld(this.field_96202_b, this.field_96205_n));
- }
- catch (ExceptionMcoService var3)
- {
- this.mc.getLogAgent().logSevere(var3.toString());
- }
- catch (UnsupportedEncodingException var4)
- {
- this.mc.getLogAgent().logWarning("Realms: " + var4.getLocalizedMessage());
- }
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2)
- {
- this.field_96201_d.textboxKeyTyped(par1, par2);
- this.field_96203_c.textboxKeyTyped(par1, par2);
-
- if (par2 == 15)
- {
- this.field_96201_d.setFocused(!this.field_96201_d.isFocused());
- this.field_96203_c.setFocused(!this.field_96203_c.isFocused());
- }
-
- if (par2 == 28 || par2 == 156)
- {
- this.func_96200_g();
- }
-
- this.field_96206_o.enabled = this.field_96201_d.getText() != null && !this.field_96201_d.getText().trim().equals("");
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- this.field_96203_c.mouseClicked(par1, par2, par3);
- this.field_96201_d.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.configure.world.edit.title"), this.width / 2, 17, 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.name"), this.field_104054_p, 43, 10526880);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.description"), this.field_104054_p, 84, 10526880);
- this.field_96201_d.drawTextBox();
- this.field_96203_c.drawTextBox();
- this.field_104051_s.func_104071_a(this, this.fontRenderer);
- super.drawScreen(par1, par2, par3);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenInvite.java b/src/main/java/net/minecraft/src/GuiScreenInvite.java
deleted file mode 100644
index 4a36460..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenInvite.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenInvite extends GuiScreen
-{
- private GuiTextField field_96227_a;
- private McoServer field_96223_b;
- private final GuiScreen field_96224_c;
- private final GuiScreenConfigureWorld field_96222_d;
- private final int field_96228_n = 0;
- private final int field_96229_o = 1;
- private String field_101016_p = "Could not invite the provided name";
- private String field_96226_p;
- private boolean field_96225_q;
-
- public GuiScreenInvite(GuiScreen par1GuiScreen, GuiScreenConfigureWorld par2GuiScreenConfigureWorld, McoServer par3McoServer)
- {
- this.field_96224_c = par1GuiScreen;
- this.field_96222_d = par2GuiScreenConfigureWorld;
- this.field_96223_b = par3McoServer;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- this.field_96227_a.updateCursorCounter();
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96 + 12, I18n.getString("mco.configure.world.buttons.invite")));
- this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + 12, I18n.getString("gui.cancel")));
- this.field_96227_a = new GuiTextField(this.fontRenderer, this.width / 2 - 100, 66, 200, 20);
- this.field_96227_a.setFocused(true);
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 1)
- {
- this.mc.displayGuiScreen(this.field_96222_d);
- }
- else if (par1GuiButton.id == 0)
- {
- McoClient var2 = new McoClient(this.mc.getSession());
-
- if (this.field_96227_a.getText() == null || this.field_96227_a.getText().isEmpty())
- {
- return;
- }
-
- try
- {
- McoServer var3 = var2.func_96387_b(this.field_96223_b.field_96408_a, this.field_96227_a.getText());
-
- if (var3 != null)
- {
- this.field_96223_b.field_96402_f = var3.field_96402_f;
- this.mc.displayGuiScreen(new GuiScreenConfigureWorld(this.field_96224_c, this.field_96223_b));
- }
- else
- {
- this.func_101015_a(this.field_101016_p);
- }
- }
- catch (ExceptionMcoService var4)
- {
- this.mc.getLogAgent().logSevere(var4.toString());
- this.func_101015_a(var4.field_96391_b);
- }
- catch (IOException var5)
- {
- this.mc.getLogAgent().logWarning("Realms: could not parse response");
- this.func_101015_a(this.field_101016_p);
- }
- }
- }
- }
-
- private void func_101015_a(String par1Str)
- {
- this.field_96225_q = true;
- this.field_96226_p = par1Str;
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2)
- {
- this.field_96227_a.textboxKeyTyped(par1, par2);
-
- if (par2 == 15)
- {
- if (this.field_96227_a.isFocused())
- {
- this.field_96227_a.setFocused(false);
- }
- else
- {
- this.field_96227_a.setFocused(true);
- }
- }
-
- if (par2 == 28 || par2 == 156)
- {
- this.actionPerformed((GuiButton)this.buttonList.get(0));
- }
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- this.field_96227_a.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.invite.profile.name"), this.width / 2 - 100, 53, 10526880);
-
- if (this.field_96225_q)
- {
- this.drawCenteredString(this.fontRenderer, this.field_96226_p, this.width / 2, 100, 16711680);
- }
-
- this.field_96227_a.drawTextBox();
- super.drawScreen(par1, par2, par3);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplate.java b/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplate.java
deleted file mode 100644
index af99299..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplate.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package net.minecraft.src;
-
-import java.util.Collections;
-import java.util.List;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenMcoWorldTemplate extends GuiScreen
-{
- private final ScreenWithCallback field_110401_a;
- private WorldTemplate field_110398_b;
- private List field_110399_c = Collections.emptyList();
- private GuiScreenMcoWorldTemplateSelectionList field_110396_d;
- private int field_110397_e = -1;
- private GuiButton field_110400_p;
-
- public GuiScreenMcoWorldTemplate(ScreenWithCallback par1ScreenWithCallback, WorldTemplate par2WorldTemplate)
- {
- this.field_110401_a = par1ScreenWithCallback;
- this.field_110398_b = par2WorldTemplate;
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.field_110396_d = new GuiScreenMcoWorldTemplateSelectionList(this);
- (new GuiScreenMcoWorldTemplateDownloadThread(this)).start();
- this.func_110385_g();
- }
-
- private void func_110385_g()
- {
- this.buttonList.add(new GuiButton(0, this.width / 2 + 6, this.height - 52, 153, 20, I18n.getString("gui.cancel")));
- this.buttonList.add(this.field_110400_p = new GuiButton(1, this.width / 2 - 154, this.height - 52, 153, 20, I18n.getString("mco.template.button.select")));
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- super.updateScreen();
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 1)
- {
- this.func_110394_h();
- }
- else if (par1GuiButton.id == 0)
- {
- this.field_110401_a.func_110354_a((Object)null);
- this.mc.displayGuiScreen(this.field_110401_a);
- }
- else
- {
- this.field_110396_d.actionPerformed(par1GuiButton);
- }
- }
- }
-
- private void func_110394_h()
- {
- if (this.field_110397_e >= 0 && this.field_110397_e < this.field_110399_c.size())
- {
- this.field_110401_a.func_110354_a(this.field_110399_c.get(this.field_110397_e));
- this.mc.displayGuiScreen(this.field_110401_a);
- }
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.field_110396_d.drawScreen(par1, par2, par3);
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.template.title"), this.width / 2, 20, 16777215);
- super.drawScreen(par1, par2, par3);
- }
-
- static Minecraft func_110382_a(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.mc;
- }
-
- static List func_110388_a(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate, List par1List)
- {
- return par0GuiScreenMcoWorldTemplate.field_110399_c = par1List;
- }
-
- static Minecraft func_110392_b(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.mc;
- }
-
- static Minecraft func_130066_c(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.mc;
- }
-
- static List func_110395_c(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.field_110399_c;
- }
-
- static int func_130064_a(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate, int par1)
- {
- return par0GuiScreenMcoWorldTemplate.field_110397_e = par1;
- }
-
- static WorldTemplate func_130065_a(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate, WorldTemplate par1WorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.field_110398_b = par1WorldTemplate;
- }
-
- static WorldTemplate func_130067_e(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.field_110398_b;
- }
-
- static int func_130062_f(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.field_110397_e;
- }
-
- static FontRenderer func_110389_g(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.fontRenderer;
- }
-
- static FontRenderer func_110387_h(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.fontRenderer;
- }
-
- static FontRenderer func_110384_i(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.fontRenderer;
- }
-
- static FontRenderer func_130063_j(GuiScreenMcoWorldTemplate par0GuiScreenMcoWorldTemplate)
- {
- return par0GuiScreenMcoWorldTemplate.fontRenderer;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateDownloadThread.java b/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateDownloadThread.java
deleted file mode 100644
index 4433995..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateDownloadThread.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenMcoWorldTemplateDownloadThread extends Thread
-{
- final GuiScreenMcoWorldTemplate field_111256_a;
-
- GuiScreenMcoWorldTemplateDownloadThread(GuiScreenMcoWorldTemplate par1GuiScreenMcoWorldTemplate)
- {
- this.field_111256_a = par1GuiScreenMcoWorldTemplate;
- }
-
- public void run()
- {
- McoClient var1 = new McoClient(GuiScreenMcoWorldTemplate.func_110382_a(this.field_111256_a).getSession());
-
- try
- {
- GuiScreenMcoWorldTemplate.func_110388_a(this.field_111256_a, var1.func_111231_d().field_110736_a);
- }
- catch (ExceptionMcoService var3)
- {
- GuiScreenMcoWorldTemplate.func_110392_b(this.field_111256_a).getLogAgent().logSevere(var3.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateSelectionList.java b/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateSelectionList.java
deleted file mode 100644
index 6c13eda..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenMcoWorldTemplateSelectionList.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenMcoWorldTemplateSelectionList extends GuiScreenSelectLocation
-{
- final GuiScreenMcoWorldTemplate field_111245_a;
-
- public GuiScreenMcoWorldTemplateSelectionList(GuiScreenMcoWorldTemplate par1GuiScreenMcoWorldTemplate)
- {
- super(GuiScreenMcoWorldTemplate.func_130066_c(par1GuiScreenMcoWorldTemplate), par1GuiScreenMcoWorldTemplate.width, par1GuiScreenMcoWorldTemplate.height, 32, par1GuiScreenMcoWorldTemplate.height - 64, 36);
- this.field_111245_a = par1GuiScreenMcoWorldTemplate;
- }
-
- /**
- * Gets the size of the current slot list.
- */
- protected int getSize()
- {
- return GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).size() + 1;
- }
-
- /**
- * the element in the slot that was clicked, boolean for wether it was double clicked or not
- */
- protected void elementClicked(int par1, boolean par2)
- {
- if (par1 < GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).size())
- {
- GuiScreenMcoWorldTemplate.func_130064_a(this.field_111245_a, par1);
- GuiScreenMcoWorldTemplate.func_130065_a(this.field_111245_a, (WorldTemplate)null);
- }
- }
-
- /**
- * returns true if the element passed in is currently selected
- */
- protected boolean isSelected(int par1)
- {
- return GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).size() == 0 ? false : (par1 >= GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).size() ? false : (GuiScreenMcoWorldTemplate.func_130067_e(this.field_111245_a) != null ? GuiScreenMcoWorldTemplate.func_130067_e(this.field_111245_a).field_110732_b.equals(((WorldTemplate)GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).get(par1)).field_110732_b) : par1 == GuiScreenMcoWorldTemplate.func_130062_f(this.field_111245_a)));
- }
-
- protected boolean func_104086_b(int par1)
- {
- return false;
- }
-
- protected int func_130003_b()
- {
- return this.getSize() * 36;
- }
-
- protected void func_130004_c()
- {
- this.field_111245_a.drawDefaultBackground();
- }
-
- protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- if (par1 < GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).size())
- {
- this.func_111244_b(par1, par2, par3, par4, par5Tessellator);
- }
- }
-
- private void func_111244_b(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- WorldTemplate var6 = (WorldTemplate)GuiScreenMcoWorldTemplate.func_110395_c(this.field_111245_a).get(par1);
- this.field_111245_a.drawString(GuiScreenMcoWorldTemplate.func_110389_g(this.field_111245_a), var6.field_110732_b, par2 + 2, par3 + 1, 16777215);
- this.field_111245_a.drawString(GuiScreenMcoWorldTemplate.func_110387_h(this.field_111245_a), var6.field_110731_d, par2 + 2, par3 + 12, 7105644);
- this.field_111245_a.drawString(GuiScreenMcoWorldTemplate.func_110384_i(this.field_111245_a), var6.field_110733_c, par2 + 2 + 207 - GuiScreenMcoWorldTemplate.func_130063_j(this.field_111245_a).getStringWidth(var6.field_110733_c), par3 + 1, 5000268);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenOnlineServers.java b/src/main/java/net/minecraft/src/GuiScreenOnlineServers.java
deleted file mode 100644
index 82f5722..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenOnlineServers.java
+++ /dev/null
@@ -1,776 +0,0 @@
-package net.minecraft.src;
-
-import com.google.common.collect.Lists;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.util.Iterator;
-import java.util.List;
-
-import net.lax1dude.eaglercraft.TextureLocation;
-import org.lwjgl.input.Keyboard;
-import org.lwjgl.opengl.GL11;
-
-public class GuiScreenOnlineServers extends GuiScreen
-{
- private static final TextureLocation field_130039_a = new TextureLocation("textures/gui/widgets.png");
- private GuiScreen field_96188_a;
- private GuiSlotOnlineServerList field_96186_b;
- private static int field_96187_c;
- private static final Object field_96185_d = new Object();
- private long field_96189_n = -1L;
- private GuiButton field_96190_o;
- private GuiButton field_96198_p;
- private GuiButtonLink field_96197_q;
- private GuiButton field_96196_r;
- private String field_96195_s;
- private static McoServerList field_96194_t = new McoServerList();
- private boolean field_96193_u;
- private List field_96192_v = Lists.newArrayList();
- private volatile int field_96199_x = 0;
- private Long field_102019_y;
- private int field_104044_y;
-
- public GuiScreenOnlineServers(GuiScreen par1GuiScreen)
- {
- this.field_96188_a = par1GuiScreen;
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- field_96194_t.func_130129_a(this.mc.getSession());
-
- if (!this.field_96193_u)
- {
- this.field_96193_u = true;
- this.field_96186_b = new GuiSlotOnlineServerList(this);
- }
- else
- {
- this.field_96186_b.func_104084_a(this.width, this.height, 32, this.height - 64);
- }
-
- this.func_96178_g();
- }
-
- public void func_96178_g()
- {
- this.buttonList.add(this.field_96196_r = new GuiButton(1, this.width / 2 - 154, this.height - 52, 100, 20, I18n.getString("mco.selectServer.play")));
- this.buttonList.add(this.field_96198_p = new GuiButton(2, this.width / 2 - 48, this.height - 52, 100, 20, I18n.getString("mco.selectServer.create")));
- this.buttonList.add(this.field_96190_o = new GuiButton(3, this.width / 2 + 58, this.height - 52, 100, 20, I18n.getString("mco.selectServer.configure")));
- this.buttonList.add(this.field_96197_q = new GuiButtonLink(4, this.width / 2 - 154, this.height - 28, 154, 20, I18n.getString("mco.selectServer.moreinfo")));
- this.buttonList.add(new GuiButton(0, this.width / 2 + 6, this.height - 28, 153, 20, I18n.getString("gui.cancel")));
- McoServer var1 = this.func_140030_b(this.field_96189_n);
- this.field_96196_r.enabled = var1 != null && var1.field_96404_d.equals("OPEN") && !var1.field_98166_h;
- this.field_96198_p.enabled = this.field_96199_x > 0;
-
- if (var1 != null && !var1.field_96405_e.equals(this.mc.getSession().getUsername()))
- {
- this.field_96190_o.displayString = I18n.getString("mco.selectServer.leave");
- }
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- super.updateScreen();
- ++this.field_104044_y;
-
- if (field_96194_t.func_130127_a())
- {
- List var1 = field_96194_t.func_98252_c();
- Iterator var2 = var1.iterator();
-
- while (var2.hasNext())
- {
- McoServer var3 = (McoServer)var2.next();
- Iterator var4 = this.field_96192_v.iterator();
-
- while (var4.hasNext())
- {
- McoServer var5 = (McoServer)var4.next();
-
- if (var3.field_96408_a == var5.field_96408_a)
- {
- var3.func_96401_a(var5);
-
- if (this.field_102019_y != null && this.field_102019_y.longValue() == var3.field_96408_a)
- {
- this.field_102019_y = null;
- var3.field_96411_l = false;
- }
-
- break;
- }
- }
- }
-
- this.field_96199_x = field_96194_t.func_140056_e();
- this.field_96192_v = var1;
- field_96194_t.func_98250_b();
- }
-
- this.field_96198_p.enabled = this.field_96199_x > 0;
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 1)
- {
- this.func_140032_e(this.field_96189_n);
- }
- else if (par1GuiButton.id == 3)
- {
- this.func_140019_s();
- }
- else if (par1GuiButton.id == 0)
- {
- field_96194_t.func_98248_d();
- this.mc.displayGuiScreen(this.field_96188_a);
- }
- else if (par1GuiButton.id == 2)
- {
- field_96194_t.func_98248_d();
- this.mc.displayGuiScreen(new GuiScreenCreateOnlineWorld(this));
- }
- else if (par1GuiButton.id == 4)
- {
- this.field_96197_q.func_96135_a("http://realms.minecraft.net/");
- }
- else
- {
- this.field_96186_b.actionPerformed(par1GuiButton);
- }
- }
- }
-
- private void func_140019_s()
- {
- McoServer var1 = this.func_140030_b(this.field_96189_n);
-
- if (var1 != null)
- {
- if (this.mc.getSession().getUsername().equals(var1.field_96405_e))
- {
- McoServer var2 = this.func_98086_a(var1.field_96408_a);
-
- if (var2 != null)
- {
- field_96194_t.func_98248_d();
- this.mc.displayGuiScreen(new GuiScreenConfigureWorld(this, var2));
- }
- }
- else
- {
- String var4 = I18n.getString("mco.configure.world.leave.question.line1");
- String var3 = I18n.getString("mco.configure.world.leave.question.line2");
- this.mc.displayGuiScreen(new GuiScreenConfirmation(this, "Warning!", var4, var3, 3));
- }
- }
- }
-
- private McoServer func_140030_b(long par1)
- {
- Iterator var3 = this.field_96192_v.iterator();
- McoServer var4;
-
- do
- {
- if (!var3.hasNext())
- {
- return null;
- }
-
- var4 = (McoServer)var3.next();
- }
- while (var4.field_96408_a != par1);
-
- return var4;
- }
-
- private int func_140009_c(long par1)
- {
- for (int var3 = 0; var3 < this.field_96192_v.size(); ++var3)
- {
- if (((McoServer)this.field_96192_v.get(var3)).field_96408_a == par1)
- {
- return var3;
- }
- }
-
- return -1;
- }
-
- public void confirmClicked(boolean par1, int par2)
- {
- if (par2 == 3 && par1)
- {
- (new ThreadOnlineScreen(this)).start();
- }
-
- this.mc.displayGuiScreen(this);
- }
-
- private void func_140012_t()
- {
- int var1 = this.func_140009_c(this.field_96189_n);
-
- if (this.field_96192_v.size() - 1 == var1)
- {
- --var1;
- }
-
- if (this.field_96192_v.size() == 0)
- {
- var1 = -1;
- }
-
- if (var1 >= 0 && var1 < this.field_96192_v.size())
- {
- this.field_96189_n = ((McoServer)this.field_96192_v.get(var1)).field_96408_a;
- }
- }
-
- public void func_102018_a(long par1)
- {
- this.field_96189_n = -1L;
- this.field_102019_y = Long.valueOf(par1);
- }
-
- private McoServer func_98086_a(long par1)
- {
- McoClient var3 = new McoClient(this.mc.getSession());
-
- try
- {
- return var3.func_98176_a(par1);
- }
- catch (ExceptionMcoService var5)
- {
- this.mc.getLogAgent().logSevere(var5.toString());
- }
- catch (IOException var6)
- {
- this.mc.getLogAgent().logWarning("Realms: could not parse response");
- }
-
- return null;
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2)
- {
- if (par2 == 59)
- {
- this.mc.gameSettings.hideServerAddress = !this.mc.gameSettings.hideServerAddress;
- this.mc.gameSettings.saveOptions();
- }
- else
- {
- if (par2 != 28 && par2 != 156)
- {
- super.keyTyped(par1, par2);
- }
- else
- {
- this.actionPerformed((GuiButton)this.buttonList.get(0));
- }
- }
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.field_96195_s = null;
- this.drawDefaultBackground();
- this.field_96186_b.drawScreen(par1, par2, par3);
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.title"), this.width / 2, 20, 16777215);
- super.drawScreen(par1, par2, par3);
-
- if (this.field_96195_s != null)
- {
- this.func_96165_a(this.field_96195_s, par1, par2);
- }
-
- this.func_130038_b(par1, par2);
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
-
- if (this.func_130037_c(par1, par2) && field_96194_t.func_130124_d() != 0)
- {
- GuiScreenPendingInvitation var4 = new GuiScreenPendingInvitation(this);
- this.mc.displayGuiScreen(var4);
- }
- }
-
- private void func_130038_b(int par1, int par2)
- {
- int var3 = field_96194_t.func_130124_d();
- boolean var4 = this.func_130037_c(par1, par2);
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- this.drawTexturedModalRect(this.width / 2 + 58, 15, var4 ? 166 : 182, 22, 16, 16);
- GL11.glPopMatrix();
- int var5;
- int var6;
-
- if (var3 != 0)
- {
- var5 = 198 + (Math.min(var3, 6) - 1) * 8;
- var6 = (int)(Math.max(0.0F, Math.max(MathHelper.sin((float)(10 + this.field_104044_y) * 0.57F), MathHelper.cos((float)this.field_104044_y * 0.35F))) * -6.0F);
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- this.drawTexturedModalRect(this.width / 2 + 58 + 4, 19 + var6, var5, 22, 8, 8);
- GL11.glPopMatrix();
- }
-
- if (var4 && var3 != 0)
- {
- var5 = par1 + 12;
- var6 = par2 - 12;
- String var7 = I18n.getString("mco.invites.pending");
- int var8 = this.fontRenderer.getStringWidth(var7);
- this.drawGradientRect(var5 - 3, var6 - 3, var5 + var8 + 3, var6 + 8 + 3, -1073741824, -1073741824);
- this.fontRenderer.drawStringWithShadow(var7, var5, var6, -1);
- }
- }
-
- private boolean func_130037_c(int par1, int par2)
- {
- int var3 = this.width / 2 + 56;
- int var4 = this.width / 2 + 78;
- byte var5 = 13;
- byte var6 = 27;
- return var3 <= par1 && par1 <= var4 && var5 <= par2 && par2 <= var6;
- }
-
- private void func_140032_e(long par1)
- {
- McoServer var3 = this.func_140030_b(par1);
-
- if (var3 != null)
- {
- field_96194_t.func_98248_d();
- GuiScreenLongRunningTask var4 = new GuiScreenLongRunningTask(this.mc, this, new TaskOnlineConnect(this, var3));
- var4.func_98117_g();
- this.mc.displayGuiScreen(var4);
- }
- }
-
- private void func_101008_c(int par1, int par2, int par3, int par4)
- {
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- this.drawTexturedModalRect(par1 * 2, par2 * 2, 191, 0, 16, 15);
- GL11.glPopMatrix();
-
- if (par3 >= par1 && par3 <= par1 + 9 && par4 >= par2 && par4 <= par2 + 9)
- {
- this.field_96195_s = I18n.getString("mco.selectServer.expired");
- }
- }
-
- private void func_104039_b(int par1, int par2, int par3, int par4, int par5)
- {
- if (this.field_104044_y % 20 < 10)
- {
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- this.drawTexturedModalRect(par1 * 2, par2 * 2, 207, 0, 16, 15);
- GL11.glPopMatrix();
- }
-
- if (par3 >= par1 && par3 <= par1 + 9 && par4 >= par2 && par4 <= par2 + 9)
- {
- if (par5 == 0)
- {
- this.field_96195_s = I18n.getString("mco.selectServer.expires.soon");
- }
- else if (par5 == 1)
- {
- this.field_96195_s = I18n.getString("mco.selectServer.expires.day");
- }
- else
- {
- this.field_96195_s = I18n.getStringParams("mco.selectServer.expires.days", new Object[] {Integer.valueOf(par5)});
- }
- }
- }
-
- private void func_101006_d(int par1, int par2, int par3, int par4)
- {
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- this.drawTexturedModalRect(par1 * 2, par2 * 2, 207, 0, 16, 15);
- GL11.glPopMatrix();
-
- if (par3 >= par1 && par3 <= par1 + 9 && par4 >= par2 && par4 <= par2 + 9)
- {
- this.field_96195_s = I18n.getString("mco.selectServer.open");
- }
- }
-
- private void func_101001_e(int par1, int par2, int par3, int par4)
- {
- field_130039_a.bindTexture();
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glPushMatrix();
- GL11.glScalef(0.5F, 0.5F, 0.5F);
- this.drawTexturedModalRect(par1 * 2, par2 * 2, 223, 0, 16, 15);
- GL11.glPopMatrix();
-
- if (par3 >= par1 && par3 <= par1 + 9 && par4 >= par2 && par4 <= par2 + 9)
- {
- this.field_96195_s = I18n.getString("mco.selectServer.closed");
- }
- }
-
- protected void func_96165_a(String par1Str, int par2, int par3)
- {
- if (par1Str != null)
- {
- int var4 = par2 + 12;
- int var5 = par3 - 12;
- int var6 = this.fontRenderer.getStringWidth(par1Str);
- this.drawGradientRect(var4 - 3, var5 - 3, var4 + var6 + 3, var5 + 8 + 3, -1073741824, -1073741824);
- this.fontRenderer.drawStringWithShadow(par1Str, var4, var5, -1);
- }
- }
-
- private void func_96174_a(McoServer par1McoServer) throws IOException
- {
- if (par1McoServer.field_96414_k.equals(""))
- {
- par1McoServer.field_96414_k = EnumChatFormatting.GRAY + "" + 0;
- }
-
- par1McoServer.field_96415_h = 78;
- ServerAddress var2 = ServerAddress.func_78860_a(par1McoServer.field_96403_g);
- Socket var3 = null;
- DataInputStream var4 = null;
- DataOutputStream var5 = null;
-
- try
- {
- var3 = new Socket();
- var3.setSoTimeout(3000);
- var3.setTcpNoDelay(true);
- var3.setTrafficClass(18);
- var3.connect(new InetSocketAddress(var2.getIP(), var2.getPort()), 3000);
- var4 = new DataInputStream(var3.getInputStream());
- var5 = new DataOutputStream(var3.getOutputStream());
- var5.write(254);
- var5.write(1);
-
- if (var4.read() != 255)
- {
- throw new IOException("Bad message");
- }
-
- String var6 = Packet.readString(var4, 256);
- char[] var7 = var6.toCharArray();
-
- for (int var8 = 0; var8 < var7.length; ++var8)
- {
- if (var7[var8] != 167 && var7[var8] != 0 && ChatAllowedCharacters.allowedCharacters.indexOf(var7[var8]) < 0)
- {
- var7[var8] = 63;
- }
- }
-
- var6 = new String(var7);
- int var9;
- int var10;
- String[] var27;
-
- if (var6.startsWith("\u00a7") && var6.length() > 1)
- {
- var27 = var6.substring(1).split("\u0000");
-
- if (MathHelper.parseIntWithDefault(var27[0], 0) == 1)
- {
- par1McoServer.field_96415_h = MathHelper.parseIntWithDefault(var27[1], par1McoServer.field_96415_h);
- var9 = MathHelper.parseIntWithDefault(var27[4], 0);
- var10 = MathHelper.parseIntWithDefault(var27[5], 0);
-
- if (var9 >= 0 && var10 >= 0)
- {
- par1McoServer.field_96414_k = EnumChatFormatting.GRAY + "" + var9;
- }
- else
- {
- par1McoServer.field_96414_k = "" + EnumChatFormatting.DARK_GRAY + "???";
- }
- }
- else
- {
- par1McoServer.field_96415_h = 79;
- par1McoServer.field_96414_k = "" + EnumChatFormatting.DARK_GRAY + "???";
- }
- }
- else
- {
- var27 = var6.split("\u00a7");
- var6 = var27[0];
- var9 = -1;
- var10 = -1;
-
- try
- {
- var9 = Integer.parseInt(var27[1]);
- var10 = Integer.parseInt(var27[2]);
- }
- catch (Exception var25)
- {
- ;
- }
-
- par1McoServer.field_96407_c = EnumChatFormatting.GRAY + var6;
-
- if (var9 >= 0 && var10 > 0)
- {
- par1McoServer.field_96414_k = EnumChatFormatting.GRAY + "" + var9;
- }
- else
- {
- par1McoServer.field_96414_k = "" + EnumChatFormatting.DARK_GRAY + "???";
- }
-
- par1McoServer.field_96415_h = 77;
- }
- }
- finally
- {
- try
- {
- if (var4 != null)
- {
- var4.close();
- }
- }
- catch (Throwable var24)
- {
- ;
- }
-
- try
- {
- if (var5 != null)
- {
- var5.close();
- }
- }
- catch (Throwable var23)
- {
- ;
- }
-
- try
- {
- if (var3 != null)
- {
- var3.close();
- }
- }
- catch (Throwable var22)
- {
- ;
- }
- }
- }
-
- static long func_140041_a(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.field_96189_n;
- }
-
- static McoServer func_140011_a(GuiScreenOnlineServers par0GuiScreenOnlineServers, long par1)
- {
- return par0GuiScreenOnlineServers.func_140030_b(par1);
- }
-
- static Minecraft func_98075_b(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static McoServerList func_140040_h()
- {
- return field_96194_t;
- }
-
- static List func_140013_c(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.field_96192_v;
- }
-
- static void func_140017_d(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- par0GuiScreenOnlineServers.func_140012_t();
- }
-
- static Minecraft func_98076_f(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static Minecraft func_140037_f(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static long func_140036_b(GuiScreenOnlineServers par0GuiScreenOnlineServers, long par1)
- {
- return par0GuiScreenOnlineServers.field_96189_n = par1;
- }
-
- static Minecraft func_140015_g(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static GuiButton func_140038_h(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.field_96190_o;
- }
-
- static GuiButton func_140033_i(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.field_96196_r;
- }
-
- static void func_140008_c(GuiScreenOnlineServers par0GuiScreenOnlineServers, long par1)
- {
- par0GuiScreenOnlineServers.func_140032_e(par1);
- }
-
- static int func_140027_d(GuiScreenOnlineServers par0GuiScreenOnlineServers, long par1)
- {
- return par0GuiScreenOnlineServers.func_140009_c(par1);
- }
-
- static Minecraft func_104032_j(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static FontRenderer func_140023_k(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.fontRenderer;
- }
-
- static void func_104031_c(GuiScreenOnlineServers par0GuiScreenOnlineServers, int par1, int par2, int par3, int par4)
- {
- par0GuiScreenOnlineServers.func_101008_c(par1, par2, par3, par4);
- }
-
- static void func_140035_b(GuiScreenOnlineServers par0GuiScreenOnlineServers, int par1, int par2, int par3, int par4)
- {
- par0GuiScreenOnlineServers.func_101001_e(par1, par2, par3, par4);
- }
-
- static Minecraft func_140014_l(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-
- static void func_140031_a(GuiScreenOnlineServers par0GuiScreenOnlineServers, int par1, int par2, int par3, int par4, int par5)
- {
- par0GuiScreenOnlineServers.func_104039_b(par1, par2, par3, par4, par5);
- }
-
- static void func_140020_c(GuiScreenOnlineServers par0GuiScreenOnlineServers, int par1, int par2, int par3, int par4)
- {
- par0GuiScreenOnlineServers.func_101006_d(par1, par2, par3, par4);
- }
-
- static FontRenderer func_140039_m(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.fontRenderer;
- }
-
- static FontRenderer func_98079_k(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.fontRenderer;
- }
-
- static Object func_140029_i()
- {
- return field_96185_d;
- }
-
- static int func_140018_j()
- {
- return field_96187_c;
- }
-
- static int func_140016_k()
- {
- return field_96187_c++;
- }
-
- static void func_140024_a(GuiScreenOnlineServers par0GuiScreenOnlineServers, McoServer par1McoServer) throws IOException
- {
- par0GuiScreenOnlineServers.func_96174_a(par1McoServer);
- }
-
- static int func_140021_r()
- {
- return field_96187_c--;
- }
-
- static FontRenderer func_110402_q(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.fontRenderer;
- }
-
- static FontRenderer func_140010_p(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.fontRenderer;
- }
-
- static Minecraft func_142023_q(GuiScreenOnlineServers par0GuiScreenOnlineServers)
- {
- return par0GuiScreenOnlineServers.mc;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenOnlineServersSubscreen.java b/src/main/java/net/minecraft/src/GuiScreenOnlineServersSubscreen.java
deleted file mode 100644
index 065b674..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenOnlineServersSubscreen.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package net.minecraft.src;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class GuiScreenOnlineServersSubscreen
-{
- private final int field_104074_g;
- private final int field_104081_h;
- private final int field_104082_i;
- private final int field_104080_j;
- List field_104079_a = new ArrayList();
- String[] field_104077_b;
- String[] field_104078_c;
- String[][] field_104075_d;
- int field_104076_e;
- int field_104073_f;
-
- public GuiScreenOnlineServersSubscreen(int par1, int par2, int par3, int par4, int par5, int par6)
- {
- this.field_104074_g = par1;
- this.field_104081_h = par2;
- this.field_104082_i = par3;
- this.field_104080_j = par4;
- this.field_104076_e = par5;
- this.field_104073_f = par6;
- this.func_104068_a();
- }
-
- private void func_104068_a()
- {
- this.func_104070_b();
- this.field_104079_a.add(new GuiButton(5005, this.field_104082_i, this.field_104080_j + 1, 212, 20, this.func_104072_c()));
- this.field_104079_a.add(new GuiButton(5006, this.field_104082_i, this.field_104080_j + 25, 212, 20, this.func_104067_d()));
- }
-
- private void func_104070_b()
- {
- this.field_104077_b = new String[] {I18n.getString("options.difficulty.peaceful"), I18n.getString("options.difficulty.easy"), I18n.getString("options.difficulty.normal"), I18n.getString("options.difficulty.hard")};
- this.field_104078_c = new String[] {I18n.getString("selectWorld.gameMode.survival"), I18n.getString("selectWorld.gameMode.creative"), I18n.getString("selectWorld.gameMode.adventure")};
- this.field_104075_d = new String[][] {{I18n.getString("selectWorld.gameMode.survival.line1"), I18n.getString("selectWorld.gameMode.survival.line2")}, {I18n.getString("selectWorld.gameMode.creative.line1"), I18n.getString("selectWorld.gameMode.creative.line2")}, {I18n.getString("selectWorld.gameMode.adventure.line1"), I18n.getString("selectWorld.gameMode.adventure.line2")}};
- }
-
- private String func_104072_c()
- {
- String var1 = I18n.getString("options.difficulty");
- return var1 + ": " + this.field_104077_b[this.field_104076_e];
- }
-
- private String func_104067_d()
- {
- String var1 = I18n.getString("selectWorld.gameMode");
- return var1 + ": " + this.field_104078_c[this.field_104073_f];
- }
-
- void func_104069_a(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 5005)
- {
- this.field_104076_e = (this.field_104076_e + 1) % this.field_104077_b.length;
- par1GuiButton.displayString = this.func_104072_c();
- }
- else if (par1GuiButton.id == 5006)
- {
- this.field_104073_f = (this.field_104073_f + 1) % this.field_104078_c.length;
- par1GuiButton.displayString = this.func_104067_d();
- }
- }
- }
-
- public void func_104071_a(GuiScreen par1GuiScreen, FontRenderer par2FontRenderer)
- {
- par1GuiScreen.drawString(par2FontRenderer, this.field_104075_d[this.field_104073_f][0], this.field_104082_i, this.field_104080_j + 50, 10526880);
- par1GuiScreen.drawString(par2FontRenderer, this.field_104075_d[this.field_104073_f][1], this.field_104082_i, this.field_104080_j + 60, 10526880);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenPendingInvitation.java b/src/main/java/net/minecraft/src/GuiScreenPendingInvitation.java
deleted file mode 100644
index b39740e..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenPendingInvitation.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package net.minecraft.src;
-
-import com.google.common.collect.Lists;
-import java.util.List;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenPendingInvitation extends GuiScreen
-{
- private final GuiScreen field_130061_a;
- private GuiScreenPendingInvitationList field_130059_b;
- private List field_130060_c = Lists.newArrayList();
- private int field_130058_d = -1;
-
- public GuiScreenPendingInvitation(GuiScreen par1GuiScreen)
- {
- this.field_130061_a = par1GuiScreen;
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.field_130059_b = new GuiScreenPendingInvitationList(this);
- (new GuiScreenPendingInvitationINNER1(this)).start();
- this.func_130050_g();
- }
-
- private void func_130050_g()
- {
- this.buttonList.add(new GuiButton(1, this.width / 2 - 154, this.height - 52, 153, 20, I18n.getString("mco.invites.button.accept")));
- this.buttonList.add(new GuiButton(2, this.width / 2 + 6, this.height - 52, 153, 20, I18n.getString("mco.invites.button.reject")));
- this.buttonList.add(new GuiButton(0, this.width / 2 - 75, this.height - 28, 153, 20, I18n.getString("gui.back")));
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- super.updateScreen();
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 1)
- {
- this.func_130051_i();
- }
- else if (par1GuiButton.id == 0)
- {
- this.mc.displayGuiScreen(this.field_130061_a);
- }
- else if (par1GuiButton.id == 2)
- {
- this.func_130057_h();
- }
- else
- {
- this.field_130059_b.actionPerformed(par1GuiButton);
- }
- }
- }
-
- private void func_130057_h()
- {
- if (this.field_130058_d >= 0 && this.field_130058_d < this.field_130060_c.size())
- {
- (new GuiScreenPendingInvitationINNER2(this)).start();
- }
- }
-
- private void func_130051_i()
- {
- if (this.field_130058_d >= 0 && this.field_130058_d < this.field_130060_c.size())
- {
- (new GuiScreenPendingInvitationINNER3(this)).start();
- }
- }
-
- private void func_130047_j()
- {
- int var1 = this.field_130058_d;
-
- if (this.field_130060_c.size() - 1 == this.field_130058_d)
- {
- --this.field_130058_d;
- }
-
- this.field_130060_c.remove(var1);
-
- if (this.field_130060_c.size() == 0)
- {
- this.field_130058_d = -1;
- }
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.field_130059_b.drawScreen(par1, par2, par3);
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.invites.title"), this.width / 2, 20, 16777215);
- super.drawScreen(par1, par2, par3);
- }
-
- static Minecraft func_130048_a(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static List func_130043_a(GuiScreenPendingInvitation par0GuiScreenPendingInvitation, List par1List)
- {
- return par0GuiScreenPendingInvitation.field_130060_c = par1List;
- }
-
- static Minecraft func_130044_b(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static Minecraft func_130041_c(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static int func_130049_d(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.field_130058_d;
- }
-
- static List func_130042_e(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.field_130060_c;
- }
-
- static void func_130040_f(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- par0GuiScreenPendingInvitation.func_130047_j();
- }
-
- static Minecraft func_130056_g(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static Minecraft func_130046_h(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static Minecraft func_130055_i(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static Minecraft func_130054_j(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.mc;
- }
-
- static int func_130053_a(GuiScreenPendingInvitation par0GuiScreenPendingInvitation, int par1)
- {
- return par0GuiScreenPendingInvitation.field_130058_d = par1;
- }
-
- static FontRenderer func_130045_k(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.fontRenderer;
- }
-
- static FontRenderer func_130052_l(GuiScreenPendingInvitation par0GuiScreenPendingInvitation)
- {
- return par0GuiScreenPendingInvitation.fontRenderer;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER1.java b/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER1.java
deleted file mode 100644
index c600123..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenPendingInvitationINNER1 extends Thread
-{
- final GuiScreenPendingInvitation field_130121_a;
-
- GuiScreenPendingInvitationINNER1(GuiScreenPendingInvitation par1GuiScreenPendingInvitation)
- {
- this.field_130121_a = par1GuiScreenPendingInvitation;
- }
-
- public void run()
- {
- McoClient var1 = new McoClient(GuiScreenPendingInvitation.func_130048_a(this.field_130121_a).getSession());
-
- try
- {
- GuiScreenPendingInvitation.func_130043_a(this.field_130121_a, var1.func_130108_f().field_130096_a);
- }
- catch (ExceptionMcoService var3)
- {
- GuiScreenPendingInvitation.func_130044_b(this.field_130121_a).getLogAgent().logSevere(var3.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER2.java b/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER2.java
deleted file mode 100644
index 4c65119..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER2.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenPendingInvitationINNER2 extends Thread
-{
- final GuiScreenPendingInvitation field_130132_a;
-
- GuiScreenPendingInvitationINNER2(GuiScreenPendingInvitation par1GuiScreenPendingInvitation)
- {
- this.field_130132_a = par1GuiScreenPendingInvitation;
- }
-
- public void run()
- {
- try
- {
- McoClient var1 = new McoClient(GuiScreenPendingInvitation.func_130041_c(this.field_130132_a).getSession());
- var1.func_130109_b(((PendingInvite)GuiScreenPendingInvitation.func_130042_e(this.field_130132_a).get(GuiScreenPendingInvitation.func_130049_d(this.field_130132_a))).field_130094_a);
- GuiScreenPendingInvitation.func_130040_f(this.field_130132_a);
- }
- catch (ExceptionMcoService var2)
- {
- GuiScreenPendingInvitation.func_130056_g(this.field_130132_a).getLogAgent().logSevere(var2.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER3.java b/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER3.java
deleted file mode 100644
index 5830869..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationINNER3.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenPendingInvitationINNER3 extends Thread
-{
- final GuiScreenPendingInvitation field_130131_a;
-
- GuiScreenPendingInvitationINNER3(GuiScreenPendingInvitation par1GuiScreenPendingInvitation)
- {
- this.field_130131_a = par1GuiScreenPendingInvitation;
- }
-
- public void run()
- {
- try
- {
- McoClient var1 = new McoClient(GuiScreenPendingInvitation.func_130046_h(this.field_130131_a).getSession());
- var1.func_130107_a(((PendingInvite)GuiScreenPendingInvitation.func_130042_e(this.field_130131_a).get(GuiScreenPendingInvitation.func_130049_d(this.field_130131_a))).field_130094_a);
- GuiScreenPendingInvitation.func_130040_f(this.field_130131_a);
- }
- catch (ExceptionMcoService var2)
- {
- GuiScreenPendingInvitation.func_130055_i(this.field_130131_a).getLogAgent().logSevere(var2.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationList.java b/src/main/java/net/minecraft/src/GuiScreenPendingInvitationList.java
deleted file mode 100644
index ba79281..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenPendingInvitationList.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package net.minecraft.src;
-
-class GuiScreenPendingInvitationList extends GuiScreenSelectLocation
-{
- final GuiScreenPendingInvitation field_130120_a;
-
- public GuiScreenPendingInvitationList(GuiScreenPendingInvitation par1GuiScreenPendingInvitation)
- {
- super(GuiScreenPendingInvitation.func_130054_j(par1GuiScreenPendingInvitation), par1GuiScreenPendingInvitation.width, par1GuiScreenPendingInvitation.height, 32, par1GuiScreenPendingInvitation.height - 64, 36);
- this.field_130120_a = par1GuiScreenPendingInvitation;
- }
-
- /**
- * Gets the size of the current slot list.
- */
- protected int getSize()
- {
- return GuiScreenPendingInvitation.func_130042_e(this.field_130120_a).size() + 1;
- }
-
- /**
- * the element in the slot that was clicked, boolean for wether it was double clicked or not
- */
- protected void elementClicked(int par1, boolean par2)
- {
- if (par1 < GuiScreenPendingInvitation.func_130042_e(this.field_130120_a).size())
- {
- GuiScreenPendingInvitation.func_130053_a(this.field_130120_a, par1);
- }
- }
-
- /**
- * returns true if the element passed in is currently selected
- */
- protected boolean isSelected(int par1)
- {
- return par1 == GuiScreenPendingInvitation.func_130049_d(this.field_130120_a);
- }
-
- protected boolean func_104086_b(int par1)
- {
- return false;
- }
-
- protected int func_130003_b()
- {
- return this.getSize() * 36;
- }
-
- protected void func_130004_c()
- {
- this.field_130120_a.drawDefaultBackground();
- }
-
- protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- if (par1 < GuiScreenPendingInvitation.func_130042_e(this.field_130120_a).size())
- {
- this.func_130119_b(par1, par2, par3, par4, par5Tessellator);
- }
- }
-
- private void func_130119_b(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- PendingInvite var6 = (PendingInvite)GuiScreenPendingInvitation.func_130042_e(this.field_130120_a).get(par1);
- this.field_130120_a.drawString(GuiScreenPendingInvitation.func_130045_k(this.field_130120_a), var6.field_130092_b, par2 + 2, par3 + 1, 16777215);
- this.field_130120_a.drawString(GuiScreenPendingInvitation.func_130052_l(this.field_130120_a), var6.field_130093_c, par2 + 2, par3 + 12, 7105644);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenResetWorld.java b/src/main/java/net/minecraft/src/GuiScreenResetWorld.java
deleted file mode 100644
index fa71934..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenResetWorld.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package net.minecraft.src;
-
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenResetWorld extends ScreenWithCallback
-{
- private GuiScreen field_96152_a;
- private McoServer field_96150_b;
- private GuiTextField field_96151_c;
- private final int field_96149_d = 1;
- private final int field_96153_n = 2;
- private static int field_110360_p = 3;
- private WorldTemplate field_110359_q;
- private GuiButton field_96154_o;
-
- public GuiScreenResetWorld(GuiScreen par1GuiScreen, McoServer par2McoServer)
- {
- this.field_96152_a = par1GuiScreen;
- this.field_96150_b = par2McoServer;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen()
- {
- this.field_96151_c.updateCursorCounter();
- }
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- Keyboard.enableRepeatEvents(true);
- this.buttonList.clear();
- this.buttonList.add(this.field_96154_o = new GuiButton(1, this.width / 2 - 100, this.height / 4 + 120 + 12, 97, 20, I18n.getString("mco.configure.world.buttons.reset")));
- this.buttonList.add(new GuiButton(2, this.width / 2 + 5, this.height / 4 + 120 + 12, 97, 20, I18n.getString("gui.cancel")));
- this.field_96151_c = new GuiTextField(this.fontRenderer, this.width / 2 - 100, 99, 200, 20);
- this.field_96151_c.setFocused(true);
- this.field_96151_c.setMaxStringLength(32);
- this.field_96151_c.setText("");
-
- if (this.field_110359_q == null)
- {
- this.buttonList.add(new GuiButton(field_110360_p, this.width / 2 - 100, 125, 200, 20, I18n.getString("mco.template.default.name")));
- }
- else
- {
- this.field_96151_c.setText("");
- this.field_96151_c.setEnabled(false);
- this.field_96151_c.setFocused(false);
- this.buttonList.add(new GuiButton(field_110360_p, this.width / 2 - 100, 125, 200, 20, I18n.getString("mco.template.name") + ": " + this.field_110359_q.field_110732_b));
- }
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2)
- {
- this.field_96151_c.textboxKeyTyped(par1, par2);
-
- if (par2 == 28 || par2 == 156)
- {
- this.actionPerformed(this.field_96154_o);
- }
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 2)
- {
- this.mc.displayGuiScreen(this.field_96152_a);
- }
- else if (par1GuiButton.id == 1)
- {
- String var2 = I18n.getString("mco.configure.world.reset.question.line1");
- String var3 = I18n.getString("mco.configure.world.reset.question.line2");
- this.mc.displayGuiScreen(new GuiScreenConfirmation(this, "Warning!", var2, var3, 1));
- }
- else if (par1GuiButton.id == field_110360_p)
- {
- this.mc.displayGuiScreen(new GuiScreenMcoWorldTemplate(this, this.field_110359_q));
- }
- }
- }
-
- public void confirmClicked(boolean par1, int par2)
- {
- if (par1 && par2 == 1)
- {
- this.func_140006_g();
- }
- else
- {
- this.mc.displayGuiScreen(this);
- }
- }
-
- private void func_140006_g()
- {
- TaskResetWorld var1 = new TaskResetWorld(this, this.field_96150_b.field_96408_a, this.field_96151_c.getText(), this.field_110359_q);
- GuiScreenLongRunningTask var2 = new GuiScreenLongRunningTask(this.mc, this.field_96152_a, var1);
- var2.func_98117_g();
- this.mc.displayGuiScreen(var2);
- }
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- this.field_96151_c.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.reset.world.title"), this.width / 2, 17, 16777215);
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.reset.world.warning"), this.width / 2, 56, 16711680);
- this.drawString(this.fontRenderer, I18n.getString("mco.reset.world.seed"), this.width / 2 - 100, 86, 10526880);
- this.field_96151_c.drawTextBox();
- super.drawScreen(par1, par2, par3);
- }
-
- void func_110358_a(WorldTemplate par1WorldTemplate)
- {
- this.field_110359_q = par1WorldTemplate;
- }
-
- void func_110354_a(Object par1Obj)
- {
- this.func_110358_a((WorldTemplate)par1Obj);
- }
-
- static GuiScreen func_96148_a(GuiScreenResetWorld par0GuiScreenResetWorld)
- {
- return par0GuiScreenResetWorld.field_96152_a;
- }
-
- static Minecraft func_96147_b(GuiScreenResetWorld par0GuiScreenResetWorld)
- {
- return par0GuiScreenResetWorld.mc;
- }
-
- static Minecraft func_130025_c(GuiScreenResetWorld par0GuiScreenResetWorld)
- {
- return par0GuiScreenResetWorld.mc;
- }
-
- static Minecraft func_130024_d(GuiScreenResetWorld par0GuiScreenResetWorld)
- {
- return par0GuiScreenResetWorld.mc;
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenSubscription.java b/src/main/java/net/minecraft/src/GuiScreenSubscription.java
deleted file mode 100644
index 51e8ca4..0000000
--- a/src/main/java/net/minecraft/src/GuiScreenSubscription.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-import org.lwjgl.input.Keyboard;
-
-public class GuiScreenSubscription extends GuiScreen
-{
- private final GuiScreen field_98067_a;
- private final McoServer field_98065_b;
- private final int field_98066_c = 0;
- private final int field_98064_d = 1;
- private int field_98068_n;
- private String field_98069_o;
-
- public GuiScreenSubscription(GuiScreen par1GuiScreen, McoServer par2McoServer)
- {
- this.field_98067_a = par1GuiScreen;
- this.field_98065_b = par2McoServer;
- }
-
- /**
- * Called from the main game loop to update the screen.
- */
- public void updateScreen() {}
-
- /**
- * Adds the buttons (and other controls) to the screen in question.
- */
- public void initGui()
- {
- this.func_98063_a(this.field_98065_b.field_96408_a);
- Keyboard.enableRepeatEvents(true);
- this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + 12, I18n.getString("gui.cancel")));
- }
-
- private void func_98063_a(long par1)
- {
- McoClient var3 = new McoClient(this.mc.getSession());
-
- try
- {
- ValueObjectSubscription var4 = var3.func_98177_f(par1);
- this.field_98068_n = var4.field_98170_b;
- this.field_98069_o = this.func_98062_b(var4.field_98171_a);
- }
- catch (ExceptionMcoService var5)
- {
- Minecraft.getMinecraft().getLogAgent().logSevere(var5.toString());
- }
- catch (IOException var6)
- {
- Minecraft.getMinecraft().getLogAgent().logWarning("Realms: could not parse response");
- }
- }
-
- private String func_98062_b(long par1)
- {
- GregorianCalendar var3 = new GregorianCalendar(TimeZone.getDefault());
- var3.setTimeInMillis(par1);
- return SimpleDateFormat.getDateTimeInstance().format(var3.getTime());
- }
-
- /**
- * Called when the screen is unloaded. Used to disable keyboard repeat events
- */
- public void onGuiClosed()
- {
- Keyboard.enableRepeatEvents(false);
- }
-
- /**
- * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
- */
- protected void actionPerformed(GuiButton par1GuiButton)
- {
- if (par1GuiButton.enabled)
- {
- if (par1GuiButton.id == 0)
- {
- this.mc.displayGuiScreen(this.field_98067_a);
- }
- else if (par1GuiButton.id == 1)
- {
- ;
- }
- }
- }
-
- /**
- * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
- */
- protected void keyTyped(char par1, int par2) {}
-
- /**
- * Called when the mouse is clicked.
- */
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
- }
-
- /**
- * Draws the screen and all the components in it.
- */
- public void drawScreen(int par1, int par2, float par3)
- {
- this.drawDefaultBackground();
- this.drawCenteredString(this.fontRenderer, I18n.getString("mco.configure.world.subscription.title"), this.width / 2, 17, 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.subscription.start"), this.width / 2 - 100, 53, 10526880);
- this.drawString(this.fontRenderer, this.field_98069_o, this.width / 2 - 100, 66, 16777215);
- this.drawString(this.fontRenderer, I18n.getString("mco.configure.world.subscription.daysleft"), this.width / 2 - 100, 85, 10526880);
- this.drawString(this.fontRenderer, String.valueOf(this.field_98068_n), this.width / 2 - 100, 98, 16777215);
- super.drawScreen(par1, par2, par3);
- }
-}
diff --git a/src/main/java/net/minecraft/src/GuiScreenTemporaryResourcePackSelectSelectionList.java b/src/main/java/net/minecraft/src/GuiScreenTemporaryResourcePackSelectSelectionList.java
index 4f82bf0..c0de5a0 100644
--- a/src/main/java/net/minecraft/src/GuiScreenTemporaryResourcePackSelectSelectionList.java
+++ b/src/main/java/net/minecraft/src/GuiScreenTemporaryResourcePackSelectSelectionList.java
@@ -81,7 +81,7 @@ class GuiScreenTemporaryResourcePackSelectSelectionList extends GuiSlot
protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
{
- TextureManager var6 = GuiScreenTemporaryResourcePackSelect.func_110340_f(this.field_110512_a).getTextureManager();
+ RenderEngine var6 = GuiScreenTemporaryResourcePackSelect.func_110340_f(this.field_110512_a).getTextureManager();
if (par1 == 0)
{
diff --git a/src/main/java/net/minecraft/src/GuiSlotOnlineServerList.java b/src/main/java/net/minecraft/src/GuiSlotOnlineServerList.java
deleted file mode 100644
index 81e3441..0000000
--- a/src/main/java/net/minecraft/src/GuiSlotOnlineServerList.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package net.minecraft.src;
-
-import org.lwjgl.opengl.GL11;
-
-class GuiSlotOnlineServerList extends GuiScreenSelectLocation
-{
- final GuiScreenOnlineServers field_96294_a;
-
- public GuiSlotOnlineServerList(GuiScreenOnlineServers par1GuiScreenOnlineServers)
- {
- super(GuiScreenOnlineServers.func_140037_f(par1GuiScreenOnlineServers), par1GuiScreenOnlineServers.width, par1GuiScreenOnlineServers.height, 32, par1GuiScreenOnlineServers.height - 64, 36);
- this.field_96294_a = par1GuiScreenOnlineServers;
- }
-
- /**
- * Gets the size of the current slot list.
- */
- protected int getSize()
- {
- return GuiScreenOnlineServers.func_140013_c(this.field_96294_a).size() + 1;
- }
-
- /**
- * the element in the slot that was clicked, boolean for wether it was double clicked or not
- */
- protected void elementClicked(int par1, boolean par2)
- {
- if (par1 < GuiScreenOnlineServers.func_140013_c(this.field_96294_a).size())
- {
- McoServer var3 = (McoServer)GuiScreenOnlineServers.func_140013_c(this.field_96294_a).get(par1);
- GuiScreenOnlineServers.func_140036_b(this.field_96294_a, var3.field_96408_a);
-
- if (!GuiScreenOnlineServers.func_140015_g(this.field_96294_a).getSession().getUsername().equals(var3.field_96405_e))
- {
- GuiScreenOnlineServers.func_140038_h(this.field_96294_a).displayString = I18n.getString("mco.selectServer.leave");
- }
- else
- {
- GuiScreenOnlineServers.func_140038_h(this.field_96294_a).displayString = I18n.getString("mco.selectServer.configure");
- }
-
- GuiScreenOnlineServers.func_140033_i(this.field_96294_a).enabled = var3.field_96404_d.equals("OPEN") && !var3.field_98166_h;
-
- if (par2 && GuiScreenOnlineServers.func_140033_i(this.field_96294_a).enabled)
- {
- GuiScreenOnlineServers.func_140008_c(this.field_96294_a, GuiScreenOnlineServers.func_140041_a(this.field_96294_a));
- }
- }
- }
-
- /**
- * returns true if the element passed in is currently selected
- */
- protected boolean isSelected(int par1)
- {
- return par1 == GuiScreenOnlineServers.func_140027_d(this.field_96294_a, GuiScreenOnlineServers.func_140041_a(this.field_96294_a));
- }
-
- protected boolean func_104086_b(int par1)
- {
- try
- {
- return par1 >= 0 && par1 < GuiScreenOnlineServers.func_140013_c(this.field_96294_a).size() && ((McoServer)GuiScreenOnlineServers.func_140013_c(this.field_96294_a).get(par1)).field_96405_e.toLowerCase().equals(GuiScreenOnlineServers.func_104032_j(this.field_96294_a).getSession().getUsername());
- }
- catch (Exception var3)
- {
- return false;
- }
- }
-
- protected int func_130003_b()
- {
- return this.getSize() * 36;
- }
-
- protected void func_130004_c()
- {
- this.field_96294_a.drawDefaultBackground();
- }
-
- protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- if (par1 < GuiScreenOnlineServers.func_140013_c(this.field_96294_a).size())
- {
- this.func_96292_b(par1, par2, par3, par4, par5Tessellator);
- }
- }
-
- private void func_96292_b(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- McoServer var6 = (McoServer)GuiScreenOnlineServers.func_140013_c(this.field_96294_a).get(par1);
- this.field_96294_a.drawString(GuiScreenOnlineServers.func_140023_k(this.field_96294_a), var6.func_96398_b(), par2 + 2, par3 + 1, 16777215);
- short var7 = 207;
- byte var8 = 1;
-
- if (var6.field_98166_h)
- {
- GuiScreenOnlineServers.func_104031_c(this.field_96294_a, par2 + var7, par3 + var8, this.field_104094_d, this.field_104095_e);
- }
- else if (var6.field_96404_d.equals("CLOSED"))
- {
- GuiScreenOnlineServers.func_140035_b(this.field_96294_a, par2 + var7, par3 + var8, this.field_104094_d, this.field_104095_e);
- }
- else if (var6.field_96405_e.equals(GuiScreenOnlineServers.func_140014_l(this.field_96294_a).getSession().getUsername()) && var6.field_104063_i < 7)
- {
- this.func_96293_a(par1, par2 - 14, par3, var6);
- GuiScreenOnlineServers.func_140031_a(this.field_96294_a, par2 + var7, par3 + var8, this.field_104094_d, this.field_104095_e, var6.field_104063_i);
- }
- else if (var6.field_96404_d.equals("OPEN"))
- {
- GuiScreenOnlineServers.func_140020_c(this.field_96294_a, par2 + var7, par3 + var8, this.field_104094_d, this.field_104095_e);
- this.func_96293_a(par1, par2 - 14, par3, var6);
- }
-
- this.field_96294_a.drawString(GuiScreenOnlineServers.func_140039_m(this.field_96294_a), var6.func_96397_a(), par2 + 2, par3 + 12, 7105644);
- this.field_96294_a.drawString(GuiScreenOnlineServers.func_98079_k(this.field_96294_a), var6.field_96405_e, par2 + 2, par3 + 12 + 11, 5000268);
- }
-
- private void func_96293_a(int par1, int par2, int par3, McoServer par4McoServer)
- {
- if (par4McoServer.field_96403_g != null)
- {
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- if (GuiScreenOnlineServers.func_140018_j() < 5 && (!par4McoServer.field_96411_l || par4McoServer.field_102022_m))
- {
- (new ThreadConnectToOnlineServer(this, par4McoServer)).start();
- }
- }
-
- if (par4McoServer.field_96414_k != null)
- {
- this.field_96294_a.drawString(GuiScreenOnlineServers.func_110402_q(this.field_96294_a), par4McoServer.field_96414_k, par2 + 215 - GuiScreenOnlineServers.func_140010_p(this.field_96294_a).getStringWidth(par4McoServer.field_96414_k), par3 + 1, 8421504);
- }
-
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- Gui.icons.bindTexture();
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/ItemRenderer.java b/src/main/java/net/minecraft/src/ItemRenderer.java
index 86dee0e..388bbb6 100644
--- a/src/main/java/net/minecraft/src/ItemRenderer.java
+++ b/src/main/java/net/minecraft/src/ItemRenderer.java
@@ -1,5 +1,6 @@
package net.minecraft.src;
+import net.lax1dude.eaglercraft.EaglerAdapter;
import net.lax1dude.eaglercraft.TextureLocation;
import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.GL11;
@@ -11,6 +12,9 @@ public class ItemRenderer
private static final TextureLocation RES_MAP_BACKGROUND = new TextureLocation("textures/map/map_background.png");
private static final TextureLocation RES_UNDERWATER_OVERLAY = new TextureLocation("textures/misc/underwater.png");
+ private static final TextureLocation terrain = new TextureLocation("/terrain.png");
+ public static final TextureLocation items = new TextureLocation("/gui/items.png");
+
/** A reference to the Minecraft object. */
private Minecraft mc;
private ItemStack itemToRender;
@@ -28,10 +32,9 @@ public class ItemRenderer
/** The index of the currently held item (0-8, or -1 if not yet updated) */
private int equippedItemSlot = -1;
- public ItemRenderer(Minecraft par1Minecraft)
- {
+ public ItemRenderer(Minecraft par1Minecraft) {
this.mc = par1Minecraft;
- this.mapItemRenderer = new MapItemRenderer(par1Minecraft.gameSettings, par1Minecraft.getTextureManager());
+ this.mapItemRenderer = new MapItemRenderer(par1Minecraft.fontRenderer, par1Minecraft.gameSettings, par1Minecraft.renderEngine);
}
/**
@@ -40,12 +43,13 @@ public class ItemRenderer
public void renderItem(EntityLivingBase par1EntityLivingBase, ItemStack par2ItemStack, int par3)
{
GL11.glPushMatrix();
- TextureManager var4 = this.mc.getTextureManager();
+ RenderEngine var4 = this.mc.getTextureManager();
- if (par2ItemStack.getItemSpriteNumber() == 0 && par2ItemStack.itemID < Block.blocksList.length && Block.blocksList[par2ItemStack.itemID] != null && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
- {
- var4.getTextureLocation(0).bindTexture();
+ if (par2ItemStack.getItemSpriteNumber() == 0 && Block.blocksList[par2ItemStack.itemID] != null && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType())) {
+ terrain.bindTexture();
+ EaglerAdapter.flipLightMatrix();
this.renderBlocksInstance.renderBlockAsItem(Block.blocksList[par2ItemStack.itemID], par2ItemStack.getItemDamage(), 1.0F);
+ EaglerAdapter.flipLightMatrix();
}
else
{
@@ -57,7 +61,14 @@ public class ItemRenderer
return;
}
- var4.getTextureLocation(par2ItemStack.getItemSpriteNumber()).bindTexture();
+ if (par2ItemStack.getItemSpriteNumber() == 0) {
+ terrain.bindTexture();
+ EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_MIN_FILTER, EaglerAdapter.GL_NEAREST);
+ EaglerAdapter.glTexParameteri(EaglerAdapter.GL_TEXTURE_2D, EaglerAdapter.GL_TEXTURE_MAG_FILTER, EaglerAdapter.GL_NEAREST);
+ } else {
+ items.bindTexture();
+ }
+
Tessellator var6 = Tessellator.instance;
float var7 = var5.getMinU();
float var8 = var5.getMaxU();
@@ -243,8 +254,8 @@ public class ItemRenderer
float var15;
float var16;
float var20;
- Render var26;
- RenderPlayer var28;
+ Render var26 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer);
+ RenderPlayer var28 = (RenderPlayer) var26;
if (var8 != null && var8.itemID == Item.map.itemID)
{
@@ -271,7 +282,7 @@ public class ItemRenderer
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(var21 * -85.0F, 0.0F, 0.0F, 1.0F);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- this.mc.getTextureManager().bindTexture();
+ var28.bindTexture(var3);
for (var12 = 0; var12 < 2; ++var12)
{
@@ -303,7 +314,7 @@ public class ItemRenderer
GL11.glTranslatef(-1.0F, -1.0F, 0.0F);
var16 = 0.015625F;
GL11.glScalef(var16, var16, var16);
- this.mc.getTextureManager().bindTexture(RES_MAP_BACKGROUND);
+ RES_MAP_BACKGROUND.bindTexture();
Tessellator var29 = Tessellator.instance;
GL11.glNormal3f(0.0F, 0.0F, -1.0F);
var29.startDrawingQuads();
@@ -450,7 +461,7 @@ public class ItemRenderer
var13 = MathHelper.sin(MathHelper.sqrt_float(var21) * (float)Math.PI);
GL11.glRotatef(var13 * 70.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-var23 * 20.0F, 0.0F, 0.0F, 1.0F);
- this.mc.getTextureManager().bindTexture(var3.getLocationSkin());
+ var28.bindTexture(var3);
GL11.glTranslatef(-1.0F, 3.6F, 3.5F);
GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F);
@@ -559,7 +570,7 @@ public class ItemRenderer
*/
private void renderWarpedTextureOverlay(float par1)
{
- this.mc.getTextureManager().bindTexture(RES_UNDERWATER_OVERLAY);
+ RES_UNDERWATER_OVERLAY.bindTexture();
Tessellator var2 = Tessellator.instance;
float var3 = this.mc.thePlayer.getBrightness(par1);
GL11.glColor4f(var3, var3, var3, 0.5F);
@@ -591,16 +602,14 @@ public class ItemRenderer
private void renderFireInFirstPerson(float par1)
{
Tessellator var2 = Tessellator.instance;
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.9F);
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ EaglerAdapter.glColor4f(1.0F, 1.0F, 1.0F, 0.9F);
+ EaglerAdapter.glEnable(EaglerAdapter.GL_BLEND);
+ EaglerAdapter.glBlendFunc(EaglerAdapter.GL_SRC_ALPHA, EaglerAdapter.GL_ONE_MINUS_SRC_ALPHA);
float var3 = 1.0F;
- for (int var4 = 0; var4 < 2; ++var4)
- {
- GL11.glPushMatrix();
+ for (int var4 = 0; var4 < 2; ++var4) {
+ EaglerAdapter.glPushMatrix();
Icon var5 = Block.fire.getFireIcon(1);
- this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
float var6 = var5.getMinU();
float var7 = var5.getMaxU();
float var8 = var5.getMinV();
@@ -610,19 +619,19 @@ public class ItemRenderer
float var12 = 0.0F - var3 / 2.0F;
float var13 = var12 + var3;
float var14 = -0.5F;
- GL11.glTranslatef((float)(-(var4 * 2 - 1)) * 0.24F, -0.3F, 0.0F);
- GL11.glRotatef((float)(var4 * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glTranslatef((float) (-(var4 * 2 - 1)) * 0.24F, -0.3F, 0.0F);
+ EaglerAdapter.glRotatef((float) (var4 * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F);
var2.startDrawingQuads();
- var2.addVertexWithUV((double)var10, (double)var12, (double)var14, (double)var7, (double)var9);
- var2.addVertexWithUV((double)var11, (double)var12, (double)var14, (double)var6, (double)var9);
- var2.addVertexWithUV((double)var11, (double)var13, (double)var14, (double)var6, (double)var8);
- var2.addVertexWithUV((double)var10, (double)var13, (double)var14, (double)var7, (double)var8);
+ var2.addVertexWithUV((double) var10, (double) var12, (double) var14, (double) var7, (double) var9);
+ var2.addVertexWithUV((double) var11, (double) var12, (double) var14, (double) var6, (double) var9);
+ var2.addVertexWithUV((double) var11, (double) var13, (double) var14, (double) var6, (double) var8);
+ var2.addVertexWithUV((double) var10, (double) var13, (double) var14, (double) var7, (double) var8);
var2.draw();
- GL11.glPopMatrix();
+ EaglerAdapter.glPopMatrix();
}
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GL11.glDisable(GL11.GL_BLEND);
+ EaglerAdapter.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ EaglerAdapter.glDisable(EaglerAdapter.GL_BLEND);
}
public void updateEquippedItem()
diff --git a/src/main/java/net/minecraft/src/Locale.java b/src/main/java/net/minecraft/src/Locale.java
index dfb18d1..e8eed3f 100644
--- a/src/main/java/net/minecraft/src/Locale.java
+++ b/src/main/java/net/minecraft/src/Locale.java
@@ -43,7 +43,7 @@ public class Locale
try
{
- this.loadLocaleData(par1ResourceManager.getAllResources(new TextureLocation(var7, var5)));
+ this.loadLocaleData(par1ResourceManager.getAllResources(new TextureLocation(var7 + var5)));
}
catch (IOException var9)
{
diff --git a/src/main/java/net/minecraft/src/MapItemRenderer.java b/src/main/java/net/minecraft/src/MapItemRenderer.java
index d209f0e..b2f26ba 100644
--- a/src/main/java/net/minecraft/src/MapItemRenderer.java
+++ b/src/main/java/net/minecraft/src/MapItemRenderer.java
@@ -2,108 +2,125 @@ package net.minecraft.src;
import java.util.Iterator;
+import net.lax1dude.eaglercraft.EaglerAdapter;
+import net.lax1dude.eaglercraft.EaglerImage;
import net.lax1dude.eaglercraft.TextureLocation;
import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.GL11;
public class MapItemRenderer
{
- private static final TextureLocation field_111277_a = new TextureLocation("textures/map/map_icons.png");
- private final DynamicTexture bufferedImage;
+ private static final TextureLocation mapicons = new TextureLocation("textures/map/map_icons.png");
+ private final int bufferedImage;
private int[] intArray = new int[16384];
private GameSettings gameSettings;
- private final TextureLocation field_111276_e;
+ private FontRenderer fontRenderer;
- public MapItemRenderer(GameSettings par1GameSettings, TextureManager par2TextureManager)
- {
- this.gameSettings = par1GameSettings;
- this.bufferedImage = new DynamicTexture(128, 128);
- this.field_111276_e = par2TextureManager.getDynamicTextureLocation("map", this.bufferedImage);
- this.intArray = this.bufferedImage.getTextureData();
+ public MapItemRenderer(FontRenderer par1FontRenderer, GameSettings par2GameSettings, RenderEngine par3RenderEngine) {
+ this.gameSettings = par2GameSettings;
+ this.fontRenderer = par1FontRenderer;
+ this.bufferedImage = par3RenderEngine.allocateAndSetupTexture(new EaglerImage(128, 128, false));
- for (int var4 = 0; var4 < this.intArray.length; ++var4)
- {
+ for (int var4 = 0; var4 < 16384; ++var4) {
this.intArray[var4] = 0;
}
}
- public void renderMap(EntityPlayer par1EntityPlayer, TextureManager par2TextureManager, MapData par3MapData)
- {
- for (int var4 = 0; var4 < 16384; ++var4)
- {
+ public void renderMap(EntityPlayer par1EntityPlayer, RenderEngine par2RenderEngine, MapData par3MapData) {
+ float texX1 = 0.0f;
+ float texX2 = 1.0f;
+ float texY1 = 0.0f;
+ float texY2 = 1.0f;
+ boolean isVideoOrImageMode = false;
+ if (isVideoOrImageMode) {
+ EaglerAdapter.isVideoLoaded();
+ }
+ boolean isVideoMode = false;
+ if (isVideoOrImageMode) {
+ EaglerAdapter.isImageLoaded();
+ }
+ boolean isImageMode = false;
+ for (int var4 = 0; var4 < 16384; ++var4) {
byte var5 = par3MapData.colors[var4];
- if (var5 / 4 == 0)
- {
+ if (var5 / 4 == 0) {
this.intArray[var4] = (var4 + var4 / 128 & 1) * 8 + 16 << 24;
- }
- else
- {
+ } else {
int var6 = MapColor.mapColorArray[var5 / 4].colorValue;
int var7 = var5 & 3;
short var8 = 220;
- if (var7 == 2)
- {
+ if (var7 == 2) {
var8 = 255;
}
- if (var7 == 0)
- {
+ if (var7 == 0) {
var8 = 180;
}
int var9 = (var6 >> 16 & 255) * var8 / 255;
int var10 = (var6 >> 8 & 255) * var8 / 255;
int var11 = (var6 & 255) * var8 / 255;
+
+ if (this.gameSettings.anaglyph) {
+ int var12 = (var9 * 30 + var10 * 59 + var11 * 11) / 100;
+ int var13 = (var9 * 30 + var10 * 70) / 100;
+ int var14 = (var9 * 30 + var11 * 70) / 100;
+ var9 = var12;
+ var10 = var13;
+ var11 = var14;
+ }
+
this.intArray[var4] = -16777216 | var9 << 16 | var10 << 8 | var11;
}
}
- this.bufferedImage.updateDynamicTexture();
+ par2RenderEngine.createTextureFromBytes(this.intArray, 128, 128, this.bufferedImage);
+
byte var15 = 0;
byte var16 = 0;
Tessellator var17 = Tessellator.instance;
float var18 = 0.0F;
- this.field_111276_e.bindTexture();
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
- GL11.glDisable(GL11.GL_ALPHA_TEST);
+ EaglerAdapter.glEnable(EaglerAdapter.GL_BLEND);
+ EaglerAdapter.glBlendFunc(EaglerAdapter.GL_ONE, EaglerAdapter.GL_ONE_MINUS_SRC_ALPHA);
+ EaglerAdapter.glDisable(EaglerAdapter.GL_ALPHA_TEST);
var17.startDrawingQuads();
- var17.addVertexWithUV((double)((float)(var15 + 0) + var18), (double)((float)(var16 + 128) - var18), -0.009999999776482582D, 0.0D, 1.0D);
- var17.addVertexWithUV((double)((float)(var15 + 128) - var18), (double)((float)(var16 + 128) - var18), -0.009999999776482582D, 1.0D, 1.0D);
- var17.addVertexWithUV((double)((float)(var15 + 128) - var18), (double)((float)(var16 + 0) + var18), -0.009999999776482582D, 1.0D, 0.0D);
- var17.addVertexWithUV((double)((float)(var15 + 0) + var18), (double)((float)(var16 + 0) + var18), -0.009999999776482582D, 0.0D, 0.0D);
+ var17.addVertexWithUV((double) ((float) (var15 + 0) + var18), (double) ((float) (var16 + 128) - var18), -0.009999999776482582D, texX1, texY2);
+ var17.addVertexWithUV((double) ((float) (var15 + 128) - var18), (double) ((float) (var16 + 128) - var18), -0.009999999776482582D, texX2, texY2);
+ var17.addVertexWithUV((double) ((float) (var15 + 128) - var18), (double) ((float) (var16 + 0) + var18), -0.009999999776482582D, texX2, texY1);
+ var17.addVertexWithUV((double) ((float) (var15 + 0) + var18), (double) ((float) (var16 + 0) + var18), -0.009999999776482582D, texX1, texY1);
var17.draw();
- GL11.glEnable(GL11.GL_ALPHA_TEST);
- GL11.glDisable(GL11.GL_BLEND);
- field_111277_a.bindTexture();
- int var19 = 0;
+ EaglerAdapter.glEnable(EaglerAdapter.GL_ALPHA_TEST);
+ EaglerAdapter.glDisable(EaglerAdapter.GL_BLEND);
+ par2RenderEngine.resetBoundTexture();
- for (Iterator var20 = par3MapData.playersVisibleOnMap.values().iterator(); var20.hasNext(); ++var19)
- {
- MapCoord var21 = (MapCoord)var20.next();
- GL11.glPushMatrix();
- GL11.glTranslatef((float)var15 + (float)var21.centerX / 2.0F + 64.0F, (float)var16 + (float)var21.centerZ / 2.0F + 64.0F, -0.02F);
- GL11.glRotatef((float)(var21.iconRotation * 360) / 16.0F, 0.0F, 0.0F, 1.0F);
- GL11.glScalef(4.0F, 4.0F, 3.0F);
- GL11.glTranslatef(-0.125F, 0.125F, 0.0F);
- float var22 = (float)(var21.iconSize % 4 + 0) / 4.0F;
- float var12 = (float)(var21.iconSize / 4 + 0) / 4.0F;
- float var13 = (float)(var21.iconSize % 4 + 1) / 4.0F;
- float var14 = (float)(var21.iconSize / 4 + 1) / 4.0F;
- var17.startDrawingQuads();
- var17.addVertexWithUV(-1.0D, 1.0D, (double)((float)var19 * 0.001F), (double)var22, (double)var12);
- var17.addVertexWithUV(1.0D, 1.0D, (double)((float)var19 * 0.001F), (double)var13, (double)var12);
- var17.addVertexWithUV(1.0D, -1.0D, (double)((float)var19 * 0.001F), (double)var13, (double)var14);
- var17.addVertexWithUV(-1.0D, -1.0D, (double)((float)var19 * 0.001F), (double)var22, (double)var14);
- var17.draw();
- GL11.glPopMatrix();
+ if(isVideoMode || isImageMode) {
+ EaglerAdapter.glDisable(EaglerAdapter.EAG_SWAP_RB);
}
- GL11.glPushMatrix();
- GL11.glTranslatef(0.0F, 0.0F, -0.04F);
- GL11.glScalef(1.0F, 1.0F, 1.0F);
- GL11.glPopMatrix();
+ if(!(isVideoMode || isImageMode)) {
+ mapicons.bindTexture();
+ int var19 = 0;
+
+ for (Iterator var20 = par3MapData.playersVisibleOnMap.values().iterator(); var20.hasNext(); ++var19) {
+ MapCoord var21 = (MapCoord) var20.next();
+ EaglerAdapter.glPushMatrix();
+ EaglerAdapter.glTranslatef((float) var15 + (float) var21.centerX / 2.0F + 64.0F, (float) var16 + (float) var21.centerZ / 2.0F + 64.0F, -0.02F);
+ EaglerAdapter.glRotatef((float) (var21.iconRotation * 360) / 16.0F, 0.0F, 0.0F, 1.0F);
+ EaglerAdapter.glScalef(4.0F, 4.0F, 3.0F);
+ EaglerAdapter.glTranslatef(-0.125F, 0.125F, 0.0F);
+ float var22 = (float) (var21.iconSize % 4 + 0) / 4.0F;
+ float var23 = (float) (var21.iconSize / 4 + 0) / 4.0F;
+ float var24 = (float) (var21.iconSize % 4 + 1) / 4.0F;
+ float var25 = (float) (var21.iconSize / 4 + 1) / 4.0F;
+ var17.startDrawingQuads();
+ var17.addVertexWithUV(-1.0D, 1.0D, (double) ((float) var19 * 0.001F), (double) var22, (double) var23);
+ var17.addVertexWithUV(1.0D, 1.0D, (double) ((float) var19 * 0.001F), (double) var24, (double) var23);
+ var17.addVertexWithUV(1.0D, -1.0D, (double) ((float) var19 * 0.001F), (double) var24, (double) var25);
+ var17.addVertexWithUV(-1.0D, -1.0D, (double) ((float) var19 * 0.001F), (double) var22, (double) var25);
+ var17.draw();
+ EaglerAdapter.glPopMatrix();
+ }
+ }
}
}
diff --git a/src/main/java/net/minecraft/src/Minecraft.java b/src/main/java/net/minecraft/src/Minecraft.java
index 1dd789f..8a61302 100644
--- a/src/main/java/net/minecraft/src/Minecraft.java
+++ b/src/main/java/net/minecraft/src/Minecraft.java
@@ -2377,7 +2377,7 @@ public class Minecraft implements IPlayerUsage
return this.session;
}
- public TextureManager getTextureManager()
+ public RenderEngine getTextureManager()
{
return this.renderEngine;
}
diff --git a/src/main/java/net/minecraft/src/NetClientHandler.java b/src/main/java/net/minecraft/src/NetClientHandler.java
index 05c53bd..0a93661 100644
--- a/src/main/java/net/minecraft/src/NetClientHandler.java
+++ b/src/main/java/net/minecraft/src/NetClientHandler.java
@@ -575,14 +575,7 @@ public class NetClientHandler extends NetHandler
this.disconnected = true;
this.mc.loadWorld((WorldClient)null);
- if (this.field_98183_l != null)
- {
- this.mc.displayGuiScreen(new GuiScreenDisconnectedOnline(this.field_98183_l, "disconnect.disconnected", "disconnect.genericReason", new Object[] {par1Packet255KickDisconnect.reason}));
- }
- else
- {
- this.mc.displayGuiScreen(new GuiDisconnected(new GuiMultiplayer(new GuiMainMenu()), "disconnect.disconnected", "disconnect.genericReason", new Object[] {par1Packet255KickDisconnect.reason}));
- }
+ this.mc.displayGuiScreen(new GuiDisconnected(new GuiMultiplayer(new GuiMainMenu()), "disconnect.disconnected", "disconnect.genericReason", new Object[] {par1Packet255KickDisconnect.reason}));
}
public void handleErrorMessage(String par1Str, Object[] par2ArrayOfObj)
@@ -592,14 +585,7 @@ public class NetClientHandler extends NetHandler
this.disconnected = true;
this.mc.loadWorld((WorldClient)null);
- if (this.field_98183_l != null)
- {
- this.mc.displayGuiScreen(new GuiScreenDisconnectedOnline(this.field_98183_l, "disconnect.lost", par1Str, par2ArrayOfObj));
- }
- else
- {
- this.mc.displayGuiScreen(new GuiDisconnected(new GuiMultiplayer(new GuiMainMenu()), "disconnect.lost", par1Str, par2ArrayOfObj));
- }
+ this.mc.displayGuiScreen(new GuiDisconnected(new GuiMultiplayer(new GuiMainMenu()), "disconnect.lost", par1Str, par2ArrayOfObj));
}
}
diff --git a/src/main/java/net/minecraft/src/RenderBat.java b/src/main/java/net/minecraft/src/RenderBat.java
index c14ce37..0b10972 100644
--- a/src/main/java/net/minecraft/src/RenderBat.java
+++ b/src/main/java/net/minecraft/src/RenderBat.java
@@ -93,6 +93,11 @@ public class RenderBat extends RenderLiving
this.func_82443_a((EntityBat)par1EntityLivingBase, par2, par4, par6, par8, par9);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ batTextures.bindTexture();
+ }
+
/**
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
diff --git a/src/main/java/net/minecraft/src/RenderBiped.java b/src/main/java/net/minecraft/src/RenderBiped.java
index a4c7b8c..d9e015a 100644
--- a/src/main/java/net/minecraft/src/RenderBiped.java
+++ b/src/main/java/net/minecraft/src/RenderBiped.java
@@ -288,6 +288,11 @@ public class RenderBiped extends RenderLiving
return this.func_130006_a((EntityLiving)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+
+ }
+
protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
{
this.func_130005_c((EntityLiving)par1EntityLivingBase, par2);
diff --git a/src/main/java/net/minecraft/src/RenderBlaze.java b/src/main/java/net/minecraft/src/RenderBlaze.java
index de334be..51481fb 100644
--- a/src/main/java/net/minecraft/src/RenderBlaze.java
+++ b/src/main/java/net/minecraft/src/RenderBlaze.java
@@ -49,6 +49,11 @@ public class RenderBlaze extends RenderLiving
return this.getBlazeTextures((EntityBlaze)par1Entity);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ blazeTextures.bindTexture();
+ }
+
/**
* Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
* handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
diff --git a/src/main/java/net/minecraft/src/RenderBlocks.java b/src/main/java/net/minecraft/src/RenderBlocks.java
index dbf0cfd..72d9d3f 100644
--- a/src/main/java/net/minecraft/src/RenderBlocks.java
+++ b/src/main/java/net/minecraft/src/RenderBlocks.java
@@ -8104,13 +8104,7 @@ public class RenderBlocks
return this.getIconSafe(par1Block.getBlockTextureFromSide(1));
}
- public Icon getIconSafe(Icon par1Icon)
- {
- if (par1Icon == null)
- {
- par1Icon = ((TextureMap)Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.locationBlocksTexture)).getAtlasSprite("missingno");
- }
-
- return (Icon)par1Icon;
+ public Icon getIconSafe(Icon par1Icon) {
+ return par1Icon == null ? this.minecraftRB.renderEngine.getMissingIcon(0) : par1Icon;
}
}
diff --git a/src/main/java/net/minecraft/src/RenderChicken.java b/src/main/java/net/minecraft/src/RenderChicken.java
index 3ca538e..e337df9 100644
--- a/src/main/java/net/minecraft/src/RenderChicken.java
+++ b/src/main/java/net/minecraft/src/RenderChicken.java
@@ -11,6 +11,11 @@ public class RenderChicken extends RenderLiving
super(par1ModelBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ chickenTextures.bindTexture();
+ }
+
public void renderChicken(EntityChicken par1EntityChicken, double par2, double par4, double par6, float par8, float par9)
{
super.doRenderLiving(par1EntityChicken, par2, par4, par6, par8, par9);
diff --git a/src/main/java/net/minecraft/src/RenderCow.java b/src/main/java/net/minecraft/src/RenderCow.java
index aff0512..798e70d 100644
--- a/src/main/java/net/minecraft/src/RenderCow.java
+++ b/src/main/java/net/minecraft/src/RenderCow.java
@@ -11,6 +11,11 @@ public class RenderCow extends RenderLiving
super(par1ModelBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ cowTextures.bindTexture();
+ }
+
protected TextureLocation getCowTextures(EntityCow par1EntityCow)
{
return cowTextures;
diff --git a/src/main/java/net/minecraft/src/RenderCreeper.java b/src/main/java/net/minecraft/src/RenderCreeper.java
index c59d933..5ba46ae 100644
--- a/src/main/java/net/minecraft/src/RenderCreeper.java
+++ b/src/main/java/net/minecraft/src/RenderCreeper.java
@@ -156,6 +156,11 @@ public class RenderCreeper extends RenderLiving
return this.renderCreeperPassModel((EntityCreeper)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ creeperTextures.bindTexture();
+ }
+
protected int inheritRenderPass(EntityLivingBase par1EntityLivingBase, int par2, float par3)
{
return this.func_77061_b((EntityCreeper)par1EntityLivingBase, par2, par3);
diff --git a/src/main/java/net/minecraft/src/RenderDragon.java b/src/main/java/net/minecraft/src/RenderDragon.java
index b9c3fd2..1683b6d 100644
--- a/src/main/java/net/minecraft/src/RenderDragon.java
+++ b/src/main/java/net/minecraft/src/RenderDragon.java
@@ -266,6 +266,11 @@ public class RenderDragon extends RenderLiving
this.renderDragonModel((EntityDragon)par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ enderDragonTextures.bindTexture();
+ }
+
public void renderPlayer(EntityLivingBase par1EntityLivingBase, double par2, double par4, double par6, float par8, float par9)
{
this.renderDragon((EntityDragon)par1EntityLivingBase, par2, par4, par6, par8, par9);
diff --git a/src/main/java/net/minecraft/src/RenderEnderman.java b/src/main/java/net/minecraft/src/RenderEnderman.java
index 8eec920..74cae3f 100644
--- a/src/main/java/net/minecraft/src/RenderEnderman.java
+++ b/src/main/java/net/minecraft/src/RenderEnderman.java
@@ -128,6 +128,11 @@ public class RenderEnderman extends RenderLiving
return this.renderEyes((EntityEnderman)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ endermanTextures.bindTexture();
+ }
+
protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
{
this.renderCarrying((EntityEnderman)par1EntityLivingBase, par2);
diff --git a/src/main/java/net/minecraft/src/RenderGhast.java b/src/main/java/net/minecraft/src/RenderGhast.java
index acf9dc8..ffd2a6e 100644
--- a/src/main/java/net/minecraft/src/RenderGhast.java
+++ b/src/main/java/net/minecraft/src/RenderGhast.java
@@ -37,6 +37,15 @@ public class RenderGhast extends RenderLiving
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ if(par1EntityLiving.getDataWatcher().getWatchableObjectByte(16) == (byte)1) {
+ ghastShootingTextures.bindTexture();
+ }else {
+ ghastTextures.bindTexture();
+ }
+ }
+
/**
* Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
* entityLiving, partialTickTime
diff --git a/src/main/java/net/minecraft/src/RenderGiantZombie.java b/src/main/java/net/minecraft/src/RenderGiantZombie.java
index f650501..de66c9c 100644
--- a/src/main/java/net/minecraft/src/RenderGiantZombie.java
+++ b/src/main/java/net/minecraft/src/RenderGiantZombie.java
@@ -29,6 +29,11 @@ public class RenderGiantZombie extends RenderLiving
return zombieTextures;
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ zombieTextures.bindTexture();
+ }
+
/**
* Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
* entityLiving, partialTickTime
diff --git a/src/main/java/net/minecraft/src/RenderGlobal.java b/src/main/java/net/minecraft/src/RenderGlobal.java
index 5053f5a..c492fd9 100644
--- a/src/main/java/net/minecraft/src/RenderGlobal.java
+++ b/src/main/java/net/minecraft/src/RenderGlobal.java
@@ -11,6 +11,7 @@ import java.util.Map;
import java.util.Random;
import net.lax1dude.eaglercraft.TextureLocation;
+import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.ARBOcclusionQuery;
import org.lwjgl.opengl.GL11;
diff --git a/src/main/java/net/minecraft/src/RenderHorse.java b/src/main/java/net/minecraft/src/RenderHorse.java
index 293161e..ebfd5d7 100644
--- a/src/main/java/net/minecraft/src/RenderHorse.java
+++ b/src/main/java/net/minecraft/src/RenderHorse.java
@@ -88,7 +88,7 @@ public class RenderHorse extends RenderLiving
if (var3 == null)
{
var3 = new TextureLocation(var2);
- Minecraft.getMinecraft().getTextureManager().loadTexture(var3, new LayeredTexture(par1EntityHorse.getVariantTexturePaths()));
+ //Minecraft.getMinecraft().getTextureManager().loadTexture(var3, new LayeredTexture(par1EntityHorse.getVariantTexturePaths()));
field_110852_a.put(var2, var3);
}
@@ -112,6 +112,11 @@ public class RenderHorse extends RenderLiving
this.func_110846_a((EntityHorse)par1EntityLivingBase, par2, par3, par4, par5, par6, par7);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+
+ }
+
/**
* Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
*/
diff --git a/src/main/java/net/minecraft/src/RenderIronGolem.java b/src/main/java/net/minecraft/src/RenderIronGolem.java
index 997a817..f288c24 100644
--- a/src/main/java/net/minecraft/src/RenderIronGolem.java
+++ b/src/main/java/net/minecraft/src/RenderIronGolem.java
@@ -85,6 +85,11 @@ public class RenderIronGolem extends RenderLiving
this.renderIronGolemEquippedItems((EntityIronGolem)par1EntityLivingBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ ironGolemTextures.bindTexture();
+ }
+
protected void rotateCorpse(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4)
{
this.rotateIronGolemCorpse((EntityIronGolem)par1EntityLivingBase, par2, par3, par4);
diff --git a/src/main/java/net/minecraft/src/RenderItem.java b/src/main/java/net/minecraft/src/RenderItem.java
index 8050975..a66e6db 100644
--- a/src/main/java/net/minecraft/src/RenderItem.java
+++ b/src/main/java/net/minecraft/src/RenderItem.java
@@ -20,6 +20,11 @@ public class RenderItem extends Render
public float zLevel;
public static boolean renderInFrame;
+ private static final TextureLocation terrain = new TextureLocation("/terrain.png");
+ private static final TextureLocation items = new TextureLocation("/gui/items.png");
+
+ public static boolean isRenderInProgress = false;
+
public RenderItem()
{
this.shadowSize = 0.15F;
@@ -182,7 +187,7 @@ public class RenderItem extends Render
protected TextureLocation func_110796_a(EntityItem par1EntityItem)
{
- return this.renderManager.renderEngine.getTextureLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
+ return (par1EntityItem.getEntityItem().getItemSpriteNumber());
}
/**
@@ -194,9 +199,8 @@ public class RenderItem extends Render
if (par2Icon == null)
{
- TextureManager var9 = Minecraft.getMinecraft().getTextureManager();
- TextureLocation var10 = var9.getTextureLocation(par1EntityItem.getEntityItem().getItemSpriteNumber());
- par2Icon = ((TextureMap)var9.getTexture(var10)).getAtlasSprite("missingno");
+ par2Icon = this.renderManager.renderEngine.getMissingIcon(par1EntityItem.getEntityItem().getItemSpriteNumber());
+
}
float var25 = ((Icon)par2Icon).getMinU();
@@ -331,7 +335,7 @@ public class RenderItem extends Render
/**
* Renders the item's icon or block into the UI at the specified position.
*/
- public void renderItemIntoGUI(FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
+ public void renderItemIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
{
int var6 = par3ItemStack.itemID;
int var7 = par3ItemStack.getItemDamage();
@@ -394,12 +398,15 @@ public class RenderItem extends Render
else
{
GL11.glDisable(GL11.GL_LIGHTING);
- TextureLocation var15 = par2TextureManager.getTextureLocation(par3ItemStack.getItemSpriteNumber());
- var15.bindTexture();
+ if (par3ItemStack.getItemSpriteNumber() == 0) {
+ terrain.bindTexture();
+ } else {
+ items.bindTexture();
+ }
if (var8 == null)
{
- var8 = ((TextureMap)Minecraft.getMinecraft().getTextureManager().getTexture(var15)).getAtlasSprite("missingno");
+ var8 = par2TextureManager.getMissingIcon(par3ItemStack.getItemSpriteNumber());
}
var17 = Item.itemsList[var6].getColorFromItemStack(par3ItemStack, 0);
@@ -422,7 +429,7 @@ public class RenderItem extends Render
/**
* Render the item's icon or block into the GUI, including the glint effect.
*/
- public void renderItemAndEffectIntoGUI(FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
+ public void renderItemAndEffectIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
{
if (par3ItemStack != null)
{
@@ -433,7 +440,7 @@ public class RenderItem extends Render
GL11.glDepthFunc(GL11.GL_GREATER);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDepthMask(false);
- par2TextureManager.bindTexture(RES_ITEM_GLINT);
+ RES_ITEM_GLINT.bindTexture();
this.zLevel -= 50.0F;
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_DST_COLOR);
@@ -487,12 +494,12 @@ public class RenderItem extends Render
* Renders the item's overlay information. Examples being stack count or damage on top of the item's image at the
* specified position.
*/
- public void renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
+ public void renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2TextureManager, ItemStack par3ItemStack, int par4, int par5)
{
this.renderItemOverlayIntoGUI(par1FontRenderer, par2TextureManager, par3ItemStack, par4, par5, (String)null);
}
- public void renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, TextureManager par2TextureManager, ItemStack par3ItemStack, int par4, int par5, String par6Str)
+ public void renderItemOverlayIntoGUI(FontRenderer par1FontRenderer, RenderEngine par2TextureManager, ItemStack par3ItemStack, int par4, int par5, String par6Str)
{
if (par3ItemStack != null)
{
@@ -558,7 +565,7 @@ public class RenderItem extends Render
*/
protected TextureLocation getEntityTexture(Entity par1Entity)
{
- return this.func_110796_a((EntityItem)par1Entity);
+ return this.func_110796_a((EntityItem) par1Entity);
}
/**
diff --git a/src/main/java/net/minecraft/src/RenderItemFrame.java b/src/main/java/net/minecraft/src/RenderItemFrame.java
index 934aadc..61c5cda 100644
--- a/src/main/java/net/minecraft/src/RenderItemFrame.java
+++ b/src/main/java/net/minecraft/src/RenderItemFrame.java
@@ -1,5 +1,6 @@
package net.minecraft.src;
+import net.lax1dude.eaglercraft.EaglerAdapter;
import net.lax1dude.eaglercraft.TextureLocation;
import org.lwjgl.opengl.GL11;
import net.lax1dude.eaglercraft.adapter.Tessellator;
@@ -76,95 +77,84 @@ public class RenderItemFrame extends Render
GL11.glPopMatrix();
}
- private void func_82402_b(EntityItemFrame par1EntityItemFrame)
- {
+ private void func_82402_b(EntityItemFrame par1EntityItemFrame) {
ItemStack var2 = par1EntityItemFrame.getDisplayedItem();
- if (var2 != null)
- {
+ if (var2 != null) {
EntityItem var3 = new EntityItem(par1EntityItemFrame.worldObj, 0.0D, 0.0D, 0.0D, var2);
var3.getEntityItem().stackSize = 1;
var3.hoverStart = 0.0F;
- GL11.glPushMatrix();
- GL11.glTranslatef(-0.453125F * (float)Direction.offsetX[par1EntityItemFrame.hangingDirection], -0.18F, -0.453125F * (float)Direction.offsetZ[par1EntityItemFrame.hangingDirection]);
- GL11.glRotatef(180.0F + par1EntityItemFrame.rotationYaw, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef((float)(-90 * par1EntityItemFrame.getRotation()), 0.0F, 0.0F, 1.0F);
+ EaglerAdapter.glPushMatrix();
+ EaglerAdapter.glTranslatef(-0.453125F * (float) Direction.offsetX[par1EntityItemFrame.hangingDirection], -0.18F, -0.453125F * (float) Direction.offsetZ[par1EntityItemFrame.hangingDirection]);
+ EaglerAdapter.glRotatef(180.0F + par1EntityItemFrame.rotationYaw, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glRotatef((float) (-90 * par1EntityItemFrame.getRotation()), 0.0F, 0.0F, 1.0F);
- switch (par1EntityItemFrame.getRotation())
- {
+ switch (par1EntityItemFrame.getRotation()) {
case 1:
- GL11.glTranslatef(-0.16F, -0.16F, 0.0F);
+ EaglerAdapter.glTranslatef(-0.16F, -0.16F, 0.0F);
break;
case 2:
- GL11.glTranslatef(0.0F, -0.32F, 0.0F);
+ EaglerAdapter.glTranslatef(0.0F, -0.32F, 0.0F);
break;
case 3:
- GL11.glTranslatef(0.16F, -0.16F, 0.0F);
+ EaglerAdapter.glTranslatef(0.16F, -0.16F, 0.0F);
}
- if (var3.getEntityItem().getItem() == Item.map)
- {
+ if (var3.getEntityItem().getItem() == Item.map) {
mapBackgroundTextures.bindTexture();
Tessellator var4 = Tessellator.instance;
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
- GL11.glScalef(0.00390625F, 0.00390625F, 0.00390625F);
- GL11.glTranslatef(-65.0F, -107.0F, -3.0F);
- GL11.glNormal3f(0.0F, 0.0F, -1.0F);
+ EaglerAdapter.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
+ //EaglerAdapter.glScalef(0.00390625F, 0.00390625F, 0.00390625F);
+ EaglerAdapter.glScalef(0.0078125F, 0.0078125F, 0.0078125F);
+ EaglerAdapter.glTranslatef(-65.0F, -85.0F, 1.0F);
+ EaglerAdapter.glNormal3f(0.0F, 0.0F, -1.0F);
+ EaglerAdapter.glDisable(EaglerAdapter.GL_CULL_FACE);
var4.startDrawingQuads();
byte var5 = 7;
- var4.addVertexWithUV((double)(0 - var5), (double)(128 + var5), 0.0D, 0.0D, 1.0D);
- var4.addVertexWithUV((double)(128 + var5), (double)(128 + var5), 0.0D, 1.0D, 1.0D);
- var4.addVertexWithUV((double)(128 + var5), (double)(0 - var5), 0.0D, 1.0D, 0.0D);
- var4.addVertexWithUV((double)(0 - var5), (double)(0 - var5), 0.0D, 0.0D, 0.0D);
+ double d = 0.001d;
+ var4.addVertexWithUV((double) (0 - var5), (double) (128 + var5), 0.0D, 0.0D + d, 1.0D - d);
+ var4.addVertexWithUV((double) (128 + var5), (double) (128 + var5), 0.0D, 1.0D - d, 1.0D - d);
+ var4.addVertexWithUV((double) (128 + var5), (double) (0 - var5), 0.0D, 1.0D - d, 0.0D + d);
+ var4.addVertexWithUV((double) (0 - var5), (double) (0 - var5), 0.0D, 0.0D + d, 0.0D + d);
var4.draw();
+ EaglerAdapter.glEnable(EaglerAdapter.GL_CULL_FACE);
+ EaglerAdapter.glTranslatef(0.0F, 0.0F, -2.0F);
MapData var6 = Item.map.getMapData(var3.getEntityItem(), par1EntityItemFrame.worldObj);
- GL11.glTranslatef(0.0F, 0.0F, -1.0F);
+ EaglerAdapter.glTranslatef(0.0F, 0.0F, -1.0F);
- if (var6 != null)
- {
- this.renderManager.itemRenderer.mapItemRenderer.renderMap((EntityPlayer)null, this.renderManager.renderEngine, var6);
+ if (var6 != null) {
+ this.renderManager.itemRenderer.mapItemRenderer.renderMap((EntityPlayer) null, this.renderManager.renderEngine, var6);
}
- }
- else
- {
- if (var3.getEntityItem().getItem() == Item.compass)
- {
- TextureManager var11 = Minecraft.getMinecraft().getTextureManager();
- TextureMap.locationItemsTexture.bindTexture();
- TextureAtlasSprite var13 = ((TextureMap)var11.getTexture(TextureMap.locationItemsTexture)).getAtlasSprite(Item.compass.getIconIndex(var3.getEntityItem()).getIconName());
+ } else {
+ TextureCompass var9;
- if (var13 instanceof TextureCompass)
- {
- TextureCompass var14 = (TextureCompass)var13;
- double var7 = var14.currentAngle;
- double var9 = var14.angleDelta;
- var14.currentAngle = 0.0D;
- var14.angleDelta = 0.0D;
- var14.updateCompass(par1EntityItemFrame.worldObj, par1EntityItemFrame.posX, par1EntityItemFrame.posZ, (double)MathHelper.wrapAngleTo180_float((float)(180 + par1EntityItemFrame.hangingDirection * 90)), false, true);
- var14.currentAngle = var7;
- var14.angleDelta = var9;
- }
+ if (var3.getEntityItem().getItem() == Item.compass) {
+ var9 = TextureCompass.compassTexture;
+ double var10 = var9.currentAngle;
+ double var7 = var9.angleDelta;
+ var9.currentAngle = 0.0D;
+ var9.angleDelta = 0.0D;
+ var9.updateCompass(par1EntityItemFrame.worldObj, par1EntityItemFrame.posX, par1EntityItemFrame.posZ, (double) MathHelper.wrapAngleTo180_float((float) (180 + par1EntityItemFrame.hangingDirection * 90)), false, true);
+ var9.currentAngle = var10;
+ var9.angleDelta = var7;
}
RenderItem.renderInFrame = true;
+ EaglerAdapter.flipLightMatrix();
RenderManager.instance.renderEntityWithPosYaw(var3, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
+ EaglerAdapter.flipLightMatrix();
RenderItem.renderInFrame = false;
- if (var3.getEntityItem().getItem() == Item.compass)
- {
- TextureAtlasSprite var12 = ((TextureMap)Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.locationItemsTexture)).getAtlasSprite(Item.compass.getIconIndex(var3.getEntityItem()).getIconName());
-
- if (var12.getFrameCount() > 0)
- {
- var12.updateAnimation();
- }
+ if (var3.getEntityItem().getItem() == Item.compass) {
+ var9 = TextureCompass.compassTexture;
+ var9.updateAnimation();
}
}
- GL11.glPopMatrix();
+ EaglerAdapter.glPopMatrix();
}
}
diff --git a/src/main/java/net/minecraft/src/RenderMagmaCube.java b/src/main/java/net/minecraft/src/RenderMagmaCube.java
index 0785dd9..7810276 100644
--- a/src/main/java/net/minecraft/src/RenderMagmaCube.java
+++ b/src/main/java/net/minecraft/src/RenderMagmaCube.java
@@ -26,6 +26,11 @@ public class RenderMagmaCube extends RenderLiving
GL11.glScalef(var5 * var6, 1.0F / var5 * var6, var5 * var6);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ magmaCubeTextures.bindTexture();
+ }
+
/**
* Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
* entityLiving, partialTickTime
diff --git a/src/main/java/net/minecraft/src/RenderManager.java b/src/main/java/net/minecraft/src/RenderManager.java
index bc8ace9..dddadfe 100644
--- a/src/main/java/net/minecraft/src/RenderManager.java
+++ b/src/main/java/net/minecraft/src/RenderManager.java
@@ -3,6 +3,8 @@ package net.minecraft.src;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+
+import net.lax1dude.eaglercraft.adapter.Tessellator;
import org.lwjgl.opengl.GL11;
public class RenderManager
@@ -18,7 +20,7 @@ public class RenderManager
public static double renderPosX;
public static double renderPosY;
public static double renderPosZ;
- public TextureManager renderEngine;
+ public RenderEngine renderEngine;
public ItemRenderer itemRenderer;
/** Reference to the World object. */
@@ -125,7 +127,7 @@ public class RenderManager
* Caches the current frame's active render info, including the current World, RenderEngine, GameSettings and
* FontRenderer settings, as well as interpolated player position, pitch and yaw.
*/
- public void cacheActiveRenderInfo(World par1World, TextureManager par2TextureManager, FontRenderer par3FontRenderer, EntityLivingBase par4EntityLivingBase, EntityLivingBase par5EntityLivingBase, GameSettings par6GameSettings, float par7)
+ public void cacheActiveRenderInfo(World par1World, RenderEngine par2TextureManager, FontRenderer par3FontRenderer, EntityLivingBase par4EntityLivingBase, EntityLivingBase par5EntityLivingBase, GameSettings par6GameSettings, float par7)
{
this.worldObj = par1World;
this.renderEngine = par2TextureManager;
diff --git a/src/main/java/net/minecraft/src/RenderMooshroom.java b/src/main/java/net/minecraft/src/RenderMooshroom.java
index 5a7ca74..ced7388 100644
--- a/src/main/java/net/minecraft/src/RenderMooshroom.java
+++ b/src/main/java/net/minecraft/src/RenderMooshroom.java
@@ -12,6 +12,11 @@ public class RenderMooshroom extends RenderLiving
super(par1ModelBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ mooshroomTextures.bindTexture();
+ }
+
public void renderLivingMooshroom(EntityMooshroom par1EntityMooshroom, double par2, double par4, double par6, float par8, float par9)
{
super.doRenderLiving(par1EntityMooshroom, par2, par4, par6, par8, par9);
diff --git a/src/main/java/net/minecraft/src/RenderOcelot.java b/src/main/java/net/minecraft/src/RenderOcelot.java
index 6dba614..dabb1fa 100644
--- a/src/main/java/net/minecraft/src/RenderOcelot.java
+++ b/src/main/java/net/minecraft/src/RenderOcelot.java
@@ -15,6 +15,25 @@ public class RenderOcelot extends RenderLiving
super(par1ModelBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ switch(((EntityOcelot)par1EntityLiving).getTameSkin()) {
+ case 0:
+ default:
+ ocelotTextures.bindTexture();
+ break;
+ case 1:
+ blackOcelotTextures.bindTexture();
+ break;
+ case 2:
+ redOcelotTextures.bindTexture();
+ break;
+ case 3:
+ siameseOcelotTextures.bindTexture();
+ break;
+ }
+ }
+
public void renderLivingOcelot(EntityOcelot par1EntityOcelot, double par2, double par4, double par6, float par8, float par9)
{
super.doRenderLiving(par1EntityOcelot, par2, par4, par6, par8, par9);
diff --git a/src/main/java/net/minecraft/src/RenderPig.java b/src/main/java/net/minecraft/src/RenderPig.java
index eacf0ac..57b9c45 100644
--- a/src/main/java/net/minecraft/src/RenderPig.java
+++ b/src/main/java/net/minecraft/src/RenderPig.java
@@ -31,6 +31,11 @@ public class RenderPig extends RenderLiving
return pigTextures;
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ pigTextures.bindTexture();
+ }
+
/**
* Queries whether should render the specified pass or not.
*/
diff --git a/src/main/java/net/minecraft/src/RenderPlayer.java b/src/main/java/net/minecraft/src/RenderPlayer.java
index 0b24502..5ab3ae6 100644
--- a/src/main/java/net/minecraft/src/RenderPlayer.java
+++ b/src/main/java/net/minecraft/src/RenderPlayer.java
@@ -1,5 +1,8 @@
package net.minecraft.src;
+import net.lax1dude.eaglercraft.DefaultSkinRenderer;
+import net.lax1dude.eaglercraft.EaglerAdapter;
+import net.lax1dude.eaglercraft.EaglerProfile;
import net.lax1dude.eaglercraft.TextureLocation;
import org.lwjgl.opengl.GL11;
@@ -10,6 +13,9 @@ public class RenderPlayer extends RendererLivingEntity
private ModelBiped modelArmorChestplate;
private ModelBiped modelArmor;
+ private ModelBiped modelBipedMainNewSkin;
+ private ModelBiped modelBipedMainNewSkinSlim;
+
public RenderPlayer()
{
super(new ModelBiped(0.0F), 0.5F);
@@ -131,229 +137,225 @@ public class RenderPlayer extends RendererLivingEntity
protected TextureLocation func_110817_a(EntityPlayer par1AbstractClientPlayer)
{
- return par1AbstractClientPlayer.getLocationSkin();
+ return DefaultSkinRenderer.defaultVanillaSkins[EaglerProfile.presetSkinId];
}
/**
* Method for adding special render rules
*/
- protected void renderSpecials(EntityPlayer par1AbstractClientPlayer, float par2)
- {
+ protected void renderSpecials(EntityPlayer par1EntityPlayer, float par2) {
float var3 = 1.0F;
- GL11.glColor3f(var3, var3, var3);
- super.renderEquippedItems(par1AbstractClientPlayer, par2);
- super.renderArrowsStuckInEntity(par1AbstractClientPlayer, par2);
- ItemStack var4 = par1AbstractClientPlayer.inventory.armorItemInSlot(3);
+ EaglerAdapter.glColor3f(var3, var3, var3);
+ super.renderEquippedItems(par1EntityPlayer, par2);
+ super.renderArrowsStuckInEntity(par1EntityPlayer, par2);
+ ItemStack var4 = par1EntityPlayer.inventory.armorItemInSlot(3);
- if (var4 != null)
- {
- GL11.glPushMatrix();
- this.modelBipedMain.bipedHead.postRender(0.0625F);
- float var5;
+ boolean isNew = DefaultSkinRenderer.isPlayerNewSkin(par1EntityPlayer);
+ boolean isSlim = DefaultSkinRenderer.isPlayerNewSkinSlim(par1EntityPlayer);
+ int renderType = DefaultSkinRenderer.getPlayerRenderer(par1EntityPlayer);
+ boolean allowFNAW = Minecraft.getMinecraft().gameSettings.allowFNAWSkins;
- if (var4.getItem().itemID < 256)
- {
- if (RenderBlocks.renderItemIn3d(Block.blocksList[var4.itemID].getRenderType()))
- {
- var5 = 0.625F;
- GL11.glTranslatef(0.0F, -0.25F, 0.0F);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glScalef(var5, -var5, -var5);
+ if(!allowFNAW || !DefaultSkinRenderer.isHighPoly(renderType)) {
+ if (var4 != null) {
+ EaglerAdapter.glPushMatrix();
+ (isNew ? (isSlim ? this.modelBipedMainNewSkinSlim : this.modelBipedMainNewSkin) : this.modelBipedMain).bipedHead.postRender(0.0625F);
+ float var5;
+
+ if (var4.getItem().itemID < 256) {
+ if (RenderBlocks.renderItemIn3d(Block.blocksList[var4.itemID].getRenderType())) {
+ var5 = 0.625F;
+ EaglerAdapter.glTranslatef(0.0F, -0.25F, 0.0F);
+ EaglerAdapter.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glScalef(var5, -var5, -var5);
+ }
+
+ this.renderManager.itemRenderer.renderItem(par1EntityPlayer, var4, 0);
+ } else if (var4.getItem().itemID == Item.skull.itemID) {
+ var5 = 1.0625F;
+ EaglerAdapter.glScalef(var5, -var5, -var5);
+ String var6 = "";
+
+ if (var4.hasTagCompound() && var4.getTagCompound().hasKey("SkullOwner")) {
+ var6 = var4.getTagCompound().getString("SkullOwner");
+ }
+
+ TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, var4.getItemDamage(), var6);
}
- this.renderManager.itemRenderer.renderItem(par1AbstractClientPlayer, var4, 0);
+ EaglerAdapter.glPopMatrix();
}
- else if (var4.getItem().itemID == Item.skull.itemID)
- {
- var5 = 1.0625F;
- GL11.glScalef(var5, -var5, -var5);
- String var6 = "";
- if (var4.hasTagCompound() && var4.getTagCompound().hasKey("SkullOwner"))
- {
- var6 = var4.getTagCompound().getString("SkullOwner");
+ float var7;
+ float var8;
+
+ /*
+ if (par1EntityPlayer.username.equals("deadmau5") && this.loadDownloadableImageTexture(par1EntityPlayer.skinUrl, (String) null)) {
+ for (int var20 = 0; var20 < 2; ++var20) {
+ float var23 = par1EntityPlayer.prevRotationYaw + (par1EntityPlayer.rotationYaw - par1EntityPlayer.prevRotationYaw) * par2
+ - (par1EntityPlayer.prevRenderYawOffset + (par1EntityPlayer.renderYawOffset - par1EntityPlayer.prevRenderYawOffset) * par2);
+ var7 = par1EntityPlayer.prevRotationPitch + (par1EntityPlayer.rotationPitch - par1EntityPlayer.prevRotationPitch) * par2;
+ EaglerAdapter.glPushMatrix();
+ EaglerAdapter.glRotatef(var23, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glRotatef(var7, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glTranslatef(0.375F * (float) (var20 * 2 - 1), 0.0F, 0.0F);
+ EaglerAdapter.glTranslatef(0.0F, -0.375F, 0.0F);
+ EaglerAdapter.glRotatef(-var7, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(-var23, 0.0F, 1.0F, 0.0F);
+ var8 = 1.3333334F;
+ EaglerAdapter.glScalef(var8, var8, var8);
+ this.modelBipedMain.renderEars(0.0625F);
+ EaglerAdapter.glPopMatrix();
+ }
+ }
+ */
+
+ float var11;
+
+ if(DefaultSkinRenderer.isStandardModel(renderType) || DefaultSkinRenderer.isZombieModel(renderType) || (!allowFNAW && DefaultSkinRenderer.isHighPoly(renderType))) {
+ if(!par1EntityPlayer.isInvisible() && !par1EntityPlayer.getHideCape()) {
+ if(DefaultSkinRenderer.bindSyncedCape(par1EntityPlayer)) {
+ EaglerAdapter.glPushMatrix();
+ EaglerAdapter.glTranslatef(0.0F, 0.0F, 0.125F);
+ double var21 = par1EntityPlayer.field_71091_bM + (par1EntityPlayer.field_71094_bP - par1EntityPlayer.field_71091_bM) * (double) par2
+ - (par1EntityPlayer.prevPosX + (par1EntityPlayer.posX - par1EntityPlayer.prevPosX) * (double) par2);
+ double var24 = par1EntityPlayer.field_71096_bN + (par1EntityPlayer.field_71095_bQ - par1EntityPlayer.field_71096_bN) * (double) par2
+ - (par1EntityPlayer.prevPosY + (par1EntityPlayer.posY - par1EntityPlayer.prevPosY) * (double) par2);
+ double var9 = par1EntityPlayer.field_71097_bO + (par1EntityPlayer.field_71085_bR - par1EntityPlayer.field_71097_bO) * (double) par2
+ - (par1EntityPlayer.prevPosZ + (par1EntityPlayer.posZ - par1EntityPlayer.prevPosZ) * (double) par2);
+ var11 = par1EntityPlayer.prevRenderYawOffset + (par1EntityPlayer.renderYawOffset - par1EntityPlayer.prevRenderYawOffset) * par2;
+ double var12 = (double) MathHelper.sin(var11 * (float) Math.PI / 180.0F);
+ double var14 = (double) (-MathHelper.cos(var11 * (float) Math.PI / 180.0F));
+ float var16 = (float) var24 * 10.0F;
+
+ if (var16 < -6.0F) {
+ var16 = -6.0F;
+ }
+
+ if (var16 > 32.0F) {
+ var16 = 32.0F;
+ }
+
+ float var17 = (float) (var21 * var12 + var9 * var14) * 100.0F;
+ float var18 = (float) (var21 * var14 - var9 * var12) * 100.0F;
+
+ if (var17 < 0.0F) {
+ var17 = 0.0F;
+ }
+
+ float var19 = par1EntityPlayer.prevCameraYaw + (par1EntityPlayer.cameraYaw - par1EntityPlayer.prevCameraYaw) * par2;
+ var16 += MathHelper.sin((par1EntityPlayer.prevDistanceWalkedModified + (par1EntityPlayer.distanceWalkedModified - par1EntityPlayer.prevDistanceWalkedModified) * par2) * 6.0F) * 32.0F * var19;
+
+ if (par1EntityPlayer.isSneaking()) {
+ var16 += 25.0F;
+ }
+
+ EaglerAdapter.glRotatef(6.0F + var17 / 2.0F + var16, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(var18 / 2.0F, 0.0F, 0.0F, 1.0F);
+ EaglerAdapter.glRotatef(-var18 / 2.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
+ this.modelBipedMain.renderCloak(0.0625F);
+ EaglerAdapter.glPopMatrix();
+ }
+ EaglerAdapter.glMatrixMode(EaglerAdapter.GL_TEXTURE);
+ EaglerAdapter.glPopMatrix();
+ EaglerAdapter.glMatrixMode(EaglerAdapter.GL_MODELVIEW);
}
-
- TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, var4.getItemDamage(), var6);
- }
-
- GL11.glPopMatrix();
- }
-
- if (par1AbstractClientPlayer.getCommandSenderName().equals("deadmau5") && par1AbstractClientPlayer.getTextureSkin().isTextureUploaded())
- {
- this.bindTexture(par1AbstractClientPlayer.getLocationSkin());
-
- for (int var23 = 0; var23 < 2; ++var23)
- {
- float var25 = par1AbstractClientPlayer.prevRotationYaw + (par1AbstractClientPlayer.rotationYaw - par1AbstractClientPlayer.prevRotationYaw) * par2 - (par1AbstractClientPlayer.prevRenderYawOffset + (par1AbstractClientPlayer.renderYawOffset - par1AbstractClientPlayer.prevRenderYawOffset) * par2);
- float var7 = par1AbstractClientPlayer.prevRotationPitch + (par1AbstractClientPlayer.rotationPitch - par1AbstractClientPlayer.prevRotationPitch) * par2;
- GL11.glPushMatrix();
- GL11.glRotatef(var25, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(var7, 1.0F, 0.0F, 0.0F);
- GL11.glTranslatef(0.375F * (float)(var23 * 2 - 1), 0.0F, 0.0F);
- GL11.glTranslatef(0.0F, -0.375F, 0.0F);
- GL11.glRotatef(-var7, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(-var25, 0.0F, 1.0F, 0.0F);
- float var8 = 1.3333334F;
- GL11.glScalef(var8, var8, var8);
- this.modelBipedMain.renderEars(0.0625F);
- GL11.glPopMatrix();
}
}
- boolean var24 = par1AbstractClientPlayer.getTextureCape().isTextureUploaded();
- boolean var26 = !par1AbstractClientPlayer.isInvisible();
- boolean var27 = !par1AbstractClientPlayer.getHideCape();
- float var14;
+ ItemStack var22 = par1EntityPlayer.inventory.getCurrentItem();
- if (var24 && var26 && var27)
- {
- this.bindTexture(par1AbstractClientPlayer.getLocationCape());
- GL11.glPushMatrix();
- GL11.glTranslatef(0.0F, 0.0F, 0.125F);
- double var28 = par1AbstractClientPlayer.field_71091_bM + (par1AbstractClientPlayer.field_71094_bP - par1AbstractClientPlayer.field_71091_bM) * (double)par2 - (par1AbstractClientPlayer.prevPosX + (par1AbstractClientPlayer.posX - par1AbstractClientPlayer.prevPosX) * (double)par2);
- double var10 = par1AbstractClientPlayer.field_71096_bN + (par1AbstractClientPlayer.field_71095_bQ - par1AbstractClientPlayer.field_71096_bN) * (double)par2 - (par1AbstractClientPlayer.prevPosY + (par1AbstractClientPlayer.posY - par1AbstractClientPlayer.prevPosY) * (double)par2);
- double var12 = par1AbstractClientPlayer.field_71097_bO + (par1AbstractClientPlayer.field_71085_bR - par1AbstractClientPlayer.field_71097_bO) * (double)par2 - (par1AbstractClientPlayer.prevPosZ + (par1AbstractClientPlayer.posZ - par1AbstractClientPlayer.prevPosZ) * (double)par2);
- var14 = par1AbstractClientPlayer.prevRenderYawOffset + (par1AbstractClientPlayer.renderYawOffset - par1AbstractClientPlayer.prevRenderYawOffset) * par2;
- double var15 = (double)MathHelper.sin(var14 * (float)Math.PI / 180.0F);
- double var17 = (double)(-MathHelper.cos(var14 * (float)Math.PI / 180.0F));
- float var19 = (float)var10 * 10.0F;
+ if (var22 != null) {
+ EaglerAdapter.glPushMatrix();
- if (var19 < -6.0F)
- {
- var19 = -6.0F;
- }
-
- if (var19 > 32.0F)
- {
- var19 = 32.0F;
- }
-
- float var20 = (float)(var28 * var15 + var12 * var17) * 100.0F;
- float var21 = (float)(var28 * var17 - var12 * var15) * 100.0F;
-
- if (var20 < 0.0F)
- {
- var20 = 0.0F;
- }
-
- float var22 = par1AbstractClientPlayer.prevCameraYaw + (par1AbstractClientPlayer.cameraYaw - par1AbstractClientPlayer.prevCameraYaw) * par2;
- var19 += MathHelper.sin((par1AbstractClientPlayer.prevDistanceWalkedModified + (par1AbstractClientPlayer.distanceWalkedModified - par1AbstractClientPlayer.prevDistanceWalkedModified) * par2) * 6.0F) * 32.0F * var22;
-
- if (par1AbstractClientPlayer.isSneaking())
- {
- var19 += 25.0F;
- }
-
- GL11.glRotatef(6.0F + var20 / 2.0F + var19, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(var21 / 2.0F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(-var21 / 2.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
- this.modelBipedMain.renderCloak(0.0625F);
- GL11.glPopMatrix();
- }
-
- ItemStack var29 = par1AbstractClientPlayer.inventory.getCurrentItem();
-
- if (var29 != null)
- {
- GL11.glPushMatrix();
- this.modelBipedMain.bipedRightArm.postRender(0.0625F);
- GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
-
- if (par1AbstractClientPlayer.fishEntity != null)
- {
- var29 = new ItemStack(Item.stick);
- }
-
- EnumAction var9 = null;
-
- if (par1AbstractClientPlayer.getItemInUseCount() > 0)
- {
- var9 = var29.getItemUseAction();
- }
-
- float var30;
-
- if (var29.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[var29.itemID].getRenderType()))
- {
- var30 = 0.5F;
- GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
- var30 *= 0.75F;
- GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- GL11.glScalef(-var30, -var30, var30);
- }
- else if (var29.itemID == Item.bow.itemID)
- {
- var30 = 0.625F;
- GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
- GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
- GL11.glScalef(var30, -var30, var30);
- GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- }
- else if (Item.itemsList[var29.itemID].isFull3D())
- {
- var30 = 0.625F;
-
- if (Item.itemsList[var29.itemID].shouldRotateAroundWhenRendering())
- {
- GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
- GL11.glTranslatef(0.0F, -0.125F, 0.0F);
- }
-
- if (par1AbstractClientPlayer.getItemInUseCount() > 0 && var9 == EnumAction.block)
- {
- GL11.glTranslatef(0.05F, 0.0F, -0.1F);
- GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F);
- GL11.glRotatef(-10.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
- }
-
- GL11.glTranslatef(0.0F, 0.1875F, 0.0F);
- GL11.glScalef(var30, -var30, var30);
- GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
- }
- else
- {
- var30 = 0.375F;
- GL11.glTranslatef(0.25F, 0.1875F, -0.1875F);
- GL11.glScalef(var30, var30, var30);
- GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F);
- GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F);
- GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F);
- }
-
- float var13;
- int var32;
- float var33;
-
- if (var29.getItem().requiresMultipleRenderPasses())
- {
- for (var32 = 0; var32 <= 1; ++var32)
- {
- int var11 = var29.getItem().getColorFromItemStack(var29, var32);
- var33 = (float)(var11 >> 16 & 255) / 255.0F;
- var13 = (float)(var11 >> 8 & 255) / 255.0F;
- var14 = (float)(var11 & 255) / 255.0F;
- GL11.glColor4f(var33, var13, var14, 1.0F);
- this.renderManager.itemRenderer.renderItem(par1AbstractClientPlayer, var29, var32);
+ if(!allowFNAW || !DefaultSkinRenderer.isHighPoly(renderType)) {
+ if(DefaultSkinRenderer.isZombieModel(renderType) || renderType == 20) {
+ ((ModelBiped)this.mainModel).bipedRightArm.postRender(0.0625F);
+ }else {
+ (isNew ? (isSlim ? this.modelBipedMainNewSkinSlim : this.modelBipedMainNewSkin) : this.modelBipedMain).bipedRightArm.postRender(0.0625F);
}
}
- else
- {
- var32 = var29.getItem().getColorFromItemStack(var29, 0);
- float var31 = (float)(var32 >> 16 & 255) / 255.0F;
- var33 = (float)(var32 >> 8 & 255) / 255.0F;
- var13 = (float)(var32 & 255) / 255.0F;
- GL11.glColor4f(var31, var33, var13, 1.0F);
- this.renderManager.itemRenderer.renderItem(par1AbstractClientPlayer, var29, 0);
+
+ EaglerAdapter.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
+
+ if (par1EntityPlayer.fishEntity != null) {
+ var22 = new ItemStack(Item.stick);
}
- GL11.glPopMatrix();
+ EnumAction var25 = null;
+
+ if (par1EntityPlayer.getItemInUseCount() > 0) {
+ var25 = var22.getItemUseAction();
+ }
+
+ float var7 = 0.0f;
+ float var8 = 0.0f;
+ float var11 = 0.0f;
+ if (var22.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[var22.itemID].getRenderType())) {
+ var7 = 0.5F;
+ EaglerAdapter.glTranslatef(0.0F, 0.1875F, -0.3125F);
+ var7 *= 0.75F;
+ EaglerAdapter.glRotatef(20.0F, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glScalef(-var7, -var7, var7);
+ } else if (var22.itemID == Item.bow.itemID) {
+ var7 = 0.625F;
+ EaglerAdapter.glTranslatef(0.0F, 0.125F, 0.3125F);
+ EaglerAdapter.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glScalef(var7, -var7, var7);
+ EaglerAdapter.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
+ } else if (Item.itemsList[var22.itemID].isFull3D()) {
+ var7 = 0.625F;
+
+ if (Item.itemsList[var22.itemID].shouldRotateAroundWhenRendering()) {
+ EaglerAdapter.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
+ EaglerAdapter.glTranslatef(0.0F, -0.125F, 0.0F);
+ }
+
+ if (par1EntityPlayer.getItemInUseCount() > 0 && var25 == EnumAction.block) {
+ EaglerAdapter.glTranslatef(0.05F, 0.0F, -0.1F);
+ EaglerAdapter.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F);
+ EaglerAdapter.glRotatef(-10.0F, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
+ }
+
+ EaglerAdapter.glTranslatef(0.0F, 0.1875F, 0.0F);
+ EaglerAdapter.glScalef(var7, -var7, var7);
+ EaglerAdapter.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
+ } else {
+ var7 = 0.375F;
+ EaglerAdapter.glTranslatef(0.25F, 0.1875F, -0.1875F);
+ EaglerAdapter.glScalef(var7, var7, var7);
+ EaglerAdapter.glRotatef(60.0F, 0.0F, 0.0F, 1.0F);
+ EaglerAdapter.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F);
+ EaglerAdapter.glRotatef(20.0F, 0.0F, 0.0F, 1.0F);
+ }
+
+ float var10;
+ int var27;
+ float var28;
+
+ if (var22.getItem().requiresMultipleRenderPasses()) {
+ for (var27 = 0; var27 <= 1; ++var27) {
+ int var26 = var22.getItem().getColorFromItemStack(var22, var27);
+ var28 = (float) (var26 >> 16 & 255) / 255.0F;
+ var10 = (float) (var26 >> 8 & 255) / 255.0F;
+ var11 = (float) (var26 & 255) / 255.0F;
+ EaglerAdapter.glColor4f(var28, var10, var11, 1.0F);
+ this.renderManager.itemRenderer.renderItem(par1EntityPlayer, var22, var27);
+ }
+ } else {
+ var27 = var22.getItem().getColorFromItemStack(var22, 0);
+ var8 = (float) (var27 >> 16 & 255) / 255.0F;
+ var28 = (float) (var27 >> 8 & 255) / 255.0F;
+ var10 = (float) (var27 & 255) / 255.0F;
+ EaglerAdapter.glColor4f(var8, var28, var10, 1.0F);
+ this.renderManager.itemRenderer.renderItem(par1EntityPlayer, var22, 0);
+ }
+
+ EaglerAdapter.glPopMatrix();
}
}
@@ -499,4 +501,37 @@ public class RenderPlayer extends RendererLivingEntity
{
this.func_130009_a((EntityPlayer)par1Entity, par2, par4, par6, par8, par9);
}
+
+ private static final TextureLocation entityTexture = new TextureLocation("/mob/char.png");
+
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ if(par1EntityLiving instanceof EntityClientPlayerMP) {
+ if(EaglerProfile.presetSkinId < 0) {
+ Minecraft.getMinecraft().renderEngine.bindTexture(EaglerProfile.skins.get(EaglerProfile.customSkinId).glTex);
+ }else {
+ TextureLocation tx = null;
+ if(DefaultSkinRenderer.defaultVanillaSkins[EaglerProfile.presetSkinId] == null) {
+ if(DefaultSkinRenderer.defaultHighPoly[EaglerProfile.presetSkinId] == null) {
+ tx = entityTexture;
+ }else {
+ if(Minecraft.getMinecraft().gameSettings.allowFNAWSkins) {
+ tx = DefaultSkinRenderer.defaultHighPoly[EaglerProfile.presetSkinId].texture;
+ }else {
+ tx = DefaultSkinRenderer.defaultHighPoly[EaglerProfile.presetSkinId].fallbackTexture;
+ }
+ }
+ }else {
+ tx = DefaultSkinRenderer.defaultVanillaSkins[EaglerProfile.presetSkinId];
+ }
+ tx.bindTexture();
+ }
+ }else if(par1EntityLiving instanceof EntityOtherPlayerMP) {
+ if(!DefaultSkinRenderer.bindSyncedSkin((EntityOtherPlayerMP)par1EntityLiving)) {
+ entityTexture.bindTexture();
+ }
+ }else {
+ entityTexture.bindTexture();
+ }
+ }
}
diff --git a/src/main/java/net/minecraft/src/RenderSheep.java b/src/main/java/net/minecraft/src/RenderSheep.java
index 916eb87..5435b9b 100644
--- a/src/main/java/net/minecraft/src/RenderSheep.java
+++ b/src/main/java/net/minecraft/src/RenderSheep.java
@@ -35,6 +35,11 @@ public class RenderSheep extends RenderLiving
return shearedSheepTextures;
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ shearedSheepTextures.bindTexture();
+ }
+
/**
* Queries whether should render the specified pass or not.
*/
diff --git a/src/main/java/net/minecraft/src/RenderSilverfish.java b/src/main/java/net/minecraft/src/RenderSilverfish.java
index 48baf44..f4e7482 100644
--- a/src/main/java/net/minecraft/src/RenderSilverfish.java
+++ b/src/main/java/net/minecraft/src/RenderSilverfish.java
@@ -50,6 +50,11 @@ public class RenderSilverfish extends RenderLiving
return this.getSilverfishDeathRotation((EntitySilverfish)par1EntityLivingBase);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ silverfishTextures.bindTexture();
+ }
+
/**
* Queries whether should render the specified pass or not.
*/
diff --git a/src/main/java/net/minecraft/src/RenderSlime.java b/src/main/java/net/minecraft/src/RenderSlime.java
index c6a455d..7cf1c1c 100644
--- a/src/main/java/net/minecraft/src/RenderSlime.java
+++ b/src/main/java/net/minecraft/src/RenderSlime.java
@@ -68,6 +68,11 @@ public class RenderSlime extends RenderLiving
this.scaleSlime((EntitySlime)par1EntityLivingBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ slimeTextures.bindTexture();
+ }
+
/**
* Queries whether should render the specified pass or not.
*/
diff --git a/src/main/java/net/minecraft/src/RenderSnowMan.java b/src/main/java/net/minecraft/src/RenderSnowMan.java
index 74619de..273845b 100644
--- a/src/main/java/net/minecraft/src/RenderSnowMan.java
+++ b/src/main/java/net/minecraft/src/RenderSnowMan.java
@@ -48,6 +48,11 @@ public class RenderSnowMan extends RenderLiving
return snowManTextures;
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ snowManTextures.bindTexture();
+ }
+
protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
{
this.renderSnowmanPumpkin((EntitySnowman)par1EntityLivingBase, par2);
diff --git a/src/main/java/net/minecraft/src/RenderSpider.java b/src/main/java/net/minecraft/src/RenderSpider.java
index 9d58990..34b6c80 100644
--- a/src/main/java/net/minecraft/src/RenderSpider.java
+++ b/src/main/java/net/minecraft/src/RenderSpider.java
@@ -65,6 +65,11 @@ public class RenderSpider extends RenderLiving
return this.setSpiderDeathMaxRotation((EntitySpider)par1EntityLivingBase);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ spiderTextures.bindTexture();
+ }
+
/**
* Queries whether should render the specified pass or not.
*/
diff --git a/src/main/java/net/minecraft/src/RenderSquid.java b/src/main/java/net/minecraft/src/RenderSquid.java
index 2aa7555..28344dd 100644
--- a/src/main/java/net/minecraft/src/RenderSquid.java
+++ b/src/main/java/net/minecraft/src/RenderSquid.java
@@ -12,6 +12,11 @@ public class RenderSquid extends RenderLiving
super(par1ModelBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ squidTextures.bindTexture();
+ }
+
/**
* Renders the Living Squid.
*/
diff --git a/src/main/java/net/minecraft/src/RenderVillager.java b/src/main/java/net/minecraft/src/RenderVillager.java
index eeee426..d25ed80 100644
--- a/src/main/java/net/minecraft/src/RenderVillager.java
+++ b/src/main/java/net/minecraft/src/RenderVillager.java
@@ -34,7 +34,7 @@ public class RenderVillager extends RenderLiving
super.doRenderLiving(par1EntityVillager, par2, par4, par6, par8, par9);
}
- protected TextureLocation func_110902_a(EntityVillager par1EntityVillager)
+ protected TextureLocation func_110902_a(EntityVillager par1EntityVillager) // FIX THIS, might be in the wrong order
{
switch (par1EntityVillager.getProfession())
{
@@ -102,6 +102,30 @@ public class RenderVillager extends RenderLiving
return this.shouldVillagerRenderPass((EntityVillager)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ switch (((EntityVillager)par1EntityLiving).getProfession()) {
+ case 0:
+ farmerVillagerTextures.bindTexture();
+ break;
+ case 1:
+ librarianVillagerTextures.bindTexture();
+ break;
+ case 2:
+ priestVillagerTextures.bindTexture();
+ break;
+ case 3:
+ smithVillagerTextures.bindTexture();
+ break;
+ case 4:
+ butcherVillagerTextures.bindTexture();
+ break;
+ default:
+ villagerTextures.bindTexture();
+ break;
+ }
+ }
+
protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
{
this.renderVillagerEquipedItems((EntityVillager)par1EntityLivingBase, par2);
diff --git a/src/main/java/net/minecraft/src/RenderWitch.java b/src/main/java/net/minecraft/src/RenderWitch.java
index a47fb35..ca6c86e 100644
--- a/src/main/java/net/minecraft/src/RenderWitch.java
+++ b/src/main/java/net/minecraft/src/RenderWitch.java
@@ -130,6 +130,11 @@ public class RenderWitch extends RenderLiving
this.func_82409_b((EntityWitch)par1EntityLivingBase, par2);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ witchTextures.bindTexture();
+ }
+
protected void renderEquippedItems(EntityLivingBase par1EntityLivingBase, float par2)
{
this.func_82411_a((EntityWitch)par1EntityLivingBase, par2);
diff --git a/src/main/java/net/minecraft/src/RenderWither.java b/src/main/java/net/minecraft/src/RenderWither.java
index aca23ca..a901db8 100644
--- a/src/main/java/net/minecraft/src/RenderWither.java
+++ b/src/main/java/net/minecraft/src/RenderWither.java
@@ -124,6 +124,15 @@ public class RenderWither extends RenderLiving
return this.func_82417_a((EntityWither)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ if(((EntityWither)par1EntityLiving).isInvul()) {
+ invulnerableWitherTextures.bindTexture();
+ }else {
+ witherTextures.bindTexture();
+ }
+ }
+
protected int inheritRenderPass(EntityLivingBase par1EntityLivingBase, int par2, float par3)
{
return this.func_82416_b((EntityWither)par1EntityLivingBase, par2, par3);
diff --git a/src/main/java/net/minecraft/src/RenderWolf.java b/src/main/java/net/minecraft/src/RenderWolf.java
index c36d9c7..171eff3 100644
--- a/src/main/java/net/minecraft/src/RenderWolf.java
+++ b/src/main/java/net/minecraft/src/RenderWolf.java
@@ -59,6 +59,17 @@ public class RenderWolf extends RenderLiving
return this.func_82447_a((EntityWolf)par1EntityLivingBase, par2, par3);
}
+ @Override
+ protected void bindTexture(EntityLivingBase par1EntityLiving) {
+ if(((EntityWolf)par1EntityLiving).isTamed()) {
+ tamedWolfTextures.bindTexture();
+ }else if(((EntityWolf)par1EntityLiving).isAngry()) {
+ anrgyWolfTextures.bindTexture();
+ }else {
+ wolfTextures.bindTexture();
+ }
+ }
+
/**
* Defines what float the third param in setRotationAngles of ModelBase is
*/
diff --git a/src/main/java/net/minecraft/src/RendererLivingEntity.java b/src/main/java/net/minecraft/src/RendererLivingEntity.java
index ece4d56..fd24a06 100644
--- a/src/main/java/net/minecraft/src/RendererLivingEntity.java
+++ b/src/main/java/net/minecraft/src/RendererLivingEntity.java
@@ -296,6 +296,8 @@ public abstract class RendererLivingEntity extends Render
}
}
+ protected abstract void bindTexture(EntityLivingBase par1EntityLiving);
+
/**
* Sets a simple glTranslate on a LivingEntity.
*/
diff --git a/src/main/java/net/minecraft/src/SelectionListInvited.java b/src/main/java/net/minecraft/src/SelectionListInvited.java
deleted file mode 100644
index 35e20dd..0000000
--- a/src/main/java/net/minecraft/src/SelectionListInvited.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package net.minecraft.src;
-
-class SelectionListInvited extends SelectionListBase
-{
- final GuiScreenConfigureWorld theGuiScreenConfigureWorld;
-
- public SelectionListInvited(GuiScreenConfigureWorld par1GuiScreenConfigureWorld)
- {
- super(GuiScreenConfigureWorld.getMinecraft(par1GuiScreenConfigureWorld), GuiScreenConfigureWorld.func_96271_b(par1GuiScreenConfigureWorld), GuiScreenConfigureWorld.func_96274_a(par1GuiScreenConfigureWorld, 2), GuiScreenConfigureWorld.func_96269_c(par1GuiScreenConfigureWorld), GuiScreenConfigureWorld.func_96274_a(par1GuiScreenConfigureWorld, 9) - GuiScreenConfigureWorld.func_96274_a(par1GuiScreenConfigureWorld, 2), 12);
- this.theGuiScreenConfigureWorld = par1GuiScreenConfigureWorld;
- }
-
- protected int func_96608_a()
- {
- return GuiScreenConfigureWorld.func_96266_d(this.theGuiScreenConfigureWorld).field_96402_f.size() + 1;
- }
-
- protected void func_96615_a(int par1, boolean par2)
- {
- if (par1 < GuiScreenConfigureWorld.func_96266_d(this.theGuiScreenConfigureWorld).field_96402_f.size())
- {
- GuiScreenConfigureWorld.func_96270_b(this.theGuiScreenConfigureWorld, par1);
- }
- }
-
- protected boolean func_96609_a(int par1)
- {
- return par1 == GuiScreenConfigureWorld.func_96263_e(this.theGuiScreenConfigureWorld);
- }
-
- protected int func_96613_b()
- {
- return this.func_96608_a() * 12;
- }
-
- protected void func_96611_c() {}
-
- protected void func_96610_a(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- if (par1 < GuiScreenConfigureWorld.func_96266_d(this.theGuiScreenConfigureWorld).field_96402_f.size())
- {
- this.func_98263_b(par1, par2, par3, par4, par5Tessellator);
- }
- }
-
- private void func_98263_b(int par1, int par2, int par3, int par4, Tessellator par5Tessellator)
- {
- String var6 = (String)GuiScreenConfigureWorld.func_96266_d(this.theGuiScreenConfigureWorld).field_96402_f.get(par1);
- this.theGuiScreenConfigureWorld.drawString(GuiScreenConfigureWorld.func_96273_f(this.theGuiScreenConfigureWorld), var6, par2 + 2, par3 + 1, 16777215);
- }
-}
diff --git a/src/main/java/net/minecraft/src/SimpleReloadableResourceManager.java b/src/main/java/net/minecraft/src/SimpleReloadableResourceManager.java
deleted file mode 100644
index 59af6fa..0000000
--- a/src/main/java/net/minecraft/src/SimpleReloadableResourceManager.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package net.minecraft.src;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-public class SimpleReloadableResourceManager implements ReloadableResourceManager
-{
- private static final Joiner joinerResourcePacks = Joiner.on(", ");
- private final Map domainResourceManagers = Maps.newHashMap();
- private final List reloadListeners = Lists.newArrayList();
- private final Set setResourceDomains = Sets.newLinkedHashSet();
- private final MetadataSerializer rmMetadataSerializer;
-
- public SimpleReloadableResourceManager(MetadataSerializer par1MetadataSerializer)
- {
- this.rmMetadataSerializer = par1MetadataSerializer;
- }
-
- public void reloadResourcePack(ResourcePack par1ResourcePack)
- {
- FallbackResourceManager var4;
-
- for (Iterator var2 = par1ResourcePack.getResourceDomains().iterator(); var2.hasNext(); var4.addResourcePack(par1ResourcePack))
- {
- String var3 = (String)var2.next();
- this.setResourceDomains.add(var3);
- var4 = (FallbackResourceManager)this.domainResourceManagers.get(var3);
-
- if (var4 == null)
- {
- var4 = new FallbackResourceManager(this.rmMetadataSerializer);
- this.domainResourceManagers.put(var3, var4);
- }
- }
- }
-
- public Set getResourceDomains()
- {
- return this.setResourceDomains;
- }
-
- public Resource getResource(TextureLocation par1TextureLocation) throws IOException
- {
- ResourceManager var2 = (ResourceManager)this.domainResourceManagers.get(par1TextureLocation.getResourceDomain());
-
- if (var2 != null)
- {
- return var2.getResource(par1TextureLocation);
- }
- else
- {
- throw new FileNotFoundException(par1TextureLocation.toString());
- }
- }
-
- public List getAllResources(TextureLocation par1TextureLocation) throws IOException
- {
- ResourceManager var2 = (ResourceManager)this.domainResourceManagers.get(par1TextureLocation.getResourceDomain());
-
- if (var2 != null)
- {
- return var2.getAllResources(par1TextureLocation);
- }
- else
- {
- throw new FileNotFoundException(par1TextureLocation.toString());
- }
- }
-
- private void clearResources()
- {
- this.domainResourceManagers.clear();
- this.setResourceDomains.clear();
- }
-
- public void reloadResources(List par1List)
- {
- this.clearResources();
- Minecraft.getMinecraft().getLogAgent().logInfo("Reloading ResourceManager: " + joinerResourcePacks.join(Iterables.transform(par1List, new SimpleReloadableResourceManagerINNER1(this))));
- Iterator var2 = par1List.iterator();
-
- while (var2.hasNext())
- {
- ResourcePack var3 = (ResourcePack)var2.next();
- this.reloadResourcePack(var3);
- }
-
- this.notifyReloadListeners();
- }
-
- public void registerReloadListener(ResourceManagerReloadListener par1ResourceManagerReloadListener)
- {
- this.reloadListeners.add(par1ResourceManagerReloadListener);
- par1ResourceManagerReloadListener.onResourceManagerReload(this);
- }
-
- private void notifyReloadListeners()
- {
- Iterator var1 = this.reloadListeners.iterator();
-
- while (var1.hasNext())
- {
- ResourceManagerReloadListener var2 = (ResourceManagerReloadListener)var1.next();
- var2.onResourceManagerReload(this);
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/TaskOnlineConnect.java b/src/main/java/net/minecraft/src/TaskOnlineConnect.java
deleted file mode 100644
index dd6ff5b..0000000
--- a/src/main/java/net/minecraft/src/TaskOnlineConnect.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-
-public class TaskOnlineConnect extends TaskLongRunning
-{
- private NetClientHandler field_96586_a;
- private final McoServer field_96585_c;
- private final GuiScreen field_96584_d;
-
- public TaskOnlineConnect(GuiScreen par1GuiScreen, McoServer par2McoServer)
- {
- this.field_96584_d = par1GuiScreen;
- this.field_96585_c = par2McoServer;
- }
-
- public void run()
- {
- this.setMessage(I18n.getString("mco.connect.connecting"));
- McoClient var1 = new McoClient(this.getMinecraft().getSession());
- boolean var2 = false;
- boolean var3 = false;
- int var4 = 5;
- McoServerAddress var5 = null;
-
- for (int var6 = 0; var6 < 10 && !this.wasScreenClosed(); ++var6)
- {
- try
- {
- var5 = var1.func_96374_a(this.field_96585_c.field_96408_a);
- var2 = true;
- }
- catch (ExceptionRetryCall var8)
- {
- var4 = var8.field_96393_c;
- }
- catch (ExceptionMcoService var9)
- {
- var3 = true;
- this.setFailedMessage(var9.toString());
- Minecraft.getMinecraft().getLogAgent().logSevere(var9.toString());
- break;
- }
- catch (IOException var10)
- {
- Minecraft.getMinecraft().getLogAgent().logWarning("Realms: could not parse response");
- }
- catch (Exception var11)
- {
- var3 = true;
- this.setFailedMessage(var11.getLocalizedMessage());
- }
-
- if (var2)
- {
- break;
- }
-
- this.func_111251_a(var4);
- }
-
- if (!this.wasScreenClosed() && !var3)
- {
- if (var2)
- {
- ServerAddress var12 = ServerAddress.func_78860_a(var5.field_96417_a);
- this.func_96582_a(var12.getIP(), var12.getPort());
- }
- else
- {
- this.getMinecraft().displayGuiScreen(this.field_96584_d);
- }
- }
- }
-
- private void func_111251_a(int par1)
- {
- try
- {
- Thread.sleep((long)(par1 * 1000));
- }
- catch (InterruptedException var3)
- {
- Minecraft.getMinecraft().getLogAgent().logWarning(var3.getLocalizedMessage());
- }
- }
-
- private void func_96582_a(String par1Str, int par2)
- {
- (new ThreadOnlineConnect(this, par1Str, par2)).start();
- }
-
- public void updateScreen()
- {
- if (this.field_96586_a != null)
- {
- this.field_96586_a.processReadPackets();
- }
- }
-
- static NetClientHandler func_96583_a(TaskOnlineConnect par0TaskOnlineConnect, NetClientHandler par1NetClientHandler)
- {
- return par0TaskOnlineConnect.field_96586_a = par1NetClientHandler;
- }
-
- static GuiScreen func_98172_a(TaskOnlineConnect par0TaskOnlineConnect)
- {
- return par0TaskOnlineConnect.field_96584_d;
- }
-
- static NetClientHandler func_96580_a(TaskOnlineConnect par0TaskOnlineConnect)
- {
- return par0TaskOnlineConnect.field_96586_a;
- }
-}
diff --git a/src/main/java/net/minecraft/src/TaskResetWorld.java b/src/main/java/net/minecraft/src/TaskResetWorld.java
deleted file mode 100644
index 8da1b96..0000000
--- a/src/main/java/net/minecraft/src/TaskResetWorld.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package net.minecraft.src;
-
-class TaskResetWorld extends TaskLongRunning
-{
- private final long field_96591_c;
- private final String field_104066_d;
- private final WorldTemplate field_111252_e;
-
- final GuiScreenResetWorld field_96592_a;
-
- public TaskResetWorld(GuiScreenResetWorld par1GuiScreenResetWorld, long par2, String par4Str, WorldTemplate par5WorldTemplate)
- {
- this.field_96592_a = par1GuiScreenResetWorld;
- this.field_96591_c = par2;
- this.field_104066_d = par4Str;
- this.field_111252_e = par5WorldTemplate;
- }
-
- public void run()
- {
- McoClient var1 = new McoClient(this.getMinecraft().getSession());
- String var2 = I18n.getString("mco.reset.world.resetting.screen.title");
- this.setMessage(var2);
-
- try
- {
- if (this.field_111252_e != null)
- {
- var1.func_111233_e(this.field_96591_c, this.field_111252_e.field_110734_a);
- }
- else
- {
- var1.func_96376_d(this.field_96591_c, this.field_104066_d);
- }
-
- GuiScreenResetWorld.func_96147_b(this.field_96592_a).displayGuiScreen(GuiScreenResetWorld.func_96148_a(this.field_96592_a));
- }
- catch (ExceptionMcoService var4)
- {
- GuiScreenResetWorld.func_130025_c(this.field_96592_a).getLogAgent().logSevere(var4.toString());
- this.setFailedMessage(var4.toString());
- }
- catch (Exception var5)
- {
- GuiScreenResetWorld.func_130024_d(this.field_96592_a).getLogAgent().logWarning("Realms: ");
- this.setFailedMessage(var5.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/TaskWorldCreation.java b/src/main/java/net/minecraft/src/TaskWorldCreation.java
deleted file mode 100644
index e92cbaa..0000000
--- a/src/main/java/net/minecraft/src/TaskWorldCreation.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-
-class TaskWorldCreation extends TaskLongRunning
-{
- private final String field_96589_c;
- private final String field_96587_d;
- private final String field_104065_f;
- private final WorldTemplate field_111253_f;
-
- final GuiScreenCreateOnlineWorld field_96590_a;
-
- public TaskWorldCreation(GuiScreenCreateOnlineWorld par1GuiScreenCreateOnlineWorld, String par2Str, String par3Str, String par4Str, WorldTemplate par5WorldTemplate)
- {
- this.field_96590_a = par1GuiScreenCreateOnlineWorld;
- this.field_96589_c = par2Str;
- this.field_96587_d = par3Str;
- this.field_104065_f = par4Str;
- this.field_111253_f = par5WorldTemplate;
- }
-
- public void run()
- {
- String var1 = I18n.getString("mco.create.world.wait");
- this.setMessage(var1);
- McoClient var2 = new McoClient(GuiScreenCreateOnlineWorld.func_96248_a(this.field_96590_a).getSession());
-
- try
- {
- if (this.field_111253_f != null)
- {
- var2.func_96386_a(this.field_96589_c, this.field_96587_d, this.field_104065_f, this.field_111253_f.field_110734_a);
- }
- else
- {
- var2.func_96386_a(this.field_96589_c, this.field_96587_d, this.field_104065_f, "-1");
- }
-
- GuiScreenCreateOnlineWorld.func_96246_c(this.field_96590_a).displayGuiScreen(GuiScreenCreateOnlineWorld.func_96247_b(this.field_96590_a));
- }
- catch (ExceptionMcoService var4)
- {
- GuiScreenCreateOnlineWorld.func_130026_d(this.field_96590_a).getLogAgent().logSevere(var4.toString());
- this.setFailedMessage(var4.toString());
- }
- catch (UnsupportedEncodingException var5)
- {
- GuiScreenCreateOnlineWorld.func_130027_e(this.field_96590_a).getLogAgent().logWarning("Realms: " + var5.getLocalizedMessage());
- this.setFailedMessage(var5.getLocalizedMessage());
- }
- catch (IOException var6)
- {
- GuiScreenCreateOnlineWorld.func_130028_f(this.field_96590_a).getLogAgent().logWarning("Realms: could not parse response");
- this.setFailedMessage(var6.getLocalizedMessage());
- }
- catch (Exception var7)
- {
- this.setFailedMessage(var7.getLocalizedMessage());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/TextureCompass.java b/src/main/java/net/minecraft/src/TextureCompass.java
index f139bec..3be6fed 100644
--- a/src/main/java/net/minecraft/src/TextureCompass.java
+++ b/src/main/java/net/minecraft/src/TextureCompass.java
@@ -2,6 +2,7 @@ package net.minecraft.src;
public class TextureCompass extends TextureAtlasSprite
{
+ public static TextureCompass compassTexture;
/** Current compass heading in radians */
public double currentAngle;
@@ -11,6 +12,7 @@ public class TextureCompass extends TextureAtlasSprite
public TextureCompass(String par1Str)
{
super(par1Str);
+ compassTexture = this;
}
public void updateAnimation()
diff --git a/src/main/java/net/minecraft/src/ThreadConnectToOnlineServer.java b/src/main/java/net/minecraft/src/ThreadConnectToOnlineServer.java
deleted file mode 100644
index 6885dc2..0000000
--- a/src/main/java/net/minecraft/src/ThreadConnectToOnlineServer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package net.minecraft.src;
-
-import java.io.IOException;
-import java.net.ConnectException;
-import java.net.SocketTimeoutException;
-import java.net.UnknownHostException;
-
-class ThreadConnectToOnlineServer extends Thread
-{
- final McoServer field_96597_a;
-
- final GuiSlotOnlineServerList field_96596_b;
-
- ThreadConnectToOnlineServer(GuiSlotOnlineServerList par1GuiSlotOnlineServerList, McoServer par2McoServer)
- {
- this.field_96596_b = par1GuiSlotOnlineServerList;
- this.field_96597_a = par2McoServer;
- }
-
- public void run()
- {
- boolean var27 = false;
- label194:
- {
- label195:
- {
- label196:
- {
- label197:
- {
- label198:
- {
- try
- {
- var27 = true;
-
- if (!this.field_96597_a.field_96411_l)
- {
- this.field_96597_a.field_96411_l = true;
- this.field_96597_a.field_96412_m = -2L;
- this.field_96597_a.field_96414_k = "";
- GuiScreenOnlineServers.func_140016_k();
- long var1 = System.nanoTime();
- GuiScreenOnlineServers.func_140024_a(this.field_96596_b.field_96294_a, this.field_96597_a);
- long var3 = System.nanoTime();
- this.field_96597_a.field_96412_m = (var3 - var1) / 1000000L;
- var27 = false;
- }
- else if (this.field_96597_a.field_102022_m)
- {
- this.field_96597_a.field_102022_m = false;
- GuiScreenOnlineServers.func_140024_a(this.field_96596_b.field_96294_a, this.field_96597_a);
- var27 = false;
- }
- else
- {
- var27 = false;
- }
-
- break label194;
- }
- catch (UnknownHostException var35)
- {
- this.field_96597_a.field_96412_m = -1L;
- var27 = false;
- }
- catch (SocketTimeoutException var36)
- {
- this.field_96597_a.field_96412_m = -1L;
- var27 = false;
- break label198;
- }
- catch (ConnectException var37)
- {
- this.field_96597_a.field_96412_m = -1L;
- var27 = false;
- break label197;
- }
- catch (IOException var38)
- {
- this.field_96597_a.field_96412_m = -1L;
- var27 = false;
- break label196;
- }
- catch (Exception var39)
- {
- this.field_96597_a.field_96412_m = -1L;
- var27 = false;
- break label195;
- }
- finally
- {
- if (var27)
- {
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- }
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- return;
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- return;
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- return;
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- return;
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- return;
- }
- }
-
- synchronized (GuiScreenOnlineServers.func_140029_i())
- {
- GuiScreenOnlineServers.func_140021_r();
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/ThreadOnlineConnect.java b/src/main/java/net/minecraft/src/ThreadOnlineConnect.java
deleted file mode 100644
index 6d313bc..0000000
--- a/src/main/java/net/minecraft/src/ThreadOnlineConnect.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package net.minecraft.src;
-
-import java.net.ConnectException;
-import java.net.UnknownHostException;
-
-class ThreadOnlineConnect extends Thread
-{
- final String field_96595_a;
-
- final int field_96593_b;
-
- final TaskOnlineConnect field_96594_c;
-
- ThreadOnlineConnect(TaskOnlineConnect par1TaskOnlineConnect, String par2Str, int par3)
- {
- this.field_96594_c = par1TaskOnlineConnect;
- this.field_96595_a = par2Str;
- this.field_96593_b = par3;
- }
-
- public void run()
- {
- try
- {
- TaskOnlineConnect.func_96583_a(this.field_96594_c, new NetClientHandler(this.field_96594_c.getMinecraft(), this.field_96595_a, this.field_96593_b, TaskOnlineConnect.func_98172_a(this.field_96594_c)));
-
- if (this.field_96594_c.wasScreenClosed())
- {
- return;
- }
-
- this.field_96594_c.setMessage(I18n.getString("mco.connect.authorizing"));
- TaskOnlineConnect.func_96580_a(this.field_96594_c).addToSendQueue(new Packet2ClientProtocol(78, this.field_96594_c.getMinecraft().getSession().getUsername(), this.field_96595_a, this.field_96593_b));
- }
- catch (UnknownHostException var2)
- {
- if (this.field_96594_c.wasScreenClosed())
- {
- return;
- }
-
- this.field_96594_c.getMinecraft().displayGuiScreen(new GuiScreenDisconnectedOnline(TaskOnlineConnect.func_98172_a(this.field_96594_c), "connect.failed", "disconnect.genericReason", new Object[] {"Unknown host \'" + this.field_96595_a + "\'"}));
- }
- catch (ConnectException var3)
- {
- if (this.field_96594_c.wasScreenClosed())
- {
- return;
- }
-
- this.field_96594_c.getMinecraft().displayGuiScreen(new GuiScreenDisconnectedOnline(TaskOnlineConnect.func_98172_a(this.field_96594_c), "connect.failed", "disconnect.genericReason", new Object[] {var3.getMessage()}));
- }
- catch (Exception var4)
- {
- if (this.field_96594_c.wasScreenClosed())
- {
- return;
- }
-
- var4.printStackTrace();
- this.field_96594_c.getMinecraft().displayGuiScreen(new GuiScreenDisconnectedOnline(TaskOnlineConnect.func_98172_a(this.field_96594_c), "connect.failed", "disconnect.genericReason", new Object[] {var4.toString()}));
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/ThreadOnlineScreen.java b/src/main/java/net/minecraft/src/ThreadOnlineScreen.java
deleted file mode 100644
index 4562c1a..0000000
--- a/src/main/java/net/minecraft/src/ThreadOnlineScreen.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package net.minecraft.src;
-
-class ThreadOnlineScreen extends Thread
-{
- final GuiScreenOnlineServers field_98173_a;
-
- ThreadOnlineScreen(GuiScreenOnlineServers par1GuiScreenOnlineServers)
- {
- this.field_98173_a = par1GuiScreenOnlineServers;
- }
-
- public void run()
- {
- try
- {
- McoServer var1 = GuiScreenOnlineServers.func_140011_a(this.field_98173_a, GuiScreenOnlineServers.func_140041_a(this.field_98173_a));
-
- if (var1 != null)
- {
- McoClient var2 = new McoClient(GuiScreenOnlineServers.func_98075_b(this.field_98173_a).getSession());
- GuiScreenOnlineServers.func_140040_h().func_140058_a(var1);
- GuiScreenOnlineServers.func_140013_c(this.field_98173_a).remove(var1);
- var2.func_140055_c(var1.field_96408_a);
- GuiScreenOnlineServers.func_140040_h().func_140058_a(var1);
- GuiScreenOnlineServers.func_140013_c(this.field_98173_a).remove(var1);
- GuiScreenOnlineServers.func_140017_d(this.field_98173_a);
- }
- }
- catch (ExceptionMcoService var3)
- {
- GuiScreenOnlineServers.func_98076_f(this.field_98173_a).getLogAgent().logSevere(var3.toString());
- }
- }
-}
diff --git a/src/main/java/net/minecraft/src/TileEntitySkullRenderer.java b/src/main/java/net/minecraft/src/TileEntitySkullRenderer.java
index 5ac0220..552e7f5 100644
--- a/src/main/java/net/minecraft/src/TileEntitySkullRenderer.java
+++ b/src/main/java/net/minecraft/src/TileEntitySkullRenderer.java
@@ -10,6 +10,7 @@ public class TileEntitySkullRenderer extends TileEntitySpecialRenderer
private static final TextureLocation field_110640_d = new TextureLocation("textures/entity/skeleton/wither_skeleton.png");
private static final TextureLocation field_110641_e = new TextureLocation("textures/entity/zombie/zombie.png");
private static final TextureLocation field_110639_f = new TextureLocation("textures/entity/creeper/creeper.png");
+ private static final TextureLocation tex_character = new TextureLocation("/mob/char.png");
public static TileEntitySkullRenderer skullRenderer;
private ModelSkeletonHead field_82396_c = new ModelSkeletonHead(0, 0, 64, 32);
private ModelSkeletonHead field_82395_d = new ModelSkeletonHead(0, 0, 64, 64);
@@ -52,15 +53,7 @@ public class TileEntitySkullRenderer extends TileEntitySpecialRenderer
break;
case 3:
- TextureLocation var9 = AbstractClientPlayer.locationStevePng;
-
- if (par7Str != null && par7Str.length() > 0)
- {
- var9 = AbstractClientPlayer.getLocationSkull(par7Str);
- AbstractClientPlayer.getDownloadImageSkin(var9, par7Str);
- }
-
- this.bindTexture(var9);
+ tex_character.bindTexture();
break;
case 4: