Jump to content

admiralmattbar

Members
  • Posts

    44
  • Joined

  • Last visited

Everything posted by admiralmattbar

  1. Hi All, I'm working on an item players can hold that changes water to ice but has a chance of changing it to lava. I've been having trouble making this item to what I want it to. Here's the code I'm worried about. public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { ItemStack itemstack = player.getHeldItem(hand); if (!player.canPlayerEdit(pos.offset(facing), facing, itemstack)) { player.sendMessage(new TextComponentString("Not canPlayerEdit")); return EnumActionResult.FAIL; } else { if (worldIn.getBlockState(pos).getMaterial() == Material.WATER){ int random = (int)Math.random()*50+1; player.sendMessage(new TextComponentString(Double.toString(random))); if(random <=45){ this.setBlock(itemstack, player, worldIn, pos, Blocks.ICE.getDefaultState()); return EnumActionResult.SUCCESS; }else{ this.setBlock(itemstack, player, worldIn, pos, Blocks.LAVA.getDefaultState()); return EnumActionResult.SUCCESS; } } player.sendMessage(new TextComponentString("I guess nothing happened.")); return EnumActionResult.PASS; } } The problem is that nothing happens when I right click on water. I added chat messages to keep track of what is being loaded and it looks like none of my water touching conditions are triggering. What did I do wrong?! Here's the whole class if you need it. package org.gsa.basemod.itemclasses; import java.util.List; import net.minecraft.block.material.EnumPushReaction; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockProperties; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.Mirror; import net.minecraft.util.Rotation; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class ItemBalls2U extends Item implements IBlockProperties{ public boolean canMessage = true; public int count = 0; public ItemBalls2U(){ setRegistryName("item_balls2u"); setUnlocalizedName("balls2u"); setCreativeTab(CreativeTabs.MISC); } public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { ItemStack itemstack = player.getHeldItem(hand); if (!player.canPlayerEdit(pos.offset(facing), facing, itemstack)) { player.sendMessage(new TextComponentString("Not canPlayerEdit")); return EnumActionResult.FAIL; } else { if (worldIn.getBlockState(pos).getMaterial() == Material.WATER){ int random = (int)Math.random()*50+1; player.sendMessage(new TextComponentString(Double.toString(random))); if(random <=45){ this.setBlock(itemstack, player, worldIn, pos, Blocks.ICE.getDefaultState()); return EnumActionResult.SUCCESS; }else{ this.setBlock(itemstack, player, worldIn, pos, Blocks.LAVA.getDefaultState()); return EnumActionResult.SUCCESS; } } player.sendMessage(new TextComponentString("I guess nothing happened.")); return EnumActionResult.PASS; } } protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) { if (!worldIn.isRemote) { worldIn.setBlockState(pos, state, 11); stack.damageItem(0, player); } } public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn){ if(count == 0 && canMessage == true){ playerIn.sendMessage(new TextComponentString("Balls to you!")); canMessage = false; count = 1; return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); } else { if(count == 1 && canMessage == true){ playerIn.sendMessage(new TextComponentString("No, sir, balls to you!")); canMessage=false; count = 2; return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); }else{ if(count == 2 && canMessage == true){ playerIn.sendMessage(new TextComponentString("Oh, I insist, balls to you!")); canMessage=false; count = 0; return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); } } } canMessage = true; return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); } @Override public Material getMaterial() { // TODO Auto-generated method stub return null; } @Override public boolean isFullBlock() { // TODO Auto-generated method stub return false; } @Override public boolean canEntitySpawn(Entity entityIn) { // TODO Auto-generated method stub return false; } @Override public int getLightOpacity() { // TODO Auto-generated method stub return 0; } @Override public int getLightOpacity(IBlockAccess world, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public int getLightValue() { // TODO Auto-generated method stub return 0; } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public boolean isTranslucent() { // TODO Auto-generated method stub return false; } @Override public boolean useNeighborBrightness() { // TODO Auto-generated method stub return false; } @Override public MapColor getMapColor() { // TODO Auto-generated method stub return null; } @Override public IBlockState withRotation(Rotation rot) { // TODO Auto-generated method stub return null; } @Override public IBlockState withMirror(Mirror mirrorIn) { // TODO Auto-generated method stub return null; } @Override public boolean isFullCube() { // TODO Auto-generated method stub return false; } @Override public boolean hasCustomBreakingProgress() { // TODO Auto-generated method stub return false; } @Override public EnumBlockRenderType getRenderType() { // TODO Auto-generated method stub return null; } @Override public int getPackedLightmapCoords(IBlockAccess source, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public float getAmbientOcclusionLightValue() { // TODO Auto-generated method stub return 0; } @Override public boolean isBlockNormalCube() { // TODO Auto-generated method stub return false; } @Override public boolean isNormalCube() { // TODO Auto-generated method stub return false; } @Override public boolean canProvidePower() { // TODO Auto-generated method stub return false; } @Override public int getWeakPower(IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { // TODO Auto-generated method stub return 0; } @Override public boolean hasComparatorInputOverride() { // TODO Auto-generated method stub return false; } @Override public int getComparatorInputOverride(World worldIn, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public float getBlockHardness(World worldIn, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public float getPlayerRelativeBlockHardness(EntityPlayer player, World worldIn, BlockPos pos) { // TODO Auto-generated method stub return 0; } @Override public int getStrongPower(IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { // TODO Auto-generated method stub return 0; } @Override public EnumPushReaction getMobilityFlag() { // TODO Auto-generated method stub return null; } @Override public IBlockState getActualState(IBlockAccess blockAccess, BlockPos pos) { // TODO Auto-generated method stub return null; } @Override public AxisAlignedBB getSelectedBoundingBox(World worldIn, BlockPos pos) { // TODO Auto-generated method stub return null; } @Override public boolean shouldSideBeRendered(IBlockAccess blockAccess, BlockPos pos, EnumFacing facing) { // TODO Auto-generated method stub return false; } @Override public boolean isOpaqueCube() { // TODO Auto-generated method stub return false; } @Override public AxisAlignedBB getCollisionBoundingBox(IBlockAccess worldIn, BlockPos pos) { // TODO Auto-generated method stub return null; } @Override public void addCollisionBoxToList(World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, Entity entityIn, boolean p_185908_6_) { // TODO Auto-generated method stub } @Override public AxisAlignedBB getBoundingBox(IBlockAccess blockAccess, BlockPos pos) { // TODO Auto-generated method stub return null; } @Override public RayTraceResult collisionRayTrace(World worldIn, BlockPos pos, Vec3d start, Vec3d end) { // TODO Auto-generated method stub return null; } @Override public boolean isFullyOpaque() { // TODO Auto-generated method stub return false; } @Override public boolean doesSideBlockRendering(IBlockAccess world, BlockPos pos, EnumFacing side) { // TODO Auto-generated method stub return false; } @Override public boolean isSideSolid(IBlockAccess world, BlockPos pos, EnumFacing side) { // TODO Auto-generated method stub return false; } @Override public Vec3d getOffset(IBlockAccess access, BlockPos pos) { // TODO Auto-generated method stub return null; } @Override public boolean causesSuffocation() { // TODO Auto-generated method stub return false; } }
  2. Hello, Thanks for all the help. Here's the code that works properly without spawning on both sides. package org.educraft.brianface.blockclasses; import net.minecraft.util.EnumHand; import org.educraft.brianface.init.ModBlocks; import org.educraft.brianface.init.ModItems; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class BlockBrianBushFull extends BlockBrianBushEmpty { public BlockBrianBushFull(){ super(); this.setTickRandomly(false); //Stops random growth } @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { //This makes it work on server side. if(worldIn.isRemote) { return true; } else { EntityItem brapple = new EntityItem(worldIn, playerIn.posX, playerIn.posY, playerIn.posZ, new ItemStack(ModItems.brapple)); brapple.setNoPickupDelay(); worldIn.spawnEntity(brapple); //Now the bush has no more jerky worldIn.setBlockState(pos, ModBlocks.brian_bush_empty.getDefaultState(), 2); return true; } } } And @MFMods, I'll start working on doing this with one blockID.
  3. Hello, Thanks for the help. I completely took out the isRemote check and it started working. Here's my new code. I'm still working on getting the entity to disappear when I collect the item. package org.educraft.brianface.blockclasses; import net.minecraft.util.EnumHand; import net.minecraft.util.text.TextComponentString; import org.educraft.brianface.init.ModBlocks; import org.educraft.brianface.init.ModItems; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; public class BlockBrianBushFull extends BlockBrianBushEmpty { public BlockBrianBushFull(){ super(); this.setTickRandomly(false); //Stops random growth } @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { EntityItem brian_jerky = new EntityItem(worldIn, playerIn.posX, playerIn.posY, playerIn.posZ, new ItemStack(ModItems.brian_jerky)); brian_jerky.setNoPickupDelay(); worldIn.spawnEntity(brian_jerky); playerIn.sendMessage(new TextComponentString("picking")); //Now the bush has no more jerky worldIn.setBlockState(pos, ModBlocks.brian_bush_empty.getDefaultState(), 2); return true; } }
  4. Thanks for the reply Choonster. The resources you've made available have been super helpful to me when I got into modding. I added the @Override method that IntelliJ recommended using ctrl-O and selecting the method from Block.java, tried the same thing in Eclipse with ctrl-space. I still have the same problem. Is this a problem with my IDE's?
  5. Hi all, I'm having trouble with my mod getting the onBlockActivated() method to do anything. With the code I have right clicking on the block does nothing. I would like to make a bush that gives you brian_jerky when you right click on it and turns into an empty bush. I figured using onBlockActivated would be the best method to do this. I added the chat as a means of testing whether or not the method activates at all. So far nothing happens when I right click on the bush. package org.educraft.brianface.blockclasses; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.text.TextComponentString; import org.educraft.brianface.init.ModBlocks; //import org.educraft.brianface.init.ModBlocks; import org.educraft.brianface.init.ModItems; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import static sun.audio.AudioPlayer.player; public class BlockBrianBushFull extends BlockBrianBushEmpty { public BlockBrianBushFull(){ super(); this.setTickRandomly(false); //Stops random growth } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ){ //This makes it work on server side. if(!worldIn.isRemote) { return true; } else { EntityItem brian_jerky = new EntityItem(worldIn, playerIn.posX, playerIn.posY, playerIn.posZ, new ItemStack(ModItems.brian_jerky)); brian_jerky.setNoPickupDelay(); worldIn.spawnEntity(brian_jerky); playerIn.sendMessage(new TextComponentString("picking")); //Now the bush has no more jerky worldIn.setBlockState(pos, ModBlocks.brian_bush_empty.getDefaultState(), 2); return true; } } } Sorry if this is obvious, but I'm at a loss as to what I'm doing wrong.
  6. Hello, I have made a video tutorial for creating custom crops. I thought Minecraft could use some kale. My Git with the code. https://github.com/admiralmattbar/minecraft_experiments
  7. Oh wow Draco18s! I got so deep into trying everything I lost track of some of that stuff! Thanks for pointing it out. Turns out I forgot to call the onHit method in the onUpdate method and that is a necessary step.
  8. Hi! I'm one of those brats working on a gun mod. I'm confused about how to make the bullet entities do damage. I've been comparing my bullet entity to the arrow entity hoping to make it work in a similar way. I based it off of what I saw of Mr. Crayfish's live modding video (I'll link to it but it's 3 hours long) and tried to fill the rest in myself to put the weapons from classic Doom into the game. The bullet comes from the gun but when it makes contact with a mob or animal it does not damage them. While I'm not a Java expert I'm pretty sure that this isn't due to my ignorance of Java and is a Minecraft thing. I apologize if that is not the case. Something is weird with the BULLET_TARGETS constant. Eclipse is throwing an error on it but I"m using it the same way the EntityArrow class does so I'm confused as to why it doesn't seem to be working. Thanks for any help. Here is my Bullet Entity: package org.educraft.mymod.entities; import com.google.common.base.Predicates; import java.util.List; import javax.annotation.Nullable; import org.educraft.mymod.itemclasses.ItemGun; import org.educraft.mymod.utilclasses.ModDamageSource; import com.google.common.base.Predicate; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EntitySelectors; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; public class EntityBullet extends Entity implements IProjectile { private static final Predicate<Entity> BULLET_TARGETS = Predicates.and(new Predicate[] {EntitySelectors.NOT_SPECTATING, EntitySelectors.IS_ALIVE, new Predicate<Entity>() { public boolean apply(@Nullable Entity p_apply_1_) { return p_apply_1_.canBeCollidedWith(); } }}); private EntityLivingBase shooter; private int ticksAlive = 100; private double damage; //private int ticksInGround; public Entity shootingEntity; private int ticksInAir; /** The amount of knockback an arrow applies when it hits a mob. */ public EntityBullet(World worldIn) { super(worldIn); } public EntityBullet(World worldIn, EntityLivingBase shooter, float size, double speed, float damage) { super(worldIn); this.setShooter(shooter); this.damage = ItemGun.damage; this.setSize(size, size); this.setLocationAndAngles(shooter.posX, shooter.posY, shooter.posZ, shooter.rotationYaw, shooter.rotationPitch); this.setPosition(this.posX, this.posY, this.posZ); Vec3d dir = shooter.getLookVec(); this.motionX = dir.xCoord; this.motionY = dir.yCoord; this.motionZ = dir.zCoord; } @Override public void onUpdate() { super.onUpdate(); this.posX += this.motionX; this.posY += this.motionY; this.posZ += this.motionZ; this.setPosition(this.posX, this.posY, this.posZ); ticksAlive--; if(ticksAlive <= 0) { this.setDead(); } } @Nullable protected Entity findEntityOnPath(Vec3d start, Vec3d end) { Entity entity = null; List<Entity> list = this.world.getEntitiesInAABBexcluding(this, this.getEntityBoundingBox().addCoord(this.motionX, this.motionY, this.motionZ).expandXyz(1.0D), BULLET_TARGETS); double d0 = 0.0D; for (int i = 0; i < list.size(); ++i) { Entity entity1 = (Entity)list.get(i); if (entity1 != this.shootingEntity || this.ticksInAir >= 5) { AxisAlignedBB axisalignedbb = entity1.getEntityBoundingBox().expandXyz(0.30000001192092896D); RayTraceResult raytraceresult = axisalignedbb.calculateIntercept(start, end); if (raytraceresult != null) { double d1 = start.squareDistanceTo(raytraceresult.hitVec); if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } } } } return entity; } @Override public void setThrowableHeading(double x, double y, double z, float velocity, float inaccuracy) { float f = MathHelper.sqrt(x * x + y * y + z * z); x = x / (double)f; y = y / (double)f; z = z / (double)f; x = x + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy; y = y + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy; z = z + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy; x = x * (double)velocity; y = y * (double)velocity; z = z * (double)velocity; this.motionX = x; this.motionY = y; this.motionZ = z; float f1 = MathHelper.sqrt(x * x + z * z); this.rotationYaw = (float)(MathHelper.atan2(x, z) * (180D / Math.PI)); this.rotationPitch = (float)(MathHelper.atan2(y, (double)f1) * (180D / Math.PI)); this.prevRotationYaw = this.rotationYaw; this.prevRotationPitch = this.rotationPitch; } protected void onHit(RayTraceResult raytraceResultIn) { if (this.shootingEntity == null) { ModDamageSource.causeBulletDamage(this, this); } else { ModDamageSource.causeBulletDamage(this, this.shootingEntity); } } public EntityLivingBase getShooter() { return shooter; } public void setShooter(EntityLivingBase shooter) { this.shooter = shooter; } protected ItemStack getArrowStack() { return null; } @Override protected void writeEntityToNBT(NBTTagCompound compound) { compound.setDouble("damage", this.damage); } @Override public void readEntityFromNBT(NBTTagCompound compound) { if (compound.hasKey("damage", 99)) { this.damage = compound.getDouble("damage"); } } @Override protected void entityInit() {} } Here is my gun item: package org.educraft.mymod.itemclasses; import org.educraft.mymod.entities.EntityBullet; import org.educraft.mymod.init.ModItems; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.SoundCategory; import net.minecraft.world.World; public class ItemGun extends Item { public static float damage; private final float spread; private final double speed; public ItemGun(float damage, float spread, double speed) { ItemGun.damage = damage; this.spread = spread; this.speed = speed; } @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { ItemStack stack = this.findAmmo(playerIn); if(stack != ItemStack.EMPTY) { worldIn.playSound(playerIn, playerIn.getPosition(), SoundEvents.BLOCK_ANVIL_BREAK, SoundCategory.PLAYERS, 1.0F, 0.5F + (itemRand.nextFloat())); if(!worldIn.isRemote) { EntityBullet bullet = new EntityBullet(worldIn, playerIn, spread, speed, damage); worldIn.spawnEntity(bullet); } else { playerIn.rotationPitch -= 5f; } stack.shrink(1); if(stack.isEmpty()) { playerIn.inventory.deleteStack(stack); } } return super.onItemRightClick(worldIn, playerIn, handIn); } private ItemStack findAmmo(EntityPlayer player) { if (this.isAmmo(player.getHeldItem(EnumHand.OFF_HAND))) { return player.getHeldItem(EnumHand.OFF_HAND); } else if (this.isAmmo(player.getHeldItem(EnumHand.MAIN_HAND))) { return player.getHeldItem(EnumHand.MAIN_HAND); } else { for (int i = 0; i < player.inventory.getSizeInventory(); ++i) { ItemStack itemstack = player.inventory.getStackInSlot(i); if (this.isAmmo(itemstack)) { return itemstack; } } return ItemStack.EMPTY; } } protected boolean isAmmo(ItemStack stack) { return stack.getItem() == ModItems.shotgun_shell; } }
  9. Sorry, but I'm not sure how to do this. Does this involve messing with NBT commands?
  10. Hi All, I'm trying to create a mod for use in Redstone puzzle maps where players can use a block that activates a door and clears their inventory. I am completely at a loss on how to do this. I've been looking throughout the internet and haven't found anything. If any of you have any resources on this I'd appreciate it.
  11. I'm trying to get modding going on an old computer. Windows 7, 32-bit, 2 gigs of ram. I edited gradle.properties to get 2 gigs of ram and it crashes right away. I then edited it to get 1 gig and it locks up around 57%. Is there a workaround for not having the full 2 gigs of ram available for the gradlew setupDecompWorkspace command?
  12. I run a Minecraft Modding summer camp and have created YouTube tutorials so students can review and keep working at home. The camp covers recipes, items, generic blocks, ore blocks, and ore generation. I also added videos for custom armor. I would appreciate any feedback from those willing to take the time to view the videos. It took me a while to figure out how to use my webcam so in the future I will fix the focus on the earlier videos.
  13. It seems that Eclipse is less than ideal for doing multiple projects at the same time. I taught a Minecraft Modding class with a bunch of 10-15 year olds and want to be able to offer them some support. If they email me their java files I would like to be able to look through them without started a new project and loading their src folder. Is there a way to set up eclipse to open random java files or is there a program that can be used to read java files (notepad and wordpad mess up the formatting too much).
  14. Do I have to change the minecraft version on my runtime? I'm not sure how to do that. I stick with 1.7 because I couldn't figure out how to do textures on 1.8.
  15. Can I install a different version of Minecraft for my modding environment than I have installed on my computer? I just installed the latest minecraft on my laptop and created the environment in accordance with instructions. I try to stick with Forge 1.7 because I have a book on using that instead of 1.8.
  16. I run Minecraft 1.9 on my PC with Windows 7 and this system works. I thought I would be able to run this with Minecraft 1.9 on my laptop. Is there a conflict?
  17. When I try to run the example mod in Eclipse with Forge 1.7 the program automatically terminates without getting into the game. I am running Windows 10 with Eclipse, Java RTE 1.8, JDK 1.7. I successfully ran the gradlew workspace and eclipse command in cmd. Thank you in advance for any help you can give me. Here is what the terminal says: [19:25:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [19:25:21] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [19:25:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [19:25:22] [main/INFO] [FML]: Forge Mod Loader version 7.2.211.1121 for Minecraft 1.7.2 loading [19:25:22] [main/INFO] [FML]: Java is Java HotSpot 64-Bit Server VM, version 1.8.0_77, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_77 [19:25:22] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [19:25:22] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [19:25:22] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [19:25:22] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [19:25:22] [main/ERROR] [LaunchWrapper]: Unable to launch java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) ~[?:1.8.0_77] at java.util.ArrayList$Itr.remove(Unknown Source) ~[?:1.8.0_77] at net.minecraft.launchwrapper.Launch.launch(Launch.java:117) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] Java HotSpot 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
×
×
  • Create New...

Important Information

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