It has nothing to do with being evil. Microsoft is a business, and they have made a huge investment in a game that has to pay off for them and their shareholders. That means they need to turn Minecraft into a cash cow, and that means getting people to pay for everything... eventually.
Java Edition is no longer "Minecraft" as per the announcement.
There is a common perception, "Microsoft is a business, all businesses are evil because they want to make money, therefore anything Microsoft does is tainted by the evil of wanting to make money." I won't pretend Microsoft isn't evil, has not been, and does not continue to engage in practices that are evil by my values for "evil". But "[Microsoft] need[s] to turn Minecraft into a cash cow" is pejorative (expressing contempt or disapproval). In effect, you are saying, "This has nothing to do with Microsoft being evil, but they are going to do evil things with Minecraft because they need to put the screws to the game and get people to cough up the phat lewt."
Uhm... ok. So long as we are clear on where you stand. "Java Edition is no longer "Minecraft" as per the announcement."
More of the same. It is "Minecraft: Java Edition." "Java Edition is no longer Minecraft" implies the game is no longer "Minecraft" at all, when it is. "I'm not saying it was aliens, but... Aliens!"
I stand by my statement that Minecraft Java Edition has WAY too much "baggage" because of the nature of Java and the comparative ease of decompiling compared to C++, because of the existing community and "ecosystem", because of things like Forge, LiteLoader, and Optifine (due to the nature of Java), and because of the existing set of "bugs that became features" that are not present in the Bedrock edition because "let's not build bugs into the bedrock code if we can avoid it when we can make proper features instead." Of course, long-term financial issues are a part of this, but the talk of Microsoft soaking money out of users with Better Together does nothing to give an honest look at the problems Minecraft: Java Edition has in its current state that make crossplay all but impossible; certainly not now, likely not ever.
I love this post! I do see "Data Packs" as the "official" way to handle modding MC. I believe the changes are to make the packs portable between editions. The way to steer toward cross-platform play is to have dialog and cross-platform content, and I hope discussions such as in this thread get us in that direction.
It's cool we disagree, but I think the disagreement is more on "priority of evil intent". The question on how "evil" Microsoft is merits its own thread. And you may be right long term.
Short term? Minecraft JE code has lots of "ugly" that makes it unfit for "Better Together". If that is to change, JE users will need to explore how to make BE do the things that make JE "special". How do we make content that works on all editions? How do we keep JE sales hot and relevant?
Many JE players seem to lead the conversation with, "I won't touch 1.9+, and let me tell you what Bedrock and Java should be doing." That conversation is definitely a non-starter for having JE integrated with "Better Together."
"I play 1.8 Forever, have no intention of using the Marketplace ever, and I still want to have a say in having Microsoft always support Java only!"
Uhm... that's not how life works. Since the OP is "No Crossplay for Java", I'm going to stick with "Java has WAY too much "Forge, LiteLoader, Optifine" mod baggage, Redstone quirk baggage, and community cultural "Micro$oft is Da Ebil!" baggage, not to mention "much easier to decompile and hack a Java client than a C++ client" baggage.
None of the "Microsoft is just putting the screws to us Java players/ making a cash grab" noise stacks up with me compared to all the OTHER baggage mentioned. I suppose it's possible once Bedrock Edition and Java Edition finally meet parity. But I'm pretty comfortable stating that people who refuse to participate in the process with their wallet will have pretty much the same say in the matter as they ever did: about nothing.
Meanwhile, Marketplace is turning cash. That funds further development along that line. Since that is how business and life in general actually works, I don't have a problem with that. Want to fix the Java problem? Figure out a way to turn it into ongoing cash for the people who actually produce the work on it.
Excellent. Did you miss the part about Sun and Microsoft settling the lawsuit over Java? And why would Microsoft care about the specifics of the platform (Java, in this case) when they own the IP and it sells? Mojang will... what, sue Microsoft for selling more bedrock edition units than Minecraft JE sales?
Sorry, it is far easier to believe Minecraft JE has far too much baggage as it currently stands for cross play than nefarious plans by the Evil Microsoft Empire.
1) You can make your own skins and use them on the Bedrock platform.
2) You can make your own client-side command blocks and changes to .JSON files and such.
3) You can make your own maps. The creators that charge for maps in Marketplace are, in fact, using Minecraft Java Edition tools and porting those over to the Bedrock edition, then doing the finishing tweaks. But nothing prevents you from doing the same and distributing those.
What the Bedrock edition does NOT do is make it simple and obvious this is even a possibility. This information should be widely discussed and promoted, and people should be encouraged to develop their own custom content for Bedrock Editions without worrying about Marketplace mechanics. It can be done.
But back to "no cross-play", the fact you *CAN* exchange some things such as skins and resource packs, and convert maps should be promoted, and that would be a clear signal to Mojang that Minecraft content is *still* community driven, even on the Bedrock platform. I don't think it would change Microsoft's policy on cross-platform, but it will keep the Minecraft community in the loop as part of the design process.
Bungee somehow manages this. Beyond that, "Parity" is a goal for Bedrock and Java Edition to behave and appear the same. I would presume they would have the same block and entity list at that point. Don't think just in terms of "how is this today" but *long term*. Thus, it would be *possible*, but the issues of stability in the game design, not to mention contracts with Nintendo and so on or various legal hazards would be significantly more a roadblock than anything Bungee somehow manages to do to support different client and server versions of Minecraft.
I predict Microsoft will base their decisions on merging Minecraft Java Edition and Bedrock from a sound business and legal perspective: using JE as a test bed performed by free beta-testers and developed in part by teams they don't have to pay, letting the Java community directly into the Bedrock community in the code presents a legal and contractual mess with non-Microsoft platforms.
TheMasterCaver is correct that the programming language does not matter, so long as the software adheres to the protocol. As long as they get data in the expected format and with the correct timings, language is irrelevant.
TheMasterCaver may be correct on how hard it is to deal directly with the Java bytecode. indicates the MCP was used as part of the decompiling process. I admit I am not fully versed in the process, I've not tried it myself. Which is easier, decompiling Minecraft Java using the MCP or decompiling and making the same kinds of changes to the Minecraft Bedrock version? And would the answer to this question be significant towards a reluctance on the part of Mojang to include Java in the Better Together update?
The whole open closed code thing makes me think of that "trading freedom for security" quote
Welcome to the business world. If you want "ultimate freedom" you can either start your own server or play 2b2t. Minecraft isn't about your personal freedom, it's about getting you to cut checks for entertainment. As "kids" make up a good cut of the market audience, Microsoft and the various businesses involved are to some extent held *liable* in a court of law for the behavior and "freedom" of other players to do "bad things" to one another. There is also the consequence of bad publicity and market refusal to accept personal liability (mom & dad won't buy the game if there isn't some assurance their little darling won't be corrupted by stuff like 2b2t).
I'm confused that anyone should act surprised by this, or feels that life would be any other way. Microsoft isn't about to let your personal "freedom" put a lien on their wallet. And they should *NOT* be expected to do so.
Java is also "Java". Bedrock in C++ is "in theory" more protected from being hacked than the Java versions. Java has the Minecraft Coder Pack (MCP) updated per version. Note the following tweet from Serge: "When will people learn? When you tell me that you are using MCP to create exploit/grief "clients" for Minecraft, I'll ban you. No exceptions" That's a "Minecraft Java Edition" issue that simply does not exist with Bedrock versions. The Bedrock code is closed, and shall remain that way.
Even without that, the Java code can be easily enough "modded", even if it is obfusticated (made so it can't be easily read and understood by people). AntVenom created a Minecraft World where stone does not spawn, seen below:
AntVenom has other videos where he removed the world size limit and made various other changes directly to the Java code. Bedrock C++? Not gonna happen just like that.
The problem with having the Java client crossplay with Bedrock editions is that it will be far more difficult to ensure Java players are not using LiteLoader + XRay, GammaBright, VoxelMap and other LiteLoader mods, not to mention the many Forge mods. Then you have the issues with Spigot plugin modded servers interacting with the Bedrock clients *and* the exposure of the Bedrock audience to 2b2t, the "jail" servers, many of whom seem to violate the EULA with "pay to level" schemes, and so on. With Minecraft Java and the existing community as it is today, it will be far more difficult to bring our community into the intended Bedrock community. Java does have advantages. It also ABSOLUTELY has serious liabilities. And I think these considerations far outweigh some of the other concerns mentioned earlier in this thread.