#minecraft java error
Explore tagged Tumblr posts
Text
Rambling About C# Being Alright
I think C# is an alright language. This is one of the highest distinctions I can give to a language.
Warning: This post is verbose and rambly and probably only good at telling you why someone might like C# and not much else.
~~~
There's something I hate about every other language. Worst, there's things I hate about other languages that I know will never get better. Even worse, some of those things ALSO feel like unforced errors.
With C# there's a few things I dislike or that are missing. C#'s feature set does not obviously excel at anything, but it avoids making any huge misstep in things I care about. Nothing in C# makes me feel like the language designer has personally harmed me.
C# is a very tolerable language.
C# is multi-paradigm.
C# is the Full Middle Malcomist language.
C# will try to not hurt you.
A good way to describe C# is "what if Java sucked less". This, of course, already sounds unappealing to many, but that's alright. I'm not trying to gas it up too much here.
C# has sins, but let's try to put them into some context here and perhaps the reason why I'm posting will become more obvious:
C# didn't try to avoid generics and then implement them in a way that is very limiting (cough Go).
C# doesn't hamstring your ability to have statement lambdas because the language designer dislikes them and also because the language designer decided to have semantic whitespace making statement lambdas harder to deal with (cough Python).
C# doesn't require you to explicitly wrap value types into reference types so you can put value types into collections (cough Java).
C# doesn't ruin your ability to interact with memory efficiently because it forbids you from creating custom value types, ergo everything goes to the heap (cough cough Java, Minecraft).
C# doesn't have insane implicit type coercions that have become the subject of language design comedy (cough JavaScript).
C# doesn't keep privacy accessors as a suggestion and has the developers pinkie swear about it instead of actually enforcing it (cough cough Python).
Plainly put, a lot of the time I find C# to be alright by process of elimination. I'm not trying to shit on your favorite language. Everyone has different things they find tolerable. I have the Buddha nature so I wish for all things to find their tolerable language.
I do also think that C# is notable for being a mainstream language (aka not Haskell) that has a smaller amount of egregious mistakes, quirks and Faustian bargains.
The Typerrrrr
C# is statically typed, but the typing is largely effortless to navigate unlike something like Rust, and the GC gives a greater degree of safety than something like C++.
Of course, the typing being easy to work it also makes it less safe than Rust. But this is an appropriate trade-off for certain kinds of applications, especially considering that C# is memory safe by virtue of running on a VM. Don't come at me, I'm a Rust respecter!!
You know how some people talk about Python being amazing for prototyping? That's how I feel about C#. No matter how much time I would dedicate to Python, C# would still be a more productive language for me. The type system would genuinely make me faster for the vast majority of cases. Of course Python has gradual typing now, so any comparison gets more difficult when you consider that. But what I'm trying to say is that I never understood the idea that doing away entirely with static typing is good for fast iteration.
Also yes, C# can be used as a repl. Leave me alone with your repls. Also, while the debugger is active you can also evaluate arbitrary code within the current scope.
I think that going full dynamic typing is a mistake in almost every situation. The fact that C# doesn't do that already puts it above other languages for me. This stance on typing is controversial, but it's my opinion that is really shouldn't be. And the wind has constantly been blowing towards adding gradual typing to dynamic languages.
The modest typing capabilities C# coupled with OOP and inheritance lets you create pretty awful OOP slop. But that's whatever. At work we use inheritance in very few places where it results in neat code reuse, and then it's just mostly interfaces getting implemented.
C#'s typing and generic system is powerful enough to offer you a plethora of super-ergonomic collection transformation methods via the LINQ library. There's a lot of functional-style programming you can do with that. You know, map, filter, reduce, that stuff?
Even if you make a completely new collection type, if it implements IEnumerable<T> it will benefit from LINQ automatically. Every language these days has something like this, but it's so ridiculously easy to use in C#. Coupled with how C# lets you (1) easily define immutable data types, (2) explicitly control access to struct or class members, (3) do pattern matching, you can end up with code that flows really well.
A Friendly Kitchen Sink
Some people have described C#'s feature set as bloated. It is getting some syntactic diversity which makes it a bit harder to read someone else's code. But it doesn't make C# harder to learn, since it takes roughly the same amount of effort to get to a point where you can be effective in it.
Most of the more specific features can be effortlessly ignored. The ones that can't be effortlessly ignored tend to bring something genuinely useful to the language -- such as tuples and destructuring. Tuples have their own syntax, the syntax is pretty intuitive, but the first time you run into it, you will have to do a bit of learning.
C# has an immense amount of small features meant to make the language more ergonomic. They're too numerous to mention and they just keep getting added.
I'd like to draw attention to some features not because they're the most important but rather because it feels like they communicate the "personality" of C#. Not sure what level of detail was appropriate, so feel free to skim.
Stricter Null Handling. If you think not having to explicitly deal with null is the billion dollar mistake, then C# tries to fix a bit of the problem by allowing you to enable a strict context where you have to explicitly tell it that something can be null, otherwise it will assume that the possibility of a reference type being null is an error. It's a bit more complicated than that, but it definitely helps with safety around nullability.
Default Interface Implementation. A problem in C# which drives usage of inheritance is that with just interfaces there is no way to reuse code outside of passing function pointers. A lot of people don't get this and think that inheritance is just used because other people are stupid or something. If you have a couple of methods that would be implemented exactly the same for classes 1 through 99, but somewhat differently for classes 100 through 110, then without inheritance you're fucked. A much better way would be Rust's trait system, but for that to work you need really powerful generics, so it's too different of a path for C# to trod it. Instead what C# did was make it so that you can write an implementation for methods declared in an interface, as long as that implementation only uses members defined in the interface (this makes sense, why would it have access to anything else?). So now you can have a default implementation for the 1 through 99 case and save some of your sanity. Of course, it's not a panacea, if the implementation of the method requires access to the internal state of the 1 through 99 case, default interface implementation won't save you. But it can still make it easier via some techniques I won't get into. The important part is that default interface implementation allows code reuse and reduces reasons to use inheritance.
Performance Optimization. C# has a plethora of features regarding that. Most of which will never be encountered by the average programmer. Examples: (1) stackalloc - forcibly allocate reference types to the stack if you know they won't outlive the current scope. (2) Specialized APIs for avoiding memory allocations in happy paths. (3) Lazy initialization APIs. (4) APIs for dealing with memory more directly that allow high performance when interoping with C/C++ while still keeping a degree of safety.
Fine Control Over Async Runtime. C# lets you write your own... async builder and scheduler? It's a bit esoteric and hard to describe. But basically all the functionality of async/await that does magic under the hood? You can override that magic to do some very specific things that you'll rarely need. Unity3D takes advantage of this in order to allow async/await to work on WASM even though it is a single-threaded environment. It implements a cooperative scheduler so the program doesn't immediately freeze the moment you do await in a single-threaded environment. Most people don't know this capability exists and it doesn't affect them.
Tremendous Amount Of Synchronization Primitives and API. This ones does actually make multithreaded code harder to deal with, but basically C# erred a lot in favor of having many different ways to do multithreading because they wanted to suit different usecases. Most people just deal with idiomatic async/await code, but a very small minority of C# coders deal with locks, atomics, semaphores, mutex, monitors, interlocked, spin waiting etc. They knew they couldn't make this shit safe, so they tried to at least let you have ready-made options for your specific use case, even if it causes some balkanization.
Shortly Begging For Tagged Unions
What I miss from C# is more powerful generic bounds/constraints and tagged unions (or sum types or discriminated unions or type unions or any of the other 5 names this concept has).
The generic constraints you can use in C# are anemic and combined with the lack of tagged unions this is rather painful at times.
I remember seeing Microsoft devs saying they don't see enough of a usecase for tagged unions. I've at times wanted to strangle certain people. These two facts are related to one another.
My stance is that if you think your language doesn't need or benefit from tagged unions, either your language is very weird, or, more likely you're out of your goddamn mind. You are making me do really stupid things every time I need to represent a structure that can EITHER have a value of type A or a value of type B.
But I think C# will eventually get tagged unions. There's a proposal for it here. I would be overjoyed if it got implemented. It seems like it's been getting traction.
Also there was an entire section on unchecked exceptions that I removed because it wasn't interesting enough. Yes, C# could probably have checked exceptions and it didn't and it's a mistake. But ultimately it doesn't seem to have caused any make-or-break in a comparison with Java, which has them. They'd all be better off with returning an Error<T>. Short story is that the consequences of unchecked exceptions have been highly tolerable in practice.
Ecosystem State & FOSSness
C# is better than ever and the tooling ecosystem is better than ever. This is true of almost every language, but I think C# receives a rather high amount of improvements per version. Additionally the FOSS story is at its peak.
Roslyn, the bedrock of the toolchain, the compiler and analysis provider, is under MIT license. The fact that it does analysis as well is important, because this means you can use the wealth of Roslyn analyzers to do linting.
If your FOSS tooling lets you compile but you don't get any checking as you type, then your development experience is wildly substandard.
A lot of stupid crap with cross-platform compilation that used to be confusing or difficult is now rather easy to deal with. It's basically as easy as (1) use NET Core, (2) tell dotnet to build for Linux. These steps take no extra effort and the first step is the default way to write C# these days.
Dotnet is part of the SDK and contains functionality to create NET Core projects and to use other tools to build said projects. Dotnet is published under MIT, because the whole SDK and runtime are published under MIT.
Yes, the debugger situation is still bad -- there's no FOSS option for it, but this is more because nobody cares enough to go and solve it. Jetbrains proved anyone can do it if they have enough development time, since they wrote a debugger from scratch for their proprietary C# IDE Rider.
Where C# falls flat on its face is the "userspace" ecosystem. Plainly put, because C# is a Microsoft product, people with FOSS inclinations have steered clear of it to such a degree that the packages you have available are not even 10% of what packages a Python user has available, for example. People with FOSS inclinations are generally the people who write packages for your language!!
I guess if you really really hate leftpad, you might think this is a small bonus though.
Where-in I talk about Cross-Platform
The biggest thing the ecosystem has been lacking for me is a package, preferably FOSS, for developing cross-platform applications. Even if it's just cross-platform desktop applications.
Like yes, you can build C# to many platforms, no sweat. The same way you can build Rust to many platforms, some sweat. But if you can't show a good GUI on Linux, then it's not practically-speaking cross-platform for that purpose.
Microsoft has repeatedly done GUI stuff that, predictably, only works on Windows. And yes, Linux desktop is like 4%, but that 4% contains >50% of the people who create packages for your language's ecosystem, almost the exact point I made earlier. If a developer runs Linux and they can't have their app run on Linux, they are not going to touch your language with a ten foot pole for that purpose. I think this largely explains why C#'s ecosystem feels stunted.
The thing is, I'm not actually sure how bad or good the situation is, since most people just don't even try using C# for this usecase. There's a general... ecosystem malaise where few care to use the language for this, chiefly because of the tone that Microsoft set a decade ago. It's sad.
HOWEVER.
Avalonia, A New Hope?
Today we have Avalonia. Avalonia is an open-source framework that lets you build cross-platform applications in C#. It's MIT licensed. It will work on Windows, macOS, Linux, iOS, Android and also somehow in the browser. It seems to this by actually drawing pixels via SkiaSharp (or optionally Direct2D on Windows).
They make money by offering migration services from WPF app to Avalonia. Plus general support.
I can't say how good Avalonia is yet. I've researched a bit and it's not obviously bad, which is distinct from being good. But if it's actually good, this would be a holy grail for the ecosystem:
You could use a statically typed language that is productive for this type of software development to create cross-platform applications that have higher performance than the Electron slop. That's valuable!
This possibility warrants a much higher level of enthusiasm than I've seen, especially within the ecosystem itself. This is an ecosystem that was, for a while, entirely landlocked, only able to make Windows desktop applications.
I cannot overstate how important it is for a language's ecosystem to have a package like this and have it be good. Rust is still missing a good option. Gnome is unpleasant to use and buggy. Falling back to using Electron while writing Rust just seems like a bad joke. A lot of the Rust crates that are neither Electron nor Gnome tend to be really really undercooked.
And now I've actually talked myself into checking out Avalonia... I mean after writing all of that I feel like a charlatan for not having investigated it already.
72 notes
·
View notes
Text
Node based coding... in Java. It has taken a few weeks, but I have the system done.
As well, amazingly commented code base that explains what about everything does.
And everything being ran as functions defined in a registry! Hi NeoForge
I think the system for reading the graph of nodes is unique also! Since, I have had... a bad time with the JavaStackLimit, I decided to have the core of my system be around avoiding it as much as possible. So instead of recursively asking what node connects to what node, 2 stacks are made, 1 holds what will be running after it is done finding, the other holds a search stack. Meaning it can get any part of the graph, and it should just find the right order of things.
And! Since the read method is different from the run method, I can hypothetically just read and serialize the given node stack, making it persist between restarts.
The running system is a little more complex than just a search.
First it starts a `for` loop of the stack of nodes, then it starts making the inputs for the node. It checks if the node has any inputs, if so, check the output type of the previous node, if it is equal to this node's input (or if this node's input takes in ANY) then dont error. After not erroring, add to the input array; or, if the input was not connected to anything, give it null. Repeat the last steps until there are no inputs left for this node.
Next, it runs the node. It does this by getting all the registered nodes (in a HashMap for some extra speed), then finding the associated function with that Key. Then it tries to run the function with the given inputs. If the function does not crash, it checks if the function outputted anything, if so put that into the Environment's HashMap of all node outputs. Finally, repeat the last 2 paragraphs until there are no more nodes. Then clear the output map, so there is no "bleed over"
So TLDR: get all nodes into a stack (avoiding duplicates), then run a For Each over that stack, check if the type of inputs/outputs match, if so run the node and put its outputs onto a HashMap of outputs so it only needs to be run once.
And ALL OF THIS just to be put into a silly minecraft mod. But hey, at least I am having fun!
#long post#my art#modded minecraft#coding#Java#minecraft java#minecraft modding#minecraft modding at its finest yall#there is also a lot more in this mod I have not shown in Tumblr yet#If any of yall have any questions#my DMs/Askbox is open!
10 notes
·
View notes
Text
Infdev to Modern, Post 1
So, this is something I’ve been meaning to do in some form since December or so of last year, and now it is finally happening! The concept is fairly straightforward in nature. I am going to play Minecraft (specifically Java Edition) from the earliest version that allows you to carry a world forward to the present day, and then do that! I intend to play from Java Edition Infdev 20100327 to whatever the current version of Minecraft is when I get there. (This concept is heavily, heavily derivative of bugmancx’s series Minecraft: The Journey. As such I highly recommend checking it out! It’s a nice watch! https://www.youtube.com/watch?v=ZmAF1bThqRw&list=PL0qwyBj5XSpZG35qFvy2Z9VbezZ1t4cGt )
So, Java Edition Infdev 20100327. After several versions of development to figure out infinite world generation, the game has finally metastasized back into a playable form. As of now, and it will be until quite a long time from now before this changes, the only game mode is survival. Despite being over a decade old, a large amount of the basic gameplay is already established. You chop down trees and mine minerals to create tools to allow you to mine and chop down more trees.
The big additions and changes in this version of the game are as follows.
The level format has been changed from the indev level format to the alpha level format (This is what allows us to use this version as our starting point!).
The title screen and menu have been changed.
Testing and debug items from previous builds of infdev have been removed from the player’s starting inventory.
With the preamble sorted, let’s get to playing Minecraft!
Upon spawning in, I am greeted by two things. A quaint little valley, and some pretty nasty lighting errors!
The other end of the valley, featuring more lighting errors.
Well, those lighting errors will solve themselves at some point, so I decided not to worry about it, and get to working on more immediate concerns.
I get to work chopping down a tree, and then I remember to do something that I always need to get taken care of while playing older versions of the game
In the older versions of Minecraft, the inventory key is mapped to I. This makes some sense, but in the modern game, this is mapped to E, which is much more ergonomic.
As something worth noting, you’ll notice that in the above photo my skin hasn’t shown up, and the default is visible. I’m unsure of the exact cause of this particular issue, but it will be fixed by the end of infdev. While we’re here though…
A silly pic of the old walk cycle where the player character would flail their arms around wildly. Anyway, back to the game.
I scaled the sides of the valley, and chopped down a few more trees, eager to ensure I have enough wood to obtain the torches and tools I’ll need for my upcoming projects. I crafted the bare minimum of wooden tools, and then got to work on mining the coal out of the mountainside.
Eventually; however, night began to fall, so I dug myself into an alcove and started working on a shelter for myself.
You may notice I blocked myself off with a single block of dirt here. This isn’t just because dirt is more practical than a door at this state in the playthrough - doors hadn’t been added to the game yet! Once I was sure I’d securely sealed myself away, it got straight to my favorite activity: digging long stone hallways! Other than this, it was an uneventful night.
I haven’t noticed any monsters spawning, despite the game being on normal, so I think I'm going to update to the next version and see if that fixes that particular issue.
See y’all later!
-Ciel
11 notes
·
View notes
Note
kind stranger on the internet, if u have the time and it is no inconvenience, a tutorial on how to make the yog world work would be amazing and immensely appreciated T^T
absolutely no problem! i'm here to serve :) i'm gonna explain this with the assumption you have no idea what you're doing, just so it's thorough.
so, first thing's first, go to the ATLauncher downloads page choose one of the options that's under your operating system (windows, mac, linux) then run the program it gives you. (if it's a setup version, you'll have some stuff to click through but that's pretty easy)
once you've got ATLauncher up and running, you'll want to log in with your minecraft/microsoft account (unsure if it makes you do that at first startup anymore but if it doesn't, it'll be in the Accounts tab) then head over to the Packs tab on the right
go to the search bar and look for Yogscast Complete Pack, it'll be the one with the blue and orange icon, then hit New Instance and Install. it'll come up with a bunch of optional mods, but i personally just select everything except the minimaps and morph
once that's done installing (it might take a while) go over to the Instances tab, and it'll be there. you'll want to mess with it a little bit before opening it, though. there's be a bunch of buttons under the description and that's we're gonna be
you'll definitely want to give it more memory/ram by going to Settings > Java/Minecraft and messing with the very first option. the number you'll want to set it to depends on how beefy your computer is, so make sure you know how much ram it has
after that you'll want to hit Edit Mods and disable Flatsigns, Obsidiplates, and Switches, as the launcher doesn't like to allow them to run anymore
if everything goes right, you'll be ready to import the world save. go to the download link in my (currently) pinned post, save that wherever, and since it's a rar file you may need to have 7zip or winrar to open it but i'm unsure. i personally use 7zip
go back to the ATLauncher and hit Open Folder, that'll open your instance in your file explorer. open the saves folder (or make one if you don't have one yet, 'saves' all lowercase) and extract your world(1).rar into there. you should be left with a folder simply called "world"
go ahead and run the pack and see if everything works! i have noticed a few other errors that come up, so:
if it's giving you an error along the lines of "two dimensions have the same id," try heading to the config folder (same directory as the saves) and find TwilightForest, open that and scroll down until you see # dimension, then change the number from 7 to 250 (or whatever else works)
if it's giving you an error along the lines of "can't connect to [whatever ip/url]" try editing the config of OpenBlocks and removing all radio stations
if it's something else entirely, try re-running/brute forcing it a couple times then come back and i'll see if i can figure it out i hope this helps you and anyone else that happens to need it!! don't hesitate to ask for clarification on anything :)
23 notes
·
View notes
Note
How'd you make the graphics faster
if you play minecraft on a laptop and have a nvidia processor you can go to nvidia control panel -> manage 3d settings (dropdown on the left) -> program settings -> select a program to customize -> add -> browse -> C:\Program Files (x86)\Java\jre-1.8\bin -> open javaw.exe -> select the nvidia card as the preferred processor and apply, then add another exe thats in the same location that's named java.exe and do the same and it should increase your performance a lil bit, at least it did mine. Cause apparently nvidia automatically sets the minecraft launcher as the game, and not the actual game files, so in my case, my intel card was doing all the heavy lifting instead.
What I actually did this for was to get the seus renewed shaders to work cause I was getting a bunch of errors and it made the game unplayable and that fixed the problem
18 notes
·
View notes
Text
Anyway, new version of Menu Buttons of Stone is out. On Java Edition, all it really does is update the compatible game versions list and tweak a few textures, but on Bedrock Edition, it fixes an absolutely vital issue with current versions of VDX: Desktop UI.
Download Links:
Java Edition (Planet Minecraft)
Java Edition (Modrinth)
Bedrock Edition (Planet Minecraft)
Change Log:
Java Edition:
Pack now reads as compatible with game versions from 1.21.2 to 1.21.4.
Tweaked the bevels on the Recipe Book Button to more closely align with similar vanilla graphics.
Fixed some slightly miscolored pixels on the player report button.
Bedrock Edition:
Apparently, I just completely forgot to upload v1.2.1 and no-one told me (even though v1.2.0 is very noticeably broken), so this log will cover both v1.2.1 and v1.2.2.
v1.2.1
Bug Fixes and General Changes:
Pack is now ACTUALLY compatible with VDX: Desktop UI v3.0. Last MBoS version completely broke a number of container screens and I just didn't realize, but it's fixed now. (See A)
Subpacks now work using VDX: Desktop UI v3.0. (See B)
Various textures should no longer break when using MBoS over Thickly Be-Beveled Buttons. (See C)
The Accessibility Button icon now looks the same when using VDX: Desktop UI v3.0 as it does when using VDX: Legacy Desktop UI v1.2.9. (Added textures, JSON)
The Cross Button now uses the correct shade of white on its X when any subpack with white text is enabled (when using VDX: Desktop UI). (Added JSON, textures)
The outline of the hovered text field now matches the color of the active subpack's text when using VDX: Desktop UI or VDX: Legacy Desktop UI. (Added JSON, textures)
Changed pack icon to be more readable at a smaller scale and more accurately show off the effects of the pack.
Technical Changes:
A) When using VDX: Legacy Desktop UI v1.2.9 and below, the buttons on/for the Beacon Screen and Recipe Book are now changed via JSON instead of just including the texture sheets normally, since including the full texture sheets breaks newer versions of VDX: Desktop UI. (Added JSON, removed textures)
B) When using VDX: Desktop UI v3.0, hover textures for a number of various things are now set to a custom filepath (textures/cb_ui_sprites/) to get around filepath length limitations. To go along with this, the hover textures that were previously stored in the assets folder have been moved to the new one. (Added JSON, textures; moved textures)
C) Added nineslice information for all relevant Java Edition and VDX: 4JD UI textures, even if said information is unchanged from the textures' place of origin.
Removed all Java Edition textures not directly used by VDX: Desktop UI.
Removed blank space from texture sheets that had it, since Bedrock Edition doesn't care about its existence the way Java Edition does. (Edited textures)
Renamed subpack folder "blue_highlight_and_gold_outline" to "bh_and_go" because the filepath was still too long.
Renamed subpack folder "blue_highlight_and_yellow_outline" to "bh_and_yo" because this filepath was also still too long.
Added global variable ("$cb_is_stone_menu_buttons_v1.2.1": true).
Added global variables to each subpack to denote themselves, each following the formula "$cb_is_stone_menu_buttons_[SUBPACKNAME]", where [SUBPACKNAME] is the actual name of the subpack folder. For example, the subpack "blue_highlight_and_gold_outline" would use global variable ("$cb_is_stone_menu_buttons_bh_and_go": true).
Changed pack UUIDs.
v1.2.2
Fixed some slightly miscolored pixels on the textures for the Java Edition report button (VDX: Desktop UI).
Tweaked bevels on the Java Edition Recipe Book Button to more closely align with similar graphics in vanilla Java Edition.
Added textures for the 'warning' and 'error' exclamation marks on the VDX: Desktop UI World Select Screen for pixel size consistency. Not sure where CrisXolt put them, but they're in the files, so they must be used somewhere.
3 notes
·
View notes
Text
you know, shit just used to work. i used to just have to download minecraft.exe and click on it and i could just play it. now i need to click on minecraft, read some error message about having been logged out of xbox or some shit, go log into my account in my browser, manually search up "minecraft java edition" on the website, install a different version than the one i have have been using without problems for a while now but wait- when i click on "Start game" in the xbox app it opens another window saying "click here to open launcher" and it re-directs me straight back to the website that just lets me instlal the launcher, and now i click again on the minecraft symbol i have been using before and only now it starts updating that launcher i sure am interested to see where this is going yes thank you i love having to sovle thy riddles 3 before being able to access a game i've owned for over 10 years
3 notes
·
View notes
Text
nine people you’d like to get to know better
Thanks for tagging me, @tragediegh!!! For some reason, it took me so long to do this T-T
last song: that unwanted animal by the amazing devil (because yeaaaah)
favorite color: cyan! Because it's both blue and green, which too are my favorite
currently watching: I'm very slowly rewatching naruto with my friends for the second time!
sweet/savory/spicy: I'm assuming it's about food so I'm choosing spicy
relationship status: single but I'm cool with it👍
current obsession: do my friend's characters count? because I'm not normal
last thing you googled: internal exception java connection reset error lmao (outing myself as a person that plays only minecraft for weeks on end)
look at me trying to come up with 9 people (also no pressure in playing tag games if you don't want to!)
@opiumin @detdomchik @gggghhhjjjiuhhi @munchbell45 @mellowthorn @hellionil and everyone else who might see it and wants to do it because I don't have a lot of people to tag but I love tag games too much T-T
#tag games#I like them a lot! It just takes a lot of time to do it for me#I'm being very brave about tagging people lol
4 notes
·
View notes
Text
Minecraft Nether Portal Calculator New 2025
👉 👉 TRY NOW 👉 Nether Portal Calculator
👉 👉 TRY NOW 👉 Nether Portal Calculator

Creating a flawless fast-travel system in Minecraft hinges on one thing: precision. When building a Nether portal, every block and coordinate matters. The key to making your Nether and Overworld portals sync perfectly is understanding how coordinates translate between dimensions. The Nether operates on a 1:8 ratio—meaning every block traveled in the Nether equates to eight blocks in the Overworld. This makes the Nether an incredible tool for long-distance travel, but only if your portals are built with surgical accuracy.
To start, you'll want to pick your overworld destination. Press F3 on Java Edition or enable coordinates on Bedrock to get your exact X, Y, and Z. Now, divide your X and Z coordinates by 8. These new values represent the exact Nether coordinates where your portal must be placed. For example, if your Overworld coordinates are X=800, Z=640, your Nether coordinates should be X=100, Z=80.
Once you've calculated the Nether coordinates, head to the Nether and build your portal exactly at that spot. Don’t fudge the numbers—even being off by one block can cause Minecraft to generate a new portal nearby, breaking your sync. Y-level isn’t crucial for syncing, but placing portals at similar Y levels can reduce weird spawning or suffocation issues.
Pro Tip: Always build your portal frame before lighting it. Double-check your coordinates, ensure the surrounding area is clear, and then spark it up. Walk through and make sure it links properly. If it doesn't, break the newly generated portal and relight the original—it usually corrects the error.
By following these steps, you ensure your portals are connected tightly, making your travel system smooth and seamless. The better your portal placement, the more efficient your base-building, resource gathering, and exploration will be.
1 note
·
View note
Text
Minecraft Bedrock player shares a helpful tip to mine blocks faster
Minecraft comes in two different versions: Bedrock and Java Edition. While on the surface level both editions are the same, finer details show the difference between the two. Bedrock Edition is known to have many bugs and errors. Sometimes these bugs can be annoying and ruin the experience of exploring the blocky world. But sometimes talented players can use these flaws as a new game mechanic. A…
0 notes
Text
Minecraft Bedrock player shares a helpful tip to mine blocks faster
Minecraft comes in two different versions: Bedrock and Java Edition. While on the surface level both editions are the same, finer details show the difference between the two. Bedrock Edition is known to have many bugs and errors. Sometimes these bugs can be annoying and ruin the experience of exploring the blocky world. But sometimes talented players can use these flaws as a new game mechanic. A…
0 notes
Text
You know what? I need to make a new intro post.
Ello! I am Stickia/Sophia (She/Her) (Stick, Stickia, Arco, Sophia, etc) and I am cool with any of the names, but I do like Stickia/Sophia more. I have quite a few interests, some of them being, but not limited to: Minecraft, Modded Minecraft, Coding, Hex Casting (the MC mod), Blender, General 3D art, and more.
I typically just reblog posts rather than make them, so don't follow me if you don't want your blog to have lots of reblogs lol. Also, my ask box is always open, and empty, so don't be scared to ask me something there or tell me when I have done something wrong.
As for tags I use, I mostly just use them as side thoughts for posts, but I do tag long posts as "long post" or "do you like the color of". Other than that, I only really tag TWs. Also, I don't really have a DNI, except for don't be a dick.
Now I have an Art Blog! You can find it over at @artwood-post. I likely reblog all the posts there too here, but still give me (it?) a follow.
If you want to hear more about my self, you can visit my own basic HTML/CSS website. Found here: https://stick404.mindlesstoys.com/info.php There is still a lot to be worked on about it, but I am (slowly) improving it (also yes, I know about the spelling errors lol, just have not uploaded the changes yet).
New Icon was made by Abyst, go check them out!
As for coding: I am working on probably my largest project ever! Magma, a Lisp Interpreter in Java. It was originally inspired by Minecraft Mods like Computer Craft, and is based on the core of TinyLisp, however I am planning to expand it much more. Right now, I have made a registry for both Functions and Expressions, and reworking the core Eval-Loop to use Stack Safe recursion. Feel free to read over and maybe even make PRs! (but its right now in a state of rapid change, so it may not work)
#Intro Post#this is a bit long#but eh#Better than my old Temp Post lol#This post may get edits as well (like this tag lmao)#updated with Magma!
10 notes
·
View notes
Text
Minecraft Bedrock player shares a helpful tip to mine blocks faster
Minecraft comes in two different versions: Bedrock and Java Edition. While on the surface level both editions are the same, finer details show the difference between the two. Bedrock Edition is known to have many bugs and errors. Sometimes these bugs can be annoying and ruin the experience of exploring the blocky world. But sometimes talented players can use these flaws as a new game mechanic. A…
0 notes
Text
I have a theory, a Game Theory, about one of Minecraft Bedrock's more pervasive issues, so follow my train of thought:
Bedrock edition has distance effects consistent with 32-bit integers
In Java, almost everything that could be affected by long distances is governed by 64-bit integers.
Java is, of course, coded in Java, while Bedrock and its predecessor Pocket Edition use C++.
The "Long" data type in Java is always 64-bit, while in C++ it's dependent on compiler and system.
The Microsoft C++ compiler treats a "Long" as a 32-bit integer.
Taking all of this as a whole, it's very likely that the developers of Pocket Edition either weren't aware of this difference, or didn't see it as important.
In either case, as the original Pocket Edition worlds were very small, virtually no issues could be observed from this distinction until 0.9.0 Alpha added infinite world generation.
Notably, the original 256x128x256 XYZ boundaries encompass the whole range where it's basically impossible to fall through the world due to coordinate errors. You theoretically can at any power of two, but it's only around the 256 or 512 block marks where it becomes slightly feasible.
#minecraft#minecraft bedrock#video game glitches#bugrock#they could theoretically fix this#but Bedrock devs don't really do fucking shit#a large-scale revamp of the code to unfuck it is leagues beyond their capabilities
1 note
·
View note
Text
okay. OK.
Now opening the jar file with "Java(TM) SE Platform Binary" IS an option, but when pur clicks it, both with and without Just Java installed, it gives purr a Java Exception error.
Court tried to google this, but everything that comes up is for people who know coding and stuff, not an ameature minecraft server host.
0 notes
Text
Cornbread's Texture Fixer Beta 5 is now out on Planet Minecraft!!
A change in this version made the old cover image incorrect, so I'm just gonna use this one for now.
Link
Change Log:
Bug Fixes
To comply with the changes Mojang made to the Health, Hunger, Armor, and Air Bars in game version 1.21.40; the Experience, Horse Jump, and Camel Dash Bars now stretch to match the length of the Hotbar while using touch controls again. (Removed, added UI JSON)
At some point between this pack version and the last, Mojang broke the way errors work somehow. And also removed a UI element i was changing. Basically, the icon on the General tab of the Settings Screen should be the correct size again. (Removed (seemingly unrelated) UI JSON)
Blazes should now appear the same brightness as in vanilla. (Edited texture)
General Changes
Updated the Blaze texture to match Java Edition since Mojang still hasn't.
Reverted the appearance of the item slot highlight to that of vanilla. Java-Edition-Styled slot highlights have been moved to Conglomeration, a different resource pack. (Removed UI JSON)
The Bundle Storage Bar is now aligned with the pixel grid. (Added UI JSON)
The white outline around the item slot highlight now disappears when scrolling through a Bundle, which is probably the intended design considering the architecture in the vanilla resources. (Added UI JSON)
The item slot highlight no longer becomes slightly greener when scrolling through a Bundle. (Added UI JSON)
The enchantment glint no longer appears pixelated on a Trident hung in an Item Frame or dropped on the ground. (Added texture)
All things associated with the items on the Hotbar (including the items themselves) are now layered above the selected slot instead of just the stack count. (Edited UI JSON)
Removed the outline on the texture for the background of the read more button on the description of a Marketplace item. I have no idea if this texture is used anywhere else. (Edited texture)
Tweaked the colors on the hovered and pressed dark button textures. They should look more like vanilla and less obnoxious now. (Edited textures)
Almost completely rewrote the Mob Effects Screen. It should now look more consistent with the rest of the JSON UI (and also allow scrolling when using a controller). May revert in future. (Added UI JSON) ৹ Uses custom texture at "textures/cb_custom_ui/dialog/effects_scroll_panel_bg".
Fixed the spacing between the Marketplace Button and the Quit Button on the Pause Screen while not online. (Added UI JSON)
Fixed an issue with the nineslice information for certain disabled buttons.
Fixed the scaling and positioning of the "Sign in to See Realms" Button (and its contents) on the Select World Screen. (Added UI JSON)
Drowned are no longer fat. (Added model JSON)
Fixed a hole on the Drowned's torso that is not present on Java Edition. (Added texture)
Fixed the spacing on the top and bottom of the left side of the Settings Screen. The tabs should be aligned with the scroller now.
The bottom Enchanting Button on the Enchanting Screen is no longer slightly offset. (Added UI JSON) ৹ Unfortunately, this will break Conglomeration until Alpha 3 of that pack comes out.
The tops and bottoms of Hay Bales now use the same color palette as the sides. (Added texture)
The arrows on the buttons on the Trade Screen now turn white when hovered over, similar to other gray things on other buttons. May revert in future. (Added UI JSON) ৹ Uses custom textures at "textures/cb_custom_ui/container/trade/".
The slots on the Crafter Screen now use the correct textures at the correct size and opacity. (Added UI JSON) ৹ This will also break Conglomeration until Alpha 3 comes out.
Slightly recolored the hover texture for disabled crafter slots to be more consistent with the established color palette and to better differentiate them from enabled slots. (Added texture)
Changed the hover texture for Beacon Buttons to also be more consistent with the established color palette. This can be disabled using the "Disable Extra Green" subpack. (Added texture)
Adjusted positioning of the Keyboard Helpers on the Select World Screen. They should now appear better aligned with the tabs like the Gamepad Helpers do. (Added UI JSON)
Adjusted positioning of the Bumper Gamepad Helpers around the Recipe Book. (Added UI JSON)
Swamps, Swamp Hills, and Warm Oceans now have the correct water transparency again (Mojang broke them in game version 1.21.40). (Added biomes_client.json)
The background of mob effects on the HUD should appear slightly less broken now. Unfortunately, the misalignment of the textures is hardcoded. (Added texture, UI JSON)
Mostly fixed the Player Permissions Screen. (Added UI JSON, nineslice JSON)
Reworked dropdowns again. Now, only dropdowns I can test are changed. The rest have been reverted. (Added, removed UI JSON)
Relatedly, a bunch of scrolling dropdowns that did not scroll are no longer considered 'scrolling'. This removes some very unnecessary jank, both visually and in terms of controls.
Gilded Blackstone now has a proper top and bottom texture like regular Blackstone does. (Added blocks JSON, terrain JSON) ৹ Uses custom texture at "textures/cb_custom_blocks/gilded_blackstone_top".
The flash that appears when taking a screenshot should no longer move in from the right side of the screen. (Added UI JSON)
The dark background of the Pack Info / Technical Details Screen should also no longer do that. (Added UI JSON)
The main panel for the Pack Settings Screen now SHOULD do that. (Added UI JSON)
Technical Changes
Instead of replacing 'progress_bar_nub' on the HUD screen, pack now replaces 'exp_progress_bar_and_hotbar/resizing_xp_bar_with_hotbar/empty_progress_bar/full_progress_bar/progress_bar_nub', which is specifically the nub when on the Experience Bar on the HUD.
Lowered the resolution of enchantable item textures from 256x to 128x for performance reasons. This shouldn't be noticeable during normal gameplay. (Edited textures)
The textures for explosion particles have been separated from the main sheet for performance reasons. (Added particles JSON) ৹ Uses custom texture at "textures/cb_custom_particles/explosion".
The fix to the player list on the Pause Screen should be less invasive now. It now uses the 'modifications' array instead of replacing the 'controls' array directly.
The UI element that controls the background for the scrolling panel on the Trade Screen has been changed from 'common.cb_container_scroll_bg_dark' to 'trade2.cb_scroll_bg'. ৹ The texture has been moved from "textures/cb_custom_ui/container/scroll_panel_bg_dark" to "textures/cb_custom_ui/container/trade/scroll_bg" and resized.
Removed "ui/ui_template_tabs.json". The JSON that controls the rightmost tab on the Select World Screen is now stored in its file (ui/play_screen.json).
Began work on a fix for mouse controls on the Crafter Screen. It is currently commented out on account of it not working.
Removed the fix for the Gamepad Helpers on the Trade Screen since vanilla fixed its issue in game version 1.21.40
Removed the fix for the coloration on the Screenshot Button icon on the Pause Screen since vanilla fixed its issue sometime between this and the previous pack version.
Removed global UI variable "$cb_ignore_disabled_slot_highlight" since it is no longer used.
The global UI variable that denotes the pack version is no longer a single Boolean named '$cb_is_texture_fixer_[version name]'. Instead, it is now three integers named 'cb_texture_fixer_release', 'cb_texture_fixer_major', and 'cb_texture_fixer_minor', which should theoretically mean that molang expressions can read them in more ways.
3 notes
·
View notes