Gintarus

serv

Aug 16th, 2025
5
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.38 KB | None | 0 0
  1. package net.minecraft.server;
  2.  
  3. import com.google.common.base.Charsets;
  4. import com.mojang.authlib.GameProfile;
  5. import com.mojang.authlib.GameProfileRepository;
  6. import com.mojang.authlib.minecraft.MinecraftSessionService;
  7. import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
  8. import io.netty.buffer.ByteBuf;
  9. import io.netty.buffer.ByteBufOutputStream;
  10. import io.netty.buffer.Unpooled;
  11. import io.netty.handler.codec.base64.Base64;
  12. import java.awt.GraphicsEnvironment;
  13. import java.awt.image.BufferedImage;
  14. import java.awt.image.RenderedImage;
  15. import java.io.File;
  16. import java.net.Proxy;
  17. import java.security.KeyPair;
  18. import java.text.SimpleDateFormat;
  19. import java.util.ArrayList;
  20. import java.util.Arrays;
  21. import java.util.Collections;
  22. import java.util.Date;
  23. import java.util.List;
  24. import java.util.Random;
  25. import java.util.UUID;
  26. import javax.imageio.ImageIO;
  27. import org.apache.commons.lang3.Validate;
  28. import org.apache.logging.log4j.LogManager;
  29. import org.apache.logging.log4j.Logger;
  30.  
  31. public abstract class MinecraftServer
  32. implements ac,
  33. Runnable,
  34. rk {
  35. private static final Logger i = LogManager.getLogger();
  36. public static final File a = new File("usercache.json");
  37. private static MinecraftServer j;
  38. private final aze k;
  39. private final ri l = new ri("server", this, MinecraftServer.ar());
  40. private final File m;
  41. private final List n = new ArrayList();
  42. private final ab o;
  43. public final qi b = new qi();
  44. private final nc p;
  45. private final kb q = new kb();
  46. private final Random r = new Random();
  47. private String s;
  48. private int t = -1;
  49. public mt[] c;
  50. private oi u;
  51. private boolean v = true;
  52. private boolean w;
  53. private int x;
  54. protected final Proxy d;
  55. public String e;
  56. public int f;
  57. private boolean y;
  58. private boolean z;
  59. private boolean A;
  60. private boolean B;
  61. private boolean C;
  62. private String D;
  63. private int E;
  64. private int F = 0;
  65. public final long[] g = new long[100];
  66. public long[][] h;
  67. private KeyPair G;
  68. private String H;
  69. private String I;
  70. private boolean K;
  71. private boolean L;
  72. private boolean M;
  73. private String N = "";
  74. private boolean O;
  75. private long P;
  76. private String Q;
  77. private boolean R;
  78. private boolean S;
  79. private final YggdrasilAuthenticationService T;
  80. private final MinecraftSessionService U;
  81. private long V = 0L;
  82. private final GameProfileRepository W;
  83. private final ns X = new ns(this, a);
  84.  
  85. public MinecraftServer(File file, Proxy proxy) {
  86. j = this;
  87. this.d = proxy;
  88. this.m = file;
  89. this.p = new nc(this);
  90. this.o = new bl();
  91. this.k = new ayn(file);
  92. this.T = new YggdrasilAuthenticationService(proxy, UUID.randomUUID().toString());
  93. this.U = this.T.createMinecraftSessionService();
  94. this.W = this.T.createProfileRepository();
  95. }
  96.  
  97. protected abstract boolean e();
  98.  
  99. protected void a(String string) {
  100. if (this.S().b(string)) {
  101. i.info("Converting map!");
  102. this.b("menu.convertingLevel");
  103. this.S().a(string, new lh(this));
  104. }
  105. }
  106.  
  107. protected synchronized void b(String string) {
  108. this.Q = string;
  109. }
  110.  
  111. protected void a(String string, String string2, long l, ahm ahm2, String string3) {
  112. ahj ahj2;
  113. this.a(string);
  114. this.b("menu.loadingLevel");
  115. this.c = new mt[3];
  116. this.h = new long[this.c.length][100];
  117. azc azc2 = this.k.a(string, true);
  118. ays ays2 = azc2.d();
  119. if (ays2 == null) {
  120. ahj2 = new ahj(l, this.i(), this.h(), this.k(), ahm2);
  121. ahj2.a(string3);
  122. } else {
  123. ahj2 = new ahj(ays2);
  124. }
  125. if (this.L) {
  126. ahj2.a();
  127. }
  128. for (int i = 0; i < this.c.length; ++i) {
  129. int n = 0;
  130. if (i == 1) {
  131. n = -1;
  132. }
  133. if (i == 2) {
  134. n = 1;
  135. }
  136. this.c[i] = i == 0 ? (this.R() ? new mk(this, azc2, string2, n, this.b) : new mt(this, azc2, string2, n, ahj2, this.b)) : new mm(this, azc2, string2, n, ahj2, this.c[0], this.b);
  137. this.c[i].a(new mp(this, this.c[i]));
  138. if (!this.N()) {
  139. this.c[i].N().a(this.i());
  140. }
  141. this.u.a(this.c);
  142. }
  143. this.a(this.j());
  144. this.g();
  145. }
  146.  
  147. protected void g() {
  148. int n = 16;
  149. int n2 = 4;
  150. int n3 = 192;
  151. int n4 = 625;
  152. int n5 = 0;
  153. this.b("menu.generatingTerrain");
  154. int n6 = 0;
  155. i.info("Preparing start region for level " + n6);
  156. mt mt2 = this.c[n6];
  157. r r2 = mt2.K();
  158. long l = MinecraftServer.ar();
  159. for (int i = -192; i <= 192 && this.q(); i += 16) {
  160. for (int j = -192; j <= 192 && this.q(); j += 16) {
  161. long l2 = MinecraftServer.ar();
  162. if (l2 - l > 1000L) {
  163. this.a_("Preparing spawn area", n5 * 100 / 625);
  164. l = l2;
  165. }
  166. ++n5;
  167. mt2.b.c(r2.a + i >> 4, r2.c + j >> 4);
  168. }
  169. }
  170. this.n();
  171. }
  172.  
  173. public abstract boolean h();
  174.  
  175. public abstract ahk i();
  176.  
  177. public abstract rd j();
  178.  
  179. public abstract boolean k();
  180.  
  181. public abstract int l();
  182.  
  183. public abstract boolean m();
  184.  
  185. protected void a_(String string, int n) {
  186. this.e = string;
  187. this.f = n;
  188. i.info(string + ": " + n + "%");
  189. }
  190.  
  191. protected void n() {
  192. this.e = null;
  193. this.f = 0;
  194. }
  195.  
  196. protected void a(boolean bl2) {
  197. if (this.M) {
  198. return;
  199. }
  200. for (mt mt2 : this.c) {
  201. if (mt2 == null) continue;
  202. if (!bl2) {
  203. i.info("Saving chunks for level '" + mt2.N().k() + "'/" + mt2.t.l());
  204. }
  205. try {
  206. mt2.a(true, null);
  207. }
  208. catch (ahg ahg2) {
  209. i.warn(ahg2.getMessage());
  210. }
  211. }
  212. }
  213.  
  214. public void o() {
  215. if (this.M) {
  216. return;
  217. }
  218. i.info("Stopping server");
  219. if (this.ai() != null) {
  220. this.ai().b();
  221. }
  222. if (this.u != null) {
  223. i.info("Saving players");
  224. this.u.j();
  225. this.u.u();
  226. }
  227. if (this.c != null) {
  228. i.info("Saving worlds");
  229. this.a(false);
  230. for (int i = 0; i < this.c.length; ++i) {
  231. mt mt2 = this.c[i];
  232. mt2.n();
  233. }
  234. }
  235. if (this.l.d()) {
  236. this.l.e();
  237. }
  238. }
  239.  
  240. public String p() {
  241. return this.s;
  242. }
  243.  
  244. public void c(String string) {
  245. this.s = string;
  246. }
  247.  
  248. public boolean q() {
  249. return this.v;
  250. }
  251.  
  252. public void r() {
  253. this.v = false;
  254. }
  255.  
  256. /*
  257. * WARNING - Removed try catching itself - possible behaviour change.
  258. */
  259. @Override
  260. public void run() {
  261. try {
  262. if (this.e()) {
  263. long l = MinecraftServer.ar();
  264. long l2 = 0L;
  265. this.q.a(new fq(this.D));
  266. this.q.a(new kf("1.7.10-pre4", 5));
  267. this.a(this.q);
  268. while (this.v) {
  269. long l3 = MinecraftServer.ar();
  270. long l4 = l3 - l;
  271. if (l4 > 2000L && l - this.P >= 15000L) {
  272. i.warn("Can't keep up! Did the system time change, or is the server overloaded? Running {}ms behind, skipping {} tick(s)", l4, l4 / 50L);
  273. l4 = 2000L;
  274. this.P = l;
  275. }
  276. if (l4 < 0L) {
  277. i.warn("Time ran backwards! Did the system time change?");
  278. l4 = 0L;
  279. }
  280. l2 += l4;
  281. l = l3;
  282. if (this.c[0].e()) {
  283. this.u();
  284. l2 = 0L;
  285. } else {
  286. while (l2 > 50L) {
  287. l2 -= 50L;
  288. this.u();
  289. }
  290. }
  291. Thread.sleep(Math.max(1L, 50L - l2));
  292. this.O = true;
  293. }
  294. } else {
  295. this.a((b)null);
  296. }
  297. }
  298. catch (Throwable throwable) {
  299. i.error("Encountered an unexpected exception", throwable);
  300. b b2 = null;
  301. b2 = throwable instanceof s ? this.b(((s)throwable).a()) : this.b(new b("Exception in server tick loop", throwable));
  302. File file = new File(new File(this.s(), "crash-reports"), "crash-" + new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss").format(new Date()) + "-server.txt");
  303. if (b2.a(file)) {
  304. i.error("This crash report has been saved to: " + file.getAbsolutePath());
  305. } else {
  306. i.error("We were unable to save this crash report to disk.");
  307. }
  308. this.a(b2);
  309. }
  310. finally {
  311. try {
  312. this.o();
  313. this.w = true;
  314. }
  315. catch (Throwable throwable) {
  316. i.error("Exception stopping the server", throwable);
  317. }
  318. finally {
  319. this.t();
  320. }
  321. }
  322. }
  323.  
  324. /*
  325. * WARNING - Removed try catching itself - possible behaviour change.
  326. */
  327. private void a(kb kb2) {
  328. File file = this.d("server-icon.png");
  329. if (file.isFile()) {
  330. ByteBuf byteBuf = Unpooled.buffer();
  331. try {
  332. BufferedImage bufferedImage = ImageIO.read(file);
  333. Validate.validState(bufferedImage.getWidth() == 64, "Must be 64 pixels wide", new Object[0]);
  334. Validate.validState(bufferedImage.getHeight() == 64, "Must be 64 pixels high", new Object[0]);
  335. ImageIO.write((RenderedImage)bufferedImage, "PNG", new ByteBufOutputStream(byteBuf));
  336. ByteBuf byteBuf2 = Base64.encode(byteBuf);
  337. kb2.a("data:image/png;base64," + byteBuf2.toString(Charsets.UTF_8));
  338. }
  339. catch (Exception exception) {
  340. i.error("Couldn't load server icon", (Throwable)exception);
  341. }
  342. finally {
  343. byteBuf.release();
  344. }
  345. }
  346. }
  347.  
  348. protected File s() {
  349. return new File(".");
  350. }
  351.  
  352. protected void a(b b2) {
  353. }
  354.  
  355. protected void t() {
  356. }
  357.  
  358. protected void u() {
  359. long l = System.nanoTime();
  360. ++this.x;
  361. if (this.R) {
  362. this.R = false;
  363. this.b.a = true;
  364. this.b.a();
  365. }
  366. this.b.a("root");
  367. this.v();
  368. if (l - this.V >= 5000000000L) {
  369. this.V = l;
  370. this.q.a(new kc(this.D(), this.C()));
  371. GameProfile[] gameProfileArray = new GameProfile[Math.min(this.C(), 12)];
  372. int n = qh.a(this.r, 0, this.C() - gameProfileArray.length);
  373. for (int i = 0; i < gameProfileArray.length; ++i) {
  374. gameProfileArray[i] = ((mw)this.u.e.get(n + i)).bJ();
  375. }
  376. Collections.shuffle(Arrays.asList(gameProfileArray));
  377. this.q.b().a(gameProfileArray);
  378. }
  379. if (this.x % 900 == 0) {
  380. this.b.a("save");
  381. this.u.j();
  382. this.a(true);
  383. this.b.b();
  384. }
  385. this.b.a("tallying");
  386. this.g[this.x % 100] = System.nanoTime() - l;
  387. this.b.b();
  388. this.b.a("snooper");
  389. if (!this.l.d() && this.x > 100) {
  390. this.l.a();
  391. }
  392. if (this.x % 6000 == 0) {
  393. this.l.b();
  394. }
  395. this.b.b();
  396. this.b.b();
  397. }
  398.  
  399. public void v() {
  400. int n;
  401. this.b.a("levels");
  402. for (n = 0; n < this.c.length; ++n) {
  403. long l = System.nanoTime();
  404. if (n == 0 || this.w()) {
  405. mt mt2 = this.c[n];
  406. this.b.a(mt2.N().k());
  407. this.b.a("pools");
  408. this.b.b();
  409. if (this.x % 20 == 0) {
  410. this.b.a("timeSync");
  411. this.u.a(new ih(mt2.I(), mt2.J(), mt2.O().b("doDaylightCycle")), mt2.t.i);
  412. this.b.b();
  413. }
  414. this.b.a("tick");
  415. try {
  416. mt2.b();
  417. }
  418. catch (Throwable throwable) {
  419. b b2 = b.a(throwable, "Exception ticking world");
  420. mt2.a(b2);
  421. throw new s(b2);
  422. }
  423. try {
  424. mt2.h();
  425. }
  426. catch (Throwable throwable) {
  427. b b3 = b.a(throwable, "Exception ticking world entities");
  428. mt2.a(b3);
  429. throw new s(b3);
  430. }
  431. this.b.b();
  432. this.b.a("tracker");
  433. mt2.r().a();
  434. this.b.b();
  435. this.b.b();
  436. }
  437. this.h[n][this.x % 100] = System.nanoTime() - l;
  438. }
  439. this.b.c("connection");
  440. this.ai().c();
  441. this.b.c("players");
  442. this.u.e();
  443. this.b.c("tickables");
  444. for (n = 0; n < this.n.size(); ++n) {
  445. ((lr)this.n.get(n)).a();
  446. }
  447. this.b.b();
  448. }
  449.  
  450. public boolean w() {
  451. return true;
  452. }
  453.  
  454. public void a(lr lr2) {
  455. this.n.add(lr2);
  456. }
  457.  
  458. public static void main(String[] stringArray) {
  459. kl.b();
  460. try {
  461. boolean bl2 = true;
  462. String string = null;
  463. String string2 = ".";
  464. String string3 = null;
  465. boolean bl3 = false;
  466. boolean bl4 = false;
  467. int n = -1;
  468. for (int i = 0; i < stringArray.length; ++i) {
  469. String string4 = stringArray[i];
  470. String string5 = i == stringArray.length - 1 ? null : stringArray[i + 1];
  471. boolean bl5 = false;
  472. if (string4.equals("nogui") || string4.equals("--nogui")) {
  473. bl2 = false;
  474. } else if (string4.equals("--port") && string5 != null) {
  475. bl5 = true;
  476. try {
  477. n = Integer.parseInt(string5);
  478. }
  479. catch (NumberFormatException numberFormatException) {}
  480. } else if (string4.equals("--singleplayer") && string5 != null) {
  481. bl5 = true;
  482. string = string5;
  483. } else if (string4.equals("--universe") && string5 != null) {
  484. bl5 = true;
  485. string2 = string5;
  486. } else if (string4.equals("--world") && string5 != null) {
  487. bl5 = true;
  488. string3 = string5;
  489. } else if (string4.equals("--demo")) {
  490. bl3 = true;
  491. } else if (string4.equals("--bonusChest")) {
  492. bl4 = true;
  493. }
  494. if (!bl5) continue;
  495. ++i;
  496. }
  497. lt lt2 = new lt(new File(string2));
  498. if (string != null) {
  499. lt2.j(string);
  500. }
  501. if (string3 != null) {
  502. lt2.k(string3);
  503. }
  504. if (n >= 0) {
  505. lt2.b(n);
  506. }
  507. if (bl3) {
  508. lt2.b(true);
  509. }
  510. if (bl4) {
  511. lt2.c(true);
  512. }
  513. if (bl2 && !GraphicsEnvironment.isHeadless()) {
  514. lt2.aD();
  515. }
  516. lt2.x();
  517. Runtime.getRuntime().addShutdownHook(new li("Server Shutdown Thread", lt2));
  518. }
  519. catch (Exception exception) {
  520. i.fatal("Failed to start the minecraft server", (Throwable)exception);
  521. }
  522. }
  523.  
  524. public void x() {
  525. new lj(this, "Server thread").start();
  526. }
  527.  
  528. public File d(String string) {
  529. return new File(this.s(), string);
  530. }
  531.  
  532. public void e(String string) {
  533. i.info(string);
  534. }
  535.  
  536. public void f(String string) {
  537. i.warn(string);
  538. }
  539.  
  540. public mt a(int n) {
  541. if (n == -1) {
  542. return this.c[1];
  543. }
  544. if (n == 1) {
  545. return this.c[2];
  546. }
  547. return this.c[0];
  548. }
  549.  
  550. public String y() {
  551. return this.s;
  552. }
  553.  
  554. public int z() {
  555. return this.t;
  556. }
  557.  
  558. public String A() {
  559. return this.D;
  560. }
  561.  
  562. public String B() {
  563. return "1.7.10-pre4";
  564. }
  565.  
  566. public int C() {
  567. return this.u.o();
  568. }
  569.  
  570. public int D() {
  571. return this.u.p();
  572. }
  573.  
  574. public String[] E() {
  575. return this.u.f();
  576. }
  577.  
  578. public GameProfile[] F() {
  579. return this.u.g();
  580. }
  581.  
  582. public String G() {
  583. return "";
  584. }
  585.  
  586. public String g(String string) {
  587. ov.a.e();
  588. this.o.a(ov.a, string);
  589. return ov.a.f();
  590. }
  591.  
  592. public boolean H() {
  593. return false;
  594. }
  595.  
  596. public void h(String string) {
  597. i.error(string);
  598. }
  599.  
  600. public void i(String string) {
  601. if (this.H()) {
  602. i.info(string);
  603. }
  604. }
  605.  
  606. public String getServerModName() {
  607. return "vanilla";
  608. }
  609.  
  610. public b b(b b2) {
  611. b2.g().a("Profiler Position", new lk(this));
  612. if (this.c != null && this.c.length > 0 && this.c[0] != null) {
  613. b2.g().a("Vec3 Pool Size", new ll(this));
  614. }
  615. if (this.u != null) {
  616. b2.g().a("Player Count", new lm(this));
  617. }
  618. return b2;
  619. }
  620.  
  621. public List a(ac ac2, String string) {
  622. ArrayList<String> arrayList = new ArrayList<String>();
  623. if (string.startsWith("/")) {
  624. boolean bl2 = !(string = string.substring(1)).contains(" ");
  625. List list = this.o.b(ac2, string);
  626. if (list != null) {
  627. for (String string2 : list) {
  628. if (bl2) {
  629. arrayList.add("/" + string2);
  630. continue;
  631. }
  632. arrayList.add(string2);
  633. }
  634. }
  635. return arrayList;
  636. }
  637. String[] stringArray = string.split(" ", -1);
  638. String string3 = stringArray[stringArray.length - 1];
  639. for (String string4 : this.u.f()) {
  640. if (!y.a(string3, string4)) continue;
  641. arrayList.add(string4);
  642. }
  643. return arrayList;
  644. }
  645.  
  646. public static MinecraftServer I() {
  647. return j;
  648. }
  649.  
  650. @Override
  651. public String b_() {
  652. return "Server";
  653. }
  654.  
  655. @Override
  656. public void a(fj fj2) {
  657. i.info(fj2.c());
  658. }
  659.  
  660. @Override
  661. public boolean a(int n, String string) {
  662. return true;
  663. }
  664.  
  665. public ab J() {
  666. return this.o;
  667. }
  668.  
  669. public KeyPair K() {
  670. return this.G;
  671. }
  672.  
  673. public int L() {
  674. return this.t;
  675. }
  676.  
  677. public void b(int n) {
  678. this.t = n;
  679. }
  680.  
  681. public String M() {
  682. return this.H;
  683. }
  684.  
  685. public void j(String string) {
  686. this.H = string;
  687. }
  688.  
  689. public boolean N() {
  690. return this.H != null;
  691. }
  692.  
  693. public String O() {
  694. return this.I;
  695. }
  696.  
  697. public void k(String string) {
  698. this.I = string;
  699. }
  700.  
  701. public void a(KeyPair keyPair) {
  702. this.G = keyPair;
  703. }
  704.  
  705. public void a(rd rd2) {
  706. for (int i = 0; i < this.c.length; ++i) {
  707. mt mt2 = this.c[i];
  708. if (mt2 == null) continue;
  709. if (mt2.N().t()) {
  710. mt2.r = rd.d;
  711. mt2.a(true, true);
  712. continue;
  713. }
  714. if (this.N()) {
  715. mt2.r = rd2;
  716. mt2.a(mt2.r != rd.a, true);
  717. continue;
  718. }
  719. mt2.r = rd2;
  720. mt2.a(this.Q(), this.z);
  721. }
  722. }
  723.  
  724. protected boolean Q() {
  725. return true;
  726. }
  727.  
  728. public boolean R() {
  729. return this.K;
  730. }
  731.  
  732. public void b(boolean bl2) {
  733. this.K = bl2;
  734. }
  735.  
  736. public void c(boolean bl2) {
  737. this.L = bl2;
  738. }
  739.  
  740. public aze S() {
  741. return this.k;
  742. }
  743.  
  744. public void U() {
  745. this.M = true;
  746. this.S().d();
  747. for (int i = 0; i < this.c.length; ++i) {
  748. mt mt2 = this.c[i];
  749. if (mt2 == null) continue;
  750. mt2.n();
  751. }
  752. this.S().e(this.c[0].M().g());
  753. this.r();
  754. }
  755.  
  756. public String V() {
  757. return this.N;
  758. }
  759.  
  760. public void m(String string) {
  761. this.N = string;
  762. }
  763.  
  764. @Override
  765. public void a(ri ri2) {
  766. ri2.a("whitelist_enabled", false);
  767. ri2.a("whitelist_count", 0);
  768. ri2.a("players_current", this.C());
  769. ri2.a("players_max", this.D());
  770. ri2.a("players_seen", this.u.q().length);
  771. ri2.a("uses_auth", this.y);
  772. ri2.a("gui_state", this.ak() ? "enabled" : "disabled");
  773. ri2.a("run_time", (MinecraftServer.ar() - ri2.g()) / 60L * 1000L);
  774. ri2.a("avg_tick_ms", (int)(qh.a(this.g) * 1.0E-6));
  775. int n = 0;
  776. for (int i = 0; i < this.c.length; ++i) {
  777. if (this.c[i] == null) continue;
  778. mt mt2 = this.c[i];
  779. ays ays2 = mt2.N();
  780. ri2.a("world[" + n + "][dimension]", mt2.t.i);
  781. ri2.a("world[" + n + "][mode]", (Object)ays2.r());
  782. ri2.a("world[" + n + "][difficulty]", (Object)mt2.r);
  783. ri2.a("world[" + n + "][hardcore]", ays2.t());
  784. ri2.a("world[" + n + "][generator_name]", ays2.u().a());
  785. ri2.a("world[" + n + "][generator_version]", ays2.u().d());
  786. ri2.a("world[" + n + "][height]", this.E);
  787. ri2.a("world[" + n + "][chunks_loaded]", mt2.L().g());
  788. ++n;
  789. }
  790. ri2.a("worlds", n);
  791. }
  792.  
  793. @Override
  794. public void b(ri ri2) {
  795. ri2.b("singleplayer", this.N());
  796. ri2.b("server_brand", this.getServerModName());
  797. ri2.b("gui_supported", GraphicsEnvironment.isHeadless() ? "headless" : "supported");
  798. ri2.b("dedicated", this.X());
  799. }
  800.  
  801. @Override
  802. public boolean W() {
  803. return true;
  804. }
  805.  
  806. public abstract boolean X();
  807.  
  808. public boolean Y() {
  809. return this.y;
  810. }
  811.  
  812. public void d(boolean bl2) {
  813. this.y = bl2;
  814. }
  815.  
  816. public boolean Z() {
  817. return this.z;
  818. }
  819.  
  820. public void e(boolean bl2) {
  821. this.z = bl2;
  822. }
  823.  
  824. public boolean aa() {
  825. return this.A;
  826. }
  827.  
  828. public void f(boolean bl2) {
  829. this.A = bl2;
  830. }
  831.  
  832. public boolean ab() {
  833. return this.B;
  834. }
  835.  
  836. public void g(boolean bl2) {
  837. this.B = bl2;
  838. }
  839.  
  840. public boolean ac() {
  841. return this.C;
  842. }
  843.  
  844. public void h(boolean bl2) {
  845. this.C = bl2;
  846. }
  847.  
  848. public abstract boolean ad();
  849.  
  850. public String ae() {
  851. return this.D;
  852. }
  853.  
  854. public void n(String string) {
  855. this.D = string;
  856. }
  857.  
  858. public int af() {
  859. return this.E;
  860. }
  861.  
  862. public void c(int n) {
  863. this.E = n;
  864. }
  865.  
  866. public boolean ag() {
  867. return this.w;
  868. }
  869.  
  870. public oi ah() {
  871. return this.u;
  872. }
  873.  
  874. public void a(oi oi2) {
  875. this.u = oi2;
  876. }
  877.  
  878. public void a(ahk ahk2) {
  879. for (int i = 0; i < this.c.length; ++i) {
  880. MinecraftServer.I().c[i].N().a(ahk2);
  881. }
  882. }
  883.  
  884. public nc ai() {
  885. return this.p;
  886. }
  887.  
  888. public boolean ak() {
  889. return false;
  890. }
  891.  
  892. public abstract String a(ahk var1, boolean var2);
  893.  
  894. public int al() {
  895. return this.x;
  896. }
  897.  
  898. public void am() {
  899. this.R = true;
  900. }
  901.  
  902. @Override
  903. public r f_() {
  904. return new r(0, 0, 0);
  905. }
  906.  
  907. @Override
  908. public ahb d() {
  909. return this.c[0];
  910. }
  911.  
  912. public int ao() {
  913. return 16;
  914. }
  915.  
  916. public boolean a(ahb ahb2, int n, int n2, int n3, yz yz2) {
  917. return false;
  918. }
  919.  
  920. public void i(boolean bl2) {
  921. this.S = bl2;
  922. }
  923.  
  924. public boolean ap() {
  925. return this.S;
  926. }
  927.  
  928. public Proxy aq() {
  929. return this.d;
  930. }
  931.  
  932. public static long ar() {
  933. return System.currentTimeMillis();
  934. }
  935.  
  936. public int as() {
  937. return this.F;
  938. }
  939.  
  940. public void d(int n) {
  941. this.F = n;
  942. }
  943.  
  944. @Override
  945. public fj c_() {
  946. return new fq(this.b_());
  947. }
  948.  
  949. public boolean at() {
  950. return true;
  951. }
  952.  
  953. public MinecraftSessionService av() {
  954. return this.U;
  955. }
  956.  
  957. public GameProfileRepository aw() {
  958. return this.W;
  959. }
  960.  
  961. public ns ax() {
  962. return this.X;
  963. }
  964.  
  965. public kb ay() {
  966. return this.q;
  967. }
  968.  
  969. public void az() {
  970. this.V = 0L;
  971. }
  972.  
  973. public static /* synthetic */ Logger aA() {
  974. return i;
  975. }
  976.  
  977. public static /* synthetic */ oi a(MinecraftServer minecraftServer) {
  978. return minecraftServer.u;
  979. }
  980. }
  981.  
Add Comment
Please, Sign In to add comment