added renewableSponges mixins
This commit is contained in:
1 parent
78eafdcedd
commit
6008c8e4a5
3 files changed
+50
-1
No files matched your search
@@ -0,0 +1,48 @@
|
||||
package carpet.mixins;
|
||||
|
||||
import carpet.CarpetSettings;
|
||||
import net.minecraft.entity.EntityData;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LightningEntity;
|
||||
import net.minecraft.entity.SpawnType;
|
||||
import net.minecraft.entity.mob.ElderGuardianEntity;
|
||||
import net.minecraft.entity.mob.GuardianEntity;
|
||||
import net.minecraft.entity.mob.HostileEntity;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
||||
@Mixin(GuardianEntity.class)
|
||||
public abstract class GuardianEntityMixin extends HostileEntity
|
||||
{
|
||||
protected GuardianEntityMixin(EntityType<? extends HostileEntity> entityType_1, World world_1)
|
||||
{
|
||||
super(entityType_1, world_1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStruckByLightning(LightningEntity lightning)
|
||||
{
|
||||
if (!this.world.isClient && !this.removed && CarpetSettings.getBool("renewableSponges"))
|
||||
{
|
||||
ElderGuardianEntity elderGuardian = new ElderGuardianEntity(EntityType.ELDER_GUARDIAN ,this.world);
|
||||
elderGuardian.setPositionAndAngles(this.x, this.y, this.z, this.yaw, this.pitch);
|
||||
elderGuardian.initialize(this.world ,this.world.getLocalDifficulty(new BlockPos(elderGuardian)), SpawnType.EVENT, (EntityData)null, (CompoundTag)null);
|
||||
elderGuardian.setAiDisabled(this.isAiDisabled());
|
||||
|
||||
if (this.hasCustomName())
|
||||
{
|
||||
elderGuardian.setCustomName(this.getCustomName());
|
||||
elderGuardian.setCustomNameVisible(this.isCustomNameVisible());
|
||||
}
|
||||
|
||||
this.world.spawnEntity(elderGuardian);
|
||||
this.remove();
|
||||
}
|
||||
else
|
||||
{
|
||||
super.onStruckByLightning(lightning);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user