Nejste přihlášen/a.
Zdravím. Z minecraft serveru jsem si vytáhnul soubor .class. Ten jsem si nějakým internetovým dekompilérem převedl na .java. Upravil jsem v tom pár textů a potřebuji to dostat zpátky do .class. Jak se to dá udělat? Nejlépe bez jakékoli instalace čehokoli.
Díky
oracle.com/... Všechno v jednom, ale tahá to ztama fakt pomalu, spíš podle názvu souboru najít nějakej mirror, a nainstalovaný to pak má skoro giga. Potom použijete jednoduše javac.exe xxx.java, vyplivne to stejně pojmenovanej class. S tím pak viz dále.
Nebo compilr.com, novej prázdnej projekt, vložit do něj ten .java, zkompilovat a stáhnout, podle nastavení vypadne buď zip s .class, nebo .jar, z toho to zjevně taky umíte vydolovat. Pak jen použijete jar znova, s přepínačem u, a nahradíte ten starej class soubor v původním archivu souborem novým, nejspíš jar.exe uf craftbukkit.jar xxx.class
Nazdar :D
Prostě jsem vytáhl z craftbukkit.jar soubor s koncovkou .class. Když jsem to otevřel ve wordpadu tak to bylo nečitelný, tak jsem to dekompiloval a vypadl mi z toho jakýsi java text. Ty hlášky jak tam jsou (joined the game., . . .) tak jsem si přepsal na český hlášky a teď to zase potřebuju nacpat zpátky do craftbukkit.jar.
Nebo jestli víš jiný způsob jak to počeštit? (asi pluginama to půjde co)
Co kdyby jsi sem ten .java zkusil nahrát? Řekl bych, že bez nějakého kompilátoru to nepůjde...
tu to máš uloz.to/...
doplněno 12.04.12 23:00:PS.: já neříkal že to chci bez kompilátoru ale že si žádnej nechci instalovat do PC. Tím jsem měl na mysli jestli není nejaký online
Toho jsem se bál. On tam používá svoje třídy, ke kterým já nemám přístup. Takže by jsi musel převést víc těchto souborů a já ti nedokážu říct, jestli jich je 5 nebo 1000. Zkusil bych se podívat po jiné možnosti překladu. Nebo možná někdo zná nějaký způsob, jak toto obejít. Javu zas tak dokonale neznám.
uloz.to/...
když se ten .jar otevře ve winRARu tak můj potřebný soubor je ve složce net/minecraft/server/ServerConfigurationManager.class
a v něm potřebuju nahradit hlášky:
joined the game za se pripojil do hry
left the game za se odpojil
Ráno je moudřejší večera, jedno rychlé řešení z kategorie prasáckých
Server se i po úpravě spustí, ale co to udělá, až to bude mít vypsat ty stringy, si moc jistej nejsem, maximálně to spadne
Jen ze zvědavosti, co jsi s tím provedl? Já jsem na to večer koukal. Našel jsem program, který celý .jar dekompiluje, ale pak při kompilaci to hlásilo chyby, kde by podle mě nemělo, ale zas tak moc jsem to nezkoumal.
tak jdu zkoušet to jsem zvědav
doplněno 13.04.12 14:57:paráda proste PARÁÁÁÁDA díky funguje to
doplněno 13.04.12 14:58:heleď je to složitý to udělat? a udělal jsi to tím programem co jsi mi sem psal? jestli ano tak instaluju :D
Neudělal. Tím programem, co jsem tu psal, by to udělat šlo, kdybych javě rozuměl nebo věděl, jak to správně zkompilovat - zaboha mi to s tím dolarem v názvu nešlo (jednotlivé náhodné zdrojáky zkompilovat šly, ale zrovna tahle potvora, která byla potřeba, prostě nešla a nešla). Kdybych měl nástroj, který hromadně dekompiluje těch pět tisíc tříd naráz, všechny ty problémové identifikátory bych taky hromadně přejmenoval, tuhle jednu třídu upravil a celé to zkompiloval. Mnou vygooglený nástroj ale uměl dekompilovat jen po jednom.
Prasácké řešení proto, že jsem to jen rozbalil (jak jsem pozdějš zjistil, jar je přejmenovanej zip, ani na to není nutnej ten můj jar.exe, jak jsem psal) a tu .class binárku otevřel hexeditorem, daný string prostě přepsal a doplnil mezerama. Pak jen .class narvat zpátky a nahradit jím ten původní.
String by se moh i ukončit dřív, aby za textem "se připojil" nebyly mezery navíc, ale kdo ví, jestli by to pak šlo. A kdo ví, co by se stalo, kdyby původní řetězec byl kratší než nový, takže by se musela změnit velikost souboru.
doplněno 13.04.12 20:22:Jestli je tohle první z mnoha úprav, který plánuješ, tak bych to tak ale udělal - rozbalit a všechno dekompilovat, nechat si to pohromadě všechno ve zdrojácích, dělat úpravy a vylepšovat, a čas od času to sestavit dohromady a spustit.
Náhodou ten server není open source, že by se to třeba dalo stáhnout rovnou?
Já vůl to zkusil otevřít v Borland Delphi 7
PS.: Já bych to vzal rovnou PSPadem kdybych ho měl a já sem totiž strašně línej člověk :D
A konkrétně jakým programem jsi to teda otevřel "násilně"? A jestli se nemýlím tak PSPad by to měl zvládnout?
Tak já se přiznám, že jsem to vzdal :D
Odkazuje to na PlayerTeleportEvent$TeleportCause (nebo nějak tak) a nejde mi to zkompilovat, prostě to nenajde, nejspíš kvůli tomu dolaru. Samotná TeleportCause třída taky zkompilovat nejde (jiné, co jsem zkoušel, byly všechny ok..), jde až po přejmenování. Ale pak by se muselo změnit x dalších zdrojáků.. Nemám tu nic na hromadnou dekompilaci a po jednom to dělat nebudu
Podle docs.oracle.com/... jsem ani nepochopil, proč tam ten dolar vůbec je..
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.