Skip to content

Commit 5a52298

Browse files
authored
Merge pull request #63 from TBoshoven/1.15-another-banner-crash
Super-ugly workaround for another server crash with banners
2 parents 2784d03 + 34b4fd9 commit 5a52298

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

MagicMirror/src/main/java/com/tomboshoven/minecraft/magicmirror/blocks/tileentities/modifiers/BannerMagicMirrorTileEntityModifier.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.tomboshoven.minecraft.magicmirror.reflection.modifiers.BannerReflectionModifier;
88
import com.tomboshoven.minecraft.magicmirror.reflection.modifiers.BannerReflectionModifierClient;
99
import mcp.MethodsReturnNonnullByDefault;
10-
import net.minecraft.block.BannerBlock;
10+
import net.minecraft.block.Block;
1111
import net.minecraft.entity.player.PlayerEntity;
1212
import net.minecraft.inventory.InventoryHelper;
1313
import net.minecraft.item.DyeColor;
@@ -16,10 +16,12 @@
1616
import net.minecraft.nbt.ListNBT;
1717
import net.minecraft.tileentity.BannerPattern;
1818
import net.minecraft.util.Hand;
19+
import net.minecraft.util.ResourceLocation;
1920
import net.minecraft.util.math.BlockPos;
2021
import net.minecraft.util.text.ITextComponent;
2122
import net.minecraft.world.World;
2223
import net.minecraftforge.fml.DistExecutor;
24+
import net.minecraftforge.registries.ForgeRegistries;
2325
import org.apache.commons.lang3.tuple.Pair;
2426

2527
import javax.annotation.Nullable;
@@ -65,7 +67,11 @@ public BannerMagicMirrorTileEntityModifier(MagicMirrorModifier modifier, DyeColo
6567

6668
@Override
6769
public void remove(World world, BlockPos pos) {
68-
ItemStack itemStack = new ItemStack(BannerBlock.forColor(baseColor));
70+
// BannerBlock.forColor is client-only.
71+
// Let's do a super-ugly workaround.
72+
// This will cause issues if dye colors are ever made extensible.
73+
Block block = ForgeRegistries.BLOCKS.getValue(new ResourceLocation(String.format("minecraft:%s_banner", baseColor.getTranslationKey())));
74+
ItemStack itemStack = new ItemStack(block);
6975
if (bannerNBT != null) {
7076
itemStack.getOrCreateTag().put("BlockEntityTag", bannerNBT);
7177
}

0 commit comments

Comments
 (0)