Access Transformer and various fixes

This commit is contained in:
ACGaming 2020-09-06 10:23:15 +02:00
parent e4866645f0
commit 27a61a7542
24 changed files with 248 additions and 484 deletions

View File

@ -67,6 +67,13 @@ Marcell D'Avis acts like a zombie and is the manager for customer satisfaction a
Mr. Bean acts like a zombie and limits his statements to "Magic" and snorting noises.
### MZTEWolf
![MZTEWolf](https://i.imgur.com/0P6Gmmy.png)
*Rust noises*
MZTEWolf acts like a wolf and is based on a lousy coder from Thuringia. It has a passion for Kotlin and Rust.
### Schalker
![Schalker](https://i.imgur.com/eUrvPnm.png)
@ -81,13 +88,6 @@ Schalker acts like a shulker and will spread its love for soccer and the Ruhr ar
Smava Creeper acts like a creeper and is a pesky credit agent known from the infamous TV ads. Watch out, it is twice as fast and its explosions are twice as strong! It also explodes a little faster.
### WolfMZTE
![WolfMZTE](https://i.imgur.com/0P6Gmmy.png)
*Rust noises*
WolfMZTE acts like a wolf and is based on a lousy coder from Thuringia. It has a passion for Kotlin and Rust.
## Items
To be added...

View File

@ -11,7 +11,7 @@ apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
version = "RC3"
version = "RC4"
group = "com.acgaming.spackenmobs" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "Spackenmobs-1.12.2"
@ -75,3 +75,9 @@ processResources {
exclude 'mcmod.info'
}
}
jar {
manifest {
attributes 'FMLAT': 'spackenmobs_at.cfg'
}
}

192
gradlew vendored
View File

@ -10,153 +10,153 @@
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
APP_BASE_NAME=$(basename "$0")
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
warn() {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
die() {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
case "$(uname)" in
CYGWIN*)
cygwin=true
;;
Darwin*)
darwin=true
;;
MINGW*)
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
if $cygwin; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
while [ -h "$PRG" ]; do
ls=$(ls -ld "$PRG")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' >/dev/null; then
PRG="$link"
else
PRG=$(dirname "$PRG")"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
SAVED="$(pwd)"
cd "$(dirname \"$PRG\")/" >&-
APP_HOME="$(pwd -P)"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
if [ -n "$JAVA_HOME" ]; then
if [ -x "$JAVA_HOME/jre/sh/java" ]; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ]; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
if [ "$cygwin" = "false" -a "$darwin" = "false" ]; then
MAX_FD_LIMIT=$(ulimit -H -n)
if [ $? -eq 0 ]; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ]; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
if $cygwin; then
APP_HOME=$(cygpath --path --mixed "$APP_HOME")
CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
SEP=""
for dir in $ROOTDIRSRAW; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ]; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@"; do
CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -)
CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition
eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg")
else
eval $(echo args$i)="\"$arg\""
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
i=$((i + 1))
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"

View File

@ -11,11 +11,11 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@Mod(modid = "spackenmobs", version = "RC3", acceptedMinecraftVersions = "[1.12.2]")
@Mod(modid = "spackenmobs", version = "RC4", acceptedMinecraftVersions = "[1.12.2]")
public class Spackenmobs
{
public static final String MODID = "spackenmobs";
public static final String VERSION = "RC3";
public static final String VERSION = "RC4";
public static final CreativeTabs SPACKENMOBS_TAB = new SpackenmobsTab();

View File

@ -1,216 +1,26 @@
package mod.acgaming.spackenmobs.entities;
import mod.acgaming.spackenmobs.misc.ModSoundEvents;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityAreaEffectCloud;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import net.minecraft.world.World;
import net.minecraft.world.storage.loot.LootTableList;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable;
import java.util.Collection;
public class EntityBakaMitaiCreeper extends EntityCreeper
{
private static final DataParameter<Integer> STATE = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.VARINT);
private static final DataParameter<Boolean> POWERED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN);
private static final DataParameter<Boolean> IGNITED = EntityDataManager.createKey(EntityBakaMitaiCreeper.class, DataSerializers.BOOLEAN);
private int lastActiveTime;
private int timeSinceIgnited;
private int fuseTime = 100;
private int explosionRadius = 12;
private int droppedSkulls;
public EntityBakaMitaiCreeper(World worldIn)
{
super(worldIn);
this.setSize(0.6F, 1.7F);
}
@Override
public boolean ableToCauseSkullDrop()
{
return this.droppedSkulls < 1 && this.world.getGameRules().getBoolean("doMobLoot");
}
@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
}
@Override
public boolean attackEntityAsMob(Entity entityIn)
{
return true;
}
@Override
protected void entityInit()
{
super.entityInit();
this.dataManager.register(STATE, -1);
this.dataManager.register(POWERED, false);
this.dataManager.register(IGNITED, false);
}
private void explode()
{
if (!this.world.isRemote)
{
boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this);
float f = this.getPowered() ? 2.0F : 1.0F;
this.dead = true;
this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW, getSoundCategory(), 1.0F, 1.0F);
this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag);
this.setDead();
this.spawnLingeringCloud();
}
}
@Override
public void fall(float distance, float damageMultiplier)
{
super.fall(distance, damageMultiplier);
this.timeSinceIgnited = (int) (this.timeSinceIgnited + distance * 1.5F);
if (this.timeSinceIgnited > this.fuseTime - 5)
{
this.timeSinceIgnited = this.fuseTime - 5;
}
}
@Override
@SideOnly(Side.CLIENT)
public float getCreeperFlashIntensity(float p_70831_1_)
{
return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2);
}
@Override
public int getCreeperState()
{
return this.dataManager.get(STATE);
}
@Override
public void setCreeperState(int state)
{
this.dataManager.set(STATE, state);
}
@Override
protected SoundEvent getDeathSound()
{
return SoundEvents.ENTITY_CREEPER_DEATH;
}
@Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
{
return SoundEvents.ENTITY_CREEPER_HURT;
}
@Override
@Nullable
protected ResourceLocation getLootTable()
{
return LootTableList.ENTITIES_CREEPER;
}
@Override
public int getMaxFallHeight()
{
return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F);
}
@Override
public boolean getPowered()
{
return this.dataManager.get(POWERED);
}
@Override
public boolean hasIgnited()
{
return this.dataManager.get(IGNITED);
}
@Override
public void ignite()
{
this.dataManager.set(IGNITED, true);
}
@Override
public void incrementDroppedSkulls()
{
++this.droppedSkulls;
}
@Override
protected void initEntityAI()
{
this.tasks.addTask(1, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAICreeperSwell(this));
this.tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D));
this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, false));
this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D));
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
this.tasks.addTask(6, new EntityAILookIdle(this));
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, true));
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
}
@Override
public void onDeath(DamageSource cause)
{
super.onDeath(cause);
if (this.world.getGameRules().getBoolean("doMobLoot"))
{
if (cause.getTrueSource() instanceof EntitySkeleton)
{
int i = Item.getIdFromItem(Items.RECORD_13);
int j = Item.getIdFromItem(Items.RECORD_WAIT);
int k = i + this.rand.nextInt(j - i + 1);
this.dropItem(Item.getItemById(k), 1);
} else if (cause.getTrueSource() instanceof EntityBakaMitaiCreeper && cause.getTrueSource() != this && ((EntityBakaMitaiCreeper) cause.getTrueSource()).getPowered()
&& ((EntityBakaMitaiCreeper) cause.getTrueSource()).ableToCauseSkullDrop())
{
((EntityBakaMitaiCreeper) cause.getTrueSource()).incrementDroppedSkulls();
this.entityDropItem(new ItemStack(Items.SKULL, 1, 4), 0.0F);
}
}
}
@Override
public void onStruckByLightning(EntityLightningBolt lightningBolt)
{
super.onStruckByLightning(lightningBolt);
this.dataManager.set(POWERED, true);
this.fuseTime = 100;
this.explosionRadius = 12;
}
@Override
@ -249,83 +59,28 @@ public class EntityBakaMitaiCreeper extends EntityCreeper
super.onUpdate();
}
@Override
protected boolean processInteract(EntityPlayer player, EnumHand hand)
private void explode()
{
ItemStack itemstack = player.getHeldItem(hand);
if (itemstack.getItem() == Items.FLINT_AND_STEEL)
if (!this.world.isRemote)
{
this.world.playSound(player, this.posX, this.posY, this.posZ, SoundEvents.ITEM_FLINTANDSTEEL_USE, this.getSoundCategory(), 1.0F, this.rand.nextFloat() * 0.4F + 0.8F);
player.swingArm(hand);
if (!this.world.isRemote)
{
this.ignite();
itemstack.damageItem(1, player);
return true;
}
}
return super.processInteract(player, hand);
}
@Override
public void readEntityFromNBT(NBTTagCompound compound)
{
super.readEntityFromNBT(compound);
this.dataManager.set(POWERED, compound.getBoolean("powered"));
if (compound.hasKey("Fuse", 99))
{
this.fuseTime = compound.getShort("Fuse");
}
if (compound.hasKey("ExplosionRadius", 99))
{
this.explosionRadius = compound.getByte("ExplosionRadius");
}
if (compound.getBoolean("ignited"))
{
this.ignite();
}
}
private void spawnLingeringCloud()
{
Collection<PotionEffect> collection = this.getActivePotionEffects();
if (!collection.isEmpty())
{
EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.posX, this.posY, this.posZ);
entityareaeffectcloud.setRadius(2.5F);
entityareaeffectcloud.setRadiusOnUse(-0.5F);
entityareaeffectcloud.setWaitTime(10);
entityareaeffectcloud.setDuration(entityareaeffectcloud.getDuration() / 2);
entityareaeffectcloud.setRadiusPerTick(-entityareaeffectcloud.getRadius() / entityareaeffectcloud.getDuration());
for (PotionEffect potioneffect : collection)
{
entityareaeffectcloud.addEffect(new PotionEffect(potioneffect));
}
this.world.spawnEntity(entityareaeffectcloud);
boolean flag = net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this);
float f = this.getPowered() ? 2.0F : 1.0F;
this.dead = true;
this.world.playSound(null, getPosition(), ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW, getSoundCategory(), 1.0F, 1.0F);
this.world.createExplosion(this, this.posX, this.posY, this.posZ, this.explosionRadius * f, flag);
this.setDead();
}
}
@Override
public void writeEntityToNBT(NBTTagCompound compound)
protected SoundEvent getDeathSound()
{
super.writeEntityToNBT(compound);
return SoundEvents.ENTITY_CREEPER_DEATH;
}
if (this.dataManager.get(POWERED))
{
compound.setBoolean("powered", true);
}
compound.setShort("Fuse", (short) this.fuseTime);
compound.setByte("ExplosionRadius", (byte) this.explosionRadius);
compound.setBoolean("ignited", this.hasIgnited());
@Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
{
return SoundEvents.ENTITY_CREEPER_HURT;
}
}

View File

@ -76,8 +76,7 @@ public class EntityFriedrichLiechtenstein extends EntityCreature implements IMer
}
return true;
}
else if (itemstack.getItem() == Items.PAPER)
} else if (itemstack.getItem() == Items.PAPER)
{
player.playSound(ModSoundEvents.ENTITY_FRIEDRICH_AMBIENT, 1.0F, 1.0F);
for (int i = 0; i < 7; ++i)
@ -98,8 +97,7 @@ public class EntityFriedrichLiechtenstein extends EntityCreature implements IMer
}
return true;
}
else
} else
{
return super.processInteract(player, hand);
}

View File

@ -8,8 +8,6 @@ import net.minecraft.world.World;
public class EntityIslamist extends EntityCreeper
{
private final int fuseTime = 30;
private final int explosionRadius = 6;
private int lastActiveTime;
private int timeSinceIgnited;
@ -17,6 +15,8 @@ public class EntityIslamist extends EntityCreeper
{
super(worldIn);
this.setSize(0.6F, 1.7F);
this.fuseTime = 30;
this.explosionRadius = 6;
}
@Override

View File

@ -12,9 +12,9 @@ import net.minecraft.world.World;
import java.util.UUID;
public class EntityWolfMZTE extends EntityWolf
public class EntityMZTEWolf extends EntityWolf
{
public EntityWolfMZTE(World worldIn)
public EntityMZTEWolf(World worldIn)
{
super(worldIn);
this.setSize(0.6F, 0.85F);
@ -22,18 +22,18 @@ public class EntityWolfMZTE extends EntityWolf
}
@Override
public EntityWolfMZTE createChild(EntityAgeable ageable)
public EntityMZTEWolf createChild(EntityAgeable ageable)
{
EntityWolfMZTE entitywolfmzte = new EntityWolfMZTE(this.world);
EntityMZTEWolf entitymztewolf = new EntityMZTEWolf(this.world);
UUID uuid = this.getOwnerId();
if (uuid != null)
{
entitywolfmzte.setOwnerId(uuid);
entitywolfmzte.setTamed(true);
entitymztewolf.setOwnerId(uuid);
entitymztewolf.setTamed(true);
}
return entitywolfmzte;
return entitymztewolf;
}
@Override
@ -45,22 +45,22 @@ public class EntityWolfMZTE extends EntityWolf
} else if (!this.isTamed())
{
return false;
} else if (!(otherAnimal instanceof EntityWolfMZTE))
} else if (!(otherAnimal instanceof EntityMZTEWolf))
{
return false;
} else
{
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) otherAnimal;
EntityMZTEWolf entitymztewolf = (EntityMZTEWolf) otherAnimal;
if (!entitywolfmzte.isTamed())
if (!entitymztewolf.isTamed())
{
return false;
} else if (entitywolfmzte.isSitting())
} else if (entitymztewolf.isSitting())
{
return false;
} else
{
return this.isInLove() && entitywolfmzte.isInLove();
return this.isInLove() && entitymztewolf.isInLove();
}
}
}
@ -70,11 +70,11 @@ public class EntityWolfMZTE extends EntityWolf
{
if (!(target instanceof EntityCreeper) && !(target instanceof EntityGhast))
{
if (target instanceof EntityWolfMZTE)
if (target instanceof EntityMZTEWolf)
{
EntityWolfMZTE entitywolfmzte = (EntityWolfMZTE) target;
EntityMZTEWolf entitymztewolf = (EntityMZTEWolf) target;
if (entitywolfmzte.isTamed() && entitywolfmzte.getOwner() == owner)
if (entitymztewolf.isTamed() && entitymztewolf.getOwner() == owner)
{
return false;
}

View File

@ -9,16 +9,16 @@ import net.minecraft.world.World;
public class EntitySmavaCreeper extends EntityCreeper
{
private final int fuseTime = 20;
private final int explosionRadius = 6;
private int lastActiveTime;
private int timeSinceIgnited;
public EntitySmavaCreeper(World worldIn)
{
super(worldIn);
setSize(0.6F, 1.7F);
getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D);
this.setSize(0.6F, 1.7F);
this.fuseTime = 20;
this.explosionRadius = 6;
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D);
}
@Override

View File

@ -34,8 +34,8 @@ public class ModConfigs
public static boolean Schalker_spawn = true;
@Name("Allow Smava Creeper to spawn?")
public static boolean SmavaCreeper_spawn = true;
@Name("Allow WolfMZTE to spawn?")
public static boolean WolfMZTE_spawn = true;
@Name("Allow MZTEWolf to spawn?")
public static boolean MZTEWolf_spawn = true;
@Name("ApoRed spawn probability:")
public static int ApoRed_weight = 50;
@Name("ApoRed min group size:")
@ -102,12 +102,12 @@ public class ModConfigs
public static int SmavaCreeper_min = 1;
@Name("Smava Creeper max group size:")
public static int SmavaCreeper_max = 4;
@Name("WolfMZTE spawn probability:")
public static int WolfMZTE_weight = 25;
@Name("WolfMZTE min group size:")
public static int WolfMZTE_min = 1;
@Name("WolfMZTE max group size:")
public static int WolfMZTE_max = 4;
@Name("MZTEWolf spawn probability:")
public static int MZTEWolf_weight = 25;
@Name("MZTEWolf min group size:")
public static int MZTEWolf_min = 1;
@Name("MZTEWolf max group size:")
public static int MZTEWolf_max = 4;
@Name("Time in seconds Jens needs to digest:")
public static int Jens_digest_time = 120;
@Name("Maximum distance in blocks Jens can search:")

View File

@ -16,7 +16,7 @@ public class ModEntities
RenderingRegistry.registerEntityRenderingHandler(EntityMrBean.class, RenderMrBean.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntitySchalker.class, RenderSchalker.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityMZTEWolf.class, RenderMZTEWolf.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityFriedrichLiechtenstein.class, RenderFriedrichLiechtenstein.FACTORY);
}

View File

@ -12,7 +12,7 @@ import java.util.List;
public class ModItems
{
public static final List<Item> ITEMS = new ArrayList<Item>();
public static final List<Item> ITEMS = new ArrayList<>();
public static final Item RAM = new ModItemBase("ram");
public static final Item RAM_ON_A_STICK = new ModItemBase("ram_on_a_stick");

View File

@ -27,7 +27,7 @@ public class RegHandler
// Smava Creeper
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, "smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224);
if (ModConfigs.SmavaCreeper_spawn == true)
if (ModConfigs.SmavaCreeper_spawn)
{
EntityRegistry.addSpawn(EntitySmavaCreeper.class, ModConfigs.SmavaCreeper_weight, ModConfigs.SmavaCreeper_min, ModConfigs.SmavaCreeper_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
@ -35,7 +35,7 @@ public class RegHandler
// Marcell D'Avis
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, "marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215);
if (ModConfigs.MarcellDAvis_spawn == true)
if (ModConfigs.MarcellDAvis_spawn)
{
EntityRegistry.addSpawn(EntityMarcellDAvis.class, ModConfigs.MarcellDAvis_weight, ModConfigs.MarcellDAvis_min, ModConfigs.MarcellDAvis_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
@ -43,7 +43,7 @@ public class RegHandler
// Islamist
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548);
if (ModConfigs.Islamist_spawn == true)
if (ModConfigs.Islamist_spawn)
{
EntityRegistry.addSpawn(EntityIslamist.class, ModConfigs.Islamist_weight, ModConfigs.Islamist_min, ModConfigs.Islamist_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
@ -51,7 +51,7 @@ public class RegHandler
// ApoRed
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, Spackenmobs.instance, 64, 1, true, 2039583, 16711680);
if (ModConfigs.ApoRed_spawn == true)
if (ModConfigs.ApoRed_spawn)
{
EntityRegistry.addSpawn(EntityApoRed.class, ModConfigs.ApoRed_weight, ModConfigs.ApoRed_min, ModConfigs.ApoRed_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntitySkeleton.class));
@ -59,7 +59,7 @@ public class RegHandler
// Mr. Bean
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238);
if (ModConfigs.MrBean_spawn == true)
if (ModConfigs.MrBean_spawn)
{
EntityRegistry.addSpawn(EntityMrBean.class, ModConfigs.MrBean_weight, ModConfigs.MrBean_min, ModConfigs.MrBean_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
@ -67,7 +67,7 @@ public class RegHandler
// Drachenlord
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, "drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878);
if (ModConfigs.Drachenlord_spawn == true)
if (ModConfigs.Drachenlord_spawn)
{
EntityRegistry.addSpawn(EntityDrachenlord.class, ModConfigs.Drachenlord_weight, ModConfigs.Drachenlord_min, ModConfigs.Drachenlord_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityPigZombie.class));
@ -75,7 +75,7 @@ public class RegHandler
// Schalker
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215);
if (ModConfigs.Schalker_spawn == true)
if (ModConfigs.Schalker_spawn)
{
EntityRegistry.addSpawn(EntitySchalker.class, ModConfigs.Schalker_weight, ModConfigs.Schalker_min, ModConfigs.Schalker_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityShulker.class));
@ -83,30 +83,30 @@ public class RegHandler
// Jens
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, Spackenmobs.instance, 64, 1, true, 6704526, 6767911);
if (ModConfigs.Jens_spawn == true)
if (ModConfigs.Jens_spawn)
{
EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Jens_weight, ModConfigs.Jens_min, ModConfigs.Jens_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityPig.class));
}
// WolfMZTE
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:wolfmzte"), EntityWolfMZTE.class, "wolfmzte", id++, Spackenmobs.instance, 64, 1, true, 16711680, 0);
if (ModConfigs.WolfMZTE_spawn == true)
// MZTEWolf
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mztewolf"), EntityMZTEWolf.class, "mztewolf", id++, Spackenmobs.instance, 64, 1, true, 16711680, 0);
if (ModConfigs.MZTEWolf_spawn)
{
EntityRegistry.addSpawn(EntityJens.class, ModConfigs.WolfMZTE_weight, ModConfigs.WolfMZTE_min, ModConfigs.WolfMZTE_max, EnumCreatureType.CREATURE,
EntityRegistry.addSpawn(EntityMZTEWolf.class, ModConfigs.MZTEWolf_weight, ModConfigs.MZTEWolf_min, ModConfigs.MZTEWolf_max, EnumCreatureType.CREATURE,
BiomeHelper.getBiomesWithCreature(EntityWolf.class));
}
// Holzstammhuhn
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, "holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899);
if (ModConfigs.Holzstammhuhn_spawn == true)
if (ModConfigs.Holzstammhuhn_spawn)
{
EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Holzstammhuhn_weight, ModConfigs.Holzstammhuhn_min, ModConfigs.Holzstammhuhn_max, EnumCreatureType.CREATURE,
EntityRegistry.addSpawn(EntityHolzstammhuhn.class, ModConfigs.Holzstammhuhn_weight, ModConfigs.Holzstammhuhn_min, ModConfigs.Holzstammhuhn_max, EnumCreatureType.CREATURE,
BiomeHelper.getBiomesWithCreature(EntityChicken.class));
}
// Baka Mitai Creeper
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:bakamitai_creeper"), EntityBakaMitaiCreeper.class, "bakamitai_creeper", id++, Spackenmobs.instance, 64, 1, true, 826890, 0);
if (ModConfigs.BakaMitaiCreeper_spawn == true)
if (ModConfigs.BakaMitaiCreeper_spawn)
{
EntityRegistry.addSpawn(EntityBakaMitaiCreeper.class, ModConfigs.BakaMitaiCreeper_weight, ModConfigs.BakaMitaiCreeper_min, ModConfigs.BakaMitaiCreeper_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
@ -114,7 +114,7 @@ public class RegHandler
// Friedrich Liechtenstein
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:friedrich"), EntityFriedrichLiechtenstein.class, "friedrich", id++, Spackenmobs.instance, 64, 1, true, 16447728, 15878595);
if (ModConfigs.Friedrich_spawn == true)
if (ModConfigs.Friedrich_spawn)
{
EntityRegistry.addSpawn(EntityFriedrichLiechtenstein.class, ModConfigs.Friedrich_weight, ModConfigs.Friedrich_min, ModConfigs.Friedrich_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityCow.class));
}

View File

@ -1,6 +1,6 @@
package mod.acgaming.spackenmobs.render;
import mod.acgaming.spackenmobs.entities.EntityWolfMZTE;
import mod.acgaming.spackenmobs.entities.EntityMZTEWolf;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
@ -13,17 +13,17 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderWolfMZTE extends RenderWolf
public class RenderMZTEWolf extends RenderWolf
{
public static final Factory FACTORY = new Factory();
private static final ResourceLocation WOLFMZTE_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/wolfmzte.png");
private static final ResourceLocation TAMED_WOLFMZTE_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/wolfmzte_tame.png");
private static final ResourceLocation ANRGY_WOLFMZTE_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/wolfmzte_angry.png");
private static final ResourceLocation MZTEWOLF_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/mztewolf.png");
private static final ResourceLocation TAMED_MZTEWOLF_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/mztewolf_tame.png");
private static final ResourceLocation ANRGY_MZTEWOLF_TEXTURE = new ResourceLocation(
"spackenmobs:textures/entities/mztewolf_angry.png");
public RenderWolfMZTE(RenderManager renderManagerIn)
public RenderMZTEWolf(RenderManager renderManagerIn)
{
super(renderManagerIn);
this.addLayer(new LayerWolfCollar(this));
@ -52,19 +52,19 @@ public class RenderWolfMZTE extends RenderWolf
{
if (entity.isTamed())
{
return TAMED_WOLFMZTE_TEXTURE;
return TAMED_MZTEWOLF_TEXTURE;
} else
{
return entity.isAngry() ? ANRGY_WOLFMZTE_TEXTURE : WOLFMZTE_TEXTURE;
return entity.isAngry() ? ANRGY_MZTEWOLF_TEXTURE : MZTEWOLF_TEXTURE;
}
}
public static class Factory implements IRenderFactory<EntityWolfMZTE>
public static class Factory implements IRenderFactory<EntityMZTEWolf>
{
@Override
public Render<? super EntityWolfMZTE> createRenderFor(RenderManager manager)
public Render<? super EntityMZTEWolf> createRenderFor(RenderManager manager)
{
return new RenderWolfMZTE(manager);
return new RenderMZTEWolf(manager);
}
}
}

View File

@ -1,12 +1,12 @@
advancements.general.ahoj_brause.description=Töte oder handle mit Friedrich Liechtenstein und erhalte Ahoj-Brause Brausepulver
advancements.general.ahoj_brause.description=Töte oder handle mit einem Friedrich Liechtenstein und erhalte Ahoj-Brause Brausepulver
advancements.general.ahoj_brause.title=Das pulvert mich richtig 'n bisschen auf
advancements.general.ahoj_brause_drink.description=Melke Friedrich Liechtenstein und erhalte eine Ahoj-Brause Brause
advancements.general.ahoj_brause_drink.description=Melke einen Friedrich Liechtenstein und erhalte eine Ahoj-Brause Brause
advancements.general.ahoj_brause_drink.title=Diese Brause ist enorm
advancements.general.ram.description=Töte einen Jens und erhalte Corsair RAM
advancements.general.ram.title=MemTest
advancements.general.ram_on_a_stick.description=Stelle eine RAM-Rute her, um Jens zu reiten
advancements.general.ram_on_a_stick.description=Stelle eine RAM-Rute her, um einen Jens zu reiten
advancements.general.ram_on_a_stick.title=Yes, jetzt geht's los
advancements.general.surstroemming.description=Füttere Jens mit Fisch und erhalte Surströmming
advancements.general.surstroemming.description=Füttere einen Jens mit Fisch und erhalte Surströmming
advancements.general.surstroemming.title=Lecker
advancements.spackenmobs.root.description=Betritt die Welt der Spackenmobs
advancements.spackenmobs.root.title=Spackenmobs
@ -19,9 +19,9 @@ entity.islamist.name=Islamist
entity.jens.name=Jens
entity.marcell_davis.name=Marcell D'Avis
entity.mr_bean.name=Mr. Bean
entity.mztewolf.name=MZTEWolf
entity.schalker.name=Schalker
entity.smava_creeper.name=Smava-Creeper
entity.wolfmzte.name=WolfMZTE
item.ahoj_brause.name=Ahoj-Brause Brausepulver
item.ahoj_brause_drink.name=Ahoj-Brause Brause
item.ram.name=RAM

View File

@ -1,4 +1,4 @@
advancements.general.ahoj_brause.description=Kill or trade with Friedrich Liechtenstein and get Ahoj-Brause Soda Powder
advancements.general.ahoj_brause.description=Kill or trade with a Friedrich Liechtenstein and get Ahoj-Brause Soda Powder
advancements.general.ahoj_brause.title=Das pulvert mich richtig 'n bisschen auf
advancements.general.ahoj_brause_drink.description=Milk a Friedrich Liechtenstein and get an Ahoj-Brause Soda
advancements.general.ahoj_brause_drink.title=Diese Brause ist enorm
@ -6,7 +6,7 @@ advancements.general.ram.description=Kill a Jens and get Corsair RAM
advancements.general.ram.title=MemTest
advancements.general.ram_on_a_stick.description=Craft a RAM On A Stick to ride Jens
advancements.general.ram_on_a_stick.title=Yes, jetzt geht's los
advancements.general.surstroemming.description=Feed Jens with fish and get surströmming
advancements.general.surstroemming.description=Feed a Jens with fish and get surströmming
advancements.general.surstroemming.title=Lecker
advancements.spackenmobs.root.description=Enter the world of Spackenmobs
advancements.spackenmobs.root.title=Spackenmobs
@ -19,9 +19,9 @@ entity.islamist.name=Islamist
entity.jens.name=Jens
entity.marcell_davis.name=Marcell D'Avis
entity.mr_bean.name=Mr. Bean
entity.mztewolf.name=MZTEWolf
entity.schalker.name=Schalker
entity.smava_creeper.name=Smava Creeper
entity.wolfmzte.name=WolfMZTE
item.ahoj_brause.name=Ahoj-Brause Soda Powder
item.ahoj_brause_drink.name=Ahoj-Brause Soda
item.ram.name=RAM

View File

@ -1,13 +1,14 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [{
"item": "minecraft:glass_bottle"
},
{
"item": "spackenmobs:ahoj_brause"
}
],
"result": {
"item": "spackenmobs:ahoj_brause_drink"
}
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:glass_bottle"
},
{
"item": "spackenmobs:ahoj_brause"
}
],
"result": {
"item": "spackenmobs:ahoj_brause_drink"
}
}

View File

@ -1,18 +1,18 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"# ",
" X"
],
"key": {
"#": {
"item": "minecraft:fishing_rod"
},
"X": {
"item": "spackenmobs:ram"
}
},
"result": {
"item": "spackenmobs:ram_on_a_stick"
}
"type": "minecraft:crafting_shaped",
"pattern": [
"# ",
" X"
],
"key": {
"#": {
"item": "minecraft:fishing_rod"
},
"X": {
"item": "spackenmobs:ram"
}
},
"result": {
"item": "spackenmobs:ram_on_a_stick"
}
}

View File

@ -930,10 +930,10 @@
{
"name": "spackenmobs:friedrich/say7"
},
{
{
"name": "spackenmobs:friedrich/say8"
},
{
{
"name": "spackenmobs:friedrich/say9"
}
]

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,16 +1,18 @@
[
{
"modid": "spackenmobs",
"name": "Spackenmobs",
"description": "The most important mobs in the history of Minecraft! [citation needed]",
"version": "RC3",
"mcversion": "1.12.2",
"url": "https://acgaming.github.io",
"updateUrl": "",
"authorList": ["ACGaming"],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
{
"modid": "spackenmobs",
"name": "Spackenmobs",
"description": "The most important mobs in the history of Minecraft! [citation needed]",
"version": "RC4",
"mcversion": "1.12.2",
"url": "https://github.com/ACGaming/Spackenmobs",
"updateUrl": "",
"authorList": [
"ACGaming"
],
"credits": "",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]

View File

@ -0,0 +1,2 @@
public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime
public net.minecraft.entity.monster.EntityCreeper field_82226_g # explosionRadius