Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.10.2] Adding potion effects to entities


TheSunCat
 Share

Recommended Posts

Hi, I have been working on some wands for my mod, and have come across quite a few problems. This post is for one of them:

Right now, I am stuck with my Levitation Wand.

 

package com.thesuncat.momod.items;

import java.util.List;

import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer;
	EntityLivingBase elb = Minecraft.getMinecraft().thePlayer;
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(playerIn != null && stack.getTagCompound().getBoolean("isActive") == true) 
	{
		if(stack.getTagCompound().getBoolean("mobAffecting") == true)
		{
			List<Entity> entityInList = worldIn.getLoadedEntityList();
        		for(int i = 0; i < entityInList.size(); i++)
        		{
        			Entity entityIn1 = entityInList.get(i);
        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 3 && entityIn1 != playerIn)
        			{
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
        				stack.damageItem(1, playerIn);
        			}
        		}
		}
		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
		{
			Minecraft.getMinecraft().thePlayer.addPotionEffect(new PotionEffect(Potion.getPotionById(15), 2, 3, true, false));
			stack.damageItem(1, playerIn);
		}
	}
};
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
    {
        IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && Minecraft.getMinecraft().thePlayer.isCreative() == false)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());;
        		stack.getTagCompound().setBoolean("isActive", true);
        	}
        	}
            return EnumActionResult.SUCCESS;
        }
        else
        {
            return EnumActionResult.FAIL;
        }
    }
}

package com.thesuncat.momod.gui;

import java.awt.Color;
import java.io.IOException;

import com.thesuncat.momod.items.LevitationWand;
import com.thesuncat.momod.items.ModItems;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.client.config.GuiButtonExt;
import net.minecraftforge.fml.client.config.GuiSlider;

public class GuiLevitationWand extends GuiScreen
{
private GuiButtonExt button1;
private GuiButtonExt button2;
@Override
public void initGui() 
{
	button1 = new GuiButtonExt(0, width / 2 - 50, height / 2 + 100, 100, 20, "Yes");
	button2 = new GuiButtonExt(1, width / 2 - 10, height / 2 + 100, 100, 20, "No");
	buttonList.add(button1);
	buttonList.add(button2);
}
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException 
{
	super.keyTyped(typedChar, keyCode);
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException 
{
	super.mouseClicked(mouseX, mouseY, mouseButton);
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) 
{
	drawDefaultBackground();
	super.drawScreen(mouseX, mouseY, partialTicks);
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
	if(button == button1)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", true);
		}
	}
	if(button == button2)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", false);
		}
	}
	mc.currentScreen = null;
}
}

 

The point of this code is to create a wand, that can be turned on and off, that has an option to affect mobs or affect the player. If it affects mobs, then it also inflicts poison to them. On rightclick, the wand can be activated and deactivated. If activating, it opens a GUI. From the GUI, you can select if you want it to affect the player or mobs around him. I have not tested this yet, since I have two errors under entityIn1.addPotionEffect, saying that the method does not exist. How would I go about applying levitation and poison to the entities in a three block radius of the player? The code above is probably badly written, but I did my best and hope to improve.

Happy new year!

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Ok you need to learn when and when not to use Minecraft#thePlayer. Typically when given an Entity or EntityLiving or EntityLivingBase it is a player, but you need to do instanceof checks.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Uhh. What? Sorry, I am confused about what you mean. Do I check every time if Minecraft.getMinecraft().thePlayer is an instanceOf EntityPlayer? And what about applying effects to entities? How do I do that?

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Uhh. What? Sorry, I am confused about what you mean. Do I check every time if Minecraft.getMinecraft().thePlayer is an instanceOf EntityPlayer? And what about applying effects to entities? How do I do that?

onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected)

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

OK thanks. How would I apply effects to entities? My levitation wand is terribly broken...

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Well, right now this wand is terribly broken:

 

-It opens the GUI. On selecting both yes or no, it only affects the player. I want it to affect other entities (and poison them) but not the player if yes was clicked. If no was clicked, I want it to affect only the player, but with no poison (:)).

-When you click either yes or no on the GUI, the player is given an infinite levitation effect (with level IV (4)).

-When levitating and your head is colliding with a block upwards, and you sneak, you will get launched downwards, and you get a lot of damage. The death message shows I was killed by magic, so I guess it is applying instant damage to me instead of mobs.

-It doesn't get damaged.

-It doesn't have a texture (I know how to fix that ;P)

-Some other problems I will surely discover by playtesting...

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Well, right now this wand is terribly broken:

 

-It opens the GUI. On selecting both yes or no, it only affects the player. I want it to affect other entities (and poison them) but not the player if yes was clicked. If no was clicked, I want it to affect only the player, but with no poison (:)).

-When you click either yes or no on the GUI, the player is given an infinite levitation effect (with level IV (4)).

-When levitating and your head is colliding with a block upwards, and you sneak, you will get launched downwards, and you get a lot of damage. The death message shows I was killed by magic, so I guess it is applying instant damage to me instead of mobs.

-It doesn't get damaged.

-It doesn't have a texture (I know how to fix that ;P)

-Some other problems I will surely discover by playtesting...

Post updated code.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Oh, and here's some updated code (the one posted before did not even open the GUI!!):

 

package com.thesuncat.momod.items;

import java.util.List;

import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer;
	EntityLivingBase elb = Minecraft.getMinecraft().thePlayer;
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(playerIn != null && stack.getTagCompound().getBoolean("isActive") == true) 
	{
		if(stack.getTagCompound().getBoolean("mobAffecting") == true)
		{
        		for(int i = 0; i < worldIn.getLoadedEntityList().size(); i++)
        		{
        			EntityLivingBase entityIn1 = (EntityLivingBase)worldIn.getLoadedEntityList().get(i);
        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 9 && playerIn.getDistanceSqToEntity(entityIn1) >= 1 && entityIn1 != playerIn && entityIn1 instanceof EntityLivingBase)
        			{
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
        				stack.damageItem(1, playerIn);
        			}
        		}
		}
	}
};
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
    {
        IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && Minecraft.getMinecraft().thePlayer.isCreative() == false)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        		
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());
        		stack.getTagCompound().setBoolean("isActive", true);
        		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
        		{
        			Minecraft.getMinecraft().thePlayer.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 5, 3, true, true));
        			stack.damageItem(1, playerIn);
        		}
        	}
        	
        	}
            return EnumActionResult.SUCCESS;
        }
        else
        {
            return EnumActionResult.FAIL;
        }
    }
}

package com.thesuncat.momod.gui;

import java.awt.Color;
import java.io.IOException;

import com.thesuncat.momod.items.LevitationWand;
import com.thesuncat.momod.items.ModItems;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.client.config.GuiButtonExt;
import net.minecraftforge.fml.client.config.GuiSlider;

public class GuiLevitationWand extends GuiScreen
{
private GuiButtonExt button1;
private GuiButtonExt button2;
@Override
public void initGui() 
{
	button1 = new GuiButtonExt(0, width / 2 - 100, height / 2 + 100, 100, 20, "Yes");
	button2 = new GuiButtonExt(1, width / 2 + 100, height / 2 + 100, 100, 20, "No");
	buttonList.add(button1);
	buttonList.add(button2);
}
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException 
{
	super.keyTyped(typedChar, keyCode);
}
@Override
public boolean doesGuiPauseGame() {
	return true;
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException 
{
	super.mouseClicked(mouseX, mouseY, mouseButton);
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) 
{
	drawDefaultBackground();
	super.drawScreen(mouseX, mouseY, partialTicks);
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
	if(button == button1)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", true);
		}
	}
	if(button == button2)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", false);
		}
	}
	mc.currentScreen = null;
}
}

 

 

 

I know the GUI looks horrible, I will add a background and some text to it...

 

EDIT: Now minecraft freezes when entering a world... I only get the Yggdrasil authentication errors.

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Oh, and here's some updated code (the one posted before did not even open the GUI!!):

 

package com.thesuncat.momod.items;

import java.util.List;

import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer;
	EntityLivingBase elb = Minecraft.getMinecraft().thePlayer;
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(playerIn != null && stack.getTagCompound().getBoolean("isActive") == true) 
	{
		if(stack.getTagCompound().getBoolean("mobAffecting") == true)
		{
        		for(int i = 0; i < worldIn.getLoadedEntityList().size(); i++)
        		{
        			EntityLivingBase entityIn1 = (EntityLivingBase)worldIn.getLoadedEntityList().get(i);
        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 9 && playerIn.getDistanceSqToEntity(entityIn1) >= 1 && entityIn1 != playerIn && entityIn1 instanceof EntityLivingBase)
        			{
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
        				stack.damageItem(1, playerIn);
        			}
        		}
		}
	}
};
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
    {
        IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && Minecraft.getMinecraft().thePlayer.isCreative() == false)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        		
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());
        		stack.getTagCompound().setBoolean("isActive", true);
        		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
        		{
        			Minecraft.getMinecraft().thePlayer.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 5, 3, true, true));
        			stack.damageItem(1, playerIn);
        		}
        	}
        	
        	}
            return EnumActionResult.SUCCESS;
        }
        else
        {
            return EnumActionResult.FAIL;
        }
    }
}

package com.thesuncat.momod.gui;

import java.awt.Color;
import java.io.IOException;

import com.thesuncat.momod.items.LevitationWand;
import com.thesuncat.momod.items.ModItems;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.client.config.GuiButtonExt;
import net.minecraftforge.fml.client.config.GuiSlider;

public class GuiLevitationWand extends GuiScreen
{
private GuiButtonExt button1;
private GuiButtonExt button2;
@Override
public void initGui() 
{
	button1 = new GuiButtonExt(0, width / 2 - 100, height / 2 + 100, 100, 20, "Yes");
	button2 = new GuiButtonExt(1, width / 2 + 100, height / 2 + 100, 100, 20, "No");
	buttonList.add(button1);
	buttonList.add(button2);
}
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException 
{
	super.keyTyped(typedChar, keyCode);
}
@Override
public boolean doesGuiPauseGame() {
	return true;
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException 
{
	super.mouseClicked(mouseX, mouseY, mouseButton);
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) 
{
	drawDefaultBackground();
	super.drawScreen(mouseX, mouseY, partialTicks);
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
	if(button == button1)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", true);
		}
	}
	if(button == button2)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", false);
		}
	}
	mc.currentScreen = null;
}
}

 

 

 

I know the GUI looks horrible, I will add a background and some text to it...

 

EDIT: Now minecraft freezes when entering a world... I only get the Yggdrasil authentication errors.

Why are you still using Minecraft.getMinecraft().thePlayer?.... Use the Entity parameter passed into Item#onUpdate. And the EntityPlayer parameter passed into Item#onItemUse. Also why are you using Item#onItemUse and not Item#onItemRightClick?

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Sreenshot (By pressing WIN + prt scr):

(sorry, none of the buttons above work, so I can't "insert image")

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Oh, and here's some updated code (the one posted before did not even open the GUI!!):

 

package com.thesuncat.momod.items;

import java.util.List;

import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	EntityPlayer playerIn = Minecraft.getMinecraft().thePlayer;
	EntityLivingBase elb = Minecraft.getMinecraft().thePlayer;
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(playerIn != null && stack.getTagCompound().getBoolean("isActive") == true) 
	{
		if(stack.getTagCompound().getBoolean("mobAffecting") == true)
		{
        		for(int i = 0; i < worldIn.getLoadedEntityList().size(); i++)
        		{
        			EntityLivingBase entityIn1 = (EntityLivingBase)worldIn.getLoadedEntityList().get(i);
        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 9 && playerIn.getDistanceSqToEntity(entityIn1) >= 1 && entityIn1 != playerIn && entityIn1 instanceof EntityLivingBase)
        			{
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
        				stack.damageItem(1, playerIn);
        			}
        		}
		}
	}
};
@Override
public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
    {
        IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && Minecraft.getMinecraft().thePlayer.isCreative() == false)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        		
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());
        		stack.getTagCompound().setBoolean("isActive", true);
        		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
        		{
        			Minecraft.getMinecraft().thePlayer.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 5, 3, true, true));
        			stack.damageItem(1, playerIn);
        		}
        	}
        	
        	}
            return EnumActionResult.SUCCESS;
        }
        else
        {
            return EnumActionResult.FAIL;
        }
    }
}

package com.thesuncat.momod.gui;

import java.awt.Color;
import java.io.IOException;

import com.thesuncat.momod.items.LevitationWand;
import com.thesuncat.momod.items.ModItems;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.client.config.GuiButtonExt;
import net.minecraftforge.fml.client.config.GuiSlider;

public class GuiLevitationWand extends GuiScreen
{
private GuiButtonExt button1;
private GuiButtonExt button2;
@Override
public void initGui() 
{
	button1 = new GuiButtonExt(0, width / 2 - 100, height / 2 + 100, 100, 20, "Yes");
	button2 = new GuiButtonExt(1, width / 2 + 100, height / 2 + 100, 100, 20, "No");
	buttonList.add(button1);
	buttonList.add(button2);
}
@Override
protected void keyTyped(char typedChar, int keyCode) throws IOException 
{
	super.keyTyped(typedChar, keyCode);
}
@Override
public boolean doesGuiPauseGame() {
	return true;
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException 
{
	super.mouseClicked(mouseX, mouseY, mouseButton);
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) 
{
	drawDefaultBackground();
	super.drawScreen(mouseX, mouseY, partialTicks);
}
@Override
protected void actionPerformed(GuiButton button) throws IOException {
	if(button == button1)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", true);
		}
	}
	if(button == button2)
	{
		if(mc.thePlayer.getHeldItemMainhand() == new ItemStack(ModItems.levitationWand))
		{
			mc.thePlayer.getHeldItemMainhand().getTagCompound().setBoolean("mobAffecting", false);
		}
	}
	mc.currentScreen = null;
}
}

 

 

 

I know the GUI looks horrible, I will add a background and some text to it...

 

EDIT: Now minecraft freezes when entering a world... I only get the Yggdrasil authentication errors.

Why are you still using Minecraft.getMinecraft().thePlayer?.... Use the Entity parameter passed into Item#onUpdate. And the EntityPlayer parameter passed into Item#onItemUse. Also why are you using Item#onItemUse and not Item#onItemRightClick?

Where??? Oh crayfish... I thought I had changed that...

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

New code for the wand:

 

package com.thesuncat.momod.items;

import java.util.List;

import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	EntityLivingBase playerIn = entityIn;
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(playerIn != null && stack.getTagCompound().getBoolean("isActive") == true && playerIn instanceof EntityLivingBase) 
	{
		if(stack.getTagCompound().getBoolean("mobAffecting") == true)
		{
        		for(int i = 0; i < worldIn.getLoadedEntityList().size(); i++)
        		{
        			EntityLivingBase entityIn1 = (EntityLivingBase)worldIn.getLoadedEntityList().get(i);
        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 9 && playerIn.getDistanceSqToEntity(entityIn1) >= 1 && entityIn1 != playerIn && entityIn1 instanceof EntityLivingBase)
        			{
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
        				stack.damageItem(1, playerIn);
        			}
        		}
		}
	}
};
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World worldIn, EntityPlayer playerIn, EnumHand hand) 
{
	BlockPos pos = playerIn.getPosition();
	IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && playerIn != null)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        		
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());
        		stack.getTagCompound().setBoolean("isActive", true);
        		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
        		{
        			Minecraft.getMinecraft().thePlayer.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 5, 3, true, true));
        			stack.damageItem(1, playerIn);
        		}
        	}
        	
        	}
            return new ActionResult(EnumActionResult.SUCCESS, stack);
        }
        else
        {
            return new ActionResult(EnumActionResult.FAIL, stack);
        }
}
}

 

I do get an error under where I set

 EntityLivingBase playerIn = entityIn; 

It says: "Type mismatch: cannot convert from Entity to EntityLivingBase". How could I fix that?

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

New code for the wand:

I do get an error under where I set

 EntityLivingBase playerIn = entityIn; 

It says: "Type mismatch: cannot convert from Entity to EntityLivingBase". How could I fix that?

Do an instanceof check and then cast.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

OK. Minecraft still freezes. :/

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

OK. Minecraft still freezes. :/

Instead of looping through all entities in your onUpdate use World#getEntitiesWithinAABBExcluding(player, AxisAlignedBB, Predicate)

Predicate is an interface and if you are using java 1.8 you can use a Lambda expression to create it. You will use this to check if the entity is an instanceof EntityLivingBase.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

I am a beginner. I have no idea how to use a Lambda expression or a Predicate. Could I see an example, please?

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

I am a beginner. I have no idea how to use a Lambda expression or a Predicate. Could I see an example, please?

This is a lambda

(input) -> {return input instanceof EntityLivingBase;})

I suggest reading up on Lambdas because they are really useful.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

I am a beginner. I have no idea how to use a Lambda expression or a Predicate. Could I see an example, please?

This is a lambda

(input) -> {return input instanceof EntityLivingBase;})

I suggest reading up on Lambdas because they are really useful.

So inside of getEntitiesWithinAxis.... I use that expression for the "Predicate" argument? Would it be:

 (entityIn1) --> return entityIn1 instanceof EntityLivingBase 

I really need to "read up on Lambda"...

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

I am a beginner. I have no idea how to use a Lambda expression or a Predicate. Could I see an example, please?

This is a lambda

(input) -> {return input instanceof EntityLivingBase;})

I suggest reading up on Lambdas because they are really useful.

So inside of getEntitiesWithinAxis.... I use that expression for the "Predicate" argument? Would it be:

 (entityIn1) --> return entityIn1 instanceof EntityLivingBase 

I really need to "read up on Lambda"...

No just input is fine.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

I currently have this code:

 

package com.thesuncat.momod.items;

import java.util.List;

import com.google.common.base.Predicate;
import com.thesuncat.momod.gui.GuiLevitationWand;
import com.thesuncat.momod.tabs.ModTabs;

import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumHandSide;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class LevitationWand<T> extends Item 
{
public LevitationWand(String name)
{
	this.maxStackSize = 1;
	this.setMaxDamage(200);
	this.setRegistryName(name);
	this.setUnlocalizedName(name);
	this.setCreativeTab(ModTabs.moModSacredItems);
	ModItems.ITEMS.put(name, this);
}
Predicate<T> predicate = new Predicate< ? super Entity>() 
{
	{
	(input) -> {if(input instanceof EntityLivingBase) {return true;};};
	}};
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) 
{
	if(stack.getTagCompound() == null)
		{
			stack.setTagCompound(new NBTTagCompound());
		}
	if(Minecraft.getMinecraft().thePlayer != null && stack.getTagCompound().getBoolean("isActive") == true) 
	{
		if(entityIn instanceof EntityLivingBase)
		{
			EntityLivingBase playerIn = (EntityLivingBase) entityIn;

			if(stack.getTagCompound().getBoolean("mobAffecting") == true)
			{
        		for(int i = 0; i < worldIn.getEntitiesInAABBexcluding(entityIn, new AxisAlignedBB(entityIn.getPosition()), (Predicate< ? super Entity>)predicate).size(); i++)
        		{
        			if(worldIn.getEntitiesInAABBexcluding(entityIn, new AxisAlignedBB(entityIn.getPosition()), (Predicate< ? super Entity>)predicate).get(i) instanceof EntityLivingBase)
        			{
	        			EntityLivingBase entityIn1 = (EntityLivingBase)worldIn.getLoadedEntityList().get(i);
	        			if(playerIn.getDistanceSqToEntity(entityIn1) <= 9 && playerIn.getDistanceSqToEntity(entityIn1) >= 1 && entityIn1 != playerIn && entityIn1 instanceof EntityLivingBase)
	        			{
	        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 2, 3, true, false));
	        				entityIn1.addPotionEffect(new PotionEffect(Potion.getPotionById(19), 2, 1, true, false));
	        				stack.damageItem(1, playerIn);
	        			}
        			}
        		}
			}
		}
	}
};
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World worldIn, EntityPlayer playerIn, EnumHand hand) 
{
	BlockPos pos = playerIn.getPosition();
	IBlockState state = worldIn.getBlockState(pos);
        BlockPos posOfGround = new BlockPos(pos.add(0, -1, 0));
        if(!playerIn.isDead)
        {
        	if(stack.getTagCompound() != null && playerIn != null)
        	{
        	if(stack.getTagCompound().getBoolean("isActive") == true)
        	{
        		stack.getTagCompound().setBoolean("isActive", false);
        		
        	}
        	else if(stack.getTagCompound().getBoolean("isActive") == false)
        	{
        		Minecraft.getMinecraft().displayGuiScreen(new GuiLevitationWand());
        		stack.getTagCompound().setBoolean("isActive", true);
        		if(stack.getTagCompound().getBoolean("isMobAffecting") == false)
        		{
        			playerIn.addPotionEffect(new PotionEffect(Potion.getPotionById(25), 5, 3, true, true));
        			stack.damageItem(1, playerIn);
        		}
        	}
        	}
            return new ActionResult(EnumActionResult.SUCCESS, stack);
        }
        else
        {
            return new ActionResult(EnumActionResult.FAIL, stack);
        }
}
}

 

I get an error under (input) ->.... It says "Syntax error, insert "AssignmentOperator Expression" operator to complete Expression." I don't know what the problem is. Help?

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Well, I think I will go with not using them. I still don't get why Minecraft freezes with no errors... :(

YouTube:

https://www.youtube.com/channel/UCaK5oRw4yd7PurBWww9tVhA

Kuribo64 (where I am most active):

http://kuribo64.net/board/profile.php?id=1423

 

Thanks for your answer!

 

Current projects:

 

3D Geometry Dash: 13%

Terracraft (MC Mod): 8%

New Super Kaizo Bros DS: 100% (no download for now :'( )

New Super Kaizo Bros. Wii: 12%

Super Mario Galaxy 1.5: 96%

New Super Mario Bros Galaxy: 85%

Kerbal Space Program Advance: 47%

MC CREATE: 20%

Mystery Projects: 10%, 40%, 13%, and 94%

Link to comment
Share on other sites

Well, I think I will go with not using them. I still don't get why Minecraft freezes with no errors... :(

Post updated code.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



×
×
  • Create New...

Important Information

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