Change default BrewingRecipe to use an Ingredient for the input instead of ItemStack. Closes #5944
Add AT for GameRules.register Closes #5946 Fix Forge Blockstate loader model path is inconsistent with vanilla blockstates Closes #5892 Fix client crashing when opting not to load a world when there's missing blocks Closes #5886
This commit is contained in:
parent
e6f032db1b
commit
cb21e95e0b
5 changed files with 27 additions and 22 deletions
|
@ -50,7 +50,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()));
|
||||
@@ -611,7 +615,10 @@
|
||||
@@ -611,9 +615,15 @@
|
||||
this.field_71304_b.func_219897_b();
|
||||
this.field_71296_Q = true;
|
||||
}
|
||||
|
@ -60,8 +60,13 @@
|
|||
+ net.minecraftforge.fml.server.ServerLifecycleHooks.expectServerStopped(); // has to come before finalTick to avoid race conditions
|
||||
this.func_71228_a((CrashReport)null);
|
||||
}
|
||||
+ } catch (net.minecraftforge.fml.StartupQuery.AbortedException e) {
|
||||
+ // ignore silently
|
||||
+ net.minecraftforge.fml.server.ServerLifecycleHooks.expectServerStopped(); // has to come before finalTick to avoid race conditions
|
||||
} catch (Throwable throwable1) {
|
||||
@@ -630,6 +637,7 @@
|
||||
field_147145_h.error("Encountered an unexpected exception", throwable1);
|
||||
CrashReport crashreport;
|
||||
@@ -630,6 +640,7 @@
|
||||
field_147145_h.error("We were unable to save this crash report to disk.");
|
||||
}
|
||||
|
||||
|
@ -69,7 +74,7 @@
|
|||
this.func_71228_a(crashreport);
|
||||
} finally {
|
||||
try {
|
||||
@@ -638,6 +646,7 @@
|
||||
@@ -638,6 +649,7 @@
|
||||
} catch (Throwable throwable) {
|
||||
field_147145_h.error("Exception stopping the server", throwable);
|
||||
} finally {
|
||||
|
@ -77,7 +82,7 @@
|
|||
this.func_71240_o();
|
||||
}
|
||||
|
||||
@@ -734,6 +743,7 @@
|
||||
@@ -734,6 +746,7 @@
|
||||
|
||||
protected void func_71217_p(BooleanSupplier p_71217_1_) {
|
||||
long i = Util.func_211178_c();
|
||||
|
@ -85,7 +90,7 @@
|
|||
++this.field_71315_w;
|
||||
this.func_71190_q(p_71217_1_);
|
||||
if (i - this.field_147142_T >= 5000000000L) {
|
||||
@@ -748,6 +758,7 @@
|
||||
@@ -748,6 +761,7 @@
|
||||
|
||||
Collections.shuffle(Arrays.asList(agameprofile));
|
||||
this.field_147147_p.func_151318_b().func_151330_a(agameprofile);
|
||||
|
@ -93,7 +98,7 @@
|
|||
}
|
||||
|
||||
if (this.field_71315_w % 6000 == 0) {
|
||||
@@ -775,6 +786,7 @@
|
||||
@@ -775,6 +789,7 @@
|
||||
long i1 = Util.func_211178_c();
|
||||
this.field_213215_ap.func_181747_a(i1 - i);
|
||||
this.field_71304_b.func_76319_b();
|
||||
|
@ -101,7 +106,7 @@
|
|||
}
|
||||
|
||||
protected void func_71190_q(BooleanSupplier p_71190_1_) {
|
||||
@@ -782,7 +794,8 @@
|
||||
@@ -782,7 +797,8 @@
|
||||
this.func_193030_aL().func_73660_a();
|
||||
this.field_71304_b.func_219895_b("levels");
|
||||
|
||||
|
@ -111,7 +116,7 @@
|
|||
if (serverworld.field_73011_w.func_186058_p() == DimensionType.field_223227_a_ || this.func_71255_r()) {
|
||||
this.field_71304_b.func_194340_a(() -> {
|
||||
return serverworld.func_72912_H().func_76065_j() + " " + Registry.field_212622_k.func_177774_c(serverworld.field_73011_w.func_186058_p());
|
||||
@@ -794,6 +807,7 @@
|
||||
@@ -794,6 +810,7 @@
|
||||
}
|
||||
|
||||
this.field_71304_b.func_76320_a("tick");
|
||||
|
@ -119,7 +124,7 @@
|
|||
|
||||
try {
|
||||
serverworld.func_72835_b(p_71190_1_);
|
||||
@@ -802,12 +816,16 @@
|
||||
@@ -802,12 +819,16 @@
|
||||
serverworld.func_72914_a(crashreport);
|
||||
throw new ReportedException(crashreport);
|
||||
}
|
||||
|
@ -136,7 +141,7 @@
|
|||
this.field_71304_b.func_219895_b("connection");
|
||||
this.func_147137_ag().func_151269_c();
|
||||
this.field_71304_b.func_219895_b("players");
|
||||
@@ -844,6 +862,7 @@
|
||||
@@ -844,6 +865,7 @@
|
||||
OptionSpec<Integer> optionspec10 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1);
|
||||
OptionSpec<String> optionspec11 = optionparser.accepts("serverId").withRequiredArg();
|
||||
OptionSpec<String> optionspec12 = optionparser.nonOptions();
|
||||
|
@ -144,7 +149,7 @@
|
|||
|
||||
try {
|
||||
OptionSet optionset = optionparser.parse(p_main_0_);
|
||||
@@ -936,7 +955,7 @@
|
||||
@@ -936,7 +958,7 @@
|
||||
}
|
||||
|
||||
public ServerWorld func_71218_a(DimensionType p_71218_1_) {
|
||||
|
@ -153,7 +158,7 @@
|
|||
}
|
||||
|
||||
public Iterable<ServerWorld> func_212370_w() {
|
||||
@@ -975,7 +994,7 @@
|
||||
@@ -975,7 +997,7 @@
|
||||
}
|
||||
|
||||
public String getServerModName() {
|
||||
|
@ -162,7 +167,7 @@
|
|||
}
|
||||
|
||||
public CrashReport func_71230_b(CrashReport p_71230_1_) {
|
||||
@@ -1517,4 +1536,29 @@
|
||||
@@ -1517,4 +1539,29 @@
|
||||
}
|
||||
|
||||
public abstract boolean func_213199_b(GameProfile p_213199_1_);
|
||||
|
|
|
@ -448,8 +448,7 @@ public class ForgeBlockStateV1 extends Marker
|
|||
|
||||
protected ResourceLocation getBlockLocation(String location)
|
||||
{
|
||||
ResourceLocation tmp = new ResourceLocation(location);
|
||||
return new ResourceLocation(tmp.getNamespace(), "block/" + tmp.getPath());
|
||||
return new ResourceLocation(location); //Vanilla 1.14 removed automatic block prefixes. See https://github.com/MinecraftForge/MinecraftForge/issues/5892
|
||||
}
|
||||
|
||||
/** Throws an error if there are submodels in this submodel. */
|
||||
|
|
|
@ -26,11 +26,11 @@ import javax.annotation.Nonnull;
|
|||
|
||||
public class BrewingRecipe implements IBrewingRecipe
|
||||
{
|
||||
@Nonnull private final ItemStack input;
|
||||
@Nonnull private final Ingredient input;
|
||||
@Nonnull private final Ingredient ingredient;
|
||||
@Nonnull private final ItemStack output;
|
||||
|
||||
public BrewingRecipe(ItemStack input, Ingredient ingredient, ItemStack output)
|
||||
public BrewingRecipe(Ingredient input, Ingredient ingredient, ItemStack output)
|
||||
{
|
||||
this.input = input;
|
||||
this.ingredient = ingredient;
|
||||
|
@ -40,7 +40,7 @@ public class BrewingRecipe implements IBrewingRecipe
|
|||
@Override
|
||||
public boolean isInput(@Nonnull ItemStack stack)
|
||||
{
|
||||
return ingredient.test(stack);
|
||||
return this.input.test(stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -49,7 +49,7 @@ public class BrewingRecipe implements IBrewingRecipe
|
|||
return isInput(input) && isIngredient(ingredient) ? getOutput().copy() : ItemStack.EMPTY;
|
||||
}
|
||||
|
||||
public ItemStack getInput()
|
||||
public Ingredient getInput()
|
||||
{
|
||||
return input;
|
||||
}
|
||||
|
|
|
@ -40,16 +40,16 @@ public class BrewingRecipeRegistry {
|
|||
* inputs that stack (a.k.a max stack size > 1) are not allowed.
|
||||
*
|
||||
* @param input
|
||||
* The ItemStack that goes in same slots as the water bottles
|
||||
* The Ingredient that goes in same slots as the water bottles
|
||||
* would.
|
||||
* @param ingredient
|
||||
* The ItemStack that goes in the same slot as nether wart would.
|
||||
* The Ingredient that goes in the same slot as nether wart would.
|
||||
* @param output
|
||||
* The ItemStack that will replace the input once the brewing is
|
||||
* done.
|
||||
* @return true if the recipe was added.
|
||||
*/
|
||||
public static boolean addRecipe(ItemStack input, Ingredient ingredient, ItemStack output)
|
||||
public static boolean addRecipe(Ingredient input, Ingredient ingredient, ItemStack output)
|
||||
{
|
||||
return addRecipe(new BrewingRecipe(input, ingredient, output));
|
||||
}
|
||||
|
|
|
@ -106,6 +106,7 @@ public net.minecraft.util.WeightedRandom$Item field_76292_a #probability
|
|||
public net.minecraft.util.concurrent.ThreadTaskExecutor func_213165_a(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture; # func_213165_a
|
||||
public net.minecraft.village.PointOfInterestType <init>(Ljava/lang/String;Ljava/util/Set;ILnet/minecraft/util/SoundEvent;)V
|
||||
public net.minecraft.village.PointOfInterestType <init>(Ljava/lang/String;Ljava/util/Set;ILnet/minecraft/util/SoundEvent;Ljava/util/function/Predicate;)V
|
||||
public net.minecraft.world.GameRules func_223595_a(Ljava/lang/String;Lnet/minecraft/world/GameRules$RuleType;)Lnet/minecraft/world/GameRules$RuleKey; # register
|
||||
protected net.minecraft.world.Teleporter field_77187_a # random
|
||||
protected net.minecraft.world.Teleporter field_85191_c # destinationCoordinateCache
|
||||
protected net.minecraft.world.Teleporter field_85192_a # world
|
||||
|
|
Loading…
Reference in a new issue