Jump to content

[1.9] Use the vainilla spawner in custom structure


perromercenary00

Recommended Posts

good nights

im triying to get to work thevainilla spawner in mi custom extructurebut dongent how to load it whith an entity and an entity whith an armour and weapons

 

soo for now i made an item thath  use entity raytrace to create the block spawner but always is pigs spawner

 
// ############################################################################################3
/**
 * Called when the player stops using an Item (stops holding the right mouse
 * button).
 */
@Override
public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBase player, int timeLeft) {

	int conteo = 10000 - timeLeft;

	if (!worldIn.isRemote)
	{
		EntityPlayer playerIn = (EntityPlayer) player;

		ObjetoObjetivo oo = new ObjetoObjetivo(worldIn, player, 20, 1);

		if (oo.getHayBloque())
		{

		RayTraceResult rt = oo.getRaytraceresult();
		Vec3d ht = rt.hitVec;

		worldIn.spawnEntityInWorld( new EntityItem(worldIn, ht.xCoord, ht.yCoord, ht.zCoord , new ItemStack(MMAF.bala9mm, 14, 1) )  );

		IBlockState mob = Blocks.mob_spawner.getDefaultState();
		worldIn.setBlockState(rt.getBlockPos(), mob);

		}
	}
}


// #########################################################################3

 

//##########################333

 

sooo how do i load the spaawner whith an diferent entity amd how do i set custom inventory dor this entity

 

thans for reading

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

To add a mob you need to create the spawner TileEntity and put the name of the mob in it:

 

I use this method:

 

public static void placeSpawner(World world, int x, int y, int z, String mob) {
	BlockPos pos = new BlockPos(x, y, z);
	if(isProtectedBlock(world, x, y, z)) return;
	placeBlock(world, x, y, z, spawner);
	TileEntityMobSpawner theSpawner = (TileEntityMobSpawner)world.getTileEntity(pos);
	MobSpawnerBaseLogic logic = theSpawner.getSpawnerBaseLogic();
	logic.setEntityName(mob);
}

 

I'm not sure about adding gear -- I've never tried -- so I don't know if the vanilla strings used in command blocks work, though I'm sure there are other methods that catch the spawn event and edit the mob.

 

The name is just the official minecraft name (though mod id is usually needed for modded mobs, if the modder named them correctly, but no mod id for vanilla mob).  Note, if the name is wrong the game will run fine but the spawner will be empty and spawn nothing.

Developer of Doomlike Dungeons.

Link to comment
Share on other sites

 

 

its like they have not set all the options for the spawner

this make it harder to get probabuly i gonna end making a custom spawner and dont wanna do thath

 

anyway where i could get the name list for all entityes i been strgin trying to get a simple zombie

 

		IBlockState mob = Blocks.mob_spawner.getDefaultState();
		worldIn.setBlockState(rt.getBlockPos(), mob);

		TileEntityMobSpawner theSpawner = (TileEntityMobSpawner)worldIn.getTileEntity(rt.getBlockPos());
		MobSpawnerBaseLogic logic = theSpawner.getSpawnerBaseLogic();

		//EntityZombie ez = new EntityZombie(worldIn); 

		//ez.setHeldItem(EnumHand.OFF_HAND, new ItemStack( MMAF.pistola9mm_MP5T5, 1, 3) );
		//logic.func_98267_a(ez.getEntityId());

		//WeightedSpawnerEntity p = new WeightedSpawnerEntity( ez.getEntityData() );

		//logic.func_184993_a(p);

		logic.setEntityName("zombie");	

Link to comment
Share on other sites

The vanilla mobs are basically just the capitalized English names without spaces (though a few could through you off):

 

Bat
Blaze
CaveSpider
Chicken
Cow
Creeper
EnderDragon
Enderman
Endermite
EntityHorse
Ghast
Giant
Guardian
LavaSlime
MushroomCow
Ozelot
Pig
PigZombie
Rabbit
Sheep
Shulker
Silverfish
Skeleton
Slime
SnowMan
Spider
Squid
Villager
VillagerGolem
Witch
WitherBoss
Wolf
Zombie

 

Doomlike Dungeons and Just Another Spawner can both output names for you.  If you'd like do this yourself, you can get the list from the class "net.minecraft.entity.EntityList"

 

EDIT: Its case sensitive, try "Zombie" instead of "zombie" and it should work.

Developer of Doomlike Dungeons.

Link to comment
Share on other sites

In addition to the comments above, you should always do an instanceof check before casting after world.getTileEntity. You cannot guarantee that this tile entity is an instance of TileEntityMobSpawner, and if it isn't, the game will crash.

catch(Exception e)

{

 

}

Yay, Pokémon exception handling, gotta catch 'em all (and then do nothing with 'em).

Link to comment
Share on other sites

yea wass the upercase letter the trouble whith names, the code looks like you can set a custom nbtvalues set but until now what i try hasn work

 

		MobSpawnerBaseLogic logic = theSpawner.getSpawnerBaseLogic();

		EntityZombie ez = new EntityZombie(worldIn); 

		ez.setHeldItem(EnumHand.OFF_HAND, new ItemStack( MMAF.pistola9mm_MP5T5, 1, 3) );
		//logic.func_98267_a(ez.getEntityId());


		WeightedSpawnerEntity p = new WeightedSpawnerEntity( ez.getEntityData() );

		logic.func_184993_a(p);

		logic.setEntityName("Zombie");

 

 

actually i think is more conveniet to create a custom spawnner i have someting in mind i need to test first

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I am following a tutorial for modding minecraft 1.20.1, and while running the mod with the minecraft of the idea, no errors was present but, when I switched to real minecraft, it started to want a default constructor "public ZeroToAutomation()" instead of the one recomended by the video "public ZeroToAutomation(FMLJavaModLoadingContext context) {...}", and I can't use the default constructor because I need the FMLJavaModLoadingContext to register the blocks and items.   The problem is at: "net/myself/zerotoautomation/ZeroToAutomation.java" the file contains the default constructor, "Logger"s, and the code for the mod the defaut constructor was added after an error requesting it the Loggers was used to see which methods/constructors was used by the Launcher   things that I tried to fix the issue: remove the default constructor, but an error appeared "net.myself.zerotoautomation.ZeroToAutomation.<init>()", and nothing else on the class runs adding an "public static void init()" method, but it changed nothing   The mod files: https://github.com/Matwaua/Zero_To_Automation/tree/not-finished
    • It is an issue/conflict with distanthorizons
    • I have been trying to combat this issue between oculus and embeddium and to no avail... I have already tried a few online tutorials on how to get this working but it doesn't work at all. https://pastebin.com/geQgifjc
    • wow you sound like fun to play with
    • Instale el mod en mi servidor y este se queda iniciando por horas, en la consola me habla de algo de permisos y trate de seguir la ruta que me da pero no existe.   [13:05:32 INFO]: CustomNPC Permissions available: [13:05:32 INFO]: customnpcs.edit.blocks [13:05:32 INFO]: customnpcs.edit.villager [13:05:32 INFO]: customnpcs.global.bank [13:05:32 INFO]: customnpcs.global.dialog [13:05:32 INFO]: customnpcs.global.faction [13:05:32 INFO]: customnpcs.global.linked [13:05:32 INFO]: customnpcs.global.naturalspawn [13:05:32 INFO]: customnpcs.global.playerdata [13:05:32 INFO]: customnpcs.global.quest [13:05:32 INFO]: customnpcs.global.recipe [13:05:32 INFO]: customnpcs.global.transport [13:05:32 INFO]: customnpcs.npc.advanced [13:05:32 INFO]: customnpcs.npc.ai [13:05:32 INFO]: customnpcs.npc.clone [13:05:32 INFO]: customnpcs.npc.create [13:05:32 INFO]: customnpcs.npc.delete [13:05:32 INFO]: customnpcs.npc.display [13:05:32 INFO]: customnpcs.npc.freeze [13:05:32 INFO]: customnpcs.npc.gui [13:05:32 INFO]: customnpcs.npc.inventory [13:05:32 INFO]: customnpcs.npc.reset [13:05:32 INFO]: customnpcs.npc.stats [13:05:32 INFO]: customnpcs.scenes [13:05:32 INFO]: customnpcs.soulstone.all [13:05:32 INFO]: customnpcs.spawner.create [13:05:32 INFO]: customnpcs.spawner.mob [13:05:32 INFO]: customnpcs.tool.mounter [13:05:32 INFO]: customnpcs.tool.nbtbook [13:05:32 INFO]: customnpcs.tool.pather [13:05:32 INFO]: customnpcs.tool.scripter
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.