1.16.4 Initial Update

This commit is contained in:
LexManos 2020-11-02 09:00:53 -08:00
parent 7d00d015f3
commit f54998a6b7
25 changed files with 204 additions and 202 deletions

View File

@ -54,8 +54,8 @@ ext {
}
MAPPING_CHANNEL = 'snapshot'
MAPPING_VERSION = '20201028-1.16.3'
MC_VERSION = '1.16.3'
MCP_VERSION = '20201025.185957'
MC_VERSION = '1.16.4'
MCP_VERSION = '20201102.104115'
}
project(':mcp') {
@ -197,7 +197,7 @@ project(':forge') {
}
ext {
SPEC_VERSION = '34.1' // This is overwritten by git tag, but here so dev time doesnt explode
SPEC_VERSION = '35.0' // This is overwritten by git tag, but here so dev time doesnt explode
// The new versioning sceme is <MCVersion>-<ForgeMC>.<RB>.<CommitsSinceRB>
// ForgeMC is a unique identifier for every MC version we have supported.
// Essentially, the same as the old, except dropping the first number, and the builds are no longer unique.

View File

@ -1,6 +1,6 @@
--- a/com/mojang/blaze3d/platform/GlStateManager.java
+++ b/com/mojang/blaze3d/platform/GlStateManager.java
@@ -556,10 +556,17 @@
@@ -572,10 +572,17 @@
GL13.glClientActiveTexture(p_227747_0_);
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/GameSettings.java
+++ b/net/minecraft/client/GameSettings.java
@@ -167,6 +167,7 @@
@@ -170,6 +170,7 @@
public boolean field_241568_aS_;
public GameSettings(Minecraft p_i46326_1_, File p_i46326_2_) {
@ -8,7 +8,7 @@
this.field_74317_L = p_i46326_1_;
this.field_74354_ai = new File(p_i46326_2_, "options.txt");
if (p_i46326_1_.func_147111_S() && Runtime.getRuntime().maxMemory() >= 1000000000L) {
@@ -518,7 +519,11 @@
@@ -529,7 +530,11 @@
for(KeyBinding keybinding : this.field_74324_K) {
if (s.equals("key_" + keybinding.func_151464_g())) {
@ -21,7 +21,7 @@
}
}
@@ -565,6 +570,7 @@
@@ -576,6 +581,7 @@
}
public void func_74303_b() {
@ -29,7 +29,7 @@
try (PrintWriter printwriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(this.field_74354_ai), StandardCharsets.UTF_8))) {
printwriter.println("version:" + SharedConstants.func_215069_a().getWorldVersion());
printwriter.println("autoJump:" + AbstractOption.field_216719_z.func_216741_b(this));
@@ -648,7 +654,7 @@
@@ -661,7 +667,7 @@
printwriter.println("syncChunkWrites:" + this.field_241568_aS_);
for(KeyBinding keybinding : this.field_74324_K) {
@ -38,7 +38,7 @@
}
for(SoundCategory soundcategory : SoundCategory.values()) {
@@ -747,6 +753,23 @@
@@ -760,6 +766,23 @@
p_198017_1_.func_198985_a(set);
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/Minecraft.java
+++ b/net/minecraft/client/Minecraft.java
@@ -357,6 +357,7 @@
@@ -368,6 +368,7 @@
public Minecraft(GameConfiguration p_i45547_1_) {
super("Client");
field_71432_P = this;
@ -8,15 +8,15 @@
this.field_71412_D = p_i45547_1_.field_178744_c.field_178760_a;
File file1 = p_i45547_1_.field_178744_c.field_178759_c;
this.field_130070_K = p_i45547_1_.field_178744_c.field_178758_b;
@@ -369,7 +370,6 @@
this.field_152355_az = (new YggdrasilAuthenticationService(this.field_110453_aa, UUID.randomUUID().toString())).createMinecraftSessionService();
@@ -382,7 +383,6 @@
this.field_244734_au = this.func_244735_a(yggdrasilauthenticationservice, p_i45547_1_);
this.field_71449_j = p_i45547_1_.field_178745_a.field_178752_a;
field_147123_G.info("Setting user: {}", (Object)this.field_71449_j.func_111285_a());
- field_147123_G.debug("(Session ID is {})", (Object)this.field_71449_j.func_111286_b());
this.field_71459_aj = p_i45547_1_.field_178741_d.field_178756_a;
this.field_238175_ae_ = !p_i45547_1_.field_178741_d.field_239099_d_;
this.field_238176_af_ = !p_i45547_1_.field_178741_d.field_239100_e_;
@@ -415,13 +415,13 @@
@@ -428,13 +428,13 @@
this.field_195558_d.func_216526_a(this.field_71474_y.field_74350_i);
this.field_71417_B = new MouseHelper(this);
@ -31,7 +31,7 @@
this.field_110448_aq.func_198983_a();
this.field_71474_y.func_198017_a(this.field_110448_aq);
this.field_135017_as = new LanguageManager(this.field_71474_y.field_74363_ab);
@@ -462,6 +462,7 @@
@@ -476,6 +476,7 @@
this.func_193986_ar();
this.field_110451_am.func_219534_a(this.field_193995_ae);
this.field_71452_i = new ParticleManager(this.field_71441_e, this.field_71446_o);
@ -39,7 +39,7 @@
this.field_110451_am.func_219534_a(this.field_71452_i);
this.field_213272_aL = new PaintingSpriteUploader(this.field_71446_o);
this.field_110451_am.func_219534_a(this.field_213272_aL);
@@ -469,7 +470,8 @@
@@ -483,7 +484,8 @@
this.field_110451_am.func_219534_a(this.field_213273_aM);
this.field_241557_ar_ = new GPUWarning();
this.field_110451_am.func_219534_a(this.field_241557_ar_);
@ -49,7 +49,7 @@
this.field_184132_p = new DebugRenderer(this);
RenderSystem.setErrorCallback(this::func_195545_a);
if (this.field_71474_y.field_74353_u && !this.field_195558_d.func_198113_j()) {
@@ -481,11 +483,6 @@
@@ -495,11 +497,6 @@
this.field_195558_d.func_224798_d(this.field_71474_y.field_225307_E);
this.field_195558_d.func_227801_c_();
this.func_213226_a();
@ -61,7 +61,7 @@
ResourceLoadProgressGui.func_212970_a(this);
List<IResourcePack> list = this.field_110448_aq.func_232623_f_();
@@ -494,7 +491,14 @@
@@ -508,7 +505,14 @@
if (SharedConstants.field_206244_b) {
this.func_213256_aB();
}
@ -77,7 +77,7 @@
});
}, false));
}
@@ -533,7 +537,7 @@
@@ -556,7 +560,7 @@
}
private void func_229988_a_(Throwable p_229988_1_) {
@ -86,7 +86,7 @@
ITextComponent itextcomponent;
if (p_229988_1_ instanceof SimpleReloadableResourceManager.FailedPackException) {
itextcomponent = new StringTextComponent(((SimpleReloadableResourceManager.FailedPackException)p_229988_1_).func_241203_a().func_195762_a());
@@ -621,7 +625,7 @@
@@ -644,7 +648,7 @@
return Stream.of(Registry.field_212630_s.func_177774_c(p_213251_0_.func_77973_b()));
});
SearchTreeReloadable<ItemStack> searchtreereloadable = new SearchTreeReloadable<>((p_213235_0_) -> {
@ -95,7 +95,7 @@
});
NonNullList<ItemStack> nonnulllist = NonNullList.func_191196_a();
@@ -691,13 +695,13 @@
@@ -714,13 +718,13 @@
Bootstrap.func_179870_a(p_71377_0_.func_71502_e());
if (p_71377_0_.func_71497_f() != null) {
Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_0_.func_71497_f());
@ -112,7 +112,7 @@
}
}
@@ -706,6 +710,7 @@
@@ -729,6 +733,7 @@
return this.field_71474_y.field_211842_aO;
}
@ -120,7 +120,7 @@
public CompletableFuture<Void> func_213237_g() {
if (this.field_213276_aV != null) {
return this.field_213276_aV;
@@ -794,10 +799,6 @@
@@ -817,10 +822,6 @@
}
public void func_147108_a(@Nullable Screen p_147108_1_) {
@ -131,7 +131,7 @@
if (p_147108_1_ == null && this.field_71441_e == null) {
p_147108_1_ = new MainMenuScreen();
} else if (p_147108_1_ == null && this.field_71439_g.func_233643_dh_()) {
@@ -808,6 +809,14 @@
@@ -831,6 +832,14 @@
}
}
@ -146,7 +146,7 @@
if (p_147108_1_ instanceof MainMenuScreen || p_147108_1_ instanceof MultiplayerScreen) {
this.field_71474_y.field_74330_P = false;
this.field_71456_v.func_146158_b().func_146231_a(true);
@@ -939,11 +948,13 @@
@@ -962,11 +971,13 @@
RenderSystem.enableCull();
this.field_71424_I.func_76319_b();
if (!this.field_71454_w) {
@ -160,7 +160,7 @@
}
if (this.field_238174_aV_ != null) {
@@ -1042,6 +1053,7 @@
@@ -1065,6 +1076,7 @@
Framebuffer framebuffer = this.func_147110_a();
framebuffer.func_216491_a(this.field_195558_d.func_198109_k(), this.field_195558_d.func_198091_l(), field_142025_a);
@ -168,7 +168,7 @@
this.field_71460_t.func_147704_a(this.field_195558_d.func_198109_k(), this.field_195558_d.func_198091_l());
this.field_71417_B.func_198021_g();
}
@@ -1230,11 +1242,21 @@
@@ -1253,11 +1265,21 @@
if (p_147115_1_ && this.field_71476_x != null && this.field_71476_x.func_216346_c() == RayTraceResult.Type.BLOCK) {
BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x;
BlockPos blockpos = blockraytraceresult.func_216350_a();
@ -192,7 +192,7 @@
}
}
@@ -1253,6 +1275,8 @@
@@ -1276,6 +1298,8 @@
}
} else if (!this.field_71439_g.func_184838_M()) {
@ -201,7 +201,7 @@
switch(this.field_71476_x.func_216346_c()) {
case ENTITY:
this.field_71442_b.func_78764_a(this.field_71439_g, ((EntityRayTraceResult)this.field_71476_x).func_216348_a());
@@ -1260,7 +1284,7 @@
@@ -1283,7 +1307,7 @@
case BLOCK:
BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x;
BlockPos blockpos = blockraytraceresult.func_216350_a();
@ -210,7 +210,7 @@
this.field_71442_b.func_180511_b(blockpos, blockraytraceresult.func_216354_b());
break;
}
@@ -1270,8 +1294,10 @@
@@ -1293,8 +1317,10 @@
}
this.field_71439_g.func_184821_cY();
@ -221,7 +221,7 @@
this.field_71439_g.func_184609_a(Hand.MAIN_HAND);
}
}
@@ -1286,6 +1312,11 @@
@@ -1309,6 +1335,11 @@
}
for(Hand hand : Hand.values()) {
@ -233,7 +233,7 @@
ItemStack itemstack = this.field_71439_g.func_184586_b(hand);
if (this.field_71476_x != null) {
switch(this.field_71476_x.func_216346_c()) {
@@ -1299,6 +1330,7 @@
@@ -1322,6 +1353,7 @@
if (actionresulttype.func_226246_a_()) {
if (actionresulttype.func_226247_b_()) {
@ -241,7 +241,7 @@
this.field_71439_g.func_184609_a(hand);
}
@@ -1311,6 +1343,7 @@
@@ -1334,6 +1366,7 @@
ActionResultType actionresulttype1 = this.field_71442_b.func_217292_a(this.field_71439_g, this.field_71441_e, hand, blockraytraceresult);
if (actionresulttype1.func_226246_a_()) {
if (actionresulttype1.func_226247_b_()) {
@ -249,7 +249,7 @@
this.field_71439_g.func_184609_a(hand);
if (!itemstack.func_190926_b() && (itemstack.func_190916_E() != i || this.field_71442_b.func_78758_h())) {
this.field_71460_t.field_78516_c.func_187460_a(hand);
@@ -1326,6 +1359,9 @@
@@ -1349,6 +1382,9 @@
}
}
@ -259,7 +259,7 @@
if (!itemstack.func_190926_b()) {
ActionResultType actionresulttype2 = this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, hand);
if (actionresulttype2.func_226246_a_()) {
@@ -1352,6 +1388,8 @@
@@ -1375,6 +1411,8 @@
--this.field_71467_ac;
}
@ -268,7 +268,7 @@
this.field_71424_I.func_76320_a("gui");
if (!this.field_71445_n) {
this.field_71456_v.func_73831_a();
@@ -1468,6 +1506,8 @@
@@ -1500,6 +1538,8 @@
this.field_71424_I.func_219895_b("keyboard");
this.field_195559_v.func_204870_b();
this.field_71424_I.func_76319_b();
@ -276,8 +276,8 @@
+ net.minecraftforge.fml.hooks.BasicEventHooks.onPostClientTick();
}
private void func_184117_aA() {
@@ -1697,7 +1737,12 @@
private boolean func_244600_aM() {
@@ -1747,7 +1787,12 @@
networkmanager.func_150719_a(new ClientLoginNetHandler(networkmanager, this, (Screen)null, (p_229998_0_) -> {
}));
networkmanager.func_179290_a(new CHandshakePacket(socketaddress.toString(), 0, ProtocolType.LOGIN));
@ -291,7 +291,7 @@
this.field_71453_ak = networkmanager;
} else {
this.func_241559_a_(p_238195_6_, p_238195_1_, flag, () -> {
@@ -1771,6 +1816,7 @@
@@ -1821,6 +1866,7 @@
}
public void func_71403_a(ClientWorld p_71403_1_) {
@ -299,7 +299,7 @@
WorkingScreen workingscreen = new WorkingScreen();
workingscreen.func_200210_a(new TranslationTextComponent("connect.joining"));
this.func_213241_c(workingscreen);
@@ -1802,10 +1848,12 @@
@@ -1852,10 +1898,12 @@
IntegratedServer integratedserver = this.field_71437_Z;
this.field_71437_Z = null;
this.field_71460_t.func_190564_k();
@ -312,7 +312,7 @@
if (integratedserver != null) {
this.field_71424_I.func_76320_a("waitForServer");
@@ -1820,6 +1868,7 @@
@@ -1870,6 +1918,7 @@
this.field_71456_v.func_181029_i();
this.field_71422_O = null;
this.field_71455_al = false;
@ -320,7 +320,7 @@
this.field_213274_aO.func_216815_b();
}
@@ -1850,6 +1899,7 @@
@@ -1900,6 +1949,7 @@
this.field_71452_i.func_78870_a(p_213257_1_);
TileEntityRendererDispatcher.field_147556_a.func_147543_a(p_213257_1_);
this.func_230150_b_();
@ -328,7 +328,7 @@
}
public boolean func_238216_r_() {
@@ -1895,112 +1945,9 @@
@@ -1945,112 +1995,9 @@
private void func_147112_ai() {
if (this.field_71476_x != null && this.field_71476_x.func_216346_c() != RayTraceResult.Type.MISS) {
@ -444,7 +444,7 @@
}
}
@@ -2090,6 +2037,7 @@
@@ -2140,6 +2087,7 @@
return field_71432_P;
}
@ -452,7 +452,7 @@
public CompletableFuture<Void> func_213245_w() {
return this.func_213169_a(this::func_213237_g).thenCompose((p_229993_0_) -> {
return p_229993_0_;
@@ -2397,7 +2345,7 @@
@@ -2451,7 +2399,7 @@
supplier = func_228022_c_(supplier);
}
@ -461,7 +461,7 @@
}
private static Supplier<IResourcePack> func_228021_b_(Supplier<IResourcePack> p_228021_0_) {
@@ -2416,6 +2364,14 @@
@@ -2470,6 +2418,14 @@
this.field_175617_aL.func_229355_a_(p_228020_1_);
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/gui/IngameGui.java
+++ b/net/minecraft/client/gui/IngameGui.java
@@ -78,7 +78,7 @@
@@ -79,7 +79,7 @@
protected static final ResourceLocation field_110329_b = new ResourceLocation("textures/misc/vignette.png");
protected static final ResourceLocation field_110330_c = new ResourceLocation("textures/gui/widgets.png");
protected static final ResourceLocation field_110328_d = new ResourceLocation("textures/misc/pumpkinblur.png");
@ -9,7 +9,7 @@
protected final Random field_73842_c = new Random();
protected final Minecraft field_73839_d;
protected final ItemRenderer field_73841_b;
@@ -414,6 +414,9 @@
@@ -415,6 +415,9 @@
for(EffectInstance effectinstance : Ordering.natural().reverse().sortedCopy(collection)) {
Effect effect = effectinstance.func_188419_a();
@ -19,7 +19,7 @@
if (effectinstance.func_205348_f()) {
int k = this.field_194811_H;
int l = 1;
@@ -451,6 +454,7 @@
@@ -452,6 +455,7 @@
RenderSystem.color4f(1.0F, 1.0F, 1.0F, f1);
func_238470_a_(p_238444_1_, j1 + 3, k1 + 3, this.func_230927_p_(), 18, 18, textureatlassprite);
});
@ -27,7 +27,7 @@
}
}
@@ -575,7 +579,8 @@
@@ -576,7 +580,8 @@
iformattabletextcomponent.func_240699_a_(TextFormatting.ITALIC);
}
@ -37,7 +37,7 @@
int j = (this.field_194811_H - i) / 2;
int k = this.field_194812_I - 59;
if (!this.field_73839_d.field_71442_b.func_78755_b()) {
@@ -592,7 +597,13 @@
@@ -593,7 +598,13 @@
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
func_238467_a_(p_238453_1_, j - 2, k - 2, j + i + 2, k + 9 + 2, this.field_73839_d.field_71474_y.func_216839_a(0));
@ -52,7 +52,7 @@
RenderSystem.disableBlend();
RenderSystem.popMatrix();
}
@@ -1055,7 +1066,7 @@
@@ -1056,7 +1067,7 @@
ItemStack itemstack = this.field_73839_d.field_71439_g.field_71071_by.func_70448_g();
if (itemstack.func_190926_b()) {
this.field_92017_k = 0;

View File

@ -9,7 +9,7 @@
this.field_193018_j.add(new RecipeTabToggleWidget(recipebookcategories));
}
@@ -433,7 +433,7 @@
@@ -434,7 +434,7 @@
languagemanager.func_135045_a(language);
this.field_191888_F.field_71474_y.field_74363_ab = language.getCode();

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/gui/screen/LanguageScreen.java
+++ b/net/minecraft/client/gui/screen/LanguageScreen.java
@@ -45,7 +45,7 @@
@@ -46,7 +46,7 @@
if (languagescreen$list$languageentry != null && !languagescreen$list$languageentry.field_214398_b.getCode().equals(this.field_146454_h.func_135041_c().getCode())) {
this.field_146454_h.func_135045_a(languagescreen$list$languageentry.field_214398_b);
this.field_228183_b_.field_74363_ab = languagescreen$list$languageentry.field_214398_b.getCode();

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/gui/screen/ServerSelectionList.java
+++ b/net/minecraft/client/gui/screen/ServerSelectionList.java
@@ -310,6 +310,8 @@
@@ -307,6 +307,8 @@
this.field_148303_c.func_238854_b_(list1);
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/gui/widget/list/AbstractList.java
+++ b/net/minecraft/client/gui/widget/list/AbstractList.java
@@ -471,6 +471,13 @@
@@ -492,6 +492,13 @@
p_238480_1_.field_230666_a_ = this;
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/client/network/login/ClientLoginNetHandler.java
+++ b/net/minecraft/client/network/login/ClientLoginNetHandler.java
@@ -99,6 +99,7 @@
@@ -115,6 +115,7 @@
this.field_209525_d.accept(new TranslationTextComponent("connect.joining"));
this.field_175091_e = p_147390_1_.func_179730_a();
this.field_147393_d.func_150723_a(ProtocolType.PLAY);
@ -8,7 +8,7 @@
this.field_147393_d.func_150719_a(new ClientPlayNetHandler(this.field_147394_b, this.field_147395_c, this.field_147393_d, this.field_175091_e));
}
@@ -127,6 +128,7 @@
@@ -143,6 +144,7 @@
}
public void func_209521_a(SCustomPayloadLoginPacket p_209521_1_) {

View File

@ -93,7 +93,7 @@
this.field_199725_m = itagcollectionsupplier;
if (!this.field_147302_e.func_150731_c()) {
itagcollectionsupplier.func_242212_e();
@@ -1883,10 +1899,12 @@
@@ -1885,10 +1901,12 @@
int l5 = packetbuffer.readInt();
this.field_147299_f.field_184132_p.field_229018_q_.func_229022_a_(blockpos8, l3, s10, l5);
} else {

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/entity/player/ServerPlayerEntity.java
+++ b/net/minecraft/entity/player/ServerPlayerEntity.java
@@ -471,6 +471,7 @@
@@ -475,6 +475,7 @@
}
public void func_70645_a(DamageSource p_70645_1_) {
@ -8,7 +8,7 @@
boolean flag = this.field_70170_p.func_82736_K().func_223586_b(GameRules.field_223609_l);
if (flag) {
ITextComponent itextcomponent = this.func_110142_aN().func_151521_b();
@@ -614,13 +615,14 @@
@@ -618,13 +619,14 @@
}
@Nullable
@ -26,7 +26,7 @@
if (!this.field_71136_j) {
this.field_71136_j = true;
this.field_71135_a.func_147359_a(new SChangeGameStatePacket(SChangeGameStatePacket.field_241768_e_, this.field_192040_cp ? 0.0F : 1.0F));
@@ -634,14 +636,15 @@
@@ -638,14 +640,15 @@
this.field_71135_a.func_147359_a(new SServerDifficultyPacket(iworldinfo.func_176130_y(), iworldinfo.func_176123_z()));
PlayerList playerlist = this.field_71133_b.func_184103_al();
playerlist.func_187243_f(this);
@ -46,7 +46,7 @@
this.func_242110_a(p_241206_1_, new BlockPos(portalinfo.field_222505_a));
}
@@ -653,6 +656,9 @@
@@ -657,6 +660,9 @@
this.func_225653_b_(portalinfo.field_222505_a.field_72450_a, portalinfo.field_222505_a.field_72448_b, portalinfo.field_222505_a.field_72449_c);
serverworld.func_217381_Z().func_76319_b();
this.func_213846_b(serverworld);
@ -56,7 +56,7 @@
this.field_71134_c.func_73080_a(p_241206_1_);
this.field_71135_a.func_147359_a(new SPlayerAbilitiesPacket(this.field_71075_bZ));
playerlist.func_72354_b(this, p_241206_1_);
@@ -666,6 +672,7 @@
@@ -670,6 +676,7 @@
this.field_71144_ck = -1;
this.field_71149_ch = -1.0F;
this.field_71146_ci = -1;
@ -64,7 +64,7 @@
}
return this;
@@ -739,6 +746,9 @@
@@ -743,6 +750,9 @@
}
public Either<PlayerEntity.SleepResult, Unit> func_213819_a(BlockPos p_213819_1_) {
@ -74,7 +74,7 @@
Direction direction = this.field_70170_p.func_180495_p(p_213819_1_).func_177229_b(HorizontalBlock.field_185512_D);
if (!this.func_70608_bn() && this.func_70089_S()) {
if (!this.field_70170_p.func_230315_m_().func_236043_f_()) {
@@ -749,7 +759,7 @@
@@ -753,7 +763,7 @@
return Either.left(PlayerEntity.SleepResult.OBSTRUCTED);
} else {
this.func_242111_a(this.field_70170_p.func_234923_W_(), p_213819_1_, this.field_70177_z, false, true);
@ -83,7 +83,7 @@
return Either.left(PlayerEntity.SleepResult.NOT_POSSIBLE_NOW);
} else {
if (!this.func_184812_l_()) {
@@ -783,6 +793,7 @@
@@ -787,6 +797,7 @@
}
private boolean func_241147_a_(BlockPos p_241147_1_, Direction p_241147_2_) {
@ -91,7 +91,7 @@
return this.func_241158_g_(p_241147_1_) || this.func_241158_g_(p_241147_1_.func_177972_a(p_241147_2_.func_176734_d()));
}
@@ -882,6 +893,7 @@
@@ -886,6 +897,7 @@
this.field_71135_a.func_147359_a(new SOpenWindowPacket(container.field_75152_c, container.func_216957_a(), p_213829_1_.func_145748_c_()));
container.func_75132_a(this);
this.field_71070_bA = container;
@ -99,7 +99,7 @@
return OptionalInt.of(this.field_71139_cq);
}
}
@@ -900,6 +912,7 @@
@@ -904,6 +916,7 @@
this.field_71135_a.func_147359_a(new SOpenHorseWindowPacket(this.field_71139_cq, p_184826_2_.func_70302_i_(), p_184826_1_.func_145782_y()));
this.field_71070_bA = new HorseInventoryContainer(this.field_71139_cq, this.field_71071_by, p_184826_2_, p_184826_1_);
this.field_71070_bA.func_75132_a(this);
@ -107,7 +107,7 @@
}
public void func_184814_a(ItemStack p_184814_1_, Hand p_184814_2_) {
@@ -957,6 +970,7 @@
@@ -961,6 +974,7 @@
public void func_71128_l() {
this.field_71070_bA.func_75134_a(this);
@ -115,7 +115,7 @@
this.field_71070_bA = this.field_71069_bz;
}
@@ -1081,6 +1095,13 @@
@@ -1085,6 +1099,13 @@
this.field_193110_cw = p_193104_1_.field_193110_cw;
this.func_192029_h(p_193104_1_.func_192023_dk());
this.func_192031_i(p_193104_1_.func_192025_dl());
@ -129,7 +129,7 @@
}
protected void func_70670_a(EffectInstance p_70670_1_) {
@@ -1139,6 +1160,7 @@
@@ -1143,6 +1164,7 @@
}
public void func_71033_a(GameType p_71033_1_) {
@ -137,7 +137,7 @@
this.field_71134_c.func_73076_a(p_71033_1_);
this.field_71135_a.func_147359_a(new SChangeGameStatePacket(SChangeGameStatePacket.field_241767_d_, (float)p_71033_1_.func_77148_a()));
if (p_71033_1_ == GameType.SPECTATOR) {
@@ -1187,6 +1209,7 @@
@@ -1191,6 +1213,7 @@
this.field_71140_co = p_147100_1_.func_149520_f();
this.func_184212_Q().func_187227_b(field_184827_bp, (byte)p_147100_1_.func_149521_d());
this.func_184212_Q().func_187227_b(field_184828_bq, (byte)(p_147100_1_.func_186991_f() == HandSide.LEFT ? 0 : 1));
@ -145,7 +145,7 @@
}
public ChatVisibility func_147096_v() {
@@ -1297,14 +1320,14 @@
@@ -1301,14 +1324,14 @@
this.func_184210_p();
if (p_200619_1_ == this.field_70170_p) {
this.field_71135_a.func_147364_a(p_200619_2_, p_200619_4_, p_200619_6_, p_200619_8_, p_200619_9_);
@ -163,7 +163,7 @@
this.func_70012_b(p_200619_2_, p_200619_4_, p_200619_6_, p_200619_8_, p_200619_9_);
this.func_70029_a(p_200619_1_);
p_200619_1_.func_217446_a(this);
@@ -1313,6 +1336,7 @@
@@ -1317,6 +1340,7 @@
this.field_71134_c.func_73080_a(p_200619_1_);
this.field_71133_b.func_184103_al().func_72354_b(this, p_200619_1_);
this.field_71133_b.func_184103_al().func_72385_f(this);
@ -171,7 +171,7 @@
}
}
@@ -1335,6 +1359,7 @@
@@ -1339,6 +1363,7 @@
}
public void func_242111_a(RegistryKey<World> p_242111_1_, @Nullable BlockPos p_242111_2_, float p_242111_3_, boolean p_242111_4_, boolean p_242111_5_) {
@ -179,7 +179,7 @@
if (p_242111_2_ != null) {
boolean flag = p_242111_2_.equals(this.field_241138_cr_) && p_242111_1_.equals(this.field_241137_cq_);
if (p_242111_5_ && !flag) {
@@ -1387,6 +1412,8 @@
@@ -1391,6 +1416,8 @@
if (itementity == null) {
return null;
} else {
@ -188,11 +188,10 @@
this.field_70170_p.func_217376_c(itementity);
ItemStack itemstack = itementity.func_92059_d();
if (p_146097_3_) {
@@ -1400,4 +1427,13 @@
return itementity;
@@ -1405,6 +1432,15 @@
}
}
+
+ private String language = "en_us";
+ /**
+ * Returns the language last reported by the player as their local language.
@ -201,4 +200,7 @@
+ public String getLanguage() {
+ return this.language;
+ }
}
+
@Nullable
public IChatFilter func_244529_Q() {
return this.field_244528_co;

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/entity/projectile/FireworkRocketEntity.java
+++ b/net/minecraft/entity/projectile/FireworkRocketEntity.java
@@ -155,6 +155,13 @@
@@ -156,6 +156,13 @@
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/network/NetworkManager.java
+++ b/net/minecraft/network/NetworkManager.java
@@ -75,6 +75,7 @@
@@ -74,6 +74,7 @@
private float field_211397_t;
private int field_211398_u;
private boolean field_211399_v;
@ -8,7 +8,7 @@
public NetworkManager(PacketDirection p_i46004_1_) {
this.field_179294_g = p_i46004_1_;
@@ -84,6 +85,7 @@
@@ -83,6 +84,7 @@
super.channelActive(p_channelActive_1_);
this.field_150746_k = p_channelActive_1_.channel();
this.field_150743_l = this.field_150746_k.remoteAddress();
@ -16,7 +16,7 @@
try {
this.func_150723_a(ProtocolType.HANDSHAKING);
@@ -172,7 +174,7 @@
@@ -171,7 +173,7 @@
++this.field_211395_r;
if (protocoltype1 != protocoltype) {
field_150735_g.debug("Disabled auto read");
@ -25,7 +25,7 @@
}
if (this.field_150746_k.eventLoop().inEventLoop()) {
@@ -260,7 +262,9 @@
@@ -259,7 +261,9 @@
@OnlyIn(Dist.CLIENT)
public static NetworkManager func_181124_a(InetAddress p_181124_0_, int p_181124_1_, boolean p_181124_2_) {
@ -35,7 +35,7 @@
Class<? extends SocketChannel> oclass;
LazyValue<? extends EventLoopGroup> lazyvalue;
if (Epoll.isAvailable() && p_181124_2_) {
@@ -287,6 +291,7 @@
@@ -286,6 +290,7 @@
@OnlyIn(Dist.CLIENT)
public static NetworkManager func_150722_a(SocketAddress p_150722_0_) {
final NetworkManager networkmanager = new NetworkManager(PacketDirection.CLIENTBOUND);
@ -43,7 +43,7 @@
(new Bootstrap()).group(field_179296_e.func_179281_c()).handler(new ChannelInitializer<Channel>() {
protected void initChannel(Channel p_initChannel_1_) throws Exception {
p_initChannel_1_.pipeline().addLast("packet_handler", networkmanager);
@@ -377,6 +382,14 @@
@@ -376,6 +381,14 @@
return this.field_211397_t;
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/network/login/ServerLoginNetHandler.java
+++ b/net/minecraft/network/login/ServerLoginNetHandler.java
@@ -53,7 +53,13 @@
@@ -55,7 +55,13 @@
}
public void func_73660_a() {
@ -15,48 +15,48 @@
this.func_147326_c();
} else if (this.field_147328_g == ServerLoginNetHandler.State.DELAY_ACCEPT) {
ServerPlayerEntity serverplayerentity = this.field_147327_f.func_184103_al().func_177451_a(this.field_147337_i.getId());
@@ -128,7 +134,7 @@
@@ -130,7 +136,7 @@
this.field_147328_g = ServerLoginNetHandler.State.KEY;
this.field_147333_a.func_179290_a(new SEncryptionRequestPacket("", this.field_147327_f.func_71250_E().getPublic(), this.field_147330_e));
this.field_147333_a.func_179290_a(new SEncryptionRequestPacket("", this.field_147327_f.func_71250_E().getPublic().getEncoded(), this.field_147330_e));
} else {
- this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
+ this.field_147328_g = ServerLoginNetHandler.State.NEGOTIATING;
}
}
@@ -142,7 +148,7 @@
this.field_147335_k = p_147315_1_.func_149300_a(privatekey);
this.field_147328_g = ServerLoginNetHandler.State.AUTHENTICATING;
this.field_147333_a.func_150727_a(this.field_147335_k);
- Thread thread = new Thread("User Authenticator #" + field_147331_b.incrementAndGet()) {
+ Thread thread = new Thread(net.minecraftforge.fml.common.thread.SidedThreadGroups.SERVER, "User Authenticator #" + field_147331_b.incrementAndGet()) {
public void run() {
GameProfile gameprofile = ServerLoginNetHandler.this.field_147337_i;
@@ -155,7 +161,7 @@
throw new IllegalStateException("Protocol error", cryptexception);
}
@@ -151,11 +157,11 @@
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.field_147327_f.func_147130_as().hasJoinedServer(new GameProfile((UUID)null, gameprofile.getName()), s, this.func_191235_a());
if (ServerLoginNetHandler.this.field_147337_i != null) {
ServerLoginNetHandler.field_147332_c.info("UUID of player {} is {}", ServerLoginNetHandler.this.field_147337_i.getName(), ServerLoginNetHandler.this.field_147337_i.getId());
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
- Thread thread = new Thread("User Authenticator #" + field_147331_b.incrementAndGet()) {
+ Thread thread = new Thread(net.minecraftforge.fml.common.thread.SidedThreadGroups.SERVER, "User Authenticator #" + field_147331_b.incrementAndGet()) {
public void run() {
GameProfile gameprofile = ServerLoginNetHandler.this.field_147337_i;
@@ -163,11 +169,11 @@
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.field_147327_f.func_147130_as().hasJoinedServer(new GameProfile((UUID)null, gameprofile.getName()), s, this.func_191235_a());
if (ServerLoginNetHandler.this.field_147337_i != null) {
ServerLoginNetHandler.field_147332_c.info("UUID of player {} is {}", ServerLoginNetHandler.this.field_147337_i.getName(), ServerLoginNetHandler.this.field_147337_i.getId());
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
+ ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.NEGOTIATING;
} else if (ServerLoginNetHandler.this.field_147327_f.func_71264_H()) {
ServerLoginNetHandler.field_147332_c.warn("Failed to verify username but will let them in anyway!");
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.func_152506_a(gameprofile);
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
} else if (ServerLoginNetHandler.this.field_147327_f.func_71264_H()) {
ServerLoginNetHandler.field_147332_c.warn("Failed to verify username but will let them in anyway!");
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.func_152506_a(gameprofile);
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
+ ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.NEGOTIATING;
} else {
ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.unverified_username"));
ServerLoginNetHandler.field_147332_c.error("Username '{}' tried to join with an invalid session", (Object)gameprofile.getName());
@@ -164,7 +170,7 @@
if (ServerLoginNetHandler.this.field_147327_f.func_71264_H()) {
ServerLoginNetHandler.field_147332_c.warn("Authentication servers are down but will let them in anyway!");
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.func_152506_a(gameprofile);
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
} else {
ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.unverified_username"));
ServerLoginNetHandler.field_147332_c.error("Username '{}' tried to join with an invalid session", (Object)gameprofile.getName());
@@ -176,7 +182,7 @@
if (ServerLoginNetHandler.this.field_147327_f.func_71264_H()) {
ServerLoginNetHandler.field_147332_c.warn("Authentication servers are down but will let them in anyway!");
ServerLoginNetHandler.this.field_147337_i = ServerLoginNetHandler.this.func_152506_a(gameprofile);
- ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.READY_TO_ACCEPT;
+ ServerLoginNetHandler.this.field_147328_g = ServerLoginNetHandler.State.NEGOTIATING;
} else {
ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.authservers_down"));
ServerLoginNetHandler.field_147332_c.error("Couldn't verify username because servers are unavailable");
@@ -185,6 +191,7 @@
} else {
ServerLoginNetHandler.this.func_194026_b(new TranslationTextComponent("multiplayer.disconnect.authservers_down"));
ServerLoginNetHandler.field_147332_c.error("Couldn't verify username because servers are unavailable");
@@ -196,6 +202,7 @@
}
public void func_209526_a(CCustomPayloadLoginPacket p_209526_1_) {

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/network/play/ServerPlayNetHandler.java
+++ b/net/minecraft/network/play/ServerPlayNetHandler.java
@@ -348,9 +348,11 @@
@@ -391,9 +391,11 @@
}
entity.func_70080_a(d3, d4, d5, f, f1);
@ -12,7 +12,7 @@
this.field_147371_a.func_179290_a(new SMoveVehiclePacket(entity));
return;
}
@@ -367,7 +369,7 @@
@@ -410,7 +412,7 @@
}
private boolean func_241162_a_(Entity p_241162_1_) {
@ -21,7 +21,7 @@
}
public void func_184339_a(CConfirmTeleportPacket p_184339_1_) {
@@ -881,7 +883,9 @@
@@ -950,7 +952,9 @@
Direction direction = blockraytraceresult.func_216354_b();
this.field_147369_b.func_143004_u();
if (blockpos.func_177956_o() < this.field_147367_d.func_71207_Z()) {
@ -32,18 +32,18 @@
ActionResultType actionresulttype = this.field_147369_b.field_71134_c.func_219441_a(this.field_147369_b, serverworld, itemstack, hand, blockraytraceresult);
if (direction == Direction.UP && !actionresulttype.func_226246_a_() && blockpos.func_177956_o() >= this.field_147367_d.func_71207_Z() - 1 && func_241166_a_(this.field_147369_b, itemstack)) {
ITextComponent itextcomponent = (new TranslationTextComponent("build.tooHigh", this.field_147367_d.func_71207_Z())).func_240699_a_(TextFormatting.RED);
@@ -1014,7 +1018,9 @@
if (s.startsWith("/")) {
this.func_147361_d(s);
@@ -1097,7 +1101,9 @@
if (p_244548_1_.startsWith("/")) {
this.func_147361_d(p_244548_1_);
} else {
- ITextComponent itextcomponent = new TranslationTextComponent("chat.type.text", this.field_147369_b.func_145748_c_(), s);
+ ITextComponent itextcomponent = new TranslationTextComponent("chat.type.text", this.field_147369_b.func_145748_c_(), net.minecraftforge.common.ForgeHooks.newChatWithLinks(s));
+ itextcomponent = net.minecraftforge.common.ForgeHooks.onServerChatEvent(this, s, itextcomponent);
- ITextComponent itextcomponent = new TranslationTextComponent("chat.type.text", this.field_147369_b.func_145748_c_(), p_244548_1_);
+ ITextComponent itextcomponent = new TranslationTextComponent("chat.type.text", this.field_147369_b.func_145748_c_(), net.minecraftforge.common.ForgeHooks.newChatWithLinks(p_244548_1_));
+ itextcomponent = net.minecraftforge.common.ForgeHooks.onServerChatEvent(this, p_244548_1_, itextcomponent);
+ if (itextcomponent == null) return;
this.field_147367_d.func_184103_al().func_232641_a_(itextcomponent, ChatType.CHAT, this.field_147369_b.func_110124_au());
}
@@ -1104,6 +1110,7 @@
@@ -1187,6 +1193,7 @@
if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.INTERACT) {
optional = Optional.of(this.field_147369_b.func_190775_a(entity, hand));
} else if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.INTERACT_AT) {
@ -51,7 +51,7 @@
optional = Optional.of(entity.func_184199_a(this.field_147369_b, p_147340_1_.func_179712_b(), hand));
} else if (p_147340_1_.func_149565_c() == CUseEntityPacket.Action.ATTACK) {
if (entity instanceof ItemEntity || entity instanceof ExperienceOrbEntity || entity instanceof AbstractArrowEntity || entity == this.field_147369_b) {
@@ -1315,6 +1322,8 @@
@@ -1402,6 +1409,8 @@
}
public void func_147349_a(CCustomPayloadPacket p_147349_1_) {

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/server/Main.java
+++ b/net/minecraft/server/Main.java
@@ -72,6 +72,8 @@
@@ -71,6 +71,8 @@
OptionSpec<Integer> optionspec11 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1);
OptionSpec<String> optionspec12 = optionparser.accepts("serverId").withRequiredArg();
OptionSpec<String> optionspec13 = optionparser.nonOptions();
@ -9,7 +9,7 @@
try {
OptionSet optionset = optionparser.parse(p_main_0_);
@@ -79,33 +81,38 @@
@@ -78,33 +80,38 @@
optionparser.printHelpOn(System.err);
return;
}
@ -43,7 +43,7 @@
- }
-
File file1 = new File(optionset.valueOf(optionspec9));
YggdrasilAuthenticationService yggdrasilauthenticationservice = new YggdrasilAuthenticationService(Proxy.NO_PROXY, UUID.randomUUID().toString());
YggdrasilAuthenticationService yggdrasilauthenticationservice = new YggdrasilAuthenticationService(Proxy.NO_PROXY);
MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService();
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
PlayerProfileCache playerprofilecache = new PlayerProfileCache(gameprofilerepository, new File(file1, MinecraftServer.field_152367_a.getName()));
@ -55,7 +55,7 @@
SaveFormat saveformat = SaveFormat.func_237269_a_(file1.toPath());
SaveFormat.LevelSave saveformat$levelsave = saveformat.func_237274_c_(s);
MinecraftServer.func_240777_a_(saveformat$levelsave);
@@ -170,6 +177,7 @@
@@ -169,6 +176,7 @@
Thread thread = new Thread("Server Shutdown Thread") {
public void run() {
dedicatedserver.func_71263_m(true);

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -225,7 +225,7 @@
@@ -228,7 +228,7 @@
public static <S extends MinecraftServer> S func_240784_a_(Function<Thread, S> p_240784_0_) {
AtomicReference<S> atomicreference = new AtomicReference<>();
@ -9,7 +9,7 @@
atomicreference.get().func_240802_v_();
}, "Server thread");
thread.setUncaughtExceptionHandler((p_240779_0_, p_240779_1_) -> {
@@ -373,6 +373,7 @@
@@ -376,6 +376,7 @@
worldborder.func_177737_a(new IBorderListener.Impl(serverworld1.func_175723_af()));
this.field_71305_c.put(registrykey1, serverworld1);
}
@ -17,7 +17,7 @@
}
}
@@ -384,6 +385,7 @@
@@ -387,6 +388,7 @@
} else if (p_240786_3_) {
p_240786_1_.func_176143_a(BlockPos.field_177992_a.func_177984_a(), 0.0F);
} else {
@ -25,7 +25,7 @@
BiomeProvider biomeprovider = chunkgenerator.func_202090_b();
Random random = new Random(p_240786_0_.func_72905_C());
BlockPos blockpos = biomeprovider.func_225531_a_(0, p_240786_0_.func_181545_F(), 0, 256, (p_244265_0_) -> {
@@ -449,6 +451,7 @@
@@ -452,6 +454,7 @@
}
private void func_213186_a(IChunkStatusListener p_213186_1_) {
@ -33,7 +33,7 @@
ServerWorld serverworld = this.func_241755_D_();
field_147145_h.info("Preparing start region for dimension {}", (Object)serverworld.func_234923_W_().func_240901_a_());
BlockPos blockpos = serverworld.func_241135_u_();
@@ -563,6 +566,7 @@
@@ -566,6 +569,7 @@
for(ServerWorld serverworld1 : this.func_212370_w()) {
if (serverworld1 != null) {
try {
@ -41,7 +41,7 @@
serverworld1.close();
} catch (IOException ioexception1) {
field_147145_h.error("Exception closing the level", (Throwable)ioexception1);
@@ -611,6 +615,7 @@
@@ -614,6 +618,7 @@
protected void func_240802_v_() {
try {
if (this.func_71197_b()) {
@ -49,7 +49,7 @@
this.field_211151_aa = Util.func_211177_b();
this.field_147147_p.func_151315_a(new StringTextComponent(this.field_71286_C));
this.field_147147_p.func_151321_a(new ServerStatusResponse.Version(SharedConstants.func_215069_a().getName(), SharedConstants.func_215069_a().getProtocolVersion()));
@@ -640,7 +645,10 @@
@@ -643,7 +648,10 @@
this.func_240795_b_(longtickdetector);
this.field_71296_Q = true;
}
@ -60,7 +60,7 @@
this.func_71228_a((CrashReport)null);
}
} catch (Throwable throwable1) {
@@ -659,6 +667,7 @@
@@ -662,6 +670,7 @@
field_147145_h.error("We were unable to save this crash report to disk.");
}
@ -68,7 +68,7 @@
this.func_71228_a(crashreport);
} finally {
try {
@@ -667,6 +676,7 @@
@@ -670,6 +679,7 @@
} catch (Throwable throwable) {
field_147145_h.error("Exception stopping the server", throwable);
} finally {
@ -76,7 +76,7 @@
this.func_71240_o();
}
@@ -768,6 +778,7 @@
@@ -771,6 +781,7 @@
protected void func_71217_p(BooleanSupplier p_71217_1_) {
long i = Util.func_211178_c();
@ -84,7 +84,7 @@
++this.field_71315_w;
this.func_71190_q(p_71217_1_);
if (i - this.field_147142_T >= 5000000000L) {
@@ -782,6 +793,7 @@
@@ -785,6 +796,7 @@
Collections.shuffle(Arrays.asList(agameprofile));
this.field_147147_p.func_151318_b().func_151330_a(agameprofile);
@ -92,7 +92,7 @@
}
if (this.field_71315_w % 6000 == 0) {
@@ -809,6 +821,7 @@
@@ -812,6 +824,7 @@
long i1 = Util.func_211178_c();
this.field_213215_ap.func_181747_a(i1 - i);
this.field_71304_b.func_76319_b();
@ -100,7 +100,7 @@
}
protected void func_71190_q(BooleanSupplier p_71190_1_) {
@@ -816,7 +829,8 @@
@@ -819,7 +832,8 @@
this.func_193030_aL().func_73660_a();
this.field_71304_b.func_219895_b("levels");
@ -110,7 +110,7 @@
this.field_71304_b.func_194340_a(() -> {
return serverworld + " " + serverworld.func_234923_W_().func_240901_a_();
});
@@ -827,6 +841,7 @@
@@ -830,6 +844,7 @@
}
this.field_71304_b.func_76320_a("tick");
@ -118,7 +118,7 @@
try {
serverworld.func_72835_b(p_71190_1_);
@@ -835,9 +850,11 @@
@@ -838,9 +853,11 @@
serverworld.func_72914_a(crashreport);
throw new ReportedException(crashreport);
}
@ -130,7 +130,7 @@
}
this.field_71304_b.func_219895_b("connection");
@@ -912,7 +929,7 @@
@@ -915,7 +932,7 @@
}
public String getServerModName() {
@ -139,7 +139,7 @@
}
public CrashReport func_71230_b(CrashReport p_71230_1_) {
@@ -925,6 +942,7 @@
@@ -928,6 +945,7 @@
p_71230_1_.func_85056_g().func_189529_a("Data Packs", () -> {
StringBuilder stringbuilder = new StringBuilder();
@ -147,7 +147,7 @@
for(ResourcePackInfo resourcepackinfo : this.field_195577_ad.func_198980_d()) {
if (stringbuilder.length() > 0) {
stringbuilder.append(", ");
@@ -1271,6 +1289,7 @@
@@ -1280,6 +1298,7 @@
this.func_184103_al().func_193244_w();
this.field_200258_al.func_240946_a_(this.field_195576_ac.func_240960_a_());
this.field_240765_ak_.func_195410_a(this.field_195576_ac.func_240970_h_());
@ -155,7 +155,7 @@
}, this);
if (this.func_213162_bc()) {
this.func_213161_c(completablefuture::isDone);
@@ -1280,10 +1299,13 @@
@@ -1289,10 +1308,13 @@
}
public static DatapackCodec func_240772_a_(ResourcePackList p_240772_0_, DatapackCodec p_240772_1_, boolean p_240772_2_) {
@ -171,7 +171,7 @@
} else {
Set<String> set = Sets.newLinkedHashSet();
@@ -1433,6 +1455,31 @@
@@ -1442,6 +1464,31 @@
public abstract boolean func_213199_b(GameProfile p_213199_1_);
@ -203,7 +203,7 @@
public void func_223711_a(Path p_223711_1_) throws IOException {
Path path = p_223711_1_.resolve("levels");
@@ -1561,6 +1608,10 @@
@@ -1570,6 +1617,10 @@
return this.field_240768_i_;
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
@@ -76,6 +76,7 @@
@@ -81,6 +81,7 @@
public boolean func_71197_b() throws IOException {
Thread thread = new Thread("Server console handler") {
public void run() {
@ -8,7 +8,7 @@
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
String s1;
@@ -158,11 +159,13 @@
@@ -162,11 +163,13 @@
SkullTileEntity.func_184293_a(this.func_152358_ax());
SkullTileEntity.func_184294_a(this.func_147130_as());
PlayerProfileCache.func_187320_a(this.func_71266_T());
@ -22,7 +22,7 @@
if (serverproperties.field_219027_u != null) {
this.func_200252_aR().func_223585_a(GameRules.field_223620_w).func_223570_a(serverproperties.field_219027_u, this);
}
@@ -186,11 +189,12 @@
@@ -190,11 +193,12 @@
}
Items.field_190931_a.func_150895_a(ItemGroup.field_78027_g, NonNullList.func_191196_a());
@ -36,7 +36,7 @@
}
}
@@ -507,6 +511,11 @@
@@ -515,6 +519,11 @@
return false;
}

View File

@ -1,10 +1,10 @@
--- a/net/minecraft/server/dedicated/ServerHangWatchdog.java
+++ b/net/minecraft/server/dedicated/ServerHangWatchdog.java
@@ -36,7 +36,7 @@
@@ -40,7 +40,7 @@
ThreadMXBean threadmxbean = ManagementFactory.getThreadMXBean();
ThreadInfo[] athreadinfo = threadmxbean.dumpAllThreads(true, true);
StringBuilder stringbuilder = new StringBuilder();
- Error error = new Error();
- Error error = new Error("Watchdog");
+ Error error = new Error(String.format("ServerHangWatchdog detected that a single server tick took %.2f seconds (should be max 0.05)", k / 1000F)); // Forge: don't just make a crash report with a seemingly-inexplicable Error
for(ThreadInfo threadinfo : athreadinfo) {

View File

@ -1,9 +1,9 @@
--- a/net/minecraft/server/integrated/IntegratedServer.java
+++ b/net/minecraft/server/integrated/IntegratedServer.java
@@ -58,9 +58,10 @@
@@ -56,9 +56,10 @@
this.func_71188_g(true);
this.func_71245_h(true);
field_147148_h.info("Generating keypair");
this.func_71253_a(CryptManager.func_75891_b());
this.func_244801_P();
+ if (!net.minecraftforge.fml.server.ServerLifecycleHooks.handleServerAboutToStart(this)) return false;
this.func_240800_l__();
this.func_71205_p(this.func_71214_G() + " - " + this.func_240793_aU_().func_76065_j());
@ -12,7 +12,7 @@
}
public void func_71217_p(BooleanSupplier p_71217_1_) {
@@ -174,6 +175,7 @@
@@ -172,6 +173,7 @@
}
public void func_71263_m(boolean p_71263_1_) {

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/util/SharedConstants.java
+++ b/net/minecraft/util/SharedConstants.java
@@ -40,6 +40,7 @@
@@ -44,6 +44,7 @@
}
static {

View File

@ -248,7 +248,7 @@
explosion.func_77278_a();
explosion.func_77279_a(true);
return explosion;
@@ -562,6 +621,7 @@
@@ -561,6 +620,7 @@
public void func_175690_a(BlockPos p_175690_1_, @Nullable TileEntity p_175690_2_) {
if (!func_189509_E(p_175690_1_)) {
@ -256,7 +256,7 @@
if (p_175690_2_ != null && !p_175690_2_.func_145837_r()) {
if (this.field_147481_N) {
p_175690_2_.func_226984_a_(this, p_175690_1_);
@@ -577,7 +637,8 @@
@@ -576,7 +636,8 @@
this.field_147484_a.add(p_175690_2_);
} else {
@ -266,7 +266,7 @@
this.func_175700_a(p_175690_2_);
}
}
@@ -590,6 +651,8 @@
@@ -589,6 +650,8 @@
if (tileentity != null && this.field_147481_N) {
tileentity.func_145843_s();
this.field_147484_a.remove(tileentity);
@ -275,7 +275,7 @@
} else {
if (tileentity != null) {
this.field_147484_a.remove(tileentity);
@@ -599,7 +662,7 @@
@@ -598,7 +661,7 @@
this.func_175726_f(p_175713_1_).func_177425_e(p_175713_1_);
}
@ -284,7 +284,7 @@
}
public boolean func_195588_v(BlockPos p_195588_1_) {
@@ -652,10 +715,10 @@
@@ -651,10 +714,10 @@
public List<Entity> func_175674_a(@Nullable Entity p_175674_1_, AxisAlignedBB p_175674_2_, @Nullable Predicate<? super Entity> p_175674_3_) {
this.func_217381_Z().func_230035_c_("getEntities");
List<Entity> list = Lists.newArrayList();
@ -299,7 +299,7 @@
AbstractChunkProvider abstractchunkprovider = this.func_72863_F();
for(int i1 = i; i1 <= j; ++i1) {
@@ -672,10 +735,10 @@
@@ -671,10 +734,10 @@
public <T extends Entity> List<T> func_217394_a(@Nullable EntityType<T> p_217394_1_, AxisAlignedBB p_217394_2_, Predicate<? super T> p_217394_3_) {
this.func_217381_Z().func_230035_c_("getEntities");
@ -314,7 +314,7 @@
List<T> list = Lists.newArrayList();
for(int i1 = i; i1 < j; ++i1) {
@@ -692,10 +755,10 @@
@@ -691,10 +754,10 @@
public <T extends Entity> List<T> func_175647_a(Class<? extends T> p_175647_1_, AxisAlignedBB p_175647_2_, @Nullable Predicate<? super T> p_175647_3_) {
this.func_217381_Z().func_230035_c_("getEntities");
@ -329,7 +329,7 @@
List<T> list = Lists.newArrayList();
AbstractChunkProvider abstractchunkprovider = this.func_72863_F();
@@ -713,10 +776,10 @@
@@ -712,10 +775,10 @@
public <T extends Entity> List<T> func_225316_b(Class<? extends T> p_225316_1_, AxisAlignedBB p_225316_2_, @Nullable Predicate<? super T> p_225316_3_) {
this.func_217381_Z().func_230035_c_("getLoadedEntities");
@ -344,7 +344,7 @@
List<T> list = Lists.newArrayList();
AbstractChunkProvider abstractchunkprovider = this.func_72863_F();
@@ -740,6 +803,7 @@
@@ -739,6 +802,7 @@
this.func_175726_f(p_175646_1_).func_76630_e();
}
@ -352,7 +352,7 @@
}
public int func_181545_F() {
@@ -784,7 +848,7 @@
@@ -783,7 +847,7 @@
public int func_175651_c(BlockPos p_175651_1_, Direction p_175651_2_) {
BlockState blockstate = this.func_180495_p(p_175651_1_);
int i = blockstate.func_185911_a(this, p_175651_1_, p_175651_2_);
@ -361,7 +361,7 @@
}
public boolean func_175640_z(BlockPos p_175640_1_) {
@@ -939,16 +1003,15 @@
@@ -938,16 +1002,15 @@
public abstract Scoreboard func_96441_U();
public void func_175666_e(BlockPos p_175666_1_, Block p_175666_2_) {
@ -382,7 +382,7 @@
blockstate.func_215697_a(this, blockpos, p_175666_2_, p_175666_1_, false);
}
}
@@ -1025,6 +1088,18 @@
@@ -1024,6 +1087,18 @@
return this.field_226689_w_;
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/world/gen/WorldGenRegion.java
+++ b/net/minecraft/world/gen/WorldGenRegion.java
@@ -170,11 +170,11 @@
@@ -173,11 +173,11 @@
public boolean func_241212_a_(BlockPos p_241212_1_, boolean p_241212_2_, @Nullable Entity p_241212_3_, int p_241212_4_) {
BlockState blockstate = this.func_180495_p(p_241212_1_);
@ -14,7 +14,7 @@
Block.func_220054_a(blockstate, this.field_201689_f, p_241212_1_, tileentity, p_241212_3_, ItemStack.field_190927_a);
}
@@ -194,11 +194,11 @@
@@ -197,11 +197,11 @@
if (compoundnbt != null) {
if ("DUMMY".equals(compoundnbt.func_74779_i("id"))) {
Block block = blockstate.func_177230_c();
@ -28,7 +28,7 @@
} else {
tileentity = TileEntity.func_235657_b_(blockstate, compoundnbt);
}
@@ -209,7 +209,7 @@
@@ -212,7 +212,7 @@
}
}
@ -37,7 +37,7 @@
field_208303_a.warn("Tried to access a block entity before it was created. {}", (Object)p_175625_1_);
}
@@ -225,9 +225,9 @@
@@ -228,9 +228,9 @@
}
Block block = p_241211_2_.func_177230_c();
@ -49,7 +49,7 @@
} else {
CompoundNBT compoundnbt = new CompoundNBT();
compoundnbt.func_74768_a("x", p_241211_1_.func_177958_n());
@@ -236,7 +236,7 @@
@@ -239,7 +239,7 @@
compoundnbt.func_74778_a("id", "DUMMY");
ichunk.func_201591_a(compoundnbt);
}

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/world/server/ServerWorld.java
+++ b/net/minecraft/world/server/ServerWorld.java
@@ -138,7 +138,7 @@
@@ -143,7 +143,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -9,7 +9,7 @@
public static final BlockPos field_241108_a_ = new BlockPos(100, 50, 0);
private static final Logger field_147491_a = LogManager.getLogger();
private final Int2ObjectMap<Entity> field_217498_x = new Int2ObjectLinkedOpenHashMap<>();
@@ -168,6 +168,7 @@
@@ -173,6 +173,7 @@
private final DragonFightManager field_241105_O_;
private final StructureManager field_241106_P_;
private final boolean field_241107_Q_;
@ -17,7 +17,7 @@
public ServerWorld(MinecraftServer p_i241885_1_, Executor p_i241885_2_, SaveFormat.LevelSave p_i241885_3_, IServerWorldInfo p_i241885_4_, RegistryKey<World> p_i241885_5_, DimensionType p_i241885_6_, IChunkStatusListener p_i241885_7_, ChunkGenerator p_i241885_8_, boolean p_i241885_9_, long p_i241885_10_, List<ISpecialSpawner> p_i241885_12_, boolean p_i241885_13_) {
super(p_i241885_4_, p_i241885_5_, p_i241885_6_, p_i241885_1_::func_213185_aS, false, p_i241885_9_, p_i241885_10_);
@@ -195,7 +196,7 @@
@@ -200,7 +201,7 @@
} else {
this.field_241105_O_ = null;
}
@ -26,7 +26,7 @@
}
public void func_241113_a_(int p_241113_1_, int p_241113_2_, boolean p_241113_3_, boolean p_241113_4_) {
@@ -291,15 +292,19 @@
@@ -296,15 +297,19 @@
this.field_73061_a.func_184103_al().func_232642_a_(new SChangeGameStatePacket(SChangeGameStatePacket.field_241772_i_, this.field_73017_q), this.func_234923_W_());
}
@ -50,7 +50,7 @@
}
if (this.field_73068_P && this.field_217491_A.stream().noneMatch((p_241132_0_) -> {
@@ -307,8 +312,8 @@
@@ -312,8 +317,8 @@
})) {
this.field_73068_P = false;
if (this.func_82736_K().func_223586_b(GameRules.field_223607_j)) {
@ -61,7 +61,7 @@
}
this.func_229856_ab_();
@@ -399,7 +404,7 @@
@@ -404,7 +409,7 @@
if (entity1.field_70128_L) {
this.func_217454_n(entity1);
objectiterator.remove();
@ -70,7 +70,7 @@
}
iprofiler.func_76319_b();
@@ -470,6 +475,7 @@
@@ -475,6 +480,7 @@
BlockPos blockpos2 = this.func_205770_a(Heightmap.Type.MOTION_BLOCKING, this.func_217383_a(i, 0, j, 15));
BlockPos blockpos3 = blockpos2.func_177977_b();
Biome biome = this.func_226691_t_(blockpos2);
@ -78,7 +78,7 @@
if (biome.func_201848_a(this, blockpos3)) {
this.func_175656_a(blockpos3, Blocks.field_150432_aD.func_176223_P());
}
@@ -593,9 +599,10 @@
@@ -598,9 +604,10 @@
++p_217479_1_.field_70173_aa;
IProfiler iprofiler = this.func_217381_Z();
iprofiler.func_194340_a(() -> {
@ -90,7 +90,7 @@
p_217479_1_.func_70071_h_();
iprofiler.func_76319_b();
}
@@ -682,6 +689,7 @@
@@ -687,6 +694,7 @@
p_217445_1_.func_200209_c(new TranslationTextComponent("menu.savingChunks"));
}
@ -98,7 +98,7 @@
serverchunkprovider.func_217210_a(p_217445_2_);
}
}
@@ -772,6 +780,7 @@
@@ -777,6 +785,7 @@
}
private void func_217448_f(ServerPlayerEntity p_217448_1_) {
@ -106,7 +106,7 @@
Entity entity = this.field_175741_N.get(p_217448_1_.func_110124_au());
if (entity != null) {
field_147491_a.warn("Force-added player with duplicate UUID {}", (Object)p_217448_1_.func_110124_au().toString());
@@ -796,6 +805,7 @@
@@ -801,6 +810,7 @@
} else if (this.func_217478_l(p_72838_1_)) {
return false;
} else {
@ -114,7 +114,7 @@
IChunk ichunk = this.func_217353_a(MathHelper.func_76128_c(p_72838_1_.func_226277_ct_() / 16.0D), MathHelper.func_76128_c(p_72838_1_.func_226281_cx_() / 16.0D), ChunkStatus.field_222617_m, p_72838_1_.field_98038_p);
if (!(ichunk instanceof Chunk)) {
return false;
@@ -811,6 +821,7 @@
@@ -816,6 +826,7 @@
if (this.func_217478_l(p_217440_1_)) {
return false;
} else {
@ -122,7 +122,7 @@
this.func_217465_m(p_217440_1_);
return true;
}
@@ -874,12 +885,17 @@
@@ -879,12 +890,17 @@
}
@ -141,7 +141,7 @@
this.field_175741_N.remove(p_217484_1_.func_110124_au());
this.func_72863_F().func_217226_b(p_217484_1_);
@@ -893,6 +909,8 @@
@@ -898,6 +914,8 @@
this.field_217495_I.remove(((MobEntity)p_217484_1_).func_70661_as());
}
@ -150,7 +150,7 @@
}
private void func_217465_m(Entity p_217465_1_) {
@@ -913,15 +931,19 @@
@@ -918,15 +936,19 @@
}
}
@ -171,7 +171,7 @@
}
}
@@ -934,8 +956,11 @@
@@ -939,8 +961,11 @@
}
public void func_217434_e(ServerPlayerEntity p_217434_1_) {
@ -185,7 +185,7 @@
this.func_72854_c();
}
@@ -954,10 +979,20 @@
@@ -959,10 +984,20 @@
}
public void func_184148_a(@Nullable PlayerEntity p_184148_1_, double p_184148_2_, double p_184148_4_, double p_184148_6_, SoundEvent p_184148_8_, SoundCategory p_184148_9_, float p_184148_10_, float p_184148_11_) {
@ -206,7 +206,7 @@
this.field_73061_a.func_184103_al().func_148543_a(p_217384_1_, p_217384_2_.func_226277_ct_(), p_217384_2_.func_226278_cu_(), p_217384_2_.func_226281_cx_(), p_217384_5_ > 1.0F ? (double)(16.0F * p_217384_5_) : 16.0D, this.func_234923_W_(), new SSpawnMovingSoundEffectPacket(p_217384_3_, p_217384_4_, p_217384_2_, p_217384_5_, p_217384_6_));
}
@@ -993,6 +1028,7 @@
@@ -998,6 +1033,7 @@
public Explosion func_230546_a_(@Nullable Entity p_230546_1_, @Nullable DamageSource p_230546_2_, @Nullable ExplosionContext p_230546_3_, double p_230546_4_, double p_230546_6_, double p_230546_8_, float p_230546_10_, boolean p_230546_11_, Explosion.Mode p_230546_12_) {
Explosion explosion = new Explosion(this, p_230546_1_, p_230546_2_, p_230546_3_, p_230546_4_, p_230546_6_, p_230546_8_, p_230546_10_, p_230546_11_, p_230546_12_);
@ -214,7 +214,7 @@
explosion.func_77278_a();
explosion.func_77279_a(false);
if (p_230546_12_ == Explosion.Mode.NONE) {
@@ -1379,4 +1415,14 @@
@@ -1410,4 +1446,14 @@
p_241121_0_.func_175656_a(p_241122_1_, Blocks.field_150343_Z.func_176223_P());
});
}