mcdelta-project / mcdelta-python Goto Github PK
View Code? Open in Web Editor NEWMCDelta client written in Python
License: GNU General Public License v3.0
MCDelta client written in Python
License: GNU General Public License v3.0
Just wanted to know ^.^
Hey there, I would like to help development. Languages I know are English ( :P ), C#, Lua and Java, but not Python. I could possibly do a remake in one of those languages. Thanks! -LewisTehMinerz
Many functions have an 'output' argument which, if true, prints the output as well as returning it. I feel like this just clutters the code a bit, and doesn't really fit with the idea that a function should do one thing only.
This issue is for discussion of whether or not they should be removed, and is the first in a few issues I'm going to make regarding the problem of 'code smell'.
All the files are currently just lying in the root of the repository. This makes it a little bit cluttered. Should the .py files be moved into their own folder, such as src
?
so you would be able to do python3 CMAN.py --install MinecraftForge
Hey there. I just made a quick organization for this project. Transfer the repo to me, then I'll transfer it to the CMAN organization.
-LewisTehMinerz
Self explanatory. .exe and .app, and a linux application too.
It needs to fit the pattern of 'Adjective/Verb' 'Noun', both beginning with B.
eg: Big Baboon
Bouncing Ball
It's a bit spaghetti-like right now.
We should be able to check for updates on startup.
My IDE complains quite a bit about PEP8 compliance in the project, mostly about minor things like spacing. In the interest of code readability, should the project be PEP8 compliant? If it's agreed so, I can run the cleanup tool and have it all done.
A bit like dependencies, but optional.
Should be relatively easy...
It should just find the mod and remove it, I guess...
We already have the JSON fields
When you resize the window, the GUI elements don't resize with the window, but stay the same size while a blank space forms around them.
Should be easy enough.
I forgot about this (lots of stuff in the LOTRMod addon world), but there's a new mod site: Modrinth. It has 5600 mods on it, including such mods as my own DeeperCaves, Origins, Sodium, BuildCraft, JourneyMap, Galacticraft-Legacy (aka 1.12 Galacticraft), CC:Tweaked, OpenComputers, etc.
It has an explicitly open, and documented API, getting around the whole "will CurseForge be alright with us using the API" uncertainty from before I had (which is why I paused and then forgot) (Overwolf CurseForge looks like a bit of a hassle now, they decided they want everyone to get specific approval for that, and idk how hard that is for something like that that would compete with their launcher).
Edit: Might be wrong about CF.
The entry point of a python program is often in an if-clause with the condition if __name__ == "__main__"
. Should this be done in deltamc.py?
Not much progress has been made at all in the past month - maybe a GUI could be added?
The issue is basically what the title says. It tries to chdir to LocalData when it isn't present, causing CMAN to crash.
Affects: 2.0.0 (and possibly earlier)
Also, maybe we should have a "critical" tag for things like this (e.g. CMAN won't even start).
The error is urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749). I'm not sure what the problem is with.
There's a bit of a problem with the name/icon of the program:
I'd like to get everyones input on these ideas - I'll add what everyone thinks to this table:
Username | Program name | Program icon |
---|---|---|
@LewisTehMinerz | mcdelta/deltamc | Impossible triangle of minecraft blocks |
@randomtestfive | deltamc | Impossible triangle of minecraft blocks |
@Valiec | deltamc | Grass block with a delta sign |
@williambl | mpm/mcdelta/deltamc | Impossible triangle of minecraft blocks |
Won't work no matter what I try. I'm trying to make the label called output change its content.
And then downloading from them. They should be like this:
{
"Modlist":["MinecraftForge","Endplus","SomethingElse","Anothermod"]
}
Assigning this to myself because I need to contribute more code.
Easy enough.
Basically what the title says. If you try to install a mod which does not have a compatible version for your Minecraft version, it will not install (as expected), but it will still appear in the "installed mods" list in CMAN.
Python implementation of content discussed in mcdelta-project/deltamc-archive#8
For some reason, on a clean install (i.e no config.json, no Data/ and no LocalData/) EVERYTHING goes wrong. Many missing variables etc. Fixing the problem now.
Argh this will be hard...
For the mods folder location.
I'm thinking that it could just read out the JSON?
It doesn't seem you can select which version you want, if there are multiple compatible versions.
I'm thinking something like this (psuedocode):
if(command == "installm" OR command == "installmany"): #installm is short for installmany
modslist = get_array_of_mods_given()
for item in modslist:
install(item)
I'm thinking about using the mcf modlist API... but I need help with implementing that.
When a mod is downloaded but not installed (e.g. because it is incompatible combined with #42), CMAN will print a message to the console saying that the mods have updates available, listing the "current version" and the "latest version" as the same version.
If cman cannot download the mod archive for whatever reason it borks with a horrible message. Is it worth putting some more error handling around it?
Example borkage:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "CMAN.py", line 186, in
update_archive()
File "CMAN.py", line 38, in update_archive
with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file:
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 471, in open
response = meth(req, response)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 581, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 503, in error
result = self._call_chain(_args)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(_args)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 686, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 465, in open
response = self._open(req, data)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 483, in _open
'_open', req)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1283, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/urllib/request.py", line 1242, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
The info needed to fix this is here: https://wiki.vg/Game_files
This issue is a note to myself, I'm not demanding you code this.
For compatibility with Curse modpacks, maybe make it possible to import/export Twitch exports, since there are a lot of mod packs using these already? I don't mean getting modpacks from Curse (at least for now), I just mean that if you have a Twitch export file (either from Curse or from the Twitch launcher, you should be able to import it.
I wouldn't remove the current .modpack file feature though (at least until I'm sure it has no benefits over Twitch exports).
When looking at pull request #46, I noticed that the Travis build was failing, but the issue doesn't look like it's the code itself, but something about how a rakefile is not found.
Could this be an issue with how the build is configured?
Could anyone help getting the version information & download link from the .json?
When I tried to do it, it threw errors :/
The issue is that if you have an instance selected (i.e. active) (I'll call it "InstanceA"), and you select another instance (I'll call it "InstanceB") in the menu but not actually select it with the select instance button, then install a mod, the mod list shown changes to match InstanceB, but the compatibility check still seems to use InstanceA.
There are probably other issues regarding this, but I haven't tested it further.
I'm thinking maybe downloading the JSON of whatever was downloaded and putting it in a special folder?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.