|
7 | 7 | import com.tomboshoven.minecraft.magicmirror.reflection.modifiers.BannerReflectionModifier;
|
8 | 8 | import com.tomboshoven.minecraft.magicmirror.reflection.modifiers.BannerReflectionModifierClient;
|
9 | 9 | import mcp.MethodsReturnNonnullByDefault;
|
10 |
| -import net.minecraft.block.BannerBlock; |
| 10 | +import net.minecraft.block.Block; |
11 | 11 | import net.minecraft.entity.player.PlayerEntity;
|
12 | 12 | import net.minecraft.inventory.InventoryHelper;
|
13 | 13 | import net.minecraft.item.DyeColor;
|
|
16 | 16 | import net.minecraft.nbt.ListNBT;
|
17 | 17 | import net.minecraft.tileentity.BannerPattern;
|
18 | 18 | import net.minecraft.util.Hand;
|
| 19 | +import net.minecraft.util.ResourceLocation; |
19 | 20 | import net.minecraft.util.math.BlockPos;
|
20 | 21 | import net.minecraft.util.text.ITextComponent;
|
21 | 22 | import net.minecraft.world.World;
|
22 | 23 | import net.minecraftforge.fml.DistExecutor;
|
| 24 | +import net.minecraftforge.registries.ForgeRegistries; |
23 | 25 | import org.apache.commons.lang3.tuple.Pair;
|
24 | 26 |
|
25 | 27 | import javax.annotation.Nullable;
|
@@ -65,7 +67,11 @@ public BannerMagicMirrorTileEntityModifier(MagicMirrorModifier modifier, DyeColo
|
65 | 67 |
|
66 | 68 | @Override
|
67 | 69 | 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); |
69 | 75 | if (bannerNBT != null) {
|
70 | 76 | itemStack.getOrCreateTag().put("BlockEntityTag", bannerNBT);
|
71 | 77 | }
|
|
0 commit comments