El_Nicovw321 [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=38896 coroutines are bugy/unreliable <p>Coroutines are weird, they don't update properly sometimes, and I haven't found the issue as to why. I'm making a game that does heavy use of it, and it doesn't work properly. sometimes functions return nils when they shouldn't, or sometimes functions just ignore values they received. I don't think it's an issue in my part, I debugged everything and I simply didn't find an issue in my part. I tried to test if it was the CPU going above 100% that was the issue, so I did this test</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function _init() func=function() cls() if key&quot;a&quot; then for i=0,1000000 do end end print(stat&quot;1&quot;,0,0,7) end routine=coroutine.create(func) end function _update() -- func() coroutine.resume(routine) end function _draw() end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>yet it didn't detect my keypresses, or button presses if I changed it to btn(0/1/2/3/4/5). if I swapped the coroutine.resume(routine) to func() it worked.<br /> then I thought maybe I was doing something wrong, so I moved some stuff around and made it so it reads a variable, but no dice. it <em>should</em> work, right?</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>local key_a_pressed = false function _init() routine=coroutine.create(func) end function _update() if key&quot;a&quot; then key_a_pressed = true end coroutine.resume(routine) print(stat&quot;1&quot;, 0, 0, 7) end func = function() if key_a_pressed then for i = 0, 1000000 do end end end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>I don't get what's happening. it <em>has</em> to work... this is driving me crazy. I'd be glad to hear if it's a bug in my part, but for now I just don't know what's happening.</p> <p>Another thing that happens, is that doing CTRL+R sometimes makes coroutines do the wrong stuff (?) and it makes my code break. I also saw that when my code broke, the CPU percentages when went to 300%, yet I was doing minimal work in my cart. I put a flip() at the end of _init and it fixed the issue. that 300% has to be what's wrong... something in the background is making my cart do all sorts of weird things... at random. also, typing run in the console didn't seem to create that issue.</p> https://www.lexaloffle.com/bbs/?tid=146297 https://www.lexaloffle.com/bbs/?tid=146297 Thu, 26 Dec 2024 01:43:46 UTC Garbage written to the screen when typing non-english letters <p>Hi! Been starting my coding journey on Picotron and I found that while writing on my spanish keyboard, every time I accidentally pressed my &ntilde;, &acute; or even &iquest; key I get garbage sent to my screen... maybe that can get checked out? it writes two weird placeholder(?) characters on any text input I was currently writing, and it leaves the cursor between those two after writing it.</p> <p>On this image, I wrote &quot;qwertyuiop&acute;+ asdfghjkl&ntilde;{} and &iquest;?&quot;</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/Sin t&iacute;tulok.png" alt="" /> https://www.lexaloffle.com/bbs/?tid=146249 https://www.lexaloffle.com/bbs/?tid=146249 Mon, 23 Dec 2024 03:47:39 UTC Porting Linecraft worlds to Minecraft <p>Hello there! I made this post as a tutorial on how to port your Linecraft world to Minecraft. Porting your world to Minecraft isn't really useful, but you can see your creations better than the 9x9x9 cube you are limited to see at once in the PICO-8 version.</p> <h2>1. Porting your world</h2> <p>First things first, let's convert your world! So, select one of your worlds, click on Options and click on Port to Minecraft. This will make a giant file named <strong>commands.mcfunction.p8l</strong> on your current directory. (That also means, this feature on BBS doesn't work, as you cannot access that file later on... sorry!) This file you have to put on a datapack for it to work.</p> <p>But, let's not get too far ahead of ourselves. Once clicking the Port to Minecraft button, it will take you to a pre-port screen where you can enable or disable features of the port. These are the different available features:</p> <ul> <li>Place borders: Places borders around the limits of the ported world to prevent any water from spilling out.</li> <li>Use Slash: Creates a slash on every single command. This will make the game unable to read your datapack but you can still use the text file for something else, like executing it using a macro instead.</li> <li>Use Namespace: Uses namespaces on entities, items and blocks just in case a mod or something similar has the same ID as a default Minecraft feature.</li> <li>Place Entities: Places items and entities around the world!</li> <li>Place player: Teleports you to the same place where the Linecraft world saved its player, and also sets the inventory, spawnpoint, etc.</li> <li>Daylight: Sets the daylight to as the one saved on the Linecraft world.</li> <li>Relative XYZ: Places <strong>all</strong> the blocks using the player's coordinates as coordinate X0, Y0, Z0, so if the player is at X1524, Y10, Z0, then the 64x64x64 world will be placed between the coordinates X1524-X1587, Y10-Y73, Z0-Z63.</li> <li>Do Gamerule: Executes a handful of gamerule commands to try and emulate Linecraft's game logic (for example; lack of grass growth &amp; fire).</li> </ul> <p>Select which options you want and the world will be converted!</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/mimecraft_1.gif" alt="" /> <h2>2. Preparing your Minecraft world</h2> <p>Now, we create a new Minecraft world or select an older one, and on the Select World screen, we click on Edit and Open World Folder, to access the files.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/1.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/2.png" alt="" /> <p>Then, we go to the datapacks folder and create a folder that will be the name of our datapack. For this demonstration, I'll name it &quot;commandtest&quot;. Remember to not use any capitalized letters or spaces.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/3.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/4.png" alt="" /> <p>Now, inside the folder we just created, we need to create two things.</p> <ul> <li>A folder, named &quot;data&quot; that contains another folder that you can name whatever you want (remember the limitations of before) and that folder contains yet another folder named &quot;functions&quot;. I chose the name &quot;linecraft&quot; for the optionally-named folder.</li> <li>A file, named &quot;pack.mcmeta&quot;. Inside it, (opening it with a text editor of your choosing) you have to write the metadata of the datapack. You write two values &quot;pack_format&quot; set as 4 and &quot;description&quot; which you can set it as whatever you want.</li> </ul> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/5.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/6.png" alt="" /> <h1>3. Copying Files &amp; Executing Commands</h1> <p>Inside the &quot;functions&quot; folder, you have to copy the &quot;commands.mcfunction.p8l&quot; file mentioned before. So, on your PICO-8 app, on the commandline, write &quot;FOLDER&quot; and press enter. It will create a window showing the folder PICO-8 carts are on. On this folder, you will find the .p8l file. Copy it to the functions folder and remove the &quot;.p8l&quot; from its name, so it can be readen properly. </p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/8.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/9.png" alt="" /> <p>Then, the last steps are on Minecraft. Type the command /reload just in case, to parse all the commands.</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/10.png" alt="" /> <p>And finally, if everything went right, typing /function and pressing space will show you a single result, that's your ported world! Type tab to select it and press enter to execute the command. It may take a while to run but once it's finished, you'll see your world on Minecraft!</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/11.png" alt="" /> <p>So good luck porting! (Also, yes I'm currently using windows 8.1, it's an old computer, okay?)</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/12.png" alt="" /> <p>If you have any problems or questions, leave it on the comments and I'll help you out!</p> https://www.lexaloffle.com/bbs/?tid=143800 https://www.lexaloffle.com/bbs/?tid=143800 Thu, 22 Aug 2024 03:31:21 UTC PICO-8: Gangster Edition <p>Fun little thing I made in about 3-4 hours of my free time. Made using <a href="https://www.lexaloffle.com/bbs/?pid=defy">defy</a> audio string library in 8-bit mode.</p> <p><em>Same old CJ! Busta! Straight busta!</em></p> <p> <table><tr><td> <a href="/bbs/?pid=152040#p"> <img src="/bbs/thumbs/pico8_gangster-1.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=152040#p"> gangster</a><br><br> by <a href="/bbs/?uid=38896"> El_Nicovw321</a> <br><br><br> <a href="/bbs/?pid=152040#p"> [Click to Play]</a> </td></tr></table> </p> https://www.lexaloffle.com/bbs/?tid=143427 https://www.lexaloffle.com/bbs/?tid=143427 Fri, 02 Aug 2024 03:06:59 UTC Linecraft - A Minecraft demake <p>This is a game I've been coding for a bit, <strong>Linecraft</strong>! This is my first and biggest demake (though I've been working in other non-published projects before) so I'm very excited that other people will try it!<br /> Also, I'll keep it updated, so if you find any bug, leave it down below on the comments! I'll check them out and fix them in the following versions.</p> <p><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/linecraft 1 0_0.gif" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/27_polygame_1.gif" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/4_devkitgame_0.gif" alt="" /></p> <p>The sounds and music were made by <a href="https://www.lexaloffle.com/bbs/?uid=48557#m">Munchkin</a> (thank you :D) and the code and graphics were made by me.</p> <p>Thanks to <a href="https://www.lexaloffle.com/bbs/?uid=58907">kallanreed</a> for his <a href="https://www.lexaloffle.com/bbs/?pid=tline_rotation_tutorial-1">tline rotation function</a> I used for the splash text in the game.</p> <p>Thanks to <a href="https://www.lexaloffle.com/bbs/?uid=12874">Felice</a> for their implementation of the <a href="https://www.lexaloffle.com/bbs/?pid=52128">OpenSimplex noise generator</a> on PICO-8 that I used for the world generation in the game. The code may look a little different in my cart, but that's due to changes in development (back when I thought this game could be made in a single cart!).</p> <p>Thanks to <a href="https://www.lexaloffle.com/bbs/?uid=32759">shiftalow</a> for their <a href="https://www.lexaloffle.com/bbs/?pid=75530#p">140-token trifill function</a>, fast and very light!</p> <p>So have fun playing it! I hope you like it :)</p> <p>(mouse support is funky when playing on website, so you might need to click on the game screen every time you load a world or save it)</p> <p><strong>WARNING IF PLAYING ON WEBSITE: Your worlds will get deleted once you reload the page/close it.</strong> Export your worlds by selecting your world, going to the options menu and clicking &quot;Export World&quot;. It will send the world data to your clipboard. Mobile players cannot press CTRL-C to allow the copy to go through, so sadly they cannot preserve any worlds they save.</p> <p> <table><tr><td> <a href="/bbs/?pid=144361#p"> <img src="/bbs/thumbs/pico8_linecraft-25.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=144361#p"> Linecraft 2.3</a><br><br> by <a href="/bbs/?uid=38896"> El_Nicovw321</a> <br><br><br> <a href="/bbs/?pid=144361#p"> [Click to Play]</a> </td></tr></table> </p> <h3>How to play with buttons</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <h4>Player movement:</h4> <p><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_0.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_1.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_2.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_3.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_14.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_15.png" alt="" /></p> <h4>Camera turning:</h4> <p><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_4.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_5.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_6.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_7.png" alt="" /></p> <h4>Inventory tanagement:</h4> <p><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_8.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_13.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_11.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_12.png" alt="" /></p> <h4>Block manipulation:</h4> <p><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_9.png" alt="" /> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/38896/untitled_26_10.png" alt="" /></p> <p><em>There are two types/colors of buttons?!</em> Yes, to fit all the actions of Linecraft in a limited button set, there are two types of button presses detected in the game.</p> <ul> <li> <p>The green buttons are simple, the button just needs to be pressed in order for that action to be performed.</p> </li> <li>The yellow buttons are the first button that you need to press do such thing. Eg: If you want to move the player to the left, you first press the O button and then you press the left button. If you first press the left button, the left button will be detected as the first one and the action will not take place!</li> </ul> <p></div></div></div></p> <h3>Features</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"></p> <h4>Major:</h4> <ul> <li>Button and keyboard support</li> <li>Creative &amp; Survival Mode</li> <li>64x64x64 map</li> <li>32 maximum Chests per world</li> <li>32 maximum Furnaces per world</li> <li>Default &amp; Superflat world option</li> <li>World Exporting &amp; Importing</li> <li>Polygon and Wireframe renderer</li> <li><a href="https://www.lexaloffle.com/bbs/?tid=143800">Porting worlds to Minecraft</a></li> </ul> <h4>Mobs:</h4> <ul> <li>Chicken</li> <li>Sheep</li> <li>Cow</li> <li>Pig</li> <li>Skeleton</li> <li>Zombie</li> <li>Creeper</li> </ul> <h4>Blocks:</h4> <ul> <li>Stone</li> <li>Grass</li> <li>Dirt</li> <li>Cobblestone</li> <li>Log (Oak)</li> <li>Planks</li> <li>Crafting Table</li> <li>Sand</li> <li>Glass</li> <li>Sandstone</li> <li>Bedrock</li> <li>Gravel</li> <li>Stone Bricks</li> <li>Obsidian</li> <li>Coal Ore</li> <li>Coal Block</li> <li>Lapis Ore</li> <li>Lapis Block</li> <li>Iron Ore</li> <li>Iron Block</li> <li>Gold Ore</li> <li>Gold Block</li> <li>Diamond Ore</li> <li>Diamond Block</li> <li>Emerald Ore</li> <li>Emerald Block</li> <li>Chest</li> <li>Furnace</li> <li>Black Wool (not true black, hehe pico-8 limitations)</li> <li>Blue Wool</li> <li>Purple Wool</li> <li>Green Wool</li> <li>Brown Wool</li> <li>Gray Wool</li> <li>Light Gray Wool</li> <li>White Wool</li> <li>Red Wool</li> <li>Orange Wool</li> <li>Yellow Wool</li> <li>Lime Wool</li> <li>Light Blue Wool</li> <li>Gray Blue Wool</li> <li>Pink Wool</li> <li>Peach Wool</li> <li>Bed</li> <li>Sapling</li> </ul> <h4>Items:</h4> <ul> <li>Coal</li> <li>Lapis Lazuli</li> <li>Iron Ingot</li> <li>Gold Ingot</li> <li>Diamond</li> <li>Emerald</li> <li>Wooden Sword</li> <li>Stone Sword</li> <li>Iron Sword</li> <li>Diamond Sword</li> <li>Wooden Pickaxe</li> <li>Stone Pickaxe</li> <li>Iron Pickaxe</li> <li>Diamond Pickaxe</li> <li>Wooden Axe</li> <li>Stone Axe</li> <li>Iron Axe</li> <li>Diamond Axe</li> <li>Wooden Shovel</li> <li>Stone Shovel</li> <li>Iron Shovel</li> <li>Diamond Shovel</li> <li>Bucket</li> <li>Lava Bucket</li> <li>Water Bucket</li> <li>Porkchop</li> <li>Cooked Porkchop</li> <li>Raw Chicken</li> <li>Cooked Chicken</li> <li>Beef</li> <li>Steak</li> <li>Stick</li> <li>Bone</li> <li>Bone Meal</li> </ul> <p></div></div></div></p> <h3>Version Log</h3> <p><div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> <strong>V2.3</strong><br /> Added: Light system.<br /> Added: Torch.<br /> Added: Isometric render feature for the wireframe render option.<br /> Added: (Experimental feature) Opaque blocks on the wireframe renderer, to try to mitigate overdraw.<br /> Changed: Improved button system, now detecting the first button that the player pressed. Thanks to <a href="https://www.lexaloffle.com/bbs/?uid=32759"> @shiftalow</a> :)<br /> Changed: Crowching is now toggleable on the button version of the game.<br /> Changed: Skybox. Made noon and midnight last longer.<br /> Changed: Renamed Cobblestone. From &quot;Cobble&quot; to &quot;Cobblestone&quot;.<br /> Optimized: Polygon renderer with a better sorter.<br /> Fixed: Arrows shot by skeletons crashing the game if the player saves and quits while one is still active.<br /> Fixed: Player not jumping after surfacing the water while touching a wall on the button version of the game.<br /> Fixed: Incorrect FPS calculation on the debug menu.<br /> Fixed: World porting feature treating wool as blocks with rotations (eg, it tries to create blocks like &quot;red_wool[facing=east]&quot;)<br /> Fixed: Last furnace in memory not getting properly detected as an actual furnace.</p> <p><strong>V2.2</strong><br /> Added: Difficulty setting (Peaceful [No Enemies] and Normal)<br /> Optimized: 3D renderer. Shaved off 2-8% off the CPU usage.<br /> Optimized: Block updates.<br /> Fixed: Wrong text on renderer selector (Says polygon is devkit only, no longer true).<br /> Fixed: Crash on wireframe button version of the game when trying to destroy a Chest or a Furnace.<br /> Fixed: Infinite loop bugs regarding superflat worlds.<br /> Fixed: Friendly mobs (cows, sheep, chickens, pigs) getting damage really slowly while on lava.<br /> Fixed: Sheep not having a dying sound effect.<br /> Fixed: Entities in the game jumping on 2-block tall walls.<br /> Fixed: Friendly mobs getting stuck on trees or 1-block gaps.<br /> Fixed: Trying to run while crowching would spike the FOV back for a single frame.<br /> Fixed: Autojump feature making the player jump even when there is a ceiling above them.<br /> Fixed: Fall damage / aggressive sinking when entering a world.</p> <p><strong>V2.1</strong><br /> Added: New spritesheet for items in the polygon version of the game.<br /> Added: Pressing H can remove the hud on Devkit to take screenshots.<br /> Added: Button support for the polygon renderer.<br /> Changed: Made polygons the default render option.<br /> Changed: Made new game labels with the polygon renderer.<br /> Changed: Iron ore is now easier to spot on the polygon renderer.<br /> Optimized: Decreased use of cstore on startup.<br /> Optimized: Block updates from far away use less CPU.<br /> Optimized: Made Lava opaque, covering the blocks below it to give less strain on the CPU.<br /> Fixed: Lava and Water now don't leave gaps while flowing.<br /> Fixed: Beds no longer cover the blocks around it.<br /> Fixed: Beds, Water and Lava now don't have glitchy rendering on its top faces.<br /> Fixed: Stone Bricks and Sandstone crashing the game on the polygon renderer.<br /> Fixed: Coal taking a lot longer than normal to mine on a wooden pickaxe.<br /> Fixed: Creative Mode reverting back to Survival when exiting and re-entering the world.<br /> Fixed: Block updates rendering blocks outside the render distance.<br /> Fixed: Jumps working only half the time when the button version of the game skipped frames.<br /> Fixed: Credits now last the correct amount of time.<br /> Fixed: Corrected splash screen text: &quot;Uses LUA!&quot; -&gt; &quot;Uses Lua!&quot;</p> <p><strong>V2.0</strong><br /> Added: Polygon renderer. (Devkit only!)<br /> Added: Red skybox when submerged in lava.<br /> Removed: Variable FPS feature.</p> <p><strong>V1.7</strong><br /> Added: Player hand.<br /> Optimized: World saving algorythm to reduce storage space.<br /> Optimized: Improved the speed of saving and loading worlds when transferring the map between carts.<br /> Optimized: Variable FPS feature now uses less CPU time.<br /> Changed: Increased the speed of the scrollbar in the world list.<br /> Changed: Lava buckets now leave an empty bucket behind instead of air when consumed in a furnace.<br /> Fixed: Glitchy flight toggling in creative mode.<br /> Fixed: Water and Lava Buckets wrongfully draining in creative mode when placed.<br /> Fixed: World corruption occuring during the first game session.<br /> Added: &quot;Fix&quot; button for worlds corrupted by the first game bug. Note: this will not repair worlds by other causes.</p> <p><strong>V1.6</strong><br /> Added: World porting to Minecraft. (see <a href="https://www.lexaloffle.com/bbs/?tid=143800">this</a>)<br /> Added: Transparency to glass.<br /> Added: Smarter item redraw system (decreased cart I/O when moving items around the inventory).<br /> Added: Smoke on lit furnaces.<br /> Added: AutoJump (automatically enabled for button control).<br /> Changed: World generation algorythm (Made it more likely for coal and lapis ores to spawn, leaves can no longer replace blocks that block it).<br /> Changed: Created a prettier in-game saving screen.<br /> Fixed: Credits having broken text.<br /> Fixed: Saplings not dropping an item when broken.<br /> Fixed: World corruption on superflat worlds after saving the world and re-entering.<br /> Fixed: Giant lag spike when it turns day (Many mobs die at once, so made poofs less CPU-heavy).<br /> Fixed: Many, many bugs with the liquid system. (sourceless liquids not draining, a liquid falling on another not updating correctly, etc)</p> <p><strong>V1.5</strong><br /> Added: Creative mode.<br /> Added: Furnaces, along with Glass, Cooked Porkchop, Beef, Cooked Chicken.<br /> Changed: Cheats menu; deleted old options in favor for an item list and to switch to Creative mode.<br /> Changed: Stone Bricks are now crafted with Stone instead of Cobblestone.<br /> Fixed: Wooden and Stone Pickaxes being able to drop blocks such as Diamond Ore, Gold Ore, etc.<br /> Fixed: Blocks such as Iron Block, Gold Block, Emerald Block being able to be mined with a shovel instead of a pickaxe.<br /> Fixed: Beds and chests not getting internally deleted when a creeper explodes on them. This may still be an issue in older worlds, of which they will have less than 32 chests available for storage and/or an invisible bed.</p> <p><strong>V1.4</strong><br /> Added: Even more 3D engine optimizations, plus some small collision optimizations that in total halves total CPU usage.<br /> Changed: Increased default render distance to 9x9x9 blocks, thanks to the better 3D engine.<br /> Fixed: Random number generation being deterministic on a world load.<br /> Fixed: Loads of issues with the block highlighting code. (placing on air, red highlights not following player's crosshair, rendering overflow issues, etc)<br /> Fixed: Credits cannot be stopped with a mouse click.</p> <p><strong>V1.3</strong><br /> Fixed: Minor typing mistakes on the launcher cart.<br /> Fixed: Water &quot;replicating&quot; on different requirements as the actual game (all this means, it could replicate with no floor below).<br /> Added: Debug text (coordinates, seed, CPU usage).<br /> Added: More optimizations on the 3D engine, removing 2-9% off the CPU usage.</p> <p><strong>V1.2</strong><br /> Fixed: Sandstone dropping the wrong item when broken.<br /> Added: One more optimization on the 3D engine, removing 8-20% off the CPU usage.</p> <p><strong>V1.1</strong><br /> Fixed: Trees spawning no matter if the setting on the superflat world was set as 'No'.<br /> Fixed: Mouse sensitivity incorrectly set on first load.<br /> Fixed: Creating a new world and exiting without saving creates a &quot;phantom world&quot; in the launcher cart.<br /> Fixed: Sound bug occurs when grabbing an item with a full inventory.<br /> Fixed: Audio becomes garbled when saving while a song is playing.<br /> Changed: Mobs can now attack you (or shoot arrows) while they're on the hurt cooldown.<br /> Added: Cheats option in the Create World menu (+ three rudimentary cheat options in the inventory)<br /> Added: Colored faces on top and bottom of ores so it can be spotted better.</p> <p><strong>V1.0</strong><br /> First game version<br /> </div></div></div></p> https://www.lexaloffle.com/bbs/?tid=141064 https://www.lexaloffle.com/bbs/?tid=141064 Mon, 25 Mar 2024 02:55:40 UTC