[Résolu] Structure de boss

Besoin d'aide ? c'est par ici ;)
Règles du forum
[En Attente] - Qui est défini par défaut à l'ouverture de la demande d'aide
[En Cours] - Qui est à mettre lorsque vous venez d'avoir une réponse à votre demande d'aide
[Résolu] - Qui est à mettre lorsque votre problème est résolu
Merci de respecter ce modèle pour toutes demandes d'assistances !
Merci de mettre votre code dans les balises code prévus à cet effet, icon </>
Version de Minecraft:
Version de Forge: (Il s'agit du numéro de version indiqué sur le nom de votre dossier forge téléchargé)

Description du problème:
(Un maximum d'informations sera utile, quel code fait crash ?, quand cela ce produit ?, ne pas hésiter à mettre des captures d'écran et fichiers de log en pièces jointes)
Répondre
Samlegamer
Messages : 55
Inscription : 19 mars 2020 23:15

Structure de boss

Message par Samlegamer »

Bonjour j'ai voulu créer un boss dans mon mod j'ai mis le code mais sa ne fonctionne pas en jeu.
Merci si vous m'apportez une quelquonque solution :chapchap:
Code:

Code : Tout sélectionner

package fr.samlegamer.heartofender.blocks;

import fr.samlegamer.heartofender.init.BlocksMod;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class BossSumoneur extends Block
{
	public BossSumoneur(String name, Material materialIn)
	{
		super(materialIn);
		this.setRegistryName(name).setUnlocalizedName(name);
		this.setHardness(5.f).setResistance(20.f);
		
		this.setHarvestLevel("pickaxe", 2);
	}
	
	@Override
	public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
	{
		
		IBlockState lapis_block = worldIn.getBlockState(pos.down(1));
		IBlockState diamond_block = worldIn.getBlockState(pos.up(1));
		IBlockState herobrine_head = worldIn.getBlockState(pos.up(2));
		IBlockState diamond_block1 = worldIn.getBlockState(pos.east(1));
		IBlockState diamond_block2 = worldIn.getBlockState(pos.west(1));
		
		if(!worldIn.isRemote)
		{
		if(placer instanceof EntityPlayer)
		{
			
			{
				{
					
					
					EntityZombie herobrine = new EntityZombie(worldIn);
					
					
					herobrine.setCustomNameTag("Herobrine");
					
					herobrine.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(100000.D);
					
					herobrine.setHealth(herobrine.getMaxHealth());
					
					herobrine.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(35.D);
					
					herobrine.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(30.D);
					
					herobrine.setPosition(pos.getX(), pos.getY(), pos.getZ());
					
					worldIn.destroyBlock(pos, false);
					worldIn.destroyBlock(pos.down(1), false);
					worldIn.destroyBlock(pos.up(2), false);
					worldIn.destroyBlock(pos.up(1), false);
					worldIn.destroyBlock(pos.east(1), false);
					worldIn.destroyBlock(pos.west(1), false);
					
					worldIn.spawnEntity(herobrine);
					
					
				}
				
			}
			
		}
	  }
	}
}
En jeu:
2020-04-04_21.10.33.png
Avatar de l’utilisateur
Checconio
Site Admin
Messages : 660
Inscription : 20 juil. 2019 18:53
Localisation : Istres
Contact :

Re: Structure de boss

Message par Checconio »

tu as bien fait ta construction dans le bon sens ? car dans ton code tu n'a donné qu'une seule direction possible, ton diamond_block1 peut être qu'en direction de l'ouest et diamond_block2 qu'en direction de l'est

Tu peux passer ton sujet en [En Cours] ou [Résolu]
Tu veux des réductions et du cashback ? passe par iGraal ;)
3€ Offert en passant par mon lien :)

https://fr.igraal.com/?parrain=AG_577542b686c1d
Image
Samlegamer
Messages : 55
Inscription : 19 mars 2020 23:15

Re: Structure de boss

Message par Samlegamer »

je ne sais pas du tout comment on accéde au code source des tête du Boss Wither sa pourraît être utile pour voir comment il ont fait les dev de minecraft en 1.12.2
Samlegamer
Messages : 55
Inscription : 19 mars 2020 23:15

Re: Structure de boss

Message par Samlegamer »

re j'ai réussi a juste faire spawner le boss mais c'est tout la structure n'a aucun effet
Avatar de l’utilisateur
Checconio
Site Admin
Messages : 660
Inscription : 20 juil. 2019 18:53
Localisation : Istres
Contact :

Re: Structure de boss

Message par Checconio »

est-ce que tu as pris en compte mon premier message pour la structure ou je t'explique que tu n'a donner qu'une seule direction possible pour la construction sur les 4 sens possible tu en as coder qu'un
Tu veux des réductions et du cashback ? passe par iGraal ;)
3€ Offert en passant par mon lien :)

https://fr.igraal.com/?parrain=AG_577542b686c1d
Image
Samlegamer
Messages : 55
Inscription : 19 mars 2020 23:15

Re: Structure de boss

Message par Samlegamer »

Le problème c'est que j'ai du déclaré herobrine_head comme faisant passé de la class BossSumoneur et du coup dès que je le met il casse le bloc et fait spawner le mob mais je pense qu'il faut le mettre dans la classe world ou en créer une avec un patern
Samlegamer
Messages : 55
Inscription : 19 mars 2020 23:15

Re: Structure de boss

Message par Samlegamer »

J'ai trouvé en fait tout ce qu'il faut faire c'est mettre les données en négatif le code qui marche c'est celui la :

Code : Tout sélectionner

package fr.samlegamer.heartofender.blocks;

import fr.samlegamer.heartofender.init.BlocksMod;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

public class HerobrineHead extends net.minecraft.block.Block
{
	public HerobrineHead(String name, Material materialIn)
	{
		super(materialIn);
		this.setRegistryName(name).setUnlocalizedName(name);
		this.setHardness(5.f).setResistance(20.f);
		
		this.setHarvestLevel("pickaxe", 2);
	}
	
	@Override
	public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
	{
		
		IBlockState diamond_block = worldIn.getBlockState(pos.down());
		IBlockState lapis_block = worldIn.getBlockState(pos.down(2));
		IBlockState diamond_block1 = worldIn.getBlockState(pos.down().east());
		IBlockState diamond_block2 = worldIn.getBlockState(pos.down().west());
		IBlockState diamond_block3 = worldIn.getBlockState(pos.down().north());
		IBlockState diamond_block4 = worldIn.getBlockState(pos.down().south());

		if(!worldIn.isRemote)
		{
		if(placer instanceof EntityPlayer)
		{
			
			if(diamond_block.getBlock()!= Blocks.AIR && lapis_block.getBlock()!= Blocks.AIR)
			{
				
				if(diamond_block.getBlock() == Blocks.DIAMOND_BLOCK && lapis_block.getBlock() == Blocks.LAPIS_BLOCK)
				{
										
					EntityZombie boss= new EntityZombie(worldIn);
					
					
					boss.setCustomNameTag("Boss");
					
					boss.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(100.D);
					
					boss.setHealth(herobrine.getMaxHealth());
					
					boss.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(25.D);
					
					boss.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(15.D);
					
					boss.setPosition(pos.getX(), pos.getY(), pos.getZ());
					
					worldIn.destroyBlock(pos, false);
					worldIn.destroyBlock(pos.down(), false);
					worldIn.destroyBlock(pos.down(2), false);
					worldIn.destroyBlock(pos.down().east(), false);
					worldIn.destroyBlock(pos.down().west(), false);
					worldIn.destroyBlock(pos.down().north(), false);
					worldIn.destroyBlock(pos.down().south(), false);

					
					worldIn.spawnEntity(herobrine);
					
										
				}
			}
		}
	  }
	}
}
Répondre