This commit was done specially since it interfaces heavily with Lua.
First it was diffed out in a standard cuberite repo so we can tell what was changed,
and we apply this diff to a basic cuberite repo right before the commit was made.
I then promptly reverted lua changes that would conflict with applying
the patch. I also had to remove whole sections from the patchfile
afterwards but it was made easier having the actual repo with the
patches applied able to remake the diff as needed before i removed the
bigger sections.
Somehow it all worked out.
This new format aligns better with whats in place for this currently. My
IDE wants to auto sort it, mind as well but it needs a clang-format that
matches this. Was having issues for me with the old one.
I used the libpdw one since it works already for me and appears to
replace it nicely.
The code is implimented in this commit and is launchable with the BUILD_CLIENT compile option.
Everything should be launchable by running the one function within
src/nyqubel-client/client.hpp: start_nyqubel_client()
- Fixed Login Breaking bug
- Auth and MojangAPI now use UrlClient
- fixed bug in UrlClient where one letter was missing in the HTTP Header
- added function to verify Urls from config files and error handling on bad Urls in config for Auth
Replaced them with fmt::format calls, including changes to the format strings. Also changed the format strings to use FMT_STRING, so that the format is checked compile-time against the arguments.
Also fixed code-style violations already present in the code.
I simply ported a few core commands to C++, it was pretty easy once the
infastructure was setup. Since its already setup for lua, its very easy
to write C++ code that is just as good!
I plan on finishing the Core Commands then/after changing cuberite to
have its compatibility enforcers.
Since I ripped out lua, we still need commands for basic existance
within the cube world. I want to live comfortably so I setup the system
to be easily adaptable and added to to make more commands in the future.
* Handle newlines during read and write in cIniFile
When reading the ini file, replace \n with newline. When writing,
replace the newline with \n.
* Use ReplaceString instead of regex in IniFile
* Update cIniFile description
* Removed duplicate variable
* Revert "Removed duplicate variable"
This reverts commit de11bac047d871dfbffec28b72f72a2935bd339e.
* Removed duplicate variable
Now without plugin changes
---------
Co-authored-by: x12xx12x <44411062+12xx12@users.noreply.github.com>
* Removed C style arrays from the BlockEntity folder
* Update for loops with size_t where there are no item grids involved
* Fixed some casts in BrewingstandEntity.cpp
---------
Co-authored-by: bibo38 <bibo38@github.com>
Co-authored-by: x12xx12x <44411062+12xx12@users.noreply.github.com>
I am removing lua specifically because I am not intending on supporting
it on any way. I will manage everything manually in c++, the base is
already there since the entire codebase is built for lua, it can be used
the same way in c++.
This does alienate the type of people that can contribute, this is
intended more as a personal project to attempt matching vanilla
minecraft. Im not intending on running some kind of massive server so
this does just fine.
Lua wasnt even that intertwined with cuberite, but I still want to rid
it for ease of development. Sorry for any hurt feelings.
Commit is being made to allow additions of GPL3+ code previously
un-addable. With these changes, contributions back to cuberite are
possible with the backporting exemtion, as well as adding stuff in
minetest with minetest code properly being read through and implimented
to upgrade it to GPL3 from GPL2.
project still has Apache2.0 license and credits to all its contributers, but now has the freedom of GPL3+ and all the code that can be implimented and shared with it.
* Placing certain blocks on top of upside down slabs and stairs
* remove TODO
* fix style errors
* IsAnyStairType helper function
* Block placement on stairs and slabs
* Instead of chunks ticking player objects, and the player object in turn ticking its client handle, let the world tick the client handles. This means we no longer need to maintain a special-case for chunks that shouldn't be ticking, but still need to process players. Partially reverts to the state before 054a89dd.