Update mappings, move mod initialization to the async loader.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This commit is contained in:
parent
a14c2233e0
commit
c10174d50d
35 changed files with 166 additions and 214 deletions
28
build.gradle
28
build.gradle
|
@ -45,7 +45,7 @@ ext {
|
|||
]
|
||||
}
|
||||
MAPPING_CHANNEL = 'snapshot'
|
||||
MAPPING_VERSION = '20190608-1.14.2'
|
||||
MAPPING_VERSION = '20190621-1.14.2'
|
||||
MC_VERSION = '1.14.2'
|
||||
MCP_VERSION = '20190603.175704'
|
||||
}
|
||||
|
@ -136,19 +136,19 @@ project(':forge') {
|
|||
]
|
||||
}
|
||||
}
|
||||
test {
|
||||
compileClasspath += sourceSets.fmllauncher.runtimeClasspath
|
||||
runtimeClasspath += sourceSets.fmllauncher.runtimeClasspath
|
||||
java {
|
||||
srcDirs = [
|
||||
"$rootDir/src/test/java",
|
||||
"$rootDir/src/fmllaunchertest/java"
|
||||
]
|
||||
}
|
||||
resources {
|
||||
srcDirs = ["$rootDir/src/test/resources"]
|
||||
}
|
||||
}
|
||||
// test {
|
||||
// compileClasspath += sourceSets.fmllauncher.runtimeClasspath
|
||||
// runtimeClasspath += sourceSets.fmllauncher.runtimeClasspath
|
||||
// java {
|
||||
// srcDirs = [
|
||||
// "$rootDir/src/test/java",
|
||||
// "$rootDir/src/fmllaunchertest/java"
|
||||
// ]
|
||||
// }
|
||||
// resources {
|
||||
// srcDirs = ["$rootDir/src/test/resources"]
|
||||
// }
|
||||
// }
|
||||
userdev {
|
||||
compileClasspath += sourceSets.main.runtimeClasspath
|
||||
runtimeClasspath += sourceSets.main.runtimeClasspath
|
||||
|
|
|
@ -33,70 +33,25 @@
|
|||
this.field_110448_aq.func_198983_a();
|
||||
List<IResourcePack> list = this.field_110448_aq.func_198980_d().stream().map(ResourcePackInfo::func_195796_e).collect(Collectors.toList());
|
||||
|
||||
@@ -463,6 +464,7 @@
|
||||
this.field_135017_as.func_135043_a(list);
|
||||
this.field_71446_o = new TextureManager(this.field_110451_am);
|
||||
this.field_110451_am.func_219534_a(this.field_71446_o);
|
||||
+ //net.minecraftforge.fml.client.SplashProgress.drawVanillaScreen(this.textureManager);
|
||||
this.func_213226_a();
|
||||
this.field_152350_aA = new SkinManager(this.field_71446_o, new File(this.field_110446_Y, "skins"), this.field_152355_az);
|
||||
this.field_71469_aa = new SaveFormat(this.field_71412_D.toPath().resolve("saves"), this.field_71412_D.toPath().resolve("backups"), this.field_184131_U);
|
||||
@@ -480,11 +482,14 @@
|
||||
|
||||
this.field_110451_am.func_219534_a(new GrassColorReloadListener());
|
||||
this.field_110451_am.func_219534_a(new FoliageColorReloadListener());
|
||||
+ try (net.minecraftforge.fml.common.progress.ProgressBar bar = net.minecraftforge.fml.common.progress.StartupProgressManager.start("Rendering Setup", 5, true)) {
|
||||
+ bar.step("GL Setup");
|
||||
this.field_195558_d.func_198076_a("Startup");
|
||||
GlStateManager.enableTexture();
|
||||
GlStateManager.shadeModel(7425);
|
||||
GlStateManager.clearDepth(1.0D);
|
||||
GlStateManager.enableDepthTest();
|
||||
+ net.minecraftforge.fml.client.ClientModLoader.complete();
|
||||
GlStateManager.depthFunc(515);
|
||||
GlStateManager.enableAlphaTest();
|
||||
GlStateManager.alphaFunc(516, 0.1F);
|
||||
@@ -493,19 +498,24 @@
|
||||
GlStateManager.loadIdentity();
|
||||
GlStateManager.matrixMode(5888);
|
||||
this.field_195558_d.func_198076_a("Post startup");
|
||||
+ bar.step("Loading Texture Map");
|
||||
this.field_147128_au = new AtlasTexture("textures");
|
||||
this.field_147128_au.func_147633_a(this.field_71474_y.field_151442_I);
|
||||
this.field_71446_o.func_110580_a(AtlasTexture.field_110575_b, this.field_147128_au);
|
||||
this.field_71446_o.func_110577_a(AtlasTexture.field_110575_b);
|
||||
this.field_147128_au.func_174937_a(false, this.field_71474_y.field_151442_I > 0);
|
||||
+ bar.step("Loading Model Manager");
|
||||
this.field_175617_aL = new ModelManager(this.field_147128_au);
|
||||
this.field_110451_am.func_219534_a(this.field_175617_aL);
|
||||
this.field_184127_aH = BlockColors.func_186723_a();
|
||||
this.field_184128_aI = ItemColors.func_186729_a(this.field_184127_aH);
|
||||
+ bar.step("Loading Item Renderer");
|
||||
this.field_175621_X = new ItemRenderer(this.field_71446_o, this.field_175617_aL, this.field_184128_aI);
|
||||
this.field_175616_W = new EntityRendererManager(this.field_71446_o, this.field_175621_X, this.field_110451_am);
|
||||
this.field_175620_Y = new FirstPersonRenderer(this);
|
||||
this.field_110451_am.func_219534_a(this.field_175621_X);
|
||||
+ bar.step("Loading Entity Renderer");
|
||||
+ //net.minecraftforge.fml.client.SplashProgress.pause();
|
||||
this.field_71460_t = new GameRenderer(this, this.field_110451_am);
|
||||
this.field_110451_am.func_219534_a(this.field_71460_t);
|
||||
this.field_175618_aM = new BlockRendererDispatcher(this.field_175617_aL.func_174954_c(), this.field_184127_aH);
|
||||
@@ -521,9 +531,13 @@
|
||||
@@ -521,7 +522,7 @@
|
||||
this.field_110451_am.func_219534_a(this.field_213272_aL);
|
||||
this.field_213273_aM = new PotionSpriteUploader(this.field_71446_o);
|
||||
this.field_110451_am.func_219534_a(this.field_213273_aM);
|
||||
- this.field_71456_v = new IngameGui(this);
|
||||
+ //net.minecraftforge.fml.client.SplashProgress.resume();
|
||||
+ }; // Forge: end progress bar
|
||||
+ net.minecraftforge.fml.client.ClientModLoader.end();
|
||||
+ this.field_71456_v = new net.minecraftforge.client.ForgeIngameGui(this);
|
||||
this.field_184132_p = new DebugRenderer(this);
|
||||
GLX.setGlfwErrorCallback(this::func_195545_a);
|
||||
+ net.minecraftforge.fml.client.ClientModLoader.complete();
|
||||
if (this.field_71474_y.field_74353_u && !this.field_195558_d.func_198113_j()) {
|
||||
this.field_195558_d.func_198077_g();
|
||||
this.field_71474_y.field_74353_u = this.field_195558_d.func_198113_j();
|
||||
@@ -557,7 +571,7 @@
|
||||
@@ -542,7 +543,7 @@
|
||||
if (SharedConstants.field_206244_b) {
|
||||
this.func_213256_aB();
|
||||
}
|
||||
-
|
||||
+ net.minecraftforge.fml.client.ClientModLoader.complete();
|
||||
}, false));
|
||||
}
|
||||
|
||||
@@ -557,7 +558,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_) -> {
|
||||
|
@ -105,7 +60,7 @@
|
|||
});
|
||||
NonNullList<ItemStack> nonnulllist = NonNullList.func_191196_a();
|
||||
|
||||
@@ -646,7 +660,7 @@
|
||||
@@ -646,7 +647,7 @@
|
||||
Bootstrap.func_179870_a(p_71377_1_.func_71502_e());
|
||||
if (p_71377_1_.func_71497_f() != null) {
|
||||
Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + p_71377_1_.func_71497_f());
|
||||
|
@ -114,7 +69,7 @@
|
|||
} else if (p_71377_1_.func_147149_a(file2)) {
|
||||
Bootstrap.func_179870_a("#@!@# Game crashed! Crash report saved to: #@!@# " + file2.getAbsolutePath());
|
||||
System.exit(-1);
|
||||
@@ -661,6 +675,7 @@
|
||||
@@ -661,6 +662,7 @@
|
||||
return this.field_71474_y.field_211842_aO;
|
||||
}
|
||||
|
||||
|
@ -122,7 +77,7 @@
|
|||
public CompletableFuture<Void> func_213237_g() {
|
||||
if (this.field_213276_aV != null) {
|
||||
return this.field_213276_aV;
|
||||
@@ -740,16 +755,20 @@
|
||||
@@ -740,16 +742,20 @@
|
||||
}
|
||||
|
||||
public void func_147108_a(@Nullable Screen p_147108_1_) {
|
||||
|
@ -147,7 +102,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);
|
||||
@@ -874,11 +893,13 @@
|
||||
@@ -874,11 +880,13 @@
|
||||
GlStateManager.enableTexture();
|
||||
this.field_71424_I.func_76319_b();
|
||||
if (!this.field_71454_w) {
|
||||
|
@ -161,7 +116,7 @@
|
|||
}
|
||||
|
||||
this.field_71424_I.func_219897_b();
|
||||
@@ -1146,10 +1167,10 @@
|
||||
@@ -1146,10 +1154,10 @@
|
||||
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();
|
||||
|
@ -174,7 +129,7 @@
|
|||
this.field_71439_g.func_184609_a(Hand.MAIN_HAND);
|
||||
}
|
||||
}
|
||||
@@ -1176,7 +1197,7 @@
|
||||
@@ -1176,7 +1184,7 @@
|
||||
case BLOCK:
|
||||
BlockRayTraceResult blockraytraceresult = (BlockRayTraceResult)this.field_71476_x;
|
||||
BlockPos blockpos = blockraytraceresult.func_216350_a();
|
||||
|
@ -183,7 +138,7 @@
|
|||
this.field_71442_b.func_180511_b(blockpos, blockraytraceresult.func_216354_b());
|
||||
break;
|
||||
}
|
||||
@@ -1186,6 +1207,7 @@
|
||||
@@ -1186,6 +1194,7 @@
|
||||
}
|
||||
|
||||
this.field_71439_g.func_184821_cY();
|
||||
|
@ -191,7 +146,7 @@
|
|||
}
|
||||
|
||||
this.field_71439_g.func_184609_a(Hand.MAIN_HAND);
|
||||
@@ -1235,6 +1257,9 @@
|
||||
@@ -1235,6 +1244,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,7 +156,7 @@
|
|||
if (!itemstack.func_190926_b() && this.field_71442_b.func_187101_a(this.field_71439_g, this.field_71441_e, hand) == ActionResultType.SUCCESS) {
|
||||
this.field_71460_t.field_78516_c.func_187460_a(hand);
|
||||
return;
|
||||
@@ -1254,6 +1279,8 @@
|
||||
@@ -1254,6 +1266,8 @@
|
||||
--this.field_71467_ac;
|
||||
}
|
||||
|
||||
|
@ -210,7 +165,7 @@
|
|||
this.field_71424_I.func_76320_a("gui");
|
||||
if (!this.field_71445_n) {
|
||||
this.field_71456_v.func_73831_a();
|
||||
@@ -1372,6 +1399,8 @@
|
||||
@@ -1372,6 +1386,8 @@
|
||||
this.field_71424_I.func_219895_b("keyboard");
|
||||
this.field_195559_v.func_204870_b();
|
||||
this.field_71424_I.func_76319_b();
|
||||
|
@ -219,7 +174,7 @@
|
|||
}
|
||||
|
||||
private void func_184117_aA() {
|
||||
@@ -1430,6 +1459,7 @@
|
||||
@@ -1430,6 +1446,7 @@
|
||||
this.field_71439_g.func_71040_bB(Screen.hasControlDown());
|
||||
}
|
||||
}
|
||||
|
@ -227,7 +182,7 @@
|
|||
|
||||
boolean flag2 = this.field_71474_y.field_74343_n != ChatVisibility.HIDDEN;
|
||||
if (flag2) {
|
||||
@@ -1526,6 +1556,12 @@
|
||||
@@ -1526,6 +1543,12 @@
|
||||
this.func_147108_a(worldloadprogressscreen);
|
||||
|
||||
while(!this.field_71437_Z.func_71200_ad()) {
|
||||
|
@ -240,7 +195,7 @@
|
|||
worldloadprogressscreen.tick();
|
||||
this.func_195542_b(false);
|
||||
|
||||
@@ -1546,11 +1582,17 @@
|
||||
@@ -1546,11 +1569,17 @@
|
||||
networkmanager.func_150719_a(new ClientLoginNetHandler(networkmanager, this, (Screen)null, (p_213261_0_) -> {
|
||||
}));
|
||||
networkmanager.func_179290_a(new CHandshakePacket(socketaddress.toString(), 0, ProtocolType.LOGIN));
|
||||
|
@ -259,7 +214,7 @@
|
|||
WorkingScreen workingscreen = new WorkingScreen();
|
||||
workingscreen.func_200210_a(new TranslationTextComponent("connect.joining"));
|
||||
this.func_213241_c(workingscreen);
|
||||
@@ -1623,6 +1665,7 @@
|
||||
@@ -1623,6 +1652,7 @@
|
||||
}
|
||||
|
||||
TileEntityRendererDispatcher.field_147556_a.func_147543_a(p_213257_1_);
|
||||
|
@ -267,7 +222,7 @@
|
|||
}
|
||||
|
||||
public final boolean func_71355_q() {
|
||||
@@ -1648,112 +1691,8 @@
|
||||
@@ -1648,112 +1678,8 @@
|
||||
|
||||
private void func_147112_ai() {
|
||||
if (this.field_71476_x != null && this.field_71476_x.func_216346_c() != RayTraceResult.Type.MISS) {
|
||||
|
@ -382,7 +337,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1825,6 +1764,7 @@
|
||||
@@ -1825,6 +1751,7 @@
|
||||
return field_71432_P;
|
||||
}
|
||||
|
||||
|
@ -390,7 +345,7 @@
|
|||
public CompletableFuture<Void> func_213245_w() {
|
||||
return this.func_213169_a(this::func_213237_g).thenCompose((p_213240_0_) -> {
|
||||
return p_213240_0_;
|
||||
@@ -1968,6 +1908,8 @@
|
||||
@@ -1968,6 +1895,8 @@
|
||||
}
|
||||
|
||||
public MusicTicker.MusicType func_147109_W() {
|
||||
|
@ -399,7 +354,7 @@
|
|||
if (this.field_71462_r instanceof WinGameScreen) {
|
||||
return MusicTicker.MusicType.CREDITS;
|
||||
} else if (this.field_71439_g == null) {
|
||||
@@ -2124,4 +2066,12 @@
|
||||
@@ -2124,4 +2053,12 @@
|
||||
public LoadingGui func_213250_au() {
|
||||
return this.field_213279_p;
|
||||
}
|
||||
|
|
|
@ -390,7 +390,7 @@
|
|||
@Nullable
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public Direction func_213376_dz() {
|
||||
+// this.func_213374_dv().map(pos->{ // This is apparently an "optimization" by Mojang, so we'll copy their lead here for now
|
||||
+// this.getBedPosition().map(pos->{ // This is apparently an "optimization" by Mojang, so we'll copy their lead here for now
|
||||
+// BlockState state = this.world.getBlockState(pos);
|
||||
+// return !state.isBed(world, pos, this) ? Direction.UP : state.getBedDirection(world, pos);
|
||||
+// });
|
||||
|
|
|
@ -81,7 +81,7 @@ public class CloudRenderer implements ISelectiveResourceReloadListener
|
|||
public CloudRenderer()
|
||||
{
|
||||
// Resource manager should always be reloadable.
|
||||
((IReloadableResourceManager) mc.getResourceManager()).func_219534_a(this);
|
||||
((IReloadableResourceManager) mc.getResourceManager()).addReloadListener(this);
|
||||
}
|
||||
|
||||
private int getScale()
|
||||
|
@ -273,19 +273,19 @@ public class CloudRenderer implements ISelectiveResourceReloadListener
|
|||
public void checkSettings()
|
||||
{
|
||||
boolean newEnabled = ForgeConfig.CLIENT.forgeCloudsEnabled.get()
|
||||
&& mc.gameSettings.func_216842_e() != CloudOption.OFF
|
||||
&& mc.gameSettings.getCloudOption() != CloudOption.OFF
|
||||
&& mc.world != null
|
||||
&& mc.world.dimension.isSurfaceWorld();
|
||||
|
||||
if (isBuilt()
|
||||
&& (!newEnabled
|
||||
|| mc.gameSettings.func_216842_e() != cloudMode
|
||||
|| mc.gameSettings.getCloudOption() != cloudMode
|
||||
|| mc.gameSettings.renderDistanceChunks != renderDistance))
|
||||
{
|
||||
dispose();
|
||||
}
|
||||
|
||||
cloudMode = mc.gameSettings.func_216842_e();
|
||||
cloudMode = mc.gameSettings.getCloudOption();
|
||||
renderDistance = mc.gameSettings.renderDistanceChunks;
|
||||
|
||||
if (newEnabled && !isBuilt())
|
||||
|
|
|
@ -130,14 +130,14 @@ public class ForgeIngameGui extends IngameGui
|
|||
|
||||
if (renderHelmet) renderHelmet(partialTicks);
|
||||
|
||||
if (renderPortal && !mc.player.isPotionActive(Effects.field_76431_k))
|
||||
if (renderPortal && !mc.player.isPotionActive(Effects.NAUSEA))
|
||||
{
|
||||
renderPortal(partialTicks);
|
||||
}
|
||||
|
||||
if (this.mc.field_71442_b.getCurrentGameType() == GameType.SPECTATOR)
|
||||
if (this.mc.playerController.getCurrentGameType() == GameType.SPECTATOR)
|
||||
{
|
||||
if (renderSpectatorTooltip) field_175197_u.renderTooltip(partialTicks);
|
||||
if (renderSpectatorTooltip) spectatorGui.renderTooltip(partialTicks);
|
||||
}
|
||||
else if (!this.mc.gameSettings.hideGUI)
|
||||
{
|
||||
|
@ -153,7 +153,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
if (renderBossHealth) renderBossHealth();
|
||||
|
||||
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
if (this.mc.field_71442_b.shouldDrawHUD() && this.mc.getRenderViewEntity() instanceof PlayerEntity)
|
||||
if (this.mc.playerController.shouldDrawHUD() && this.mc.getRenderViewEntity() instanceof PlayerEntity)
|
||||
{
|
||||
if (renderHealth) renderHealth(this.scaledWidth, this.scaledHeight);
|
||||
if (renderArmor) renderArmor(this.scaledWidth, this.scaledHeight);
|
||||
|
@ -170,10 +170,10 @@ public class ForgeIngameGui extends IngameGui
|
|||
{
|
||||
renderExperience(this.scaledWidth / 2 - 91);
|
||||
}
|
||||
if (this.mc.gameSettings.heldItemTooltips && this.mc.field_71442_b.getCurrentGameType() != GameType.SPECTATOR) {
|
||||
if (this.mc.gameSettings.heldItemTooltips && this.mc.playerController.getCurrentGameType() != GameType.SPECTATOR) {
|
||||
this.renderSelectedItem();
|
||||
} else if (this.mc.player.isSpectator()) {
|
||||
this.field_175197_u.renderSelectedItem();
|
||||
this.spectatorGui.renderSelectedItem();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -240,7 +240,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
protected void renderSubtitles()
|
||||
{
|
||||
if (pre(SUBTITLES)) return;
|
||||
this.field_184049_t.render();
|
||||
this.overlaySubtitle.render();
|
||||
post(SUBTITLES);
|
||||
}
|
||||
|
||||
|
@ -251,7 +251,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
|
||||
mc.getProfiler().startSection("bossHealth");
|
||||
GlStateManager.enableBlend();
|
||||
this.field_184050_w.render();
|
||||
this.overlayBoss.render();
|
||||
GlStateManager.disableBlend();
|
||||
mc.getProfiler().endSection();
|
||||
post(BOSSHEALTH);
|
||||
|
@ -346,9 +346,9 @@ public class ForgeIngameGui extends IngameGui
|
|||
{
|
||||
if (pre(HOTBAR)) return;
|
||||
|
||||
if (mc.field_71442_b.getCurrentGameType() == GameType.SPECTATOR)
|
||||
if (mc.playerController.getCurrentGameType() == GameType.SPECTATOR)
|
||||
{
|
||||
this.field_175197_u.renderTooltip(partialTicks);
|
||||
this.spectatorGui.renderTooltip(partialTicks);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -438,7 +438,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
if (rowHeight != 10) left_height += 10 - rowHeight;
|
||||
|
||||
int regen = -1;
|
||||
if (player.isPotionActive(Effects.field_76428_l))
|
||||
if (player.isPotionActive(Effects.REGENERATION))
|
||||
{
|
||||
regen = ticks % 25;
|
||||
}
|
||||
|
@ -446,8 +446,8 @@ public class ForgeIngameGui extends IngameGui
|
|||
final int TOP = 9 * (mc.world.getWorldInfo().isHardcore() ? 5 : 0);
|
||||
final int BACKGROUND = (highlight ? 25 : 16);
|
||||
int MARGIN = 16;
|
||||
if (player.isPotionActive(Effects.field_76436_u)) MARGIN += 36;
|
||||
else if (player.isPotionActive(Effects.field_82731_v)) MARGIN += 72;
|
||||
if (player.isPotionActive(Effects.POISON)) MARGIN += 36;
|
||||
else if (player.isPotionActive(Effects.WITHER)) MARGIN += 72;
|
||||
float absorbRemaining = absorb;
|
||||
|
||||
for (int i = MathHelper.ceil((healthMax + absorb) / 2.0F) - 1; i >= 0; --i)
|
||||
|
@ -520,7 +520,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
int icon = 16;
|
||||
byte background = 0;
|
||||
|
||||
if (mc.player.isPotionActive(Effects.field_76438_s))
|
||||
if (mc.player.isPotionActive(Effects.HUNGER))
|
||||
{
|
||||
icon += 36;
|
||||
background = 13;
|
||||
|
@ -574,7 +574,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GlStateManager.disableBlend();
|
||||
|
||||
if (mc.field_71442_b.gameIsSurvivalOrAdventure())
|
||||
if (mc.playerController.gameIsSurvivalOrAdventure())
|
||||
{
|
||||
super.renderExpBar(x);
|
||||
}
|
||||
|
@ -740,7 +740,7 @@ public class ForgeIngameGui extends IngameGui
|
|||
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translatef((float) event.getPosX(), (float) event.getPosY(), 0.0F);
|
||||
field_73840_e.render(ticks);
|
||||
persistantChatGUI.render(ticks);
|
||||
GlStateManager.popMatrix();
|
||||
|
||||
post(CHAT);
|
||||
|
@ -751,18 +751,18 @@ public class ForgeIngameGui extends IngameGui
|
|||
protected void renderPlayerList(int width, int height)
|
||||
{
|
||||
ScoreObjective scoreobjective = this.mc.world.getScoreboard().getObjectiveInDisplaySlot(0);
|
||||
ClientPlayNetHandler handler = mc.player.field_71174_a;
|
||||
ClientPlayNetHandler handler = mc.player.connection;
|
||||
|
||||
if (mc.gameSettings.keyBindPlayerList.isKeyDown() && (!mc.isIntegratedServerRunning() || handler.getPlayerInfoMap().size() > 1 || scoreobjective != null))
|
||||
{
|
||||
this.field_175196_v.setVisible(true);
|
||||
this.overlayPlayerList.setVisible(true);
|
||||
if (pre(PLAYER_LIST)) return;
|
||||
this.field_175196_v.render(width, this.mc.world.getScoreboard(), scoreobjective);
|
||||
this.overlayPlayerList.render(width, this.mc.world.getScoreboard(), scoreobjective);
|
||||
post(PLAYER_LIST);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.field_175196_v.setVisible(false);
|
||||
this.overlayPlayerList.setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -394,14 +394,14 @@ public final class ModelLoader extends ModelBakery
|
|||
{
|
||||
if(model.getParentLocation().getPath().equals("builtin/generated"))
|
||||
{
|
||||
model.field_178315_d = field_177606_o;
|
||||
model.parent = MODEL_GENERATED;
|
||||
}
|
||||
else
|
||||
{
|
||||
IUnbakedModel parent = ModelLoaderRegistry.getModelOrLogError(model.getParentLocation(), "Could not load vanilla model parent '" + model.getParentLocation() + "' for '" + model);
|
||||
if(parent instanceof VanillaModelWrapper)
|
||||
{
|
||||
model.field_178315_d = ((VanillaModelWrapper) parent).model;
|
||||
model.parent = ((VanillaModelWrapper) parent).model;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -412,7 +412,7 @@ public final class ModelLoader extends ModelBakery
|
|||
|
||||
ImmutableSet.Builder<ResourceLocation> builder = ImmutableSet.builder();
|
||||
|
||||
if(model == ModelBakery.field_177606_o)
|
||||
if(model == ModelBakery.MODEL_GENERATED)
|
||||
{
|
||||
for(String s : ItemModelGenerator.LAYERS)
|
||||
{
|
||||
|
@ -463,12 +463,12 @@ public final class ModelLoader extends ModelBakery
|
|||
tMap.putAll(PerspectiveMapWrapper.getTransforms(state));
|
||||
IModelState perState = new SimpleModelState(ImmutableMap.copyOf(tMap), state.apply(Optional.empty()));
|
||||
|
||||
if(model == ModelBakery.field_177606_o)
|
||||
if(model == ModelBakery.MODEL_GENERATED)
|
||||
{
|
||||
return new ItemLayerModel(bakery, model, format).bake(bakery, bakedTextureGetter, new BasicState(perState, uvlock), format);
|
||||
}
|
||||
TextureAtlasSprite textureatlassprite = bakedTextureGetter.apply(new ResourceLocation(model.resolveTextureName("particle")));
|
||||
if(model == ModelBakery.field_177616_r) return new BuiltInModel(transforms, model.getOverrides(bakery, model, bakedTextureGetter, format), textureatlassprite);
|
||||
if(model == ModelBakery.MODEL_ENTITY) return new BuiltInModel(transforms, model.getOverrides(bakery, model, bakedTextureGetter, format), textureatlassprite);
|
||||
return bakeNormal(bakery, model, perState, state, newTransforms, format, bakedTextureGetter, uvlock);
|
||||
}
|
||||
|
||||
|
@ -496,13 +496,13 @@ public final class ModelLoader extends ModelBakery
|
|||
{
|
||||
TextureAtlasSprite textureatlassprite1 = bakedTextureGetter.apply(new ResourceLocation(model.resolveTextureName(e.getValue().texture)));
|
||||
|
||||
if (e.getValue().field_178244_b == null || !TRSRTransformation.isInteger(transformation.getMatrixVec()))
|
||||
if (e.getValue().cullFace == null || !TRSRTransformation.isInteger(transformation.getMatrixVec()))
|
||||
{
|
||||
builder.addGeneralQuad(BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked)));
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.addFaceQuad(baseState.rotate(e.getValue().field_178244_b), BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked)));
|
||||
builder.addFaceQuad(baseState.rotate(e.getValue().cullFace), BlockModel.makeBakedQuad(part, e.getValue(), textureatlassprite1, e.getKey(), new BasicState(transformation, uvLocked)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -546,7 +546,7 @@ public final class ModelLoader extends ModelBakery
|
|||
Maps.newHashMap(this.model.textures), this.model.isAmbientOcclusion(), this.model.isGui3d(), //New Textures man VERY IMPORTANT
|
||||
model.getAllTransforms(), Lists.newArrayList(model.getOverrides()));
|
||||
newModel.name = this.model.name;
|
||||
newModel.field_178315_d = this.model.field_178315_d;
|
||||
newModel.parent = this.model.parent;
|
||||
|
||||
Set<String> removed = Sets.newHashSet();
|
||||
|
||||
|
@ -603,7 +603,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return this;
|
||||
}
|
||||
BlockModel newModel = new BlockModel(model.getParentLocation(), model.getElements(), model.textures, value, model.isGui3d(), model.getAllTransforms(), Lists.newArrayList(model.getOverrides()));
|
||||
newModel.field_178315_d = model.field_178315_d;
|
||||
newModel.parent = model.parent;
|
||||
newModel.name = model.name;
|
||||
return new VanillaModelWrapper(location, newModel, uvlock, animation);
|
||||
}
|
||||
|
@ -616,7 +616,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return this;
|
||||
}
|
||||
BlockModel newModel = new BlockModel(model.getParentLocation(), model.getElements(), model.textures, model.ambientOcclusion, value, model.getAllTransforms(), Lists.newArrayList(model.getOverrides()));
|
||||
newModel.field_178315_d = model.field_178315_d;
|
||||
newModel.parent = model.parent;
|
||||
newModel.name = model.name;
|
||||
return new VanillaModelWrapper(location, newModel, uvlock, animation);
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ public class ModelLoaderRegistry
|
|||
public static void registerLoader(ICustomModelLoader loader)
|
||||
{
|
||||
loaders.add(loader);
|
||||
((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).func_219534_a(loader);
|
||||
((IReloadableResourceManager) Minecraft.getInstance().getResourceManager()).addReloadListener(loader);
|
||||
}
|
||||
|
||||
public static boolean loaded(ResourceLocation location)
|
||||
|
|
|
@ -61,7 +61,7 @@ public class BlockInfo
|
|||
{
|
||||
if(cachedTint == tint) return cachedMultiplier;
|
||||
cachedTint = tint;
|
||||
cachedMultiplier = colors.func_216860_a(state, world, blockPos, tint);
|
||||
cachedMultiplier = colors.getColor(state, world, blockPos, tint);
|
||||
return cachedMultiplier;
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ public enum KeyConflictContext implements IKeyConflictContext
|
|||
@Override
|
||||
public boolean isActive()
|
||||
{
|
||||
return Minecraft.getInstance().field_71462_r != null;
|
||||
return Minecraft.getInstance().currentScreen != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -206,7 +206,7 @@ public class DimensionManager
|
|||
Validate.notNull(overworld, "Cannot Hotload Dim: Overworld is not Loaded!");
|
||||
|
||||
@SuppressWarnings("resource")
|
||||
ServerWorld world = new ServerMultiWorld(overworld, server, server.func_213207_aT(), overworld.func_217485_w(), dim, server.func_213185_aS(), new NoopChunkStatusListener());
|
||||
ServerWorld world = new ServerMultiWorld(overworld, server, server.getBackgroundExecutor(), overworld.getSaveHandler(), dim, server.getProfiler(), new NoopChunkStatusListener());
|
||||
if (!server.isSinglePlayer())
|
||||
world.getWorldInfo().setGameType(server.getGameType());
|
||||
server.forgeGetWorldMap().put(dim, world);
|
||||
|
@ -218,7 +218,7 @@ public class DimensionManager
|
|||
|
||||
private static boolean canUnloadWorld(ServerWorld world)
|
||||
{
|
||||
return world.func_217469_z().isEmpty()
|
||||
return world.getForcedChunks().isEmpty()
|
||||
&& world.getPlayers().isEmpty()
|
||||
//&& !world.dimension.getType().shouldLoadSpawn()
|
||||
&& !getData(world.getDimension().getType()).keepLoaded;
|
||||
|
@ -274,7 +274,7 @@ public class DimensionManager
|
|||
}
|
||||
try
|
||||
{
|
||||
w.func_217445_a(null, true, true);
|
||||
w.save(null, true, true);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -237,7 +237,7 @@ public class ForgeHooks
|
|||
public static boolean onPickBlock(RayTraceResult target, PlayerEntity player, World world)
|
||||
{
|
||||
ItemStack result = ItemStack.EMPTY;
|
||||
boolean isCreative = player.playerAbilities.isCreativeMode;
|
||||
boolean isCreative = player.abilities.isCreativeMode;
|
||||
TileEntity te = null;
|
||||
|
||||
if (target.getType() == RayTraceResult.Type.BLOCK)
|
||||
|
@ -274,7 +274,7 @@ public class ForgeHooks
|
|||
if (isCreative)
|
||||
{
|
||||
player.inventory.setPickedItemStack(result);
|
||||
Minecraft.getInstance().field_71442_b.sendSlotPacket(player.getHeldItem(Hand.MAIN_HAND), 36 + player.inventory.currentItem);
|
||||
Minecraft.getInstance().playerController.sendSlotPacket(player.getHeldItem(Hand.MAIN_HAND), 36 + player.inventory.currentItem);
|
||||
return true;
|
||||
}
|
||||
int slot = player.inventory.getSlotFor(result);
|
||||
|
@ -283,7 +283,7 @@ public class ForgeHooks
|
|||
if (PlayerInventory.isHotbar(slot))
|
||||
player.inventory.currentItem = slot;
|
||||
else
|
||||
Minecraft.getInstance().field_71442_b.pickItem(slot);
|
||||
Minecraft.getInstance().playerController.pickItem(slot);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -431,14 +431,14 @@ public class ForgeHooks
|
|||
return null;
|
||||
|
||||
if (!player.world.isRemote)
|
||||
player.getEntityWorld().func_217376_c(event.getEntityItem());
|
||||
player.getEntityWorld().addEntity(event.getEntityItem());
|
||||
return event.getEntityItem();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static ITextComponent onServerChatEvent(ServerPlayNetHandler net, String raw, ITextComponent comp)
|
||||
{
|
||||
ServerChatEvent event = new ServerChatEvent(net.field_147369_b, raw, comp);
|
||||
ServerChatEvent event = new ServerChatEvent(net.player, raw, comp);
|
||||
if (MinecraftForge.EVENT_BUS.post(event))
|
||||
{
|
||||
return null;
|
||||
|
|
|
@ -20,8 +20,6 @@
|
|||
package net.minecraftforge.common;
|
||||
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.BrandingControl;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.fml.ExtensionPoint;
|
||||
import net.minecraftforge.fml.FMLWorldPersistenceHook;
|
||||
import net.minecraftforge.fml.ModLoadingContext;
|
||||
|
@ -43,13 +41,10 @@ import org.apache.commons.lang3.tuple.Pair;
|
|||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.resources.SimpleReloadableResourceManager;
|
||||
import net.minecraft.world.storage.SaveHandler;
|
||||
import net.minecraft.world.storage.WorldInfo;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.common.data.ForgeBlockTagsProvider;
|
||||
import net.minecraftforge.common.data.ForgeItemTagsProvider;
|
||||
import net.minecraftforge.common.model.animation.CapabilityAnimation;
|
||||
|
@ -57,7 +52,6 @@ import net.minecraftforge.energy.CapabilityEnergy;
|
|||
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
|
||||
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.resource.ISelectiveResourceReloadListener;
|
||||
import net.minecraftforge.fluids.UniversalBucket;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
|
||||
|
@ -143,13 +137,6 @@ public class ForgeMod implements WorldPersistenceHooks.WorldPersistenceHook
|
|||
{
|
||||
VersionChecker.startVersionCheck();
|
||||
}
|
||||
|
||||
// Brandings need to recompute when language changes
|
||||
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
if (mc != null)
|
||||
((SimpleReloadableResourceManager)mc.getResourceManager()).func_219534_a((ISelectiveResourceReloadListener) BrandingControl::clearCaches);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -49,7 +49,7 @@ public class ForgeItemTagsProvider extends ItemTagsProvider
|
|||
getBuilder(Tags.Items.DYES_BROWN).add(Items.COCOA_BEANS);
|
||||
getBuilder(Tags.Items.DYES_CYAN).add(Items.CYAN_DYE);
|
||||
getBuilder(Tags.Items.DYES_GRAY).add(Items.GRAY_DYE);
|
||||
getBuilder(Tags.Items.DYES_GREEN).add(Items.field_222079_lj);
|
||||
getBuilder(Tags.Items.DYES_GREEN).add(Items.GREEN_DYE);
|
||||
getBuilder(Tags.Items.DYES_LIGHT_BLUE).add(Items.LIGHT_BLUE_DYE);
|
||||
getBuilder(Tags.Items.DYES_LIGHT_GRAY).add(Items.LIGHT_GRAY_DYE);
|
||||
getBuilder(Tags.Items.DYES_LIME).add(Items.LIME_DYE);
|
||||
|
@ -57,9 +57,9 @@ public class ForgeItemTagsProvider extends ItemTagsProvider
|
|||
getBuilder(Tags.Items.DYES_ORANGE).add(Items.ORANGE_DYE);
|
||||
getBuilder(Tags.Items.DYES_PINK).add(Items.PINK_DYE);
|
||||
getBuilder(Tags.Items.DYES_PURPLE).add(Items.PURPLE_DYE);
|
||||
getBuilder(Tags.Items.DYES_RED).add(Items.field_222078_li);
|
||||
getBuilder(Tags.Items.DYES_RED).add(Items.RED_DYE);
|
||||
getBuilder(Tags.Items.DYES_WHITE).add(Items.BONE_MEAL);
|
||||
getBuilder(Tags.Items.DYES_YELLOW).add(Items.field_222081_ls);
|
||||
getBuilder(Tags.Items.DYES_YELLOW).add(Items.YELLOW_DYE);
|
||||
copy(Tags.Blocks.FENCE_GATES, Tags.Items.FENCE_GATES);
|
||||
copy(Tags.Blocks.FENCE_GATES_WOODEN, Tags.Items.FENCE_GATES_WOODEN);
|
||||
copy(Tags.Blocks.FENCES, Tags.Items.FENCES);
|
||||
|
|
|
@ -697,7 +697,7 @@ public interface IForgeBlock
|
|||
*/
|
||||
default boolean shouldCheckWeakPower(BlockState state, IWorldReader world, BlockPos pos, Direction side)
|
||||
{
|
||||
return state.func_215686_e(world, pos);
|
||||
return state.isNormalCube(world, pos);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -807,7 +807,7 @@ public interface IForgeBlock
|
|||
LivingEntity ent = (LivingEntity)entity;
|
||||
f12 = (float) EnchantmentHelper.getRespirationModifier(ent) * 0.2F;
|
||||
|
||||
if (ent.isPotionActive(Effects.field_76427_o))
|
||||
if (ent.isPotionActive(Effects.WATER_BREATHING))
|
||||
{
|
||||
f12 = f12 * 0.3F + 0.6F;
|
||||
}
|
||||
|
@ -968,7 +968,7 @@ public interface IForgeBlock
|
|||
{
|
||||
if (entity instanceof EnderDragonEntity)
|
||||
{
|
||||
return !BlockTags.field_219754_W.contains(this.getBlock());
|
||||
return !BlockTags.DRAGON_IMMUNE.contains(this.getBlock());
|
||||
}
|
||||
else if ((entity instanceof WitherEntity) ||
|
||||
(entity instanceof WitherSkullEntity))
|
||||
|
|
|
@ -159,7 +159,7 @@ public interface IForgeEntity extends ICapabilitySerializable<CompoundNBT>
|
|||
*/
|
||||
default EntityClassification getClassification(boolean forSpawnCount)
|
||||
{
|
||||
return getEntity().getType().getClassiciation();
|
||||
return getEntity().getType().getClassification();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -603,7 +603,7 @@ public interface IForgeItem
|
|||
*/
|
||||
default boolean canApplyAtEnchantingTable(ItemStack stack, net.minecraft.enchantment.Enchantment enchantment)
|
||||
{
|
||||
return enchantment.field_77351_y.canEnchantItem(stack.getItem());
|
||||
return enchantment.type.canEnchantItem(stack.getItem());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -111,7 +111,7 @@ public interface IForgeItemStack extends ICapabilitySerializable<CompoundNBT>
|
|||
PlayerEntity entityplayer = context.getPlayer();
|
||||
BlockPos blockpos = context.getPos();
|
||||
CachedBlockInfo blockworldstate = new CachedBlockInfo(context.getWorld(), blockpos, false);
|
||||
if (entityplayer != null && !entityplayer.playerAbilities.allowEdit && !getStack().canPlaceOn(context.getWorld().getTags(), blockworldstate)) {
|
||||
if (entityplayer != null && !entityplayer.abilities.allowEdit && !getStack().canPlaceOn(context.getWorld().getTags(), blockworldstate)) {
|
||||
return ActionResultType.PASS;
|
||||
} else {
|
||||
Item item = getStack().getItem();
|
||||
|
|
|
@ -65,9 +65,9 @@ public interface IForgeWorldType
|
|||
default void onCustomizeButton(Minecraft mc, CreateWorldScreen gui)
|
||||
{
|
||||
if (this == WorldType.FLAT)
|
||||
mc.displayGuiScreen(new CreateFlatWorldScreen(gui, gui.field_146334_a));
|
||||
mc.displayGuiScreen(new CreateFlatWorldScreen(gui, gui.chunkProviderSettingsJson));
|
||||
else if (this == WorldType.BUFFET)
|
||||
mc.displayGuiScreen(new CreateBuffetWorldScreen(gui, gui.field_146334_a));
|
||||
mc.displayGuiScreen(new CreateBuffetWorldScreen(gui, gui.chunkProviderSettingsJson));
|
||||
}
|
||||
|
||||
default boolean handleSlimeSpawnReduction(java.util.Random random, World world)
|
||||
|
|
|
@ -345,7 +345,7 @@ public class ForgeEventFactory
|
|||
if (MinecraftForge.EVENT_BUS.post(event)) return -1;
|
||||
if (event.getResult() == Result.ALLOW)
|
||||
{
|
||||
context.getItem().func_222118_a(1, context.getPlayer(), player -> player.func_213334_d(context.func_221531_n()));
|
||||
context.getItem().damageItem(1, context.getPlayer(), player -> player.sendBreakAnimation(context.getHand()));
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -372,7 +372,7 @@ public class ForgeEventFactory
|
|||
|
||||
if (event.getResult() == Result.ALLOW)
|
||||
{
|
||||
if (player.playerAbilities.isCreativeMode)
|
||||
if (player.abilities.isCreativeMode)
|
||||
return new ActionResult<ItemStack>(ActionResultType.SUCCESS, stack);
|
||||
|
||||
stack.shrink(1);
|
||||
|
@ -567,7 +567,7 @@ public class ForgeEventFactory
|
|||
Result canContinueSleep = evt.getResult();
|
||||
if (canContinueSleep == Result.DEFAULT)
|
||||
{
|
||||
return player.func_213374_dv().map(pos-> {
|
||||
return player.getBedPosition().map(pos-> {
|
||||
BlockState state = player.world.getBlockState(pos);
|
||||
return state.getBlock().isBed(state, player.world, pos, player);
|
||||
}).orElse(false);
|
||||
|
|
|
@ -232,7 +232,7 @@ public class FluidUtil
|
|||
return FluidActionResult.FAILURE;
|
||||
}
|
||||
|
||||
if (player != null && player.playerAbilities.isCreativeMode)
|
||||
if (player != null && player.abilities.isCreativeMode)
|
||||
{
|
||||
FluidActionResult filledReal = tryFillContainer(container, fluidSource, maxAmount, player, doFill);
|
||||
if (filledReal.isSuccess())
|
||||
|
@ -300,7 +300,7 @@ public class FluidUtil
|
|||
return FluidActionResult.FAILURE;
|
||||
}
|
||||
|
||||
if (player != null && player.playerAbilities.isCreativeMode)
|
||||
if (player != null && player.abilities.isCreativeMode)
|
||||
{
|
||||
FluidActionResult emptiedReal = tryEmptyContainer(container, fluidDestination, maxAmount, player, doDrain);
|
||||
if (emptiedReal.isSuccess())
|
||||
|
|
|
@ -167,7 +167,7 @@ public class UniversalBucket extends Item
|
|||
}
|
||||
|
||||
// clicked on a block?
|
||||
RayTraceResult rt = func_219968_a(world, player, FluidMode.NONE);
|
||||
RayTraceResult rt = rayTrace(world, player, FluidMode.NONE);
|
||||
|
||||
ActionResult<ItemStack> ret = ForgeEventFactory.onBucketUse(player, world, itemstack, rt);
|
||||
if (ret != null) return ret;
|
||||
|
@ -190,7 +190,7 @@ public class UniversalBucket extends Item
|
|||
{
|
||||
// try placing liquid
|
||||
FluidActionResult result = FluidUtil.tryPlaceFluid(player, world, hand, targetPos, itemstack, fluidStack);
|
||||
if (result.isSuccess() && !player.playerAbilities.isCreativeMode)
|
||||
if (result.isSuccess() && !player.abilities.isCreativeMode)
|
||||
{
|
||||
// success!
|
||||
player.addStat(Stats.ITEM_USED.get(this));
|
||||
|
|
|
@ -23,26 +23,14 @@ import com.google.common.collect.ImmutableList;
|
|||
import com.google.common.collect.Lists;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import net.minecraft.resources.IResourceManager;
|
||||
import net.minecraftforge.resource.IResourceType;
|
||||
import net.minecraftforge.resource.VanillaResourceType;
|
||||
import net.minecraft.resources.IResourceManagerReloadListener;
|
||||
import net.minecraftforge.versions.forge.ForgeVersion;
|
||||
import net.minecraftforge.versions.mcp.MCPVersion;
|
||||
|
||||
|
||||
import net.minecraft.resources.IResourceManager;
|
||||
import net.minecraftforge.resource.IResourceType;
|
||||
import net.minecraftforge.resource.VanillaResourceType;
|
||||
import net.minecraftforge.versions.forge.ForgeVersion;
|
||||
import net.minecraftforge.versions.mcp.MCPVersion;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
public class BrandingControl
|
||||
{
|
||||
private static List<String> brandings;
|
||||
|
@ -86,10 +74,12 @@ public class BrandingControl
|
|||
return "forge";
|
||||
}
|
||||
|
||||
public static void clearCaches(IResourceManager resourceManager, Predicate<IResourceType> resourcePredicate) {
|
||||
if (resourcePredicate.test(VanillaResourceType.LANGUAGES)) {
|
||||
brandings = null;
|
||||
brandingsNoMC = null;
|
||||
}
|
||||
public static IResourceManagerReloadListener resourceManagerReloadListener() {
|
||||
return BrandingControl::onResourceManagerReload;
|
||||
}
|
||||
|
||||
private static void onResourceManagerReload(IResourceManager resourceManager) {
|
||||
brandings = null;
|
||||
brandingsNoMC = null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -124,7 +124,6 @@ public class ModLoader
|
|||
}
|
||||
|
||||
public void loadMods() {
|
||||
gatherAndInitializeMods();
|
||||
DistExecutor.runWhenOn(Dist.CLIENT, ()->()-> ConfigTracker.INSTANCE.loadConfigs(ModConfig.Type.CLIENT, FMLPaths.CONFIGDIR.get()));
|
||||
ConfigTracker.INSTANCE.loadConfigs(ModConfig.Type.COMMON, FMLPaths.CONFIGDIR.get());
|
||||
dispatchAndHandleError(LifecycleEventProvider.SETUP);
|
||||
|
@ -132,7 +131,7 @@ public class ModLoader
|
|||
dispatchAndHandleError(LifecycleEventProvider.SIDED_SETUP);
|
||||
}
|
||||
|
||||
private void gatherAndInitializeMods() {
|
||||
public void gatherAndInitializeMods() {
|
||||
final ModList modList = ModList.of(loadingModList.getModFiles().stream().map(ModFileInfo::getFile).collect(Collectors.toList()), loadingModList.getMods());
|
||||
if (!this.loadingExceptions.isEmpty()) {
|
||||
throw new LoadingFailedException(loadingExceptions);
|
||||
|
|
|
@ -226,7 +226,7 @@ public class StartupQuery {
|
|||
}
|
||||
|
||||
if (query.isSynchronous()) {
|
||||
while (client.field_71462_r instanceof GuiNotification) {
|
||||
while (client.currentScreen instanceof GuiNotification) {
|
||||
if (Thread.interrupted()) {
|
||||
query.exception = new InterruptedException();
|
||||
throw new RuntimeException();
|
||||
|
|
|
@ -22,18 +22,14 @@ package net.minecraftforge.fml.client;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.DownloadingPackFinder;
|
||||
import net.minecraft.client.resources.ClientResourcePackInfo;
|
||||
import net.minecraft.resources.IReloadableResourceManager;
|
||||
import net.minecraft.resources.ResourcePackList;
|
||||
import net.minecraft.profiler.IProfiler;
|
||||
import net.minecraft.resources.*;
|
||||
import net.minecraft.util.Unit;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.ForgeConfig;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.LoadingFailedException;
|
||||
import net.minecraftforge.fml.LogicalSidedProvider;
|
||||
import net.minecraftforge.fml.ModLoader;
|
||||
import net.minecraftforge.fml.ModLoadingWarning;
|
||||
import net.minecraftforge.fml.SidedProvider;
|
||||
import net.minecraftforge.fml.VersionChecker;
|
||||
import net.minecraftforge.fml.*;
|
||||
import net.minecraftforge.fml.client.gui.LoadingErrorScreen;
|
||||
import net.minecraftforge.fml.packs.ResourcePackLoader;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
|
@ -43,6 +39,8 @@ import com.mojang.blaze3d.platform.GlStateManager;
|
|||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import static net.minecraftforge.fml.loading.LogMarkers.LOADING;
|
||||
|
||||
|
@ -61,15 +59,31 @@ public class ClientModLoader
|
|||
SidedProvider.setClient(()->minecraft);
|
||||
LogicalSidedProvider.setClient(()->minecraft);
|
||||
try {
|
||||
ModLoader.get().loadMods();
|
||||
ModLoader.get().gatherAndInitializeMods();
|
||||
} catch (LoadingFailedException e) {
|
||||
MinecraftForge.EVENT_BUS.shutdown();
|
||||
error = e;
|
||||
TEMP_printLoadingExceptions(e);
|
||||
}
|
||||
ResourcePackLoader.loadResourcePacks(defaultResourcePacks);
|
||||
mcResourceManager.addReloadListener(ClientModLoader::onreload);
|
||||
mcResourceManager.addReloadListener(BrandingControl.resourceManagerReloadListener());
|
||||
}
|
||||
|
||||
private static CompletableFuture<Void> onreload(final IFutureReloadListener.IStage stage, final IResourceManager resourceManager, final IProfiler prepareProfiler, final IProfiler executeProfiler, final Executor asyncExecutor, final Executor syncExecutor) {
|
||||
return CompletableFuture.runAsync(runTaskWithCatch(ModLoader.get()::loadMods), syncExecutor).thenCompose(stage::markCompleteAwaitingOthers).thenRunAsync(runTaskWithCatch(ModLoader.get()::finishMods));
|
||||
}
|
||||
|
||||
private static Runnable runTaskWithCatch(Runnable r) {
|
||||
return ()-> {
|
||||
try {
|
||||
r.run();
|
||||
} catch (LoadingFailedException e) {
|
||||
MinecraftForge.EVENT_BUS.shutdown();
|
||||
error = e;
|
||||
}
|
||||
};
|
||||
}
|
||||
public static void end()
|
||||
{
|
||||
try {
|
||||
|
|
|
@ -34,14 +34,14 @@ public class GuiConfirmation extends GuiNotification
|
|||
{
|
||||
this.addButton(new Button(this.width / 2 - 104, this.height - 38, 100, 20, ForgeI18n.parseMessage("gui.yes"), b ->
|
||||
{
|
||||
GuiConfirmation.this.minecraft.field_71462_r = null;
|
||||
GuiConfirmation.this.minecraft.currentScreen = null;
|
||||
query.setResult(true);
|
||||
query.finish();
|
||||
}
|
||||
));
|
||||
this.addButton(new Button(this.width / 2 + 4, this.height - 38, 100, 20, ForgeI18n.parseMessage("gui.no"), b ->
|
||||
{
|
||||
GuiConfirmation.this.minecraft.field_71462_r = null;
|
||||
GuiConfirmation.this.minecraft.currentScreen = null;
|
||||
query.setResult(false);
|
||||
query.finish();
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ public class FMLPlayMessages
|
|||
SpawnEntity(Entity e)
|
||||
{
|
||||
this.entity = e;
|
||||
this.typeId = Registry.field_212629_r.getId(e.getType());
|
||||
this.typeId = Registry.ENTITY_TYPE.getId(e.getType());
|
||||
this.entityId = e.getEntityId();
|
||||
this.uuid = e.getUniqueID();
|
||||
this.posX = e.posX;
|
||||
|
@ -143,7 +143,7 @@ public class FMLPlayMessages
|
|||
public static void handle(SpawnEntity msg, Supplier<NetworkEvent.Context> ctx)
|
||||
{
|
||||
ctx.get().enqueueWork(() -> {
|
||||
EntityType<?> type = Registry.field_212629_r.getByValue(msg.typeId);
|
||||
EntityType<?> type = Registry.ENTITY_TYPE.getByValue(msg.typeId);
|
||||
if (type == null)
|
||||
{
|
||||
throw new RuntimeException(String.format("Could not spawn entity (id %d) with unknown type at (%f, %f, %f)", msg.entityId, msg.posX, msg.posY, msg.posZ));
|
||||
|
@ -163,7 +163,7 @@ public class FMLPlayMessages
|
|||
|
||||
e.setEntityId(msg.entityId);
|
||||
e.setUniqueId(msg.uuid);
|
||||
world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).func_217411_a(msg.entityId, e));
|
||||
world.filter(ClientWorld.class::isInstance).ifPresent(w->((ClientWorld)w).addEntity(msg.entityId, e));
|
||||
e.setVelocity(msg.velX / 8000.0, msg.velY / 8000.0, msg.velZ / 8000.0);
|
||||
if (e instanceof IEntityAdditionalSpawnData)
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ public class FMLPlayMessages
|
|||
|
||||
OpenContainer(ContainerType<?> id, int windowId, ITextComponent name, PacketBuffer additionalData)
|
||||
{
|
||||
this(Registry.field_218366_G.getId(id), windowId, name, additionalData);
|
||||
this(Registry.MENU.getId(id), windowId, name, additionalData);
|
||||
}
|
||||
|
||||
private OpenContainer(int id, int windowId, ITextComponent name, PacketBuffer additionalData)
|
||||
|
@ -223,7 +223,7 @@ public class FMLPlayMessages
|
|||
}
|
||||
|
||||
public final ContainerType<?> getType() {
|
||||
return Registry.field_218366_G.getByValue(this.id);
|
||||
return Registry.MENU.getByValue(this.id);
|
||||
}
|
||||
|
||||
public int getWindowId() {
|
||||
|
|
|
@ -180,7 +180,7 @@ public class NetworkEvent extends Event
|
|||
// Must check ourselves as Minecraft will sometimes delay tasks even when they are received on the client thread
|
||||
// Same logic as ThreadTaskExecutor#runImmediately without the join
|
||||
if (!executor.isOnExecutionThread()) {
|
||||
return executor.func_213165_a(runnable); // Use the internal method so thread check isn't done twice
|
||||
return executor.deferTask(runnable); // Use the internal method so thread check isn't done twice
|
||||
} else {
|
||||
runnable.run();
|
||||
return CompletableFuture.completedFuture(null);
|
||||
|
@ -197,7 +197,7 @@ public class NetworkEvent extends Event
|
|||
if (netHandler instanceof ServerPlayNetHandler)
|
||||
{
|
||||
ServerPlayNetHandler netHandlerPlayServer = (ServerPlayNetHandler) netHandler;
|
||||
return netHandlerPlayServer.field_147369_b;
|
||||
return netHandlerPlayServer.player;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -237,21 +237,21 @@ public class PacketDistributor<T> {
|
|||
private Consumer<IPacket<?>> trackingEntity(final Supplier<Entity> entitySupplier) {
|
||||
return p-> {
|
||||
final Entity entity = entitySupplier.get();
|
||||
((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).func_217218_b(entity, p);
|
||||
((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToAllTracking(entity, p);
|
||||
};
|
||||
}
|
||||
|
||||
private Consumer<IPacket<?>> trackingEntityAndSelf(final Supplier<Entity> entitySupplier) {
|
||||
return p-> {
|
||||
final Entity entity = entitySupplier.get();
|
||||
((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).func_217216_a(entity, p);
|
||||
((ServerChunkProvider)entity.getEntityWorld().getChunkProvider()).sendToTrackingAndSelf(entity, p);
|
||||
};
|
||||
}
|
||||
|
||||
private Consumer<IPacket<?>> trackingChunk(final Supplier<Chunk> chunkPosSupplier) {
|
||||
return p -> {
|
||||
final Chunk chunk = chunkPosSupplier.get();
|
||||
((ServerChunkProvider)chunk.getWorld().getChunkProvider()).field_217237_a.func_219097_a(chunk.getPos(), false).forEach(e -> e.connection.sendPacket(p));
|
||||
((ServerChunkProvider)chunk.getWorld().getChunkProvider()).chunkManager.getTrackingPlayers(chunk.getPos(), false).forEach(e -> e.connection.sendPacket(p));
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -195,7 +195,7 @@ public class ItemHandlerHelper
|
|||
entityitem.setPickupDelay(40);
|
||||
entityitem.setMotion(entityitem.getMotion().mul(0, 1, 0));
|
||||
|
||||
world.func_217376_c(entityitem);
|
||||
world.addEntity(entityitem);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ public class ClearableRegistry<T> extends MutableRegistry<T>
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<T> func_218349_b(ResourceLocation p_218349_1_) {
|
||||
return Optional.ofNullable(map.get(p_218349_1_));
|
||||
public Optional<T> getValue(ResourceLocation key) {
|
||||
return Optional.ofNullable(map.get(key));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,6 +88,8 @@ import java.util.stream.Collectors;
|
|||
|
||||
import static net.minecraftforge.registries.ForgeRegistry.REGISTRIES;
|
||||
|
||||
import net.minecraftforge.fml.common.EnhancedRuntimeException.WrappedPrintStream;
|
||||
|
||||
/**
|
||||
* INTERNAL ONLY
|
||||
* MODDERS SHOULD HAVE NO REASON TO USE THIS CLASS
|
||||
|
|
|
@ -71,7 +71,7 @@ class NamespacedDefaultedWrapper<T extends IForgeRegistryEntry<T>> extends Defau
|
|||
|
||||
// Reading Functions
|
||||
@Override
|
||||
public Optional<T> func_218349_b(@Nullable ResourceLocation name)
|
||||
public Optional<T> getValue(@Nullable ResourceLocation name)
|
||||
{
|
||||
return Optional.ofNullable( this.delegate.getRaw(name)); //get without default
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ class NamespacedWrapper<T extends IForgeRegistryEntry<T>> extends SimpleRegistry
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<T> func_218349_b(@Nullable ResourceLocation name)
|
||||
public Optional<T> getValue(@Nullable ResourceLocation name)
|
||||
{
|
||||
return Optional.ofNullable( this.delegate.getRaw(name)); //get without default
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@ net/minecraft/client/renderer/model/multipart/Multipart.bake(Lnet/minecraft/clie
|
|||
|
||||
net/minecraft/client/resources/ClientResourcePackInfo.<init>(Ljava/lang/String;ZLjava/util/function/Supplier;Lnet/minecraft/resources/IResourcePack;Lnet/minecraft/resources/data/PackMetadataSection;Lnet/minecraft/resources/ResourcePackInfo$Priority;Z)V=|p_i48113_1_,p_i48113_2_,p_i48113_3_,p_i48113_4_,p_i48113_5_,p_i48113_6_,hidden
|
||||
net/minecraft/client/resources/ClientResourcePackInfo.<init>(Ljava/lang/String;ZLjava/util/function/Supplier;Lnet/minecraft/util/text/ITextComponent;Lnet/minecraft/util/text/ITextComponent;Lnet/minecraft/resources/PackCompatibility;Lnet/minecraft/resources/ResourcePackInfo$Priority;ZLnet/minecraft/client/renderer/texture/NativeImage;Z)V=|p_i48114_1_,p_i48114_2_,p_i48114_3_,p_i48114_4_,p_i48114_5_,p_i48114_6_,p_i48114_7_,p_i48114_8_,p_i48114_9_,hidden
|
||||
|
||||
net/minecraft/client/gui/ScreenManager.getScreenFactory(Lnet/minecraft/inventory/container/ContainerType;Lnet/minecraft/client/Minecraft;ILnet/minecraft/util/text/ITextComponent;)Ljava/util/Optional;=|p_216909_0_,p_216909_1_,p_216909_2_,p_216909_3_
|
||||
net/minecraft/entity/EntityClassification.create(Ljava/lang/String;Ljava/lang/String;IZZ)Lnet/minecraft/entity/EntityClassification;=|name,p_i50381_3_,p_i50381_4_,p_i50381_5_,p_i50381_6_
|
||||
|
||||
net/minecraft/entity/player/PlayerEntity.getDigSpeed(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)F=|p_184813_1_,pos
|
||||
|
@ -59,11 +59,16 @@ net/minecraft/world/World.getSunBrightnessBody(F)F=|p_72971_1_
|
|||
net/minecraft/world/World.getSkyColorBody(Lnet/minecraft/util/math/BlockPos;F)Lnet/minecraft/util/math/Vec3d;=|p_217382_1_,p_217382_2_
|
||||
net/minecraft/world/World.getCloudColorBody(F)Lnet/minecraft/util/math/Vec3d;=|p_72824_1_
|
||||
net/minecraft/world/ServerWorld.canMineBlockBody(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/math/BlockPos;)Z=|p_175660_1_,p_175660_2_
|
||||
net/minecraft/world/ServerWorld.removeEntityComplete(Lnet/minecraft/entity/Entity;Z)V=|p_217484_1_,keepData
|
||||
net/minecraft/world/ServerWorld.removeEntity(Lnet/minecraft/entity/Entity;Z)V=|p_217467_1_,keepData
|
||||
net/minecraft/world/ServerWorld.removePlayer(Lnet/minecraft/entity/player/ServerPlayerEntity;Z)V=|p_217434_1_,keepData
|
||||
|
||||
net/minecraft/world/dimension/DimensionType.<init>(ILjava/lang/String;Ljava/lang/String;Ljava/util/function/BiFunction;ZLnet/minecraftforge/common/ModDimension;Lnet/minecraft/network/PacketBuffer;)V=|p_i49935_1_,p_i49935_2_,p_i49935_3_,p_i49935_4_,p_i49935_5_,modType,data
|
||||
net/minecraft/world/chunk/BlockStateContainer.setBits(IZ)V=|p_186012_1_,forceBits
|
||||
|
||||
net/minecraft/world/end/DragonFightManager.<init>(Lnet/minecraft/world/ServerWorld;Lnet/minecraft/nbt/CompoundNBT;Lnet/minecraft/world/dimension/EndDimension;)V=|p_i46669_1_,p_i46669_2_,dim
|
||||
|
||||
net/minecraft/entity/EntityType.<init>(Lnet/minecraft/entity/EntityType$IFactory;Lnet/minecraft/entity/EntityClassification;ZZZLcom/mojang/datafixers/types/Type;Lnet/minecraft/entity/EntitySize;Ljava/util/function/Predicate;Ljava/util/function/ToIntFunction;Ljava/util/function/ToIntFunction;Ljava/util/function/BiFunction;)V=|p_i50385_1_,p_i50385_2_,p_i50385_3_,p_i50385_4_,p_i50385_5_,p_i50385_6_,p_i50385_7_,velocityUpdateSupplier,trackingRangeSupplier,updateIntervalSupplier,customClientFactory
|
||||
net/minecraft/world/spawner/WorldEntitySpawner.getSpawnList(Lnet/minecraft/world/gen/ChunkGenerator;Lnet/minecraft/entity/EntityClassification;Ljava/util/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/World;)Z|p_222264_0_,p_222264_1_,p_222264_2_,p_222264_3_,world
|
||||
net/minecraft/world/spawner/WorldEntitySpawner.getSpawnList(Lnet/minecraft/world/gen/ChunkGenerator;Lnet/minecraft/entity/EntityClassification;Lnet/minecraft/world/biome/Biome$SpawnListEntry;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/World;)Z|p_222261_0_,p_222261_1_,p_222261_2_,p_222261_3_,world
|
||||
net/minecraft/world/spawner/WorldEntitySpawner.canSpawnAtBody(Lnet/minecraft/entity/EntitySpawnPlacementRegistry$PlacementType;Lnet/minecraft/world/IWorldReader;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/EntityType;)Z=|p_209382_0_,p_209382_1_,p_209382_2_,p_209382_3_
|
||||
|
|
Loading…
Reference in a new issue