Fixed server-side crashes and fixed a wrong check for the Smelting anointment.

This commit is contained in:
WayofTime 2021-01-16 11:51:26 -05:00
parent 9d1d8fc01f
commit 113c33ca5c
7 changed files with 45 additions and 15 deletions

View file

@ -124,7 +124,6 @@ public class BloodMagic
modBus.addListener(this::processIMC);
// Register the doClientStuff method for modloading
modBus.addListener(this::doClientStuff);
modBus.addListener(this::registerColors);
modBus.addListener(this::loadModels);
modBus.addListener(this::gatherData);
@ -134,6 +133,8 @@ public class BloodMagic
modBus.addGenericListener(Effect.class, BloodMagicPotions::registerPotions);
MinecraftForge.EVENT_BUS.register(new GenericHandler());
// MinecraftForge.EVENT_BUS.register(new ClientEvents());
modBus.addListener(this::registerColors);
MinecraftForge.EVENT_BUS.register(new WillHandler());
// MinecraftForge.EVENT_BUS.register(new BloodMagicBlocks());
@ -247,11 +248,16 @@ public class BloodMagic
ClientEvents.initClientEvents(event);
Elements.registerElements();
MinecraftForge.EVENT_BUS.register(new ClientEvents());
// IEventBus modBus = FMLJavaModLoadingContext.get().getModEventBus();
//
}
private void registerColors(final ColorHandlerEvent.Item event)
private void registerColors(final ColorHandlerEvent event)
{
ClientEvents.colorHandlerEvent(event);
if (event instanceof ColorHandlerEvent.Item)
ClientEvents.colorHandlerEvent((ColorHandlerEvent.Item) event);
}
private void enqueueIMC(final InterModEnqueueEvent event)

View file

@ -13,6 +13,7 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.ColorHandlerEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DeferredWorkQueue;
import net.minecraftforge.fml.client.registry.ClientRegistry;
@ -21,6 +22,7 @@ import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.anointment.AnointmentColor;
import wayoftime.bloodmagic.anointment.AnointmentHolder;
import wayoftime.bloodmagic.api.compat.IMultiWillTool;
import wayoftime.bloodmagic.client.model.MimicColor;
import wayoftime.bloodmagic.client.render.alchemyarray.BeaconAlchemyCircleRenderer;
@ -72,6 +74,14 @@ public class ClientEvents
event.getItemColors().register(new AnointmentColor(), BloodMagicItems.MELEE_DAMAGE_ANOINTMENT.get(), BloodMagicItems.SILK_TOUCH_ANOINTMENT.get(), BloodMagicItems.FORTUNE_ANOINTMENT.get(), BloodMagicItems.HOLY_WATER_ANOINTMENT.get(), BloodMagicItems.HIDDEN_KNOWLEDGE_ANOINTMENT.get(), BloodMagicItems.QUICK_DRAW_ANOINTMENT.get(), BloodMagicItems.LOOTING_ANOINTMENT.get(), BloodMagicItems.BOW_POWER_ANOINTMENT.get(), BloodMagicItems.WILL_POWER_ANOINTMENT.get(), BloodMagicItems.SMELTING_ANOINTMENT.get());
}
@SubscribeEvent
public void appendTooltip(ItemTooltipEvent event)
{
ItemStack stack = event.getItemStack();
AnointmentHolder holder = AnointmentHolder.fromItemStack(stack);
AnointmentHolder.appendAnointmentTooltip(holder, event.getToolTip());
}
@SuppressWarnings("deprecation")
public static void initClientEvents(FMLClientSetupEvent event)
{

View file

@ -235,7 +235,7 @@ public class GlobalLootModifier
ItemStack ctxTool = context.get(LootParameters.TOOL);
// return early if silk-touch is already applied (otherwise we'll get stuck in
// an infinite loop).
if (ctxTool.getTag() != null)
if (ctxTool.getTag() == null)
{
return generatedLoot;
}

View file

@ -32,7 +32,6 @@ import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.event.entity.living.LivingHealEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.entity.player.PlayerXpEvent;
@ -551,14 +550,6 @@ public class GenericHandler
}
}
@SubscribeEvent
public void appendTooltip(ItemTooltipEvent event)
{
ItemStack stack = event.getItemStack();
AnointmentHolder holder = AnointmentHolder.fromItemStack(stack);
AnointmentHolder.appendAnointmentTooltip(holder, event.getToolTip());
}
private static final Map<ItemStack, Double> rollMap = new HashMap<ItemStack, Double>();
@SubscribeEvent