<commit_before>package crazypants.enderzoo.entity;

import java.util.UUID;

import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import crazypants.enderzoo.config.Config;
import crazypants.enderzoo.entity.ai.EntityAIAttackOnCollideOwned;
import crazypants.enderzoo.entity.ai.EntityAIFollowOwner;

public class EntityWitherCat extends EntityMob implements IOwnable<EntityWitherCat, EntityWitherWitch>, IEnderZooMob {

  public enum GrowthMode {
    NONE,
    GROW,
    SHRINK
  };

  public static final String NAME = "enderzoo.WitherCat";
  public static final int EGG_BG_COL = 0x303030;
  public static final int EGG_FG_COL = 0xFFFFFF;

  private static final float DEF_HEIGHT = 0.8F;
  private static final float DEF_WIDTH = 0.6F;

  private static final int SCALE_INDEX = 12;
  private static final int GROWTH_MODE_INDEX = 13;

  private static final float ANGRY_SCALE = 2;
  private static final float SCALE_INC = 0.05f;

  private static final UUID ATTACK_BOOST_MOD_UID = UUID.fromString("B9662B59-9566-4402-BC1F-2ED2B276D846");
  private static final UUID HEALTH_BOOST_MOD_UID = UUID.fromString("B9662B29-9467-3302-1D1A-2ED2B276D846");

  private float lastScale = 1f;
  private boolean grow;
  private boolean shrink;

  private EntityWitherWitch owner;
  private EntityAIFollowOwner followTask;
  private boolean firstUpdate = true;

  public EntityWitherCat(World world) {
    super(world);

    followTask = new EntityAIFollowOwner(this, 2.5, 5, 1);
    EntityAIFollowOwner retreatTask = new EntityAIFollowOwner(this, 2.5, 5, 2.5);

    tasks.addTask(1, new EntityAISwimming(this));
    tasks.addTask(2, new EntityAIAttackOnCollideOwned(this, EntityPlayer.class, 2.5, false, retreatTask));
    tasks.addTask(3, followTask);
    tasks.addTask(4, new EntityAIWander(this, 1.0D));
    tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
    tasks.addTask(6, new EntityAILookIdle(this));

    setSize(DEF_WIDTH, DEF_HEIGHT);
  }

  @Override
  protected void entityInit() {
    super.entityInit();
    getDataWatcher().addObject(SCALE_INDEX, 1f);
    getDataWatcher().addObject(GROWTH_MODE_INDEX, (byte) GrowthMode.NONE.ordinal());
  }<commit_msg>Wither cats no longer like being punched<commit_after>package crazypants.enderzoo.entity;

import java.util.UUID;

import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import crazypants.enderzoo.config.Config;
import crazypants.enderzoo.entity.ai.EntityAIAttackOnCollideOwned;
import crazypants.enderzoo.entity.ai.EntityAIFollowOwner;

public class EntityWitherCat extends EntityMob implements IOwnable<EntityWitherCat, EntityWitherWitch>, IEnderZooMob {

  public enum GrowthMode {
    NONE,
    GROW,
    SHRINK
  };

  public static final String NAME = "enderzoo.WitherCat";
  public static final int EGG_BG_COL = 0x303030;
  public static final int EGG_FG_COL = 0xFFFFFF;

  private static final float DEF_HEIGHT = 0.8F;
  private static final float DEF_WIDTH = 0.6F;

  private static final int SCALE_INDEX = 12;
  private static final int GROWTH_MODE_INDEX = 13;

  private static final float ANGRY_SCALE = 2;
  private static final float SCALE_INC = 0.05f;

  private static final UUID ATTACK_BOOST_MOD_UID = UUID.fromString("B9662B59-9566-4402-BC1F-2ED2B276D846");
  private static final UUID HEALTH_BOOST_MOD_UID = UUID.fromString("B9662B29-9467-3302-1D1A-2ED2B276D846");

  private float lastScale = 1f;
  private boolean grow;
  private boolean shrink;

  private EntityWitherWitch owner;
  private EntityAIFollowOwner followTask;
  private boolean firstUpdate = true;

  public EntityWitherCat(World world) {
    super(world);

    followTask = new EntityAIFollowOwner(this, 2.5, 5, 1);
    EntityAIFollowOwner retreatTask = new EntityAIFollowOwner(this, 2.5, 5, 2.5);

    tasks.addTask(1, new EntityAISwimming(this));
    tasks.addTask(2, new EntityAIAttackOnCollideOwned(this, EntityPlayer.class, 2.5, false, retreatTask));
    tasks.addTask(3, followTask);
    tasks.addTask(4, new EntityAIWander(this, 1.0D));
    tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
    tasks.addTask(6, new EntityAILookIdle(this));
    tasks.addTask(7, new EntityAIAttackOnCollide(this, 1.0D, true));

    setSize(DEF_WIDTH, DEF_HEIGHT);
  }

  @Override
  protected void entityInit() {
    super.entityInit();
    getDataWatcher().addObject(SCALE_INDEX, 1f);
    getDataWatcher().addObject(GROWTH_MODE_INDEX, (byte) GrowthMode.NONE.ordinal());
  }
{'fraction_non_alphanumeric': 0.09432387312186978, 'fraction_numerical': 0.030550918196994993, 'mean_word_length': 5.386993603411514, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5136805', 'n_tokens_mistral': 2133, 'n_tokens_neox': 2030, 'n_words': 409}