SaltBeard
-
Posts
18 -
Joined
-
Last visited
Posts posted by SaltBeard
-
-
Oh I am an idiot, thank you very much for patience
-
-
package com.saltbeard.potc; import com.google.common.eventbus.Subscribe; import com.saltbeard.potc.util.RegistryBlocksHandler; import com.saltbeard.potc.util.RegistryItemsHandler; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @Mod("potc") public class PotC { private static final Logger LOGGER = LogManager.getLogger(); public static final String MOD_ID = "potc"; public PotC() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff); MinecraftForge.EVENT_BUS.register(this); RegistryItemsHandler.init(); RegistryBlocksHandler.init(); } private void setup(final FMLCommonSetupEvent event){ } private void doClientStuff(final FMLClientSetupEvent event) { } public static final ItemGroup MISC_TAB = new ItemGroup("miscTab"){ @Override public ItemStack createIcon(){ return new ItemStack(RegistryItemsHandler.JADE.get()); } }; @Subscribe public static void onLivingDeathEvent (LivingDeathEvent deadEntity){ if ( deadEntity.getSource() == DamageSource.DROWN) { System.out.println("Entity died: drown"); } else{ System.out.println("Entity died: other reasons"); } } }
-
Ohh sorry , now I reread it, and I tried with same, but static method:
@Subscribe public static void onLivingDeathEvent (LivingDeathEvent deadEntity){ if ( deadEntity.getSource() == DamageSource.DROWN) { System.out.println("Entity died: drown"); } else{ System.out.println("Entity died: other reasons"); } }
And it still doesn't work - I am confused, why should it be static?
-
How can I avoid it? And second question it should still work? Thanks for reply tho
-
After some debugging I still can't figure out why this code (code below) don't print expected - when print line was outside if, it also didn't work
@Subscribe public void onLivingDeathEvent (LivingDeathEvent deadEntity){ if ( deadEntity.getSource() == DamageSource.DROWN) { System.out.println("Entity died: drown"); } else{ System.out.println("Entity died: other reasons"); } }
This code is in main class, class is registered to MinecraftForge.EVENT_BUS
Thanks for your time
-
Oh thank you very much
-
I want to teleport player somewhere when he had drown, how can I "listen" (detect) for that? For example send "special message" in chat when that happened or anything else.
-
When I create my dimension, where I can define biome, terrain, structures generation?
-
thanks
-
oh sorry for late answer, v15.2
-
Does anyone knows for good article for dimensions in Minecraft (something that will help me in creating my own), and probably some basic terrain generation?
-
nvm guys, it all works now, thank you so much for help
-
I want to specify properties when I create item "JADE", and I tried that with that piece of code above
This is ItemBase code:
package com.saltbeard.potc.items; import com.saltbeard.potc.PotC; import net.minecraft.item.Item; public class ItemBaseMisc extends Item { public ItemBaseMisc(){ super(new Properties().group(PotC.MISC_TAB)); } }
This is old code for registering item "JADE":
public static final RegistryObject<Item> JADE = ITEMS.register("jade", ItemBaseMisc::new);
-
public static final RegistryObject<Item> JADE = ITEMS.register("jade", () -> new Item(Item.Properties.group(PotC.MISC_TAB)));
something like this??? - MISC_TAB is custome ItemGroup that works fine ( when I tried with ItemBase)
Thank you for your help
-
oh, just giving ItemGroup:
public static final RegistryObject<Item> COPPER = ITEMS.register("copper", new Item.Properties().group(MAT.MISC_TAB));
-
I am new in modding, and I saw that some people use ItemBase (in tutorial) when registering new Item, and they said that, that isn't best way to give properties to an Item.
What is better way for that, and why use of ItemBase isn't "good"?
Thank you all for time
Missing library?
in ForgeGradle
Posted · Edited by SaltBeard
Have you installed Forge MDK and Java 8?