This thread was automatically marked as Locked.

Custom Spawner + Custom Shop + Populate Chests + Anvil Light fixer and more

  • #1


    NOTE: Fully close Minecraft before running any of these tools.


    Custom Spawner is a tool that creates mob spawner schematics with customized mob attributes and effects.

    Custom Spawner v0.5.0 (post-minecraft 1.4.6) :: download - win32
    Custom Spawner v0.4.4 (pre-minecraft 1.4.6) :: download - win32

    version notes:

    v0.5.0


    Added tag PortalCooldown - number of ticks before the entity can transport through a portal again.

    Added support for 1.4.6 multi-entity spawners. (Note that they currently function as described in my above post and this error report.)
    Select your entity Id and tags like usual. Enter a number for the Weight (chance to spawn). Click the "Add Entity" button. Repeat for as many different entities you want in the spawn list.
    Select an entity in the list and click "Remove Entity" to remove it or click "Remove All" to reset the list.
    Clicking on one of the entities in the list will reset all of the displayed tags to that entity's tags.

    Loading a post-1.4.6 schematic will fully load and populate the spawn list and select/display the tags for the first entity in the list.
    Loading a pre-1.4.6 schematic will set all the current tags as before, but will not automatically add it to the spawn list.

    Firework entities currently do not save any unique tags and are essentially non-functional from spawners.

    v0.4.4


    New tag (minecraft 1.4.3+):
    • ownerName - The name of the player this ender pearl will teleport upon impact.
    Support for loading data from previously created spawner schematic files.
    Click the "load schematic" button. Browse to and select a schematic file. It will fill the appropriate tag fields and check the appropriate check boxes (and uncheck all other check boxes).

    v0.4.3


    Added a few more tags that I missed:
    • Invulnerable - 1 or 0 (true/false) - true if the mob should not take damage.
    • PlayerCreated - 1 or 0 (true/false) - true if this golem was created by a player.
    • HurtEntities - 1 or 0 (true/false) - true if the block should hurt entities it falls on.
    • FallHurtMax - The maximum number of hitpoints of damage to inflict on entities that intersect this FallingSand. Anvils default to 20 (10 hearts).
    • FallHurtAmount - Multiplied by the FallDistance to calculate the amount of damage to inflict.
    • Ambient - 1 or 0 (true/false) - true if this effect is provided by a Beacon and therefore should be less intrusive on screen.
    Golems marked as Player Created do not retaliate if you hit them.

    The three fall damage related tags are for FallingSand spawners so you can make the spawned entities do damage like anvils.

    Ambient only works on active effects (mob potion effects section) and seems to only work if ALL active effects are set as ambient (which is probably why people with beacons don't always get the intended reduced particle swirls).

    v0.4.2c

    fixed cat type tag

    v0.4.2


    Fixed mob equip drop chances. Armor chances were being added in reverse order.
    Added tags:
    • Spawn Range - distance from spawner that mobs can try to spawn.
    • Persistence req - when set to 1 (true), the mobs from the spawner will not despawn (similar to normal passive animals)
    • creeper fuse - time they hiss before exploding
    • creeper exp radius - size of the explosion
    • item name - name displayed for the item. leave blank for no name in mob equip.
    • item lore - lore displayed on the item. use /n between lines. ex: Line 1/nLine 2/nLine 3. leave blank for no lore in mob equip
    • item color - color code for leather armor. The game uses decimal versions of RGB color codes. So from black = 0 (0 * 65536 + 0 * 256 + 0) to white = 16777215 (255 * 65536 + 255 * 256 + 255). put any negative number for no color in mob equip.
    • skull owner - name of the player whose skin will show on the skull/head item when placed or worn. leave blank for no skull owner in mob equip.
    v0.4.1

    Added MaxNearbyEntities and RequiredPlayerRange tags. You seem to need both for them to work properly.
    Added multi-effect potion stuff for ThrownPotion spawners. Also for Item spawners that are making potions (you have to set the normal Item tags as well as the potion effects).

    v0.4

    Revamped UI (tabbed windows so it has better organization and doesn't fill the entire screen).
    Added some more 1.4 tags
    • SkeletonType - 0 or 1 for normal skeleton or wither skeleton
    • Invul - Timer for the wither's invulnerable stage when first made (didn't actually work through spawners last I tried)
    • BatFlags - Apparently determines if the bat is sleeping (hanging upside down) or not
    • CanPickUpLoot - Determines if the mob can pick up loot from the ground
    • Dimension - 0, 1 or -1 for overworld, end or nether. (Not sure if it actually does anything yet since mobs are already saved in different region files based on dimension anyway)
    • equipment drop chances - 0.0 to 1.0 for the chance the item in that equipment slot will drop
    • DropItem - For fallingsand. Determines if it will drop a lootable item if the block breaks instead of landing.
    • Wither potion effect
    Added some old tags that were missing
    • Instant health and damage potion effects (effect goes off every tick if given a duration)
    • DeathTime - Something to do with death animations
    • direction data - Identical to motion data. Used by Fireball, SmallFireball and WitherSkull (they seem to need both motion and direction even though they are identical).
    v0.3

    Added mob equipment (to the right of potions, you likely have to scroll the window)
    Added new zombie tags (IsBaby, IsVillager, ConversionTime)

    v0.2.1

    Fix for Fireball and SmallFireball motion. These two entities have a redundant "direction" tag that is identical to their "Motion" tag, but they apparently need both to actually move. If you give motion data to either of those entities then the tool will now automatically create the direction tag as well with the identical data.

    v0.2

    Added a bunch of new tags for item and projectile data and such.

    Falling sand spawners seem to require all of the tags in their section to function properly. Tile is the block id.

    Projectiles might also require all or most of their tags. I didn't test these as extensively.

    Items obviously require an id. If you don't give a stack count then it will spawn "fake" items that disappear on use. Enchants are done the same way as in Populate Chests with enchant id and level pairs separated just by spaces.

    v0.1.2

    Added position and motion data

    Keep in mind that the position data are the actual map coordinates where the mobs will spawn. So be sure to enter values that are actually near where you intend to place the spawner.
    Use small numbers for the motion data.

    v0.1.1

    Added scroll bars.


    Run "Custom Spawner.exe"
    Choose mob type from drop down menu.
    Modify whatever attributes you like (check the boxes next to the things you want to save in the schematic).
    Enter a file name for you schematic.
    Click "Create Spawner"
    Your schematic will be saved in the schematics folder.


    If you want to try other mobs/entities that aren't in the list then you can edit "MobList.txt"

    Note: some of the available effects might not actually do anything yet or otherwise don't work on some/all mobs.

    useful links:
    Chunk format
    Enchanting
    Item IDs
    Splash Potion damage values





    Custom Shop is a tool that will create a schematic of a villager with customized shop options.

    Custom Shop v0.1.2 :: download -win32


    Select a profession from the drop down menu.
    Riches seems to be a count of all trades. Not sure if it has any real function at the moment.

    Max uses is the amount of times you can make that trade before it gets locked out.
    Current uses is the number of times the trade has been used so far.
    Buy A and Buy B are the items the villager wants and Sell is the item he will give you.
    Buy A and Sell are mandatory. Buy B is optional (click the check box if you want it).
    Enchants on the sell item must come in pairs of numbers (enchant ID and enchant level) separated by spaces. Leave it blank if you don't want enchants.
    Enter an item name if desired or leave it blank.
    Enter lore as desired. You can add and remove from the list or clear the list entirely.
    When all of that data is set how you want it, click add offer. You can add and remove offers from the list as desired or reset the list entirely.
    When you have all your offers made, enter a file name and click create shop schematic.
    It will be saved in the schematics folder next to the executable.


    Note: Villagers currently ignore damage, enchants, etc. on items they want to buy so I excluded most of those options. Example: You could set the villager to want a specific colored wool with an enchant and he would still accept any color wool.




    Potion Chest is a tool that creates a schematic of a chest with customized potions in it.

    Potion Chest v0.2 :: download - win32

    Effect ID is the potion effect id.
    Effect level is the strength of the potion effect (in game rank 1 = 0).
    Effect duration is the duration of the effect in ticks.
    Add whatever combination of effects you want to the list. You can select items from the list and click the remove button if you want to remove one.

    Potion color is controlled by the normal damage values of the potions. You can select a color from the preset list or select 'custom value' and enter your own damage value.
    Add potions to (or remove them from) the list as you like by clicking the appropriate buttons.
    When you are done, enter a file name and click the create schematic button. It will be placed in the schematic folder next to the executable.


    Warning: Invalid damage values will crash the game when opening the chest.



    Populate Chests is a tool that will scan a world for empty chests and populate them with random loot.

    Populate Chests v0.4.1 :: download -win32

    run 'Populate Chests.exe'
    click 'Select World' and choose your world folder
    click 'Select Random Items File' and select your text file with your random item data (format:: ItemId DamageValue StackSize %chance [s:slot][enchantID enchantLevel]..).
    Lines with a # are ignored.
    StackSize can optionally be a range to give a random amount of the item. For example, a StackSize of 5-30 (no spaces) will create that item with anywhere from 5 to 30 items in the stack.
    ex:
    #For example, the next line gives a 50% chance of adding a stack of 5 boats.
    333 0 5 50
    #This line gives a 100% chance for a stack of 1 to 10 Diamond Chestplates.
    311 0 1-10 100
    #This line gives a 100% chance for an iron sword with sharpness 5, Knockback 4 and Looting 2
    267 0 1 100 16 5 19 4 21 2
    #This line gives a 100% chance for a stack of 11 stone to be placed in slot 25
    1 0 11 100 s:25

    optionally enter the coordinate range that you want to search for chests (all zeroes will check the entire map)
    click 'Populate Chests' and wait until it finishes.

    old version:

    Populate Chests v0.3.3 :: download- win32

    v0.3.3 - %chance now supports floats.
    v0.3.2 - adds support for random StackSize ranges
    v0.3.1 - adds support for minecart chests.


    Edit 'RandomItems.txt' for whatever items you want (format:: ItemId DamageValue StackSize %chance [enchantID enchantLevel]..).
    Lines with a # are ignored.
    StackSize can optionally be a range to give a random amount of the item. For example, a StackSize of 5-30 (no spaces) will create that item with anywhere from 5 to 30 items in the stack.
    ex:
    #For example, the next line gives a 50% chance of adding a stack of 5 boats.
    333 0 5 50
    #This line gives a 100% chance for a stack of 1 to 10 Diamond Chestplates.
    311 0 1-10 100
    #This line gives a 100% chance for an iron sword with sharpness 5, Knockback 4 and Looting 2
    267 0 1 100 16 5 19 4 21 2

    Run 'Populate Chests.exe'
    A dialog will pop up for you to select a world folder (it tries to start you at the default minecraft/saves folder).
    Wait for it to step through all your region files (overworld, nether, and end) looking for empty chests.

    Enchantment data must come in pairs (id and level) or the item will fail to become enchanted. Enhantment IDs can be found here.


    For items with durability (tools, armor, etc.):
    damage 0 = normal new item.
    damage 1 = it has been used/damaged once
    damage 100 = it has been used/damage 100 times
    Putting in a number higher than the item's normal use limit results it it breaking on one use.
    Putting in a negative number results in an "overcharged" item that has that many extra uses compared to normal.


    Disclaimers/notes:
    Backup your map just in case. It is working fine for me, but there may be situations I didn't account for.
    If you put bad item data in the text file then weird/bad things may happen (stack size and %chance should adjust for bad numbers) .
    Double chests are treated as two separate chests in the save files. As such, if either half (top/bottom) is empty then that half will get populated.
    Uninitialized chests will not be populated. E.g., placing a chest block in mcedit and never doing anything with it results in an uninitialized chest. Simply loading the map in Minecraft will initialize any uninitialized chests in loaded chunks.



    Light fixer is a tool that can fix the lighting issues caused by converting a map with blocks in layer 127 to anvil.

    Light fixer v0.1 :: download- win32

    Basically, I figured out exactly how the anvil conversion breaks maps and this little program fixes them.

    Take your world and load it up in Minecraft so it converts to anvil.
    Immediately save and exit and close Minecraft (if you walk around then the bad light data can propagate to the blocks and I can't fix that).
    Run "Light fixer.exe", pick your world and let it do its work.



    It is really a simple fix once you realize what the conversion broke and where to look.
    It is all the height map. The height map tells Minecraft how far down the sunlight goes unobstructed (so one higher than the highest opaque block). Pre-anvil, it is stored in a byte array. Converting a map with blocks in layer 127 causes an overflow which rolls the heightmap value to -128.
    My little program finds all those -128's and turns them into the +128's that they should be.



    Disclaimers/notes
    As always, backup your map just in case.
    This is meant for worlds freshly converted to anvil. If you already played for a while after converting to anvil then it is very likely that bad light data already propagated to other parts of the save file and this doesn't fix that.
    Do not attempt to run this before converting the map to anvil. Bad things will probably happen.
    There is another anvil light bug (as demonstrated in last_username's video) with similar side effects. This program can't fix that bug, but last_username has now released a mod that can.



    Randomize Spawners is a tool that will scan a world for all monster spawners and change it to another random spawner type as defined in "RandomSpawners.txt"

    Randomize Spawners v0.2 gui :: download- win32

    run Randomize Spawners.exe
    click 'Select World' and choose your world folder.
    click 'Select Random File' and choose your text file with your random values (format: %chance, entityName)
    #example 20% chance creeper and 50% chance cave spider.
    20 Creeper
    50 CaveSpider

    enter the coordinate range that you want to randomize (or leave all as 0 to do the entire map)
    click 'Randomize Spawners' and wait for it to finish.


    old version:
    Randomize Spawners v0.1 :: download- win32

    Edit "RandomSpawners.txt" to your desired percent chances.
    example file:

    This file results in a 15% chance each for Creeper, Skeleton, Zombie, Spider, Cave Spider and Enderman and a 5% chance each for Ghast and Blaze.
    #Put your desired percents in the lines after their given labels
    #If the total percents is less than 100, then the remaining chance will be for the spawner to stay as it is
    #If the total percents is more than 100, then the spawner types later in the list will never be chosen
    #Creeper
    15
    #Skeleton
    15
    #Zombie
    15
    #Spider
    15
    #CaveSpider
    15
    #Enderman
    15
    #Ghast
    5
    #Blaze
    5
    #Silverfish
    0
    #################
    #PigZombie
    0
    #LavaSlime
    0
    #################
    #Slime
    0
    #################
    #Pig
    0
    #Sheep
    0
    #Cow
    0
    #Chicken
    0
    #Squid
    0
    #Wolf
    0
    #Villager
    0
    #Giant
    0
    #Monster
    0

    Run "Randomize Spawners.exe"
    Select your world's folder and let it do its work.


    Note: Uninitialized spawners will not be randomized. E.g., placing a spawner in mcedit and never assigning a mob type will result in an uninitialized spawner. Simply loading the map in Minecraft will initialize any uninitialized spawners in loaded chunks as pig spawners.



    Edit Signs is a tool that scans your world for signs and opens them for editing in a simple gui.

    Edit Signs v0.2 :: download - win32

    Run 'Edit Signs.exe'.
    Click 'OPEN WORLD'.
    Select your world's folder.
    Wait for it to finish searching for signs.
    Edit the text lines for signs as desired. (Use the dropdown menu to select pages if you have over 100 signs.)
    Click 'SAVE SIGNS'.
    Wait for it to finish saving.
    Repeat as desired.

    Format codes placed before text should work:

    §0 through §f -colors
    §l -bold
    §m -striked
    §n -underlined
    §o -italic

    Notes/disclaimers:
    Backup your map just in case.
    Entering text that Minecraft does not support will likely cause Minecraft to discard/regenerate that chunk the next time you load the map in game.
    The program tries to enforce the 15 characters per line limit, but a 16th character can often stick around anyway. Minecraft will truncate the line (remove the 16th character) the next time you load the map in game.



    Add Ladders is a tool that will find any empty (all air) chunk sections that have existing sections above them and add an invisible floating ladder in the middle of them. This is intended to help remove another anvil light bug without requiring the player to use a mod.

    Add Ladders 0.1 :: download- win32

    Run Add Ladders.exe.
    Select your map's world folder and wait for it to finish processing the map.
    Use MCEdit to relight the map (or at least the updated chunks with new ladders).




    Create Players is a tool to create many player.dat files with random starting positions.

    Create Players v0.1 :: download - win32

    pic:

    Run Players.exe
    Enter the X and Z coordinate ranges that you want the players to randomly start in.
    Click 'Select World' and select your world's folder.
    Enter the names of the players you want to create files for.
    You can remove names from the list by selecting the name in the list and clicking 'Remove player from list'
    When all of your players are in the list, click 'Create player.dat files'
    The files are put in the same folder as Players.exe.
    Copy/move the player.dat files to your server world's players folder.


    The sea level field should be left alone most of the time.
    This program uses your world's heightmap to give the players their Y coordinates. If the chunk a player got put in doesn't exist, then that player's Y defaults to sea level.


    Notes:
    I only tested this on a vanilla server.
    If your world's heightmap has bad data then player starting heights will also be bad.
    It doesn't check the block you are spawning above so you might spawn in a lake if there is one within your coordinate range (or if you are extremely unlucky, in a surface lava pool).





    Source: https://github.com/kamyu2/NBT
    https://github.com/kamyu2/pynbt-tools
    Credit:
    Made using the NBT library from https://github.com/twoolie/NBT
    Last edited by kamyu: 12/7/2012 11:28:51 PM
  • #2
    This is the best thing ever and I love it.

    :D
  • #3
    nice :D
    Squirrels
  • #4
    Wow! This is just AWESOME!!!! :D
    Watch me speedrun Vechs'
    SPELLBOUND CAVES in (15:52): http://tinyurl.com/psclbwy
    (Current World Record)
  • #5
    Thanks guys! Let me know if you run into any problems.
  • #6
    Added Light fixer.
  • #7
    Posted this in Vechs' thread, but just in case you didn't see it...

    a) I love you.
    b ) I love you.
    c) Is there any chance you could work out why the lighting errors happen in maps that are already anvil? As someone who makes maps in anvil I find that I still get lighting errors even having started making the map in 1.2...
    Last edited by kingkaider: 4/3/2012 8:39:00 AM
  • #8
    is it possible to ad random emchanted loot in the chests? For example, if I wanted to include a flint and steel with ubreaking 20, no would I do that?
    And please don't say "download single player commands". I have tried to do that, and it doesn't work for me.
    Last edited by Michael7123: 4/3/2012 8:55:59 AM
  • #9
    Quote from kingkaider

    Posted this in Vechs' thread, but just in case you didn't see it...

    a) I love you.
    b ) I love you.
    c) Is there any chance you could work out why the lighting errors happen in maps that are already anvil? As someone who makes maps in anvil I find that I still get lighting errors even having started making the map in 1.2...


    I'm leaning towards probably not.
    This case was pretty easy to test since the issue is so widespread and consistent. Other 1.2 lighting issues seem a lot more random.

    Quote from Michael7123

    is it possible to ad random emchanted loot in the chests? For example, if I wanted to include a flint and steel with ubreaking 20, no would I do that?
    And please don't say "download single player commands". I have tried to do that, and it doesn't work for me.


    It isn't possible at the moment, but it is a great idea and should be fairly easy to add. I'll probably work on that later today.
  • #10
    This is amazing. This would help me out so much with making maps. :)

    Thanks for making these awesome tools! :D
  • #11
    this is just awesome, it will help out alot when making random loot, and i think i makes maps alot more fun aswell.
  • #12
    Updated Populate Chests to support item enchantments.
  • #13
    You+Vechs are amazing :) Thank you for light fixer :) Do you know if the light issues happens on other maps too? Or just vech's super hostile series?
  • #14
    Quote from JamesBean9

    You+Vechs are amazing :) Thank you for light fixer :) Do you know if the light issues happens on other maps too? Or just vech's super hostile series?


    The lighting issue that it fixes happens on any custom map that was built pre-anvil with blocks in layer 127 and then converted to anvil.
  • #15
    Ok, because maybe you could post this to other threads that are having this issue? By the way, if you want I'll make a video showing how to use each mod. By the way, I haven't actually used light fixer yet, but once you choose lightfixer.exe, where do you go from that browse folder thing?
  • #16
    *Bookmarks thread*

    <3
  • #17
    Quote from JamesBean9

    Ok, because maybe you could post this to other threads that are having this issue? By the way, if you want I'll make a video showing how to use each mod. By the way, I haven't actually used light fixer yet, but once you choose lightfixer.exe, where do you go from that browse folder thing?


    I thought about that, but the sheer number of maps that the issue probably occurs on would kinda make it a pain for me to post it everywhere.
    If you or anyone else would like to refer people to here then please feel free to do so.

    I'm not sure how useful a video tutorial would be, the programs are pretty minimalistic, but if you would like to make them then be my guest.

    It is asking you to select the folder of the world you want to fix. If it didn't start you in your saves folder then you'll have to browse to wherever that is yourself.
  • #18
    Thanks for adding enchantments.
  • #19
    Added new tool: Randomize Spawners.
  • #20
    I must say bravo my friend.


    Also, I want to be on the front page for when this becomes more popular that MCEdit. +1 from me by the way.

    Edit: Random spawners? God help us. No one can run from the torment of Vechs...
    Last edited by D4rkd3str0yer: 4/3/2012 11:04:54 PM

    CTM Maps beaten: SOF2, IS2, SI, SC, Rugged Horizons, From Ashes, Decent into Darkness Currently playing: Kaizo
  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes