mirror of
https://github.com/ACGaming/Spackenmobs
synced 2025-02-18 01:30:09 +01:00
Access Transformer and various fixes
This commit is contained in:
parent
e4866645f0
commit
27a61a7542
24 changed files with 248 additions and 484 deletions
14
README.md
14
README.md
|
@ -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...
|
|
@ -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
192
gradlew
vendored
|
@ -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"
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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:")
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -930,10 +930,10 @@
|
|||
{
|
||||
"name": "spackenmobs:friedrich/say7"
|
||||
},
|
||||
{
|
||||
{
|
||||
"name": "spackenmobs:friedrich/say8"
|
||||
},
|
||||
{
|
||||
{
|
||||
"name": "spackenmobs:friedrich/say9"
|
||||
}
|
||||
]
|
||||
|
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
@ -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": []
|
||||
}
|
||||
]
|
2
src/main/resources/spackenmobs_at.cfg
Normal file
2
src/main/resources/spackenmobs_at.cfg
Normal 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
|
Loading…
Add table
Reference in a new issue