In Control!

In Control!

72M Downloads

maxheight/helditem commands not Working

Boolyman opened this issue ยท 27 comments

commented

in an attempt to discourage people from making underground bases, I have been trying to make it so that most of the mobs that spawn below Y40 are equipped with a pickaxe. Since EpicSiegeMobs makes it so mobs "with the right tools" can dig through blocks, this will hopefully make it so any bases buried low into the ground are constantly having mobs dig up into their base. Unfortunately, it does not seem to be working.

[
{
"maxheight": 40,
"random": 0.8,
"hostile": "true",
"result": "allow",
"helditem": "minecraft:iron_pickaxe"
}
]

Using this syntax, then going down to about Y30 and spamming zombie eggs, it was clear that there were definitely nowhere close to 80% spawning with pickaxes. The 10% or so that DID spawn with pickaxes were presumably just the natural spawn rate.

commented

Spawn eggs are special. In Control doesn't do anything with that. They use another spawn system

commented

Well, the good news is, I got it working... they all have a pickaxe. The bad news is... I'm not sure your mod is appropriate for kids under 18, lol. Apparently your equip item commands are unpredictable for modded creatures.

"helditem" indeed

image

commented

Well not all mobs support holding items. You might want to do this for zombies alone

commented

Ill leave it like this... Im not picky. Last question, and i promise to leave you be. The item below doesnt seem to be dropping. Is the syntax wrong? And is there any way to make it only drop 30% of the time?

[
{
"mob": "aether_legacy.phyg"
"item": "arsmagica2:item_ore:8"
}
]

commented

Use @ for meta. And you can use the random tag with a value of .3

commented

Man, this is frustrating. I can not get a simple command to work. All I want to do is make the phygs from the Aether, drop this one item. I have spent hours today tweaking this simple code, and reloading the game... thinking I am doing something wrong. I even resorted to a different item, that doesnt have any meta data, and it still doesnt work. This goes into the Loot file right? There has GOT to be something I am doing wrong.

[
{
"mob": "aether_legacy.phyg",
"item": "harvestcraft:oliveoilItem"
}
]

Edit: Ok, I just tried removing leather from the pigs drop table and adding blaze rods. Since both are vanilla items, wanted to see if that mattered. It worked. Now that I know my syntax is correct, i am gonna swap out the oliveoil for the blaze rods again, and if it stops working, I can only assume your mod doesn't work well with modded items?

Edit #2 Just tried it with the olive oil again... still not working.

commented

What version are you using?

commented

In Control 3.5.4
Minecraft 1.10.2
Forge: 12.18.3.2239

commented

Well I know it works for modded items. I have done it myself. Are you sure your item description for oliveoil is good? It is case sensitive so be careful to type it exactly.

Same for the mob ID that you're using. Make sure that's correct

commented

I know the mob ID is accurate, since my syntax works perfectly fine on that same mob, using blaze rods instead of Olive oil. And yes, believe me, I am hours into staring at this code for anything I spelled wrong. And remember it also didnt work with the Arsmagica item I tried to get to drop either, even after fixxing the meta data syntax

commented

Also, the leather is still removed from the loot table... it just doesnt complete the second function. The syntax now looks like this:

[
{
"mob": "aether_legacy.phyg",
"remove": "minecraft:leather"
},
{
"mob": "aether_legacy.phyg",
"item": "harvestcraft:oliveoilItem"
}
]

commented

The weirdest thing is, I swear that the very first, and only the first phyg I kill after completely reloading MC, DOES drop the olive oil... and then none after that. I am reloading the game one more time right now just to make sure I am not imagining things.

commented

I just tested it again. I am not imaginging things. The very first Phyg I kill after completely reloading MC drops the olive oil... then they stop dropping at all after that. What in the world could cause that?

commented

Does it also have that behaviour if you add the olive oil to a vanilla mob?

commented

Yep. just tried it on normal cows... the first mob drops the Oil... then never again.

commented

Could your tables be unloading after the initial load for some reason?

commented

I'm going to check it out

commented

I wonder if you have some other mod affecting loot tables because with just vanilla and my mob I cannot reproduce this.

commented

are you adding a modded item to the drop list?

commented

No because I don't have any in my dev env. Do you only have this problem with modded items? So if you have a cow, remove leather, add (for example) cobble then it works all the time?

commented

I tried blaze rods above, remember... worked fine.

commented

Blaze Rods worked fine... but both modded items... from two different mods, didnt work.

commented

um, ... I'll investigate. No clue what's wrong atm though

commented

Alrite, ill try to use something else. Was really hoping to use your program though. Thanks for the help.

commented

I'll fix it if I can find what's going on

commented

I have absolutely no clue here. I tried this:

[
{
"mob": "Cow",
"remove": "minecraft:leather"
},
{
"mob": "Cow",
"item": "theoneprobe:probe"
}

]

And every cow I kill gives me a probe. So...

commented

The first mob dropping the item, means your program and my syntax are working as intended. So its likely the interaction of some mod altering or reloading loot tables on the fly for some reason. I wouldnt even know where to start in trouble shooting that, because there is no indication it is one of the mods involved in the syntax. I guess I'll have to work with a different program. Thanks for taking the time to look into this.