Jump to content

VecsonON

Members
  • Posts

    6
  • Joined

  • Last visited

Everything posted by VecsonON

  1. Oh. Thanks
  2. Ok, I delete mod on client side and download mod from server and put them on client and still not work. I check forge version. vesion is same.
  3. debug (1).log debug.log
  4. Wait a second, I will delete then. I adding this.
  5. main: package pl.coding.tutorial; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; 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; import pl.coding.tutorial.util.RegistryHandler; @Mod("hardmode") public class tutorial { public int tenperature = 0; public int playertemp = 0; private static final Logger LOGGER = LogManager.getLogger(); public static String MOD_ID = "hardmode"; public tutorial() { FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff); RegistryHandler.Init(); MinecraftForge.EVENT_BUS.register(this); } private void setup(final FMLCommonSetupEvent event) { } private void doClientStuff(final FMLClientSetupEvent event) { } public static final ItemGroup TAB = new ItemGroup("tutorialtab") { @Override public ItemStack createIcon() { return new ItemStack(RegistryHandler.BANDAGE.get()); } }; } Registry: package pl.coding.tutorial.util; import net.minecraft.enchantment.Enchantment; import net.minecraft.item.Item; import net.minecraft.potion.Effect; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import pl.coding.tutorial.Enchantment.*; import pl.coding.tutorial.base.*; import pl.coding.tutorial.base.effects.*; import pl.coding.tutorial.tutorial; public class RegistryHandler { public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, tutorial.MOD_ID); public static final DeferredRegister<Effect> EFFECTS = DeferredRegister.create(ForgeRegistries.POTIONS, tutorial.MOD_ID); public static final DeferredRegister<Enchantment> ENCHANTMENTS = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, tutorial.MOD_ID); public static void Init(){ ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus()); EFFECTS.register(FMLJavaModLoadingContext.get().getModEventBus()); ENCHANTMENTS.register(FMLJavaModLoadingContext.get().getModEventBus()); } //items //How to do this //public static final RegistryObject<Item> ITEM = ITEMS.register("item", ItemBase::new); //public static final RegistryObject<Effect> EFFECT = EFFECTS.register("effect", EffectBase::new); public static final RegistryObject<Item> BANDAGE = ITEMS.register("bandage", ItemBase::new); public static final RegistryObject<Item> STRINGE = ITEMS.register("stringe", ItemBase::new); public static final RegistryObject<Effect> INFECTION = EFFECTS.register("infection", EffectBaseHarmful::new); public static final RegistryObject<Effect> BREAK_LEG = EFFECTS.register("breakleg", EffectBaseHarmful::new); public static final RegistryObject<Effect> BREAK_ARM = EFFECTS.register("breakarm", EffectBaseHarmful::new); public static final RegistryObject<Enchantment> COLD = ENCHANTMENTS.register("cold", Cold::new); public static final RegistryObject<Enchantment> HEAT = ENCHANTMENTS.register("heat", Heat::new); } mod.toml [maybe] modLoader="javafml" loaderVersion="[35,)" license="All rights reserved" [[mods]] modId="hardmode" version="1.16.4" displayName="HardMode MOD" #mandatory credits="Thanks for this example mod goes to Java" #optional authors="VecsonON" #optional description=''' ''' [[dependencies.hardmode]] modId="forge" #mandatory mandatory=true #mandatory versionRange="[35,)" #mandatory ordering="NONE" side="BOTH" [[dependencies.hardmode]] modId="minecraft" mandatory=true versionRange="[1.16.4,1.17)" ordering="NONE" side="BOTH" Events Yes this code is awful... package pl.coding.tutorial.events; import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.entity.monster.ZombieEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.INBT; import net.minecraft.network.play.server.STitlePacket; import net.minecraft.potion.EffectInstance; import net.minecraft.potion.Effects; import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.ITextComponent; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.event.entity.living.LivingDamageEvent; import net.minecraftforge.event.entity.living.LivingEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.network.NetworkRegistry; import net.minecraftforge.fml.network.PacketDistributor; import net.minecraftforge.fml.network.simple.SimpleChannel; import org.lwjgl.system.CallbackI; import pl.coding.tutorial.util.RegistryHandler; import pl.coding.tutorial.util.utils; import java.util.Random; import java.util.function.Supplier; @Mod.EventBusSubscriber(modid = "hardmode", bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) public class ModClientEvents { private static final String PROTOCOL_VERSION = "1"; public static final SimpleChannel INSTANCE = NetworkRegistry.newSimpleChannel( new ResourceLocation("mymodid", "main"), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals ); //INFECTION @SubscribeEvent public static void PlayerAttackByZombie(LivingDamageEvent e){ Random ran = new Random(); if(e.getEntity() instanceof PlayerEntity){ PlayerEntity p = (PlayerEntity) e.getEntity(); if(e.getSource().getTrueSource() instanceof ZombieEntity){ int rand = ran.nextInt(100); Iterable<ItemStack> list = e.getEntity().getArmorInventoryList(); if(list.spliterator().getExactSizeIfKnown() > 0){ rand +=list.spliterator().getExactSizeIfKnown() * 5; } System.out.println(rand); if(rand <= 25){ p.addPotionEffect(new EffectInstance(RegistryHandler.INFECTION.get().addAttributesModifier(Attributes.ATTACK_DAMAGE, "648D7064-6A60-4F59-8ABE-C2C23A6DD7A9", 0.5D, AttributeModifier.Operation.ADDITION).addAttributesModifier(Attributes.MOVEMENT_SPEED, "7107DE5E-7CE8-4030-940E-514C1F160890", (double)-0.25F, AttributeModifier.Operation.MULTIPLY_TOTAL), 140000, 1)); p.addPotionEffect(new EffectInstance(Effects.HUNGER, 140000, 1)); } } } } //Temperature @SubscribeEvent public static void TemperatureDec(LivingEvent.LivingUpdateEvent event){ LivingEntity player = event.getEntityLiving(); utils.setPlayer(player); CompoundNBT tag = player.getPersistentData(); INBT BL = tag.get("BL"); INBT BA = tag.get("BA"); INBT modeTag = tag.get("time"); if (modeTag == null || BA == null || BL == null) { tag.putInt("time", 1); tag.putBoolean("BA", false); tag.putBoolean("BL", false); } if(tag.getBoolean("BL") == true) player.addPotionEffect(new EffectInstance(RegistryHandler.BREAK_LEG.get().addAttributesModifier(Attributes.MOVEMENT_SPEED, "7107DE5E-7CE8-4030-940E-514C1F160890", (double)-0.25F, AttributeModifier.Operation.MULTIPLY_TOTAL), 140000, 1)); if(tag.getBoolean("BA") == true) player.addPotionEffect(new EffectInstance(RegistryHandler.BREAK_ARM.get(), 1400, 1)); float tenperature; float playertemp; BlockPos pos = new BlockPos(player.getPositionVec()); World world = player.getEntityWorld(); if (world.getBiome(pos).getCategory().equals(Biome.Category.ICY)) { tenperature = -6f; } else if (world.getBiome(pos).getCategory().equals(Biome.Category.JUNGLE)) { tenperature = 6; } else if (world.getBiome(pos).getCategory().equals(Biome.Category.NETHER)) { tenperature = 9; } else if (world.getBiome(pos).getCategory().equals(Biome.Category.DESERT)) { tenperature = 6; } else if (world.getBiome(pos).getCategory().equals(Biome.Category.EXTREME_HILLS)) { tenperature = -6f; } else { tenperature = 0; } float armorTEMP = 0f; Iterable<ItemStack> list = event.getEntity().getArmorInventoryList(); for (ItemStack element : list) { if (element.getItem().equals(Items.LEATHER_HELMET)) { armorTEMP += 0.25f; } else if (element.getItem().equals(Items.IRON_HELMET)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.DIAMOND_HELMET)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.GOLDEN_HELMET)) { armorTEMP += 0.5f; } else if (element.getItem().equals(Items.NETHERITE_HELMET)) { armorTEMP += 2f; } if (element.getItem().equals(Items.LEATHER_CHESTPLATE)) { armorTEMP += 0.25f; } else if (element.getItem().equals(Items.IRON_CHESTPLATE)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.DIAMOND_CHESTPLATE)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.GOLDEN_CHESTPLATE)) { armorTEMP += 0.5f; } else if (element.getItem().equals(Items.NETHERITE_CHESTPLATE)) { armorTEMP += 2f; } if (element.getItem().equals(Items.LEATHER_LEGGINGS)) { armorTEMP += 0.25f; } else if (element.getItem().equals(Items.IRON_LEGGINGS)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.DIAMOND_LEGGINGS)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.GOLDEN_LEGGINGS)) { armorTEMP += 0.5f; } else if (element.getItem().equals(Items.NETHERITE_LEGGINGS)) { armorTEMP += 2f; } if (element.getItem().equals(Items.LEATHER_BOOTS)) { armorTEMP += 0.25f; } else if (element.getItem().equals(Items.IRON_BOOTS)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.DIAMOND_BOOTS)) { armorTEMP += 1f; } else if (element.getItem().equals(Items.GOLDEN_BOOTS)) { armorTEMP += 0.5f; } else if (element.getItem().equals(Items.NETHERITE_BOOTS)) { armorTEMP += 2f; } if (EnchantmentHelper.getEnchantmentLevel(RegistryHandler.HEAT.get(), element) > 0) { armorTEMP -= 2f; } else if (EnchantmentHelper.getEnchantmentLevel(RegistryHandler.COLD.get(), element) > 0) { armorTEMP += 2f; } } playertemp = tenperature; playertemp += armorTEMP; if (playertemp >= 10) { if(event.getEntity() instanceof PlayerEntity){ SendTitle("{\"text\":\"Player "+ ((PlayerEntity)event.getEntity()).getScoreboardName()+" is Overheating\",\"bold\":true,\"color\":\"dark_red\"}"); } event.getEntityLiving().setFire(5); tag.putInt("time", tag.getInt("time") - 1); } else if (playertemp <= -5) { if(event.getEntity() instanceof PlayerEntity){ SendTitle("{\"text\":\"Player "+ ((PlayerEntity)event.getEntity()).getScoreboardName()+" is Overcooling\",\"bold\":true,\"color\":\"dark_blue\"}"); } tag.putInt("time", tag.getInt("time") - 1); event.getEntity().attackEntityFrom(DamageSource.GENERIC, 1); } else { } // ONE ARMOR // // ARMOR | +TEMPERATUR // // Leather| +0.25 // // IRON | +1 // // DIAMOND| +1 // // GOLD | +0.5 // // NETHER | +2 // //////////////////////////// } //BREAKS ARMS, LEGS ITD. @SubscribeEvent public static void BreakLeg(LivingHurtEvent e){ Random ran = new Random(); if(e.getEntity() instanceof PlayerEntity){ if(e.getAmount() >= 6){ int rand = ran.nextInt(100); if(rand <= 25){ ((PlayerEntity) e.getEntity()).addPotionEffect(new EffectInstance(RegistryHandler.BREAK_LEG.get().addAttributesModifier(Attributes.MOVEMENT_SPEED, "7107DE5E-7CE8-4030-940E-514C1F160890", (double)-0.25F, AttributeModifier.Operation.MULTIPLY_TOTAL), 140000, 1)); CompoundNBT tag = e.getEntity().getPersistentData(); } } } } @SubscribeEvent public static void onBlockHarvested(BlockEvent.BreakEvent e){ Random ran = new Random(); int rand = 0; ItemStack i = e.getPlayer().inventory.getCurrentItem(); if(i.getItem().equals(Items.AIR)){ rand = ran.nextInt(100); if(rand <= 5){ e.getPlayer().addPotionEffect(new EffectInstance(RegistryHandler.BREAK_ARM.get(), 1400, 1)); CompoundNBT tag = e.getPlayer().getPersistentData(); } } if(e.getPlayer().isPotionActive(RegistryHandler.BREAK_ARM.get())){ e.setCanceled(true); } } @SubscribeEvent public static void BandageEvent(PlayerInteractEvent e){ if(e.getPlayer().inventory.getCurrentItem().getItem().equals(RegistryHandler.BANDAGE.get())){ CompoundNBT tag = e.getPlayer().getPersistentData(); tag.putBoolean("BA", false); tag.putBoolean("BL", false); e.getPlayer().inventory.getCurrentItem().setCount(e.getPlayer().inventory.getCurrentItem().getCount()-1); e.getPlayer().clearActivePotions(); }else if(e.getPlayer().inventory.getCurrentItem().getItem().equals(Items.MILK_BUCKET)){ CompoundNBT tag = e.getPlayer().getPersistentData(); if(e.getPlayer().isPotionActive(RegistryHandler.BREAK_ARM.get())){ tag.putBoolean("BA", true); }else if(e.getPlayer().isPotionActive(RegistryHandler.BREAK_LEG.get())){ tag.putBoolean("BL", true); } } } //OTHER static void SendTitle(String w){ try{ Minecraft.getInstance().player.connection.handleTitle( new STitlePacket( STitlePacket.Type.ACTIONBAR, ITextComponent.Serializer.getComponentFromJson(w), 5, 25, 5 ) ); }catch (Exception v){ } } } Do you need more? debug.log debug.log
  6. Hello, Recently I am creating a mod. when I wanted to play with a friend, but mod doesn't' work on server We have same mods on server and client if this is stupid question , I sorry Sorry for my bad English, I'm not native Englishman
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.