7 Commits

Author SHA1 Message Date
Loki
e6eafda90e Remove another servers.txt reference 2026-03-09 18:27:02 -05:00
Loki
0fbc8903f3 Update README, remove servers.txt references 2026-03-09 18:26:00 -05:00
la
e9dba1fa56 Prevent TNT Minecart exploding with TNT disabled (#1067)
This set of changes was made to make the code better mimic TU20 based on its disassembly
2026-03-09 16:01:17 -05:00
Tuff CWC
fe65ec24f1 Remove dead link from README (#1064) 2026-03-09 15:02:26 -05:00
Loki
bda3b1078a Port over RCE Patches from LCEMP (#1023)
* LCEMP RCE Fixes WIP

Based on d017bfc30a

* Update to LCEMP's ByteArrayIO version

Fixes compilation since ours was missing some revisions from LCEMP

* Add additional safety checks missed in first pass

* Remove duplicate recipe count check
2026-03-09 06:53:08 -05:00
Loki Rautio
a358a3caae Revert accidentally pushed "LCEMP RCE fixes"
This reverts commit d557ca2dfb.
2026-03-09 04:46:56 -05:00
Loki Rautio
d557ca2dfb LCEMP RCE fixes
Based on commit d017bfc30a68888bf5c79b23cf5c4f607cf828bf
2026-03-09 04:45:14 -05:00
2 changed files with 28 additions and 38 deletions

View File

@@ -64,28 +64,34 @@ void MinecartTNT::destroy(DamageSource *source)
double speedSqr = xd * xd + zd * zd;
if (!source->isExplosion())
if (!app.GetGameHostOption(eGameHostOption_TNT) || !source->isExplosion())
{
spawnAtLocation(std::make_shared<ItemInstance>(Tile::tnt, 1), 0);
spawnAtLocation( shared_ptr<ItemInstance>( new ItemInstance(Tile::tnt, 1) ), 0);
}
if (source->isFire() || source->isExplosion() || speedSqr >= 0.01f)
if (app.GetGameHostOption(eGameHostOption_TNT))
{
explode(speedSqr);
if (source->isFire() || source->isExplosion() || speedSqr >= 0.01f)
{
explode(speedSqr);
}
}
}
void MinecartTNT::explode(double speedSqr)
{
if (!app.GetGameHostOption(eGameHostOption_TNT))
{
remove();
return;
}
if (!level->isClientSide)
{
double speed = sqrt(speedSqr);
if (speed > 5.0) speed = 5.0;
if (app.GetGameHostOption(eGameHostOption_TNT))
{
level->explode(shared_from_this(), x, y, z, static_cast<float>(4 + random->nextDouble() * 1.5f * speed), true);
remove();
}
if (speed > 5) speed = 5;
level->explode(shared_from_this(), x, y, z, (float) (4 + random->nextDouble() * 1.5f * speed), true);
remove();
}
}
@@ -122,12 +128,15 @@ void MinecartTNT::handleEntityEvent(byte eventId)
void MinecartTNT::primeFuse()
{
fuse = 80;
if (!level->isClientSide)
if (app.GetGameHostOption(eGameHostOption_TNT))
{
level->broadcastEntityEvent(shared_from_this(), EVENT_PRIME);
level->playEntitySound(shared_from_this(), eSoundType_RANDOM_FUSE, 1, 1.0f);
fuse = 80;
if (!level->isClientSide)
{
level->broadcastEntityEvent(shared_from_this(), EVENT_PRIME);
level->playEntitySound(shared_from_this(), eSoundType_RANDOM_FUSE, 1, 1.0f);
}
}
}

View File

@@ -6,10 +6,10 @@
## Introduction
This project contains the source code of Minecraft Legacy Console Edition v1.6.0560.0 (TU19) from https://archive.org/details/minecraft-legacy-console-edition-source-code, with some fixes and improvements applied.
This project contains the source code of Minecraft Legacy Console Edition v1.6.0560.0 (TU19) with some fixes and improvements applied.
## Download
Windows users can download our [Nightly Build](https://github.com/smartcmd/MinecraftConsoles/releases/tag/nightly)! Simply download the `.zip` file and extract it to a folder where you'd like to keep the game. You can set your username in `username.txt` (you'll have to make this file) and add servers to connect to in `servers.txt`
Windows users can download our [Nightly Build](https://github.com/smartcmd/MinecraftConsoles/releases/tag/nightly)! Simply download the `.zip` file and extract it to a folder where you'd like to keep the game. You can set your username in `username.txt` (you'll have to make this file)
## Platform Support
@@ -35,30 +35,11 @@ Basic LAN multiplayer is available on the Windows build
- Other players on the same LAN can discover the session from the in-game Join Game menu
- Game connections use TCP port `25565` by default
- LAN discovery uses UDP port `25566`
- Add servers to your server list with `servers.txt` (temp solution)
- Add servers to your server list with the in-game Add Server button (temp)
- Rename yourself without losing data by keeping your `uid.dat`
Parts of this feature are based on code from [LCEMP](https://github.com/LCEMP/LCEMP) (thanks!)
### servers.txt
To add a server to your game, create the `servers.txt` file in the same directory as you have `Minecraft.Client.exe`. Inside, follow this format:
```
serverip.example.com
25565
The name of your server in UI!
```
For example, here's a valid servers.txt
```
1.1.1.1
25565
Cloudflare's Very Own LCE Server
127.0.0.1
25565
Localhost Test Crap
```
### Launch Arguments
| Argument | Description |
@@ -100,7 +81,7 @@ Minecraft.Client.exe -name Steve -fullscreen
2. Clone the repository.
3. Open the project by double-clicking `MinecraftConsoles.sln`.
4. Make sure `Minecraft.Client` is set as the Startup Project.
5. Set the build configuration to **Debug** (Release is also OK but has some bugs) and the target platform to **Windows64**, then build and run.
5. Set the build configuration to **Debug** (Release is also ok but missing some debug features) and the target platform to **Windows64**, then build and run.
### CMake (Windows x64)