mirror of
https://github.com/nimsolated/Nims-Random-BS.git
synced 2026-04-02 10:20:42 -07:00
2.0.2
This commit is contained in:
@@ -3899,6 +3899,67 @@
|
||||
]
|
||||
},
|
||||
"path": "~/Other"
|
||||
},
|
||||
{
|
||||
"name": "Ari",
|
||||
"type": "livingentity",
|
||||
"compiles": true,
|
||||
"locked_code": false,
|
||||
"registry_name": "ari",
|
||||
"metadata": {
|
||||
"files": [
|
||||
"src/main/resources/assets/aris_random_additions/models/item/ari_spawn_egg.json",
|
||||
"src/main/java/net/mcreator/arisrandomadditions/client/renderer/AriRenderer.java",
|
||||
"src/main/java/net/mcreator/arisrandomadditions/entity/AriEntity.java",
|
||||
"src/main/resources/data/aris_random_additions/forge/biome_modifier/ari_biome_modifier.json"
|
||||
]
|
||||
},
|
||||
"path": "~/Other"
|
||||
},
|
||||
{
|
||||
"name": "AriSpawnEggRecipe",
|
||||
"type": "recipe",
|
||||
"compiles": true,
|
||||
"locked_code": false,
|
||||
"registry_name": "ari_spawn_egg_recipe",
|
||||
"metadata": {
|
||||
"files": [
|
||||
"src/main/resources/data/aris_random_additions/recipes/ari_spawn_egg_recipe.json"
|
||||
]
|
||||
},
|
||||
"path": "~/SpawnEggs"
|
||||
},
|
||||
{
|
||||
"name": "FoxSpawnEgg",
|
||||
"type": "recipe",
|
||||
"compiles": true,
|
||||
"locked_code": false,
|
||||
"registry_name": "fox_spawn_egg",
|
||||
"metadata": {
|
||||
"files": [
|
||||
"src/main/resources/data/aris_random_additions/recipes/fox_spawn_egg.json"
|
||||
]
|
||||
},
|
||||
"path": "~/SpawnEggs"
|
||||
},
|
||||
{
|
||||
"name": "AriOnInitialEntitySpawn",
|
||||
"type": "procedure",
|
||||
"compiles": true,
|
||||
"locked_code": false,
|
||||
"registry_name": "ari_on_initial_entity_spawn",
|
||||
"metadata": {
|
||||
"files": [
|
||||
"src/main/java/net/mcreator/arisrandomadditions/procedures/AriOnInitialEntitySpawnProcedure.java"
|
||||
],
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "entity",
|
||||
"type": "entity"
|
||||
}
|
||||
]
|
||||
},
|
||||
"path": "~/Other"
|
||||
}
|
||||
],
|
||||
"variable_elements": [],
|
||||
@@ -4136,6 +4197,7 @@
|
||||
"effect.aris_random_additions.summoned_entity_effect": "Summoned Entity",
|
||||
"item.nims_random_bullshit.orichalcum": "Orichalcum",
|
||||
"advancements.magic_egg_advancement.descr": "Obtain a Magic Egg",
|
||||
"entity.aris_random_additions.ari": "Ari",
|
||||
"item.nims_random_bullshit.night_vision_goggles_helmet": "Night Vision Goggles",
|
||||
"block.aris_random_additions.orichalcum_ore": "Orichalcum Ore",
|
||||
"item.aris_random_additions.orichalcum_axe": "Orichalcum Axe",
|
||||
@@ -4157,6 +4219,7 @@
|
||||
"block.aris_random_additions.condensed_condensed_condensed_netherrack": "Condensed Condensed Condensed Netherrack",
|
||||
"advancements.star_wand_advancement.title": "Healius Absorbus!",
|
||||
"advancements.magic_egg_advancement.title": "Core of a Spawner",
|
||||
"item.aris_random_additions.ari_spawn_egg": "Ari Spawn Egg",
|
||||
"entity.aris_random_additions.tux": "Tux",
|
||||
"item.nims_random_bullshit.orichalcum_pickaxe": "Orichalcum Pickaxe",
|
||||
"item.aris_random_additions.magic_dust": "Magic Dust",
|
||||
@@ -4263,7 +4326,7 @@
|
||||
"workspaceSettings": {
|
||||
"modid": "aris_random_additions",
|
||||
"modName": "Ari\u0027s Random Additions",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Random Additions by Ari. Created with MCreator.",
|
||||
"author": "nimsolated, MCreator",
|
||||
"websiteURL": "https://mcreator.net",
|
||||
|
||||
173
elements/Ari.mod.json
Normal file
173
elements/Ari.mod.json
Normal file
@@ -0,0 +1,173 @@
|
||||
{
|
||||
"_fv": 73,
|
||||
"_type": "livingentity",
|
||||
"definition": {
|
||||
"mobName": "Ari",
|
||||
"mobLabel": "Ari",
|
||||
"mobModelName": "Biped",
|
||||
"mobModelTexture": "ari.png",
|
||||
"transparentModelCondition": {
|
||||
"fixedValue": false
|
||||
},
|
||||
"isShakingCondition": {
|
||||
"fixedValue": false
|
||||
},
|
||||
"solidBoundingBox": {
|
||||
"fixedValue": false
|
||||
},
|
||||
"visualScale": {
|
||||
"fixedValue": 1.0
|
||||
},
|
||||
"boundingBoxScale": {
|
||||
"fixedValue": 1.0
|
||||
},
|
||||
"modelLayers": [],
|
||||
"animations": [],
|
||||
"modelWidth": 0.6,
|
||||
"modelHeight": 1.8,
|
||||
"modelShadowSize": 0.5,
|
||||
"mountedYOffset": 0.0,
|
||||
"hasSpawnEgg": true,
|
||||
"spawnEggBaseColor": {
|
||||
"value": -65448,
|
||||
"falpha": 0.0
|
||||
},
|
||||
"spawnEggDotColor": {
|
||||
"value": -1,
|
||||
"falpha": 0.0
|
||||
},
|
||||
"creativeTabs": [
|
||||
{
|
||||
"value": "MISC"
|
||||
}
|
||||
],
|
||||
"isBoss": false,
|
||||
"bossBarColor": "PINK",
|
||||
"bossBarType": "PROGRESS",
|
||||
"equipmentMainHand": {
|
||||
"value": "CUSTOM:OrichalcumSword"
|
||||
},
|
||||
"equipmentOffHand": {
|
||||
"value": ""
|
||||
},
|
||||
"equipmentHelmet": {
|
||||
"value": ""
|
||||
},
|
||||
"equipmentBody": {
|
||||
"value": ""
|
||||
},
|
||||
"equipmentLeggings": {
|
||||
"value": ""
|
||||
},
|
||||
"equipmentBoots": {
|
||||
"value": ""
|
||||
},
|
||||
"mobBehaviourType": "Mob",
|
||||
"mobCreatureType": "UNDEFINED",
|
||||
"attackStrength": 3,
|
||||
"attackKnockback": 0.0,
|
||||
"knockbackResistance": 0.0,
|
||||
"movementSpeed": 0.3,
|
||||
"stepHeight": 0.6,
|
||||
"armorBaseValue": 3.0,
|
||||
"trackingRange": 64,
|
||||
"followRange": 16,
|
||||
"health": 20,
|
||||
"xpAmount": 0,
|
||||
"waterMob": false,
|
||||
"breatheUnderwater": {
|
||||
"fixedValue": false
|
||||
},
|
||||
"pushedByFluids": {
|
||||
"fixedValue": true
|
||||
},
|
||||
"flyingMob": false,
|
||||
"inventorySize": 9,
|
||||
"inventoryStackSize": 64,
|
||||
"disableCollisions": false,
|
||||
"ridable": false,
|
||||
"canControlForward": false,
|
||||
"canControlStrafe": false,
|
||||
"immuneToFire": false,
|
||||
"immuneToArrows": false,
|
||||
"immuneToFallDamage": true,
|
||||
"immuneToCactus": true,
|
||||
"immuneToDrowning": false,
|
||||
"immuneToLightning": false,
|
||||
"immuneToPotions": false,
|
||||
"immuneToPlayer": false,
|
||||
"immuneToExplosion": false,
|
||||
"immuneToTrident": false,
|
||||
"immuneToAnvil": false,
|
||||
"immuneToWither": false,
|
||||
"immuneToDragonBreath": false,
|
||||
"mobDrop": {
|
||||
"value": "CUSTOM:Orichalcum"
|
||||
},
|
||||
"livingSound": {
|
||||
"value": "block.amethyst_block.chime"
|
||||
},
|
||||
"hurtSound": {
|
||||
"value": "block.amethyst_block.hit"
|
||||
},
|
||||
"deathSound": {
|
||||
"value": "block.amethyst_block.break"
|
||||
},
|
||||
"stepSound": {
|
||||
"value": "block.amethyst_block.step"
|
||||
},
|
||||
"raidCelebrationSound": {
|
||||
"value": ""
|
||||
},
|
||||
"entityDataEntries": [],
|
||||
"onInitialSpawn": {
|
||||
"name": "AriOnInitialEntitySpawn"
|
||||
},
|
||||
"hasAI": true,
|
||||
"aiBase": "(none)",
|
||||
"aixml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><block type=\"aitasks_container\" deletable=\"false\" x=\"40\" y=\"40\"><next><block type=\"attack_on_collide\"><field name=\"speed\">1.2</field><field name=\"longmemory\">FALSE</field><field name=\"condition\">null,null</field><next><block type=\"follow_item_in_hands\"><field name=\"speed\">1</field><field name=\"scared\">FALSE</field><field name=\"condition\">null,null</field><value name=\"item\"><block type=\"mcitem_all\"><field name=\"value\">CUSTOM:Orichalcum</field></block></value><next><block type=\"watch_closest_entity\"><field name=\"entity\">EntityPlayer</field><field name=\"radius\">6</field><field name=\"condition\">null,null</field><next><block type=\"wander\"><field name=\"speed\">1</field><field name=\"condition\">null,null</field><next><block type=\"attack_entity\"><field name=\"insight\">TRUE</field><field name=\"nearby\">TRUE</field><field name=\"entity\">EntityMob</field><field name=\"condition\">null,null</field><next><block type=\"attack_action\"><field name=\"callhelp\">FALSE</field><field name=\"condition\">null,null</field><next><block type=\"look_around\"><field name=\"condition\">null,null</field><next><block type=\"swim_in_water\"><field name=\"condition\">null,null</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>",
|
||||
"breedable": false,
|
||||
"tameable": false,
|
||||
"breedTriggerItems": [],
|
||||
"ranged": false,
|
||||
"rangedAttackItem": {
|
||||
"value": ""
|
||||
},
|
||||
"rangedItemType": "Default item",
|
||||
"rangedAttackInterval": 20,
|
||||
"rangedAttackRadius": 10.0,
|
||||
"spawnThisMob": true,
|
||||
"doesDespawnWhenIdle": false,
|
||||
"spawningProbability": 9,
|
||||
"mobSpawningType": "monster",
|
||||
"minNumberOfMobsPerGroup": 1,
|
||||
"maxNumberOfMobsPerGroup": 1,
|
||||
"restrictionBiomes": [
|
||||
{
|
||||
"value": "cold_beach"
|
||||
},
|
||||
{
|
||||
"value": "snowy_tundra"
|
||||
},
|
||||
{
|
||||
"value": "taiga_cold"
|
||||
},
|
||||
{
|
||||
"value": "cherry_grove"
|
||||
},
|
||||
{
|
||||
"value": "snowy_slopes"
|
||||
}
|
||||
],
|
||||
"spawnInDungeons": false,
|
||||
"raidSpawnsCount": [
|
||||
4,
|
||||
3,
|
||||
3,
|
||||
4,
|
||||
4,
|
||||
4,
|
||||
2
|
||||
]
|
||||
}
|
||||
}
|
||||
7
elements/AriOnInitialEntitySpawn.mod.json
Normal file
7
elements/AriOnInitialEntitySpawn.mod.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"_fv": 73,
|
||||
"_type": "procedure",
|
||||
"definition": {
|
||||
"procedurexml": "<xml xmlns=\"https://developers.google.com/blockly/xml\"><variables><variable type=\"Number\" id=\"pickedScale\">pickedScale</variable></variables><block type=\"event_trigger\" deletable=\"false\" x=\"40\" y=\"40\"><field name=\"trigger\">no_ext_trigger</field><next><block type=\"variables_set_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" is_player_var=\"false\" has_entity=\"false\"></mutation><field name=\"VAR\">local:pickedScale</field><value name=\"VAL\"><block type=\"math_random_number_between\"><value name=\"min\"><block type=\"math_number\"><field name=\"NUM\">0.5</field></block></value><value name=\"max\"><block type=\"math_number\"><field name=\"NUM\">1.5</field></block></value></block></value><next><block type=\"setsize\"><field name=\"scale\">HEIGHT</field><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"value\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" is_player_var=\"false\" has_entity=\"false\"></mutation><field name=\"VAR\">local:pickedScale</field></block></value><next><block type=\"setsize\"><field name=\"scale\">WIDTH</field><value name=\"entity\"><block type=\"entity_from_deps\"></block></value><value name=\"value\"><block type=\"variables_get_number\"><mutation xmlns=\"http://www.w3.org/1999/xhtml\" is_player_var=\"false\" has_entity=\"false\"></mutation><field name=\"VAR\">local:pickedScale</field></block></value></block></next></block></next></block></next></block></xml>"
|
||||
}
|
||||
}
|
||||
48
elements/AriSpawnEggRecipe.mod.json
Normal file
48
elements/AriSpawnEggRecipe.mod.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"_fv": 73,
|
||||
"_type": "recipe",
|
||||
"definition": {
|
||||
"recipeType": "Crafting",
|
||||
"recipeRetstackSize": 1,
|
||||
"group": "",
|
||||
"cookingBookCategory": "MISC",
|
||||
"xpReward": 0.0,
|
||||
"cookingTime": 200,
|
||||
"craftingBookCategory": "MISC",
|
||||
"recipeShapeless": false,
|
||||
"recipeSlots": [
|
||||
{
|
||||
"value": "Blocks.RED_FLOWER#0"
|
||||
},
|
||||
{
|
||||
"value": "CUSTOM:Orichalcum"
|
||||
},
|
||||
{
|
||||
"value": "Blocks.RED_FLOWER#0"
|
||||
},
|
||||
{
|
||||
"value": "CUSTOM:Orichalcum"
|
||||
},
|
||||
{
|
||||
"value": "Items.FOX_SPAWN_EGG"
|
||||
},
|
||||
{
|
||||
"value": "CUSTOM:Orichalcum"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
},
|
||||
{
|
||||
"value": "CUSTOM:Orichalcum"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
}
|
||||
],
|
||||
"recipeReturnStack": {
|
||||
"value": "CUSTOM:Ari.spawn_egg"
|
||||
},
|
||||
"name": "ari_spawn_egg_recipe",
|
||||
"namespace": "mod"
|
||||
}
|
||||
}
|
||||
48
elements/FoxSpawnEgg.mod.json
Normal file
48
elements/FoxSpawnEgg.mod.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"_fv": 73,
|
||||
"_type": "recipe",
|
||||
"definition": {
|
||||
"recipeType": "Crafting",
|
||||
"recipeRetstackSize": 1,
|
||||
"group": "",
|
||||
"cookingBookCategory": "MISC",
|
||||
"xpReward": 0.0,
|
||||
"cookingTime": 200,
|
||||
"craftingBookCategory": "MISC",
|
||||
"recipeShapeless": false,
|
||||
"recipeSlots": [
|
||||
{
|
||||
"value": "Items.CHICKEN"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
},
|
||||
{
|
||||
"value": "Items.CHICKEN"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
},
|
||||
{
|
||||
"value": "CUSTOM:MagicEgg"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
},
|
||||
{
|
||||
"value": "Items.RABBIT"
|
||||
},
|
||||
{
|
||||
"value": "Items.SWEET_BERRIES"
|
||||
},
|
||||
{
|
||||
"value": "Items.RABBIT"
|
||||
}
|
||||
],
|
||||
"recipeReturnStack": {
|
||||
"value": "Items.FOX_SPAWN_EGG"
|
||||
},
|
||||
"name": "fox_spawn_egg",
|
||||
"namespace": "mod"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
package net.mcreator.arisrandomadditions.client.renderer;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer;
|
||||
import net.minecraft.client.renderer.entity.HumanoidMobRenderer;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.model.geom.ModelLayers;
|
||||
import net.minecraft.client.model.HumanoidModel;
|
||||
|
||||
import net.mcreator.arisrandomadditions.entity.AriEntity;
|
||||
|
||||
public class AriRenderer extends HumanoidMobRenderer<AriEntity, HumanoidModel<AriEntity>> {
|
||||
public AriRenderer(EntityRendererProvider.Context context) {
|
||||
super(context, new HumanoidModel<AriEntity>(context.bakeLayer(ModelLayers.PLAYER)), 0.5f);
|
||||
this.addLayer(new HumanoidArmorLayer(this, new HumanoidModel(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR)), context.getModelManager()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureLocation(AriEntity entity) {
|
||||
return new ResourceLocation("aris_random_additions:textures/entities/ari.png");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
|
||||
package net.mcreator.arisrandomadditions.entity;
|
||||
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.network.PlayMessages;
|
||||
import net.minecraftforge.network.NetworkHooks;
|
||||
|
||||
import net.minecraft.world.level.levelgen.Heightmap;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.ServerLevelAccessor;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.entity.monster.Monster;
|
||||
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
|
||||
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
|
||||
import net.minecraft.world.entity.ai.goal.TemptGoal;
|
||||
import net.minecraft.world.entity.ai.goal.RandomStrollGoal;
|
||||
import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal;
|
||||
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
|
||||
import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
|
||||
import net.minecraft.world.entity.ai.goal.FloatGoal;
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
||||
import net.minecraft.world.entity.SpawnPlacements;
|
||||
import net.minecraft.world.entity.SpawnGroupData;
|
||||
import net.minecraft.world.entity.MobType;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.entity.Mob;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.damagesource.DamageTypes;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.DifficultyInstance;
|
||||
import net.minecraft.world.Difficulty;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.network.protocol.game.ClientGamePacketListener;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
||||
import net.mcreator.arisrandomadditions.procedures.AriOnInitialEntitySpawnProcedure;
|
||||
import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModItems;
|
||||
import net.mcreator.arisrandomadditions.init.ArisRandomAdditionsModEntities;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class AriEntity extends Monster {
|
||||
public AriEntity(PlayMessages.SpawnEntity packet, Level world) {
|
||||
this(ArisRandomAdditionsModEntities.ARI.get(), world);
|
||||
}
|
||||
|
||||
public AriEntity(EntityType<AriEntity> type, Level world) {
|
||||
super(type, world);
|
||||
setMaxUpStep(0.6f);
|
||||
xpReward = 0;
|
||||
setNoAi(false);
|
||||
setCustomName(Component.literal("Ari"));
|
||||
setCustomNameVisible(true);
|
||||
setPersistenceRequired();
|
||||
this.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(ArisRandomAdditionsModItems.ORICHALCUM_SWORD.get()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Packet<ClientGamePacketListener> getAddEntityPacket() {
|
||||
return NetworkHooks.getEntitySpawningPacket(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.2, false) {
|
||||
@Override
|
||||
protected double getAttackReachSqr(LivingEntity entity) {
|
||||
return this.mob.getBbWidth() * this.mob.getBbWidth() + entity.getBbWidth();
|
||||
}
|
||||
});
|
||||
this.goalSelector.addGoal(2, new TemptGoal(this, 1, Ingredient.of(ArisRandomAdditionsModItems.ORICHALCUM.get()), false));
|
||||
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, (float) 6));
|
||||
this.goalSelector.addGoal(4, new RandomStrollGoal(this, 1));
|
||||
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal(this, Mob.class, true, true));
|
||||
this.targetSelector.addGoal(6, new HurtByTargetGoal(this));
|
||||
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
|
||||
this.goalSelector.addGoal(8, new FloatGoal(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public MobType getMobType() {
|
||||
return MobType.UNDEFINED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMyRidingOffset() {
|
||||
return -0.35D;
|
||||
}
|
||||
|
||||
protected void dropCustomDeathLoot(DamageSource source, int looting, boolean recentlyHitIn) {
|
||||
super.dropCustomDeathLoot(source, looting, recentlyHitIn);
|
||||
this.spawnAtLocation(new ItemStack(ArisRandomAdditionsModItems.ORICHALCUM.get()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getAmbientSound() {
|
||||
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.chime"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playStepSound(BlockPos pos, BlockState blockIn) {
|
||||
this.playSound(ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.step")), 0.15f, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getHurtSound(DamageSource ds) {
|
||||
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.hit"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundEvent getDeathSound() {
|
||||
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("block.amethyst_block.break"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hurt(DamageSource damagesource, float amount) {
|
||||
if (damagesource.is(DamageTypes.FALL))
|
||||
return false;
|
||||
if (damagesource.is(DamageTypes.CACTUS))
|
||||
return false;
|
||||
return super.hurt(damagesource, amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData livingdata, @Nullable CompoundTag tag) {
|
||||
SpawnGroupData retval = super.finalizeSpawn(world, difficulty, reason, livingdata, tag);
|
||||
AriOnInitialEntitySpawnProcedure.execute(this);
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static void init() {
|
||||
SpawnPlacements.register(ArisRandomAdditionsModEntities.ARI.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES,
|
||||
(entityType, world, reason, pos, random) -> (world.getDifficulty() != Difficulty.PEACEFUL && Monster.isDarkEnoughToSpawn(world, pos, random) && Mob.checkMobSpawnRules(entityType, world, reason, pos, random)));
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
AttributeSupplier.Builder builder = Mob.createMobAttributes();
|
||||
builder = builder.add(Attributes.MOVEMENT_SPEED, 0.3);
|
||||
builder = builder.add(Attributes.MAX_HEALTH, 20);
|
||||
builder = builder.add(Attributes.ARMOR, 3);
|
||||
builder = builder.add(Attributes.ATTACK_DAMAGE, 3);
|
||||
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,7 @@ import net.mcreator.arisrandomadditions.entity.TuxEntity;
|
||||
import net.mcreator.arisrandomadditions.entity.TurdProjectileEntity;
|
||||
import net.mcreator.arisrandomadditions.entity.PocketLightningProjectileEntity;
|
||||
import net.mcreator.arisrandomadditions.entity.GhoulEntity;
|
||||
import net.mcreator.arisrandomadditions.entity.AriEntity;
|
||||
import net.mcreator.arisrandomadditions.ArisRandomAdditionsMod;
|
||||
|
||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
@@ -36,6 +37,10 @@ public class ArisRandomAdditionsModEntities {
|
||||
.setUpdateInterval(1).sized(0.5f, 0.5f));
|
||||
public static final RegistryObject<EntityType<TurdProjectileEntity>> TURD_PROJECTILE = register("turd_projectile",
|
||||
EntityType.Builder.<TurdProjectileEntity>of(TurdProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TurdProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
|
||||
public static final RegistryObject<EntityType<AriEntity>> ARI = register("ari",
|
||||
EntityType.Builder.<AriEntity>of(AriEntity::new, MobCategory.MONSTER).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(AriEntity::new)
|
||||
|
||||
.sized(0.6f, 1.8f));
|
||||
|
||||
// Start of user code block custom entities
|
||||
// End of user code block custom entities
|
||||
@@ -48,6 +53,7 @@ public class ArisRandomAdditionsModEntities {
|
||||
event.enqueueWork(() -> {
|
||||
GhoulEntity.init();
|
||||
TuxEntity.init();
|
||||
AriEntity.init();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -55,5 +61,6 @@ public class ArisRandomAdditionsModEntities {
|
||||
public static void registerAttributes(EntityAttributeCreationEvent event) {
|
||||
event.put(GHOUL.get(), GhoulEntity.createAttributes().build());
|
||||
event.put(TUX.get(), TuxEntity.createAttributes().build());
|
||||
event.put(ARI.get(), AriEntity.createAttributes().build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import net.minecraft.client.renderer.entity.ThrownItemRenderer;
|
||||
|
||||
import net.mcreator.arisrandomadditions.client.renderer.TuxRenderer;
|
||||
import net.mcreator.arisrandomadditions.client.renderer.GhoulRenderer;
|
||||
import net.mcreator.arisrandomadditions.client.renderer.AriRenderer;
|
||||
|
||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||
public class ArisRandomAdditionsModEntityRenderers {
|
||||
@@ -22,5 +23,6 @@ public class ArisRandomAdditionsModEntityRenderers {
|
||||
event.registerEntityRenderer(ArisRandomAdditionsModEntities.TUX.get(), TuxRenderer::new);
|
||||
event.registerEntityRenderer(ArisRandomAdditionsModEntities.POCKET_LIGHTNING_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(ArisRandomAdditionsModEntities.TURD_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||
event.registerEntityRenderer(ArisRandomAdditionsModEntities.ARI.get(), AriRenderer::new);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,6 +116,7 @@ public class ArisRandomAdditionsModItems {
|
||||
public static final RegistryObject<Item> RAVE_BLOCK = block(ArisRandomAdditionsModBlocks.RAVE_BLOCK);
|
||||
public static final RegistryObject<Item> TURD = REGISTRY.register("turd", () -> new TurdItem());
|
||||
public static final RegistryObject<Item> WAND_OF_DRAINING = REGISTRY.register("wand_of_draining", () -> new WandOfDrainingItem());
|
||||
public static final RegistryObject<Item> ARI_SPAWN_EGG = REGISTRY.register("ari_spawn_egg", () -> new ForgeSpawnEggItem(ArisRandomAdditionsModEntities.ARI, -65448, -1, new Item.Properties()));
|
||||
|
||||
// Start of user code block custom items
|
||||
// End of user code block custom items
|
||||
|
||||
@@ -75,6 +75,7 @@ public class ArisRandomAdditionsModTabs {
|
||||
} else if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
|
||||
tabData.accept(ArisRandomAdditionsModItems.GHOUL_SPAWN_EGG.get());
|
||||
tabData.accept(ArisRandomAdditionsModItems.TUX_SPAWN_EGG.get());
|
||||
tabData.accept(ArisRandomAdditionsModItems.ARI_SPAWN_EGG.get());
|
||||
} else if (tabData.getTabKey() == CreativeModeTabs.REDSTONE_BLOCKS) {
|
||||
tabData.accept(ArisRandomAdditionsModBlocks.REDSTONE_BRICKS.get().asItem());
|
||||
tabData.accept(ArisRandomAdditionsModBlocks.REDSTONE_BRICK_STAIRS.get().asItem());
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package net.mcreator.arisrandomadditions.procedures;
|
||||
|
||||
import virtuoel.pehkui.api.ScaleTypes;
|
||||
import virtuoel.pehkui.api.ScaleOperations;
|
||||
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.util.Mth;
|
||||
|
||||
public class AriOnInitialEntitySpawnProcedure {
|
||||
public static void execute(Entity entity) {
|
||||
if (entity == null)
|
||||
return;
|
||||
double pickedScale = 0;
|
||||
pickedScale = Mth.nextDouble(RandomSource.create(), 0.5, 1.5);
|
||||
ScaleTypes.HEIGHT.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.HEIGHT.getScaleData(entity).getTargetScale(), pickedScale));
|
||||
ScaleTypes.WIDTH.getScaleData(entity).setTargetScale((float) ScaleOperations.SET.applyAsDouble(ScaleTypes.WIDTH.getScaleData(entity).getTargetScale(), pickedScale));
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ license="Academic Free License v3.0"
|
||||
|
||||
[[mods]]
|
||||
modId="aris_random_additions"
|
||||
version="2.0.1"
|
||||
version="2.0.2"
|
||||
displayName="Ari's Random Additions"
|
||||
displayURL="https://mcreator.net"
|
||||
logoFile="logo.png"
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
"effect.aris_random_additions.summoned_entity_effect": "Summoned Entity",
|
||||
"item.nims_random_bullshit.orichalcum": "Orichalcum",
|
||||
"advancements.magic_egg_advancement.descr": "Obtain a Magic Egg",
|
||||
"entity.aris_random_additions.ari": "Ari",
|
||||
"item.nims_random_bullshit.night_vision_goggles_helmet": "Night Vision Goggles",
|
||||
"block.aris_random_additions.orichalcum_ore": "Orichalcum Ore",
|
||||
"item.aris_random_additions.orichalcum_axe": "Orichalcum Axe",
|
||||
@@ -167,6 +168,7 @@
|
||||
"block.aris_random_additions.condensed_condensed_condensed_netherrack": "Condensed Condensed Condensed Netherrack",
|
||||
"advancements.star_wand_advancement.title": "Healius Absorbus!",
|
||||
"advancements.magic_egg_advancement.title": "Core of a Spawner",
|
||||
"item.aris_random_additions.ari_spawn_egg": "Ari Spawn Egg",
|
||||
"entity.aris_random_additions.tux": "Tux",
|
||||
"item.nims_random_bullshit.orichalcum_pickaxe": "Orichalcum Pickaxe",
|
||||
"item.aris_random_additions.magic_dust": "Magic Dust",
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": "forge:add_spawns",
|
||||
"biomes": [
|
||||
"snowy_beach",
|
||||
"snowy_plains",
|
||||
"snowy_taiga",
|
||||
"cherry_grove",
|
||||
"snowy_slopes"
|
||||
],
|
||||
"spawners": {
|
||||
"type": "aris_random_additions:ari",
|
||||
"weight": 9,
|
||||
"minCount": 1,
|
||||
"maxCount": 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"pattern": [
|
||||
"aba",
|
||||
"bcb",
|
||||
"dbd"
|
||||
],
|
||||
"key": {
|
||||
"a": {
|
||||
"item": "minecraft:poppy"
|
||||
},
|
||||
"b": {
|
||||
"item": "aris_random_additions:orichalcum"
|
||||
},
|
||||
"c": {
|
||||
"item": "minecraft:fox_spawn_egg"
|
||||
},
|
||||
"d": {
|
||||
"item": "minecraft:sweet_berries"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "aris_random_additions:ari_spawn_egg",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"category": "misc",
|
||||
"pattern": [
|
||||
"aba",
|
||||
"bcb",
|
||||
"dbd"
|
||||
],
|
||||
"key": {
|
||||
"a": {
|
||||
"item": "minecraft:chicken"
|
||||
},
|
||||
"b": {
|
||||
"item": "minecraft:sweet_berries"
|
||||
},
|
||||
"c": {
|
||||
"item": "aris_random_additions:magic_egg"
|
||||
},
|
||||
"d": {
|
||||
"item": "minecraft:rabbit"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "minecraft:fox_spawn_egg",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user