Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :: mccap.bat
- @echo off
- goto Start
- ::Notes Area
- :: bat_filename "blockname" "a/s/p/sand/sandstone"
- :Start
- if ["%~1"]==[""] goto End
- if ["%~2"]==[""] goto End
- set NAMES=%~1
- set SIDES=%~2
- if "%SIDES%"=="sand" ( goto Sand) else ( goto Block)
- :End
- exit /b
- :Sand
- call ssw "%NAMES%" "sand"
- call mcaid "%NAMES%_sand" "a"
- call :Sandstonemodel
- goto End
- :Block
- if "%SIDES%"=="sandstone" ( goto Sandstonemodel)
- call ssw "%NAMES%" "%SIDES%"
- call mcaid "%NAMES%" "%SIDES%"
- goto End
- :Sandstonemodel
- call ssw "%NAMES%" "sandstone"
- call mcaid "%NAMES%_sand_stone" "s"
- call mcaid "%NAMES%_cut_sand_stone" "p"
- call mcaid "%NAMES%_smooth_sand_stone" "a"
- call mcaid "%NAMES%_chiseled_sand_stone" "s"
- exit /b
- ::-------
- :: ssw.bat
- @echo off
- :: Version 2.0.3
- :: Minor typo in early call, resulting in wrong reciepe for slabs
- :: Version 2.0.1
- :: minor fixes
- :: Version 2
- :: can handle spaces in folder/path names [for temp folder holding the output files only. folder structure with spaces is not supported by minecraft datapacks/mods]
- :: All variables are stored in the ssw.bat file -No Quotes / spaces supported in file/block name
- :: slabs / stairs / walls Reciepe creator (stone cutter & table crafting)
- :: Sand blocks & Sandstone blocks get extra done
- :: Sand & sandstone entered with name without the suffix (grey_cracked_sand_stone would be grey_cracked sandstone // purple_sand would be entered as purple sand)
- :: creates crafting for each of the sandstones for the others in the stone cutter
- :: assumes each block given will have walls/slabs/stairs of it
- :: separate batch files for compatibility & cross usage in a folder that is in the environmental path variables.
- :: -- Call can link to a full path where files kept w/ environmental path variable use
- :: ---
- :: updates
- :: added support for folders with spaces (note, folder structure with spaces is not supported by minecraft datapacks/mods)
- :: mcaid(furn/cfire/stoncut/table) -- support for path spaces pass through (note, folder structure with spaces is not supported by minecraft datapacks/mods)
- :: mcaid(furn/cfire/stoncut/table) -- tweaked to signal start of file (to overwrite old files of the same name & prevent corrupted files)
- :: mcaid(furn/cfire/stoncut/table)/filwrite -- introduced exit /b to close the files if the first argument is missing. (attempting to prevent accidental exicution & errors)
- :: filwrite -- organized & fat cutout (28 to 9 lines w/ exit condition, & new switch)
- :: filwrite -- new switch to indicate to overwrite file of the same name or append to it.
- :: ssw -- formating & notes used to keep human readable & allow Understanding of what is being used where
- goto Start
- :primevar
- :: do not use Quote marks in mod or paths
- set MOD=delbase
- set BASEFOLDER=D:\Minecraft-aidfiles\recipes\
- set STONEC=%BASEFOLDER%stone-cutter\
- set TABLEC=%BASEFOLDER%table\
- set CAMPC=%BASEFOLDER%campfire\
- set FURNC=%BASEFOLDER%furnance\
- set CCSSTONE=%CAMPC%sandstone\
- set FCGLASS=%FURNC%glass\
- set SCSTAIR=%STONEC%stair\
- set SCWALL=%STONEC%wall\
- set SCSLAB=%STONEC%slab\
- set TCSTAIR=%TABLEC%stair\
- set TCWALL=%TABLEC%wall\
- set TCSLAB=%TABLEC%slab\
- :: sandstone/sand value setting, do not touch
- set SANDSTONE=no
- set SAND=no
- exit /b
- :Start
- call :primevar
- if ["%~1"]==[""] goto End
- set NAMES=%~1
- if ["%~2"]==["sandstone"] set SANDSTONE=yes
- if ["%~2"]==["sand"] set SAND=yes
- goto Reciepe
- :Reciepe
- if %SAND%==yes (
- call :reciepewrite %NAMES%_sand sandy %NAMES%
- goto End
- )
- if %SANDSTONE%==yes (
- call :reciepewrite %NAMES%_sand_stone sandstone %NAMES%
- call :reciepewrite %NAMES%_cut_sand_stone off off
- call :reciepewrite %NAMES%_chiseled_sand_stone off off
- call :reciepewrite %NAMES%_smooth_sand_stone off off
- goto End
- )
- call :reciepewrite %NAMES% off off
- :End
- exit /b
- :reciepewrite
- set twmess=%1
- set temptwmess=%3
- set alt=%2
- if ["%alt%"]==["sandstone"] (
- :: stonecutter swapping for sandstones
- call :stonecut "%STONEC%" %temptwmess%_cut_sand_stone twist %temptwmess%_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_chiseled_sand_stone twist %temptwmess%_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_smooth_sand_stone twist %temptwmess%_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_sand_stone twist %temptwmess%_cut_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_chiseled_sand_stone twist %temptwmess%_cut_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_smooth_sand_stone twist %temptwmess%_cut_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_sand_stone twist %temptwmess%_chiseled_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_cut_sand_stone twist %temptwmess%_chiseled_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_smooth_sand_stone twist %temptwmess%_chiseled_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_sand_stone twist %temptwmess%_smooth_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_cut_sand_stone twist %temptwmess%_smooth_sand_stone
- call :stonecut "%STONEC%" %temptwmess%_chiseled_sand_stone twist %temptwmess%_smooth_sand_stone
- :: Table Crafting for the sandstones
- call :table "%TABLEC%" %temptwmess%_sand square %temptwmess%_sand_stone 4
- call :table "%TABLEC%" %temptwmess%_sand_stone square %temptwmess%_cut_sand_stone 4
- call :table "%TABLEC%" %temptwmess%_cut_sand_stone square %temptwmess%_chiseled_sand_stone 4
- :: Campe fire crafting for sand version to smoothstone
- call :campfire "%CCSSTONE%" %temptwmess%_sand 300 0.35 %temptwmess%_smooth_sand_stone
- )
- if ["%alt%"]==["sandy"] call :furn %FCGLASS% %temptwmess%_sand 200 0.1 %temptwmess%_glass
- call :stonecut "%SCSTAIR%" %twmess% stair %twmess%_stair
- call :stonecut "%SCWALL%" %twmess% wall %twmess%_wall
- call :stonecut "%SCSLAB%" %twmess% slab %twmess%_slab
- call :table "%TCSTAIR%" %twmess% stair %twmess%_stair 4
- call :table "%TCWALL%" %twmess% wall %twmess%_wall 6
- call :table "%TCSLAB%" %twmess% slab %twmess%_slab 6
- exit /b
- :stonecut
- :: arguments(in number order) - Path / Name1 / Name2 / Type
- call mcaidstoncut %1 %2 %4 %3 %MOD%
- exit /b
- :table
- :: arguments(in number order) - Path / Name1 / Type / Name2 / Craft_Number
- call mcaidtable %3 %5 %2 %4 %1 %MOD%
- exit /b
- :campfire
- :: arguments(in number order) - Path / Name1 / Cook_time / Exp / Name2
- call mcaidcfire %1 %3 %4 %2 %5 %MOD%
- exit /b
- :furn
- :: arguments(in number order) - Path / Name1 / Cook_time / EXP / Name 2
- call mcaidfurn %1 %3 %4 %2 %5 %MOD%
- exit /b
- ::---
- ::mcaid.bat
- @echo off
- :: Version 3.0
- :: Updated to MC 1.18.1 standardization
- :: Put a reliance on a secondary file to minimize the amount 'echo'/'write' call locations
- :: Split if Else statements that used a goto (does not work as intended inline with && )
- :: Two locations using echo command (under assumption the file is there & accessible)
- :: -- The = in the string w/o spaces used in Axis for Slabs & Pillars incorrectly passes forward
- :: -- Overrides used sparingly
- :: Slimmed down notes, cutting out redundant fixes
- :: Version 2.5
- :: Version 2.4
- :: Version 2.2
- :: version 2.1.5
- :: version 2.1
- :: version 2.0
- :: includes fixed array calls, typos, slab loot table missing lines added (was missing 3)
- :: Added command line entry of blocks.
- :: creates JSON files for 'Blockstate', 'Block', 'item'(For block), & 'loot_table'
- :: Input Block (1 texture blocks, like sand // 3 textured blocks like Sand stone{top,side,bottom}) or Pillar (two textured, & is meant fora pillar block, like basalt)
- :: textures not supplied, just named *wink* X}
- :: Intended for mods w/ an ability register blocks (forge/etc)
- :: Obviously set environmental paths correctly, & Your ModID
- :: ---
- :: batfilename blockname [a/p/s] [n]
- :: (stick to minecraft convention.. red_sand, polished_smooth_rock, etc. etc.)
- :: a - block with 1 texture (sand)
- :: p - pillar block (directional x, y, z positions)
- :: s - block with 3 textures (like sandstone, top/side/bottom)
- :: Only supports 1 base block at a time
- :: n - for it to cycle again, and prompt for a new block name & type (leave blank for it to close right after it's done)
- :: ---
- :: Simplification of json creation for block, stair, & slab variants.
- :: Set for Blocks
- :: Uses blockname_top, blockname_side, blockname_bottom for blocks with different textures
- :: Uses blockname_top, blockname_side for pillar blocks. (texture)
- goto Start
- :RE2
- if ["%3"]==[""] (
- goto End
- ) else (
- set T=%3
- )
- if %T%==n (goto Nextcycle)
- if %T%==N (goto Nextcycle)
- :End
- exit /b
- :Start
- set MOD=delbase
- set BASEFOLDER=D:\Minecraft-aidfiles\models\
- set BLOCKS=%BASEFOLDER%blockstates\
- set BLOCK=%BASEFOLDER%models\block\
- set SLAB=%BLOCK%slab\
- set STAIR=%BLOCK%stair\
- set PILLA=%BLOCK%pillar\
- set ITEM=%BASEFOLDER%models\item\
- set DROP=%BASEFOLDER%loot_tables\blocks\
- if NOT EXIST %BLOCKS% ( mkdir %BLOCKS% )
- if NOT EXIST %SLAB% ( mkdir %SLAB% )
- if NOT EXIST %STAIR% ( mkdir %STAIR% )
- if NOT EXIST %PILLA% ( mkdir %PILLA% )
- if NOT EXIST %ITEM% ( mkdir %ITEM% )
- if NOT EXIST %DROP% ( mkdir %DROP% )
- set FACE[0]=east
- set FACE[1]=north
- set FACE[2]=south
- set FACE[3]=west
- set HALF[0]=bottom
- set HALF[1]=top
- set SHAPE[0]=inner_left
- set SHAPE[1]=inner_right
- set SHAPE[2]=outer_left
- set SHAPE[3]=outer_right
- set SHAPE[4]=straight
- if NOT ["%~1"]==[""] (
- set NAM=%~1
- if NOT ["%~2"]==[""] (
- set ALLSIDED=%~2
- goto Aurgument
- )
- )
- :Nextcycle
- set /p NAM= "Base Block Name: "
- :Sid
- echo Enter ( A ) if block uses the same texture on all sides
- echo Enter ( S ) if it uses a Top, side, & bottom texture that are different
- echo Enter ( P ) for Pillars. Logs & Basalt are pillar blocks
- echo Enter ( E ) to exit.
- echo Provides Basic loot table only. (It breaks, it drops. nothing more)
- set /p ALLSIDED= "Type of block: "
- :Aurgument
- if %ALLSIDED%==A ( goto Setallsided )
- if %ALLSIDED%==a ( goto Setallsided )
- if %ALLSIDED%==S ( goto Topped )
- if %ALLSIDED%==s ( goto Topped )
- if %ALLSIDED%==P ( goto Pillar )
- if %ALLSIDED%==p ( goto Pillar )
- if %ALLSIDED%==E ( goto End )
- if %ALLSIDED%==e ( goto End )
- echo "Valid Entries are ( A, a, S, s, E, e ), or Exit (E)"
- goto Sid
- :Setallsided
- set ALLSIDED=ALL
- goto Blockstate
- :Pillar
- set ALLSIDED=PILL
- set AXIS=x
- goto Blockstate
- :Topped
- set ALLSIDED=TOPP
- :Blockstate
- if %ALLSIDED%==ALL (
- set TopSide=%NAM%
- set SideSide=%NAM%
- set BotSide=%NAM%
- )
- if %ALLSIDED%==PILL (
- set TopSide=%NAM%_top
- set SideSide=%NAM%_side
- set BotSide=%NAM%_top
- )
- if %ALLSIDED%==TOPP (
- set TopSide=%NAM%_top
- set SideSide=%NAM%_side
- set BotSide=%NAM%_bottom
- )
- ::Blockstates
- ::Base Block
- call filwrite "%BLOCKS%" "{" "%NAM%" "json" "new"
- call filwrite "%BLOCKS%" " "variants": {" "%NAM%" "json"
- if %ALLSIDED%==PILL ( goto Blockstatepill )
- call filwrite "%BLOCKS%" " "": {" "%NAM%" "json"
- call filwrite "%BLOCKS%" " "model": "%MOD%:block/%NAM%"" "%NAM%" "json"
- call filwrite "%BLOCKS%" " }" "%NAM%" "json"
- goto Axisout
- :Blockstatepill
- echo "axis=%AXIS%": { >> %BLOCKS%%NAM%.json
- if %AXIS%==y ( call filwrite "%BLOCKS%" " "model": "%MOD%:block/pillar/%NAM%"" "%NAM%" "json") else ( call filwrite "%BLOCKS%" " "model": "%MOD%:block/pillar/%NAM%"," "%NAM%" "json")
- if %AXIS%==x ( call filwrite "%BLOCKS%" " "x": 90," "%NAM%" "json")
- if %AXIS%==z ( call filwrite "%BLOCKS%" " "x": 90" "%NAM%" "json")
- if %AXIS%==x ( call filwrite "%BLOCKS%" " "y": 90" "%NAM%" "json")
- if %AXIS%==z (
- call filwrite "%BLOCKS%" " }" "%NAM%" "json"
- goto Axisout
- ) else (
- call filwrite "%BLOCKS%" " }," "%NAM%" "json"
- )
- if %AXIS%==x ( set AXIS=y) else ( set AXIS=z)
- goto Blockstatepill
- :Axisout
- call filwrite "%BLOCKS%" " }" "%NAM%" "json"
- call filwrite "%BLOCKS%" "}" "%NAM%" "json"
- :: Slab version
- call filwrite "%BLOCKS%" "{" "%NAM%_slab" "json" "new"
- set AXIS=bottom
- call filwrite "%BLOCKS%" " "variants": {" "%NAM%_slab" "json"
- :Slabvar
- echo "type=%AXIS%": { >> %BLOCKS%%NAM%_slab.json
- if %AXIS%==bottom ( call filwrite "%BLOCKS%" ""model": "%MOD%:block/slab/%NAM%_slab"" "%NAM%_slab" "json") else ( call filwrite "%BLOCKS%" ""model": "%MOD%:block/slab/%NAM%_slab_%AXIS%"" "%NAM%_slab" "json")
- if %AXIS%==top (
- call filwrite "%BLOCKS%" " }" "%NAM%_slab" "json"
- goto Slabout
- ) else (
- call filwrite "%BLOCKS%" " }," "%NAM%_slab" "json"
- )
- if %AXIS%==bottom ( set AXIS=double) else ( set AXIS=top)
- goto Slabvar
- :Slabout
- call filwrite "%BLOCKS%" " }" "%NAM%_slab" "json"
- call filwrite "%BLOCKS%" "}" "%NAM%_slab" "json"
- :: Stair blocks
- set /a OUTER=0
- set /a MID=0
- set /a INNER=0
- call filwrite "%BLOCKS%" "{" "%NAM%_stair" "json" "new"
- call filwrite "%BLOCKS%" " "variants": {" "%NAM%_stair" "json"
- goto Stairloop
- :Stairloop
- set /a YY=0
- set uv=no
- :: checking using Shape array
- :: Inner Left
- if %INNER% EQU 0 (
- if %MID% EQU 0 (
- if %OUTER% EQU 0 ( set /a YY=270 )
- if %OUTER% EQU 1 ( set /a YY=180 )
- if %OUTER% EQU 3 ( set /a YY=90 )
- ) else (
- if %OUTER% EQU 1 ( set /a YY=270 )
- if %OUTER% EQU 2 ( set /a YY=90 )
- if %OUTER% EQU 3 ( set /a YY=180 )
- )
- )
- ::Inner Right
- if %INNER% EQU 1 (
- if %MID% EQU 0 (
- if %OUTER% EQU 1 ( set /a YY=270 )
- if %OUTER% EQU 2 ( set /a YY=90 )
- if %OUTER% EQU 3 ( set /a YY=180 )
- ) else (
- if %OUTER% EQU 0 ( set /a YY=90 )
- if %OUTER% EQU 2 ( set /a YY=180 )
- if %OUTER% EQU 3 ( set /a YY=270 )
- )
- )
- ::Outer Left
- if %INNER% EQU 2 (
- if %MID% EQU 0 (
- if %OUTER% EQU 0 ( set /a YY=270 )
- if %OUTER% EQU 1 ( set /a YY=180 )
- if %OUTER% EQU 3 ( set /a YY=90 )
- ) else (
- if %OUTER% EQU 1 ( set /a YY=270 )
- if %OUTER% EQU 2 ( set /a YY=90 )
- if %OUTER% EQU 3 ( set /a YY=180 )
- )
- )
- ::Outer Right
- if %INNER% EQU 3 (
- if %MID% EQU 0 (
- if %OUTER% EQU 1 ( set /a YY=270 )
- if %OUTER% EQU 2 ( set /a YY=90 )
- if %OUTER% EQU 3 ( set /a YY=180 )
- ) else (
- if %OUTER% EQU 0 ( set /a YY=90 )
- if %OUTER% EQU 2 ( set /a YY=180 )
- if %OUTER% EQU 3 ( set /a YY=270 )
- )
- )
- if %INNER% EQU 4 (
- if %OUTER% EQU 1 ( set /a YY=270 )
- if %OUTER% EQU 2 ( set /a YY=90 )
- if %OUTER% EQU 3 ( set /a YY=180 )
- )
- :: Call Echo used to properly call the array value
- echo "facing=%%FACE[%OUTER%]%%,half=%%HALF[%MID%]%%,shape=%%SHAPE[%INNER%]%%": { >> %BLOCKS%%NAM%_stair.json
- if %MID% EQU 1 ( set uv=yes)
- if %YY% GTR 10 ( set uv=yes)
- if %INNER% LSS 2 (
- if %uv%==yes ( set line= "model": "%MOD%:block/stair/%NAM%_stair_inner",) else ( set line= "model": "%MOD%:block/stair/%NAM%_stair_inner")
- ) else (
- if %INNER% LSS 4 (
- if %uv%==yes ( set line= "model": "%MOD%:block/stair/%NAM%_stair_outer",) else ( set line= "model": "%MOD%:block/stair/%NAM%_stair_outer")
- ) else (
- if %uv%==yes ( set line= "model": "%MOD%:block/stair/%NAM%_stair",) else ( set line= "model": "%MOD%:block/stair/%NAM%_stair")
- )
- )
- call filwrite "%BLOCKS%" "%line%" "%NAM%_stair" "json"
- if %MID% EQU 1 ( call filwrite "%BLOCKS%" " "x": 180," "%NAM%_stair" "json")
- if %YY% GTR 10 ( call filwrite "%BLOCKS%" " "y": %YY%," "%NAM%_stair" "json")
- if %uv%==yes ( call filwrite "%BLOCKS%" " "uvlock": true" "%NAM%_stair" "json")
- set /a THREE=%OUTER% + %MID% + %INNER%
- if %THREE% EQU 8 (
- call filwrite "%BLOCKS%" " }" "%NAM%_stair" "json"
- call filwrite "%BLOCKS%" " }" "%NAM%_stair" "json"
- call filwrite "%BLOCKS%" "}" "%NAM%_stair" "json"
- ) else (
- call filwrite "%BLOCKS%" " }," "%NAM%_stair" "json"
- echo }, >> %BLOCKS%%NAM%_stair.json
- if %INNER% LSS 4 (
- set /a INNER=%INNER% + 1
- ) else (
- set /a INNER=0
- if %MID% EQU 0 (
- set /a MID=1
- ) else (
- set /a MID=0
- if %OUTER% LSS 3 (
- set /a OUTER=%OUTER% + 1
- ) else (
- echo Failure in logic, this error shouldn't show up,
- )
- )
- )
- goto Stairloop
- )
- ::Block models
- :: Check for Pillar first
- if %ALLSIDED%==PILL ( goto Pilstart ) else ( goto CubeStart )
- set top
- :Pilstart
- call filwrite "%PILLA%" "{" "%NAM%" "json" "new"
- call filwrite "%PILLA%" " "parent": "minecraft:block/cube_column"," "%NAM%" "json"
- call filwrite "%PILLA%" " "textures": {" "%NAM%" "json"
- call filwrite "%PILLA%" " "end": "%MOD%:block/%TopSide%"," "%NAM%" "json"
- call filwrite "%PILLA%" " "side": "%MOD%:block/%SideSide%"" "%NAM%" "json"
- call filwrite "%PILLA%" " }" "%NAM%" "json"
- call filwrite "%PILLA%" "}" "%NAM%" "json"
- goto Slabstart
- ::Cubes
- :CubeStart
- call filwrite "%BLOCK%" "{" "%NAM%" "json" "new"
- if %ALLSIDED%==ALL (
- call filwrite "%BLOCK%" " "parent": "minecraft:block/cube_all"," "%NAM%" "json"
- ) else (
- call filwrite "%BLOCK%" " "parent": "minecraft:block/cube_bottom_top"," "%NAM%" "json"
- )
- call filwrite "%BLOCK%" " "textures": {" "%NAM%" "json"
- if %ALLSIDED%==ALL (
- call filwrite "%BLOCK%" " "all": "%MOD%:block/%NAM%"" "%NAM%" "json"
- ) else (
- call filwrite "%BLOCK%" " "top": "%MOD%:block/%TopSide%"," "%NAM%" "json"
- call filwrite "%BLOCK%" " "bottom": "%MOD%:block/%BotSide%"," "%NAM%" "json"
- call filwrite "%BLOCK%" " "side": "%MOD%:block/%SideSide%"" "%NAM%" "json"
- )
- call filwrite "%BLOCK%" " }" "%NAM%" "json"
- call filwrite "%BLOCK%" "}" "%NAM%" "json"
- ::Slabs
- :Slabstart
- call :Slabfiles "{" "all" "new"
- call filwrite "%SLAB%" " "parent": "minecraft:block/slab"," "%NAM%_slab" "json"
- if %ALLSIDED%==TOPP (
- call filwrite "%SLAB%" " "parent": "minecraft:block/cube_bottom_top"," "%NAM%_slab_double" "json"
- ) else (
- call filwrite "%SLAB%" " "parent": "minecraft:block/cube_column"," "%NAM%_slab_double" "json"
- )
- call filwrite "%SLAB%" " "parent": "minecraft:block/slab_top"," "%NAM%_slab_top" "json"
- call :Slabfiles " "textures": {" all
- if %ALLSIDED%==TOPP (
- call :Slabfiles " "bottom": "%MOD%:block/%BotSide%"," all
- call :Slabfiles " "top": "%MOD%:block/%TopSide%"," all
- ) else (
- call :Slabfiles " "bottom": "%MOD%:block/%BotSide%","
- call :Slabfiles " "top": "%MOD%:block/%TopSide%","
- call filwrite "%SLAB%" " "end": "%MOD%:block/%TopSide%"," "%NAM%_slab_double" "json"
- )
- call :Slabfiles " "side": "%MOD%:block/%SideSide%"" "all"
- call :Slabfiles " }" "all"
- call :Slabfiles "}" "all"
- goto Stairs
- :Slabfiles
- set Bark=%~1
- if "%~3"=="new" (set SLFLAG="new") else (set SLFLAG="")
- call filwrite "%SLAB%" "%Bark%" "%NAM%_slab" "json" %SLFLAG%
- if "%~2"=="all" call filwrite "%SLAB%" "%Bark%" "%NAM%_slab_double" "json" %SLFLAG%
- call filwrite "%SLAB%" "%Bark%" "%NAM%_slab_top" "json" %SLFLAG%
- exit /b
- :Stairs
- set BOTT=%NAM%
- set TTOPP=%NAM%
- set TSIDE=%NAM%
- call :Stairfiles { "new"
- call :Stairfiles block
- call :Stairfiles " "textures": {"
- call :Stairfiles " "bottom": "%MOD%:block/%BotSide%","
- call :Stairfiles " "top": "%MOD%:block/%TopSide%","
- call :Stairfiles " "side": "%MOD%:block/%SideSide%""
- call :Stairfiles " }"
- call :Stairfiles }
- goto Bitem
- :Stairfiles
- set PARE=%~1
- if "%~2"=="new" (set SFLAG="new") else (set SFLAG="")
- if "%PARE%"=="block" (
- call filwrite "%STAIR%" " "parent": "minecraft:block/stairs"," "%NAM%_stair" "json"
- call filwrite "%STAIR%" " "parent": "minecraft:block/inner_stairs"," "%NAM%_stair_inner" "json"
- call filwrite "%STAIR%" " "parent": "minecraft:block/outer_stairs"," "%NAM%_stair_outer" "json"
- ) else (
- call filwrite "%STAIR%" "%PARE%" "%NAM%_stair" "json" %SFLAG%
- call filwrite "%STAIR%" "%PARE%" "%NAM%_stair_inner" "json" %SFLAG%
- call filwrite "%STAIR%" "%PARE%" "%NAM%_stair_outer" "json" %SFLAG%
- )
- exit /b
- :: Item versions of the blocks
- :Bitem
- call filwrite "%ITEM%" "{" "%NAM%" "json" "new"
- call filwrite "%ITEM%" "{" "%NAM%_slab" "json" "new"
- call filwrite "%ITEM%" "{" "%NAM%_stair" "json" "new"
- if %ALLSIDED%==PILL (
- call filwrite "%ITEM%" " "parent": "%MOD%:block/pillar/%NAM%"" "%NAM%" "json"
- ) else (
- call filwrite "%ITEM%" " "parent":"%MOD%:block/%NAM%"" "%NAM%" "json"
- )
- call filwrite "%ITEM%" " "parent": "%MOD%:block/slab/%NAM%_slab"" "%NAM%_slab" "json"
- call filwrite "%ITEM%" " "parent": "%MOD%:block/stair/%NAM%_stair"" "%NAM%_stair" "json"
- call filwrite "%ITEM%" "}" "%NAM%" "json"
- call filwrite "%ITEM%" "}" "%NAM%_slab" "json"
- call filwrite "%ITEM%" "}" "%NAM%_stair" "json"
- ::blockloot
- call normloot "%DROP%" "%MOD%:%NAM%" "%NAM%" "json" "norm"
- call normloot "%DROP%" "%MOD%:%NAM%_stair" "%NAM%_stair" "json" "norm"
- call normloot "%DROP%" "%MOD%:%NAM%_slab" "%NAM%_slab" "json" "slab"
- goto RE2
- ::---
- ::mcaidcfire.bat
- @echo off
- if ["%1"]==[""] goto End
- set oext=json
- set temname=%4
- set temnametwo=%5
- set tpath=%~1
- set ctime=%2
- set exp=%3
- set tmod=%6
- call filwrite "%tpath%" { %temnametwo% %oext% new
- call filwrite "%tpath%" " "type": "minecraft:campfire_cooking"," %temnametwo% %oext%
- call filwrite "%tpath%" " "ingredient": {" %temnametwo% %oext%
- call filwrite "%tpath%" " "item": "%tmod%:%temname%"" %temnametwo% %oext%
- call filwrite "%tpath%" " }," %temnametwo% %oext%
- call filwrite "%tpath%" " "result": "%tmod%:%temnametwo%"," %temnametwo% %oext%
- call filwrite "%tpath%" " "experience": %exp%," %temnametwo% %oext%
- call filwrite "%tpath%" " "cookingtime": %ctime%" %temnametwo% %oext%
- call filwrite "%tpath%" } %temnametwo% %oext%
- echo file %tpath%%temnametwo%.%oext%
- :End
- exit /b
- ::----
- ::mcaidfurn.bat
- @echo off
- if ["%1"]==[""] goto End
- set oext=json
- set tpath=%~1
- set ctime=%2
- set exp=%3
- set temnam=%4
- set outnam=%5
- set tmod=%6
- call filwrite "%tpath%" { %outnam% %oext% new
- call filwrite "%tpath%" " "type": "minecraft:smelting"," %outnam% %oext%
- call filwrite "%tpath%" " "ingredient": {" %outnam% %oext%
- call filwrite "%tpath%" " "item": "%tmod%:%temnam%"" %outnam% %oext%
- call filwrite "%tpath%" " }," %outnam% %oext%
- call filwrite "%tpath%" " "result": "%tmod%:%outnam%"," %outnam% %oext%
- call filwrite "%tpath%" " "experience": %exp%," %outnam% %oext%
- call filwrite "%tpath%" " "cookingtime": %ctime%" %outnam% %oext%
- call filwrite "%tpath%" } %outnam% %oext%
- echo file %tpath%%outnam%.%oext%
- :End
- exit /b
- ::----
- ::mcaidstoncut.bat
- @echo off
- if ["%1"]==[""] goto End
- set oext=json
- set tpath=%~1
- set tempora=%2
- set temporatwo=%3
- set temalt=%4
- set tmod=%5
- set fout=%temporatwo%_from_%tempora%
- call filwrite "%tpath%" { %fout% %oext% new
- call filwrite "%tpath%" " "type": "minecraft:stonecutting"," %fout% %oext%
- call filwrite "%tpath%" " "ingredient": {" %fout% %oext%
- call filwrite "%tpath%" " "item": "%tmod%:%tempora%"" %fout% %oext%
- call filwrite "%tpath%" " }," %fout% %oext%
- call filwrite "%tpath%" " "result": "%tmod%:%temporatwo%"," %fout% %oext%
- if %temalt%==slab ( call filwrite "%tpath%" " "count": 2" %fout% %oext%) else call filwrite "%tpath%" " "count": 1" %fout% %oext%
- call filwrite "%tpath%" } %fout% %oext%
- echo file %tpath%%fout%.%oext%
- :End
- exit /b
- ::----
- ::mcaidtable.bat
- @echo off
- if ["%1"]==[""] goto End
- set oext=json
- set patnum=%~1
- set cntnum=%2
- set tempora=%3
- set temporatwo=%4
- set tempath=%~5
- set tmod=%6
- call filwrite "%tempath%" { %temporatwo% %oext% new
- call filwrite "%tempath%" " "type": "minecraft:crafting_shaped"," %temporatwo% %oext%
- :: echo used over call for patterns Consistency of use (double spaces in paterns broke arguments)
- if ["%patnum%"]==["square"] echo "pattern": [ "yy","yy" ], >> %tpath%%temporatwo%.%oext%
- if ["%patnum%"]==["stair"] echo "pattern": [ "y ","yy ","yyy" ], >> %tpath%%temporatwo%.%oext%
- if ["%patnum%"]==["wall"] echo "pattern": [ "yyy","yyy" ], >> %tpath%%temporatwo%.%oext%
- if ["%patnum%"]==["slab"] echo "pattern": [ "yyy" ], >> %tpath%%temporatwo%.%oext%
- call filwrite "%tempath%" " "key": {" %temporatwo% %oext%
- call filwrite "%tempath%" " "y": {" %temporatwo% %oext%
- call filwrite "%tempath%" " "item": "%tmod%:%tempora%"" %temporatwo% %oext%
- call filwrite "%tempath%" " }" %temporatwo% %oext%
- call filwrite "%tempath%" " }," %temporatwo% %oext%
- call filwrite "%tempath%" " "result":{" %temporatwo% %oext%
- call filwrite "%tempath%" " "item": "%tmod%:%temporatwo%"," %temporatwo% %oext%
- call filwrite "%tempath%" " "count": %cntnum%" %temporatwo% %oext%
- call filwrite "%tempath%" " }" %temporatwo% %oext%
- call filwrite "%tempath%" } %temporatwo% %oext%
- echo file %tpath%%temporatwo%.%oext%
- :End
- exit /b
- ::-------
- ::normloot.bat
- GOTO Start
- :End
- exit /b
- :Start
- set tpath=%~1
- set titem=%2
- set tfilou=%~3
- set tfext=%~4
- set ttype=%~5
- call filwrite "%tpath%" "{" "%tfilou%" "%tfext%" "new"
- call filwrite "%tpath%" " "type": "minecraft:block"," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "pools": [" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "rolls": 1.0," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "bonus_rolls": 0.0," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "entries": [" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "type": "minecraft:item"," "%tfilou%" "%tfext%"
- if ["%ttype%"]==["slab"] (
- call filwrite "%tpath%" " "functions": [" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "function": "minecraft:set_count"," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "conditions": [" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "condition": "minecraft:block_state_property"," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "block": %titem%," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "properties": {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "type": "double"" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " }" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " }" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " ]," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "count": 2.0," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "add": false" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " }," "%tfilou%" "%tfext%"
- call :explosion_decay
- call filwrite "%tpath%" " ]," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "name": %titem%" "%tfilou%" "%tfext%"
- GOTO fout
- )
- ::Generic Loot_table -- Insert special ones above this
- call filwrite "%tpath%" " "name": %titem%" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " }" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " ]," "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "conditions": [" "%tfilou%" "%tfext%"
- call :explosion_decay
- call filwrite "%tpath%" " ]" "%tfilou%" "%tfext%"
- :fout
- call filwrite "%tpath%" " }" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " ]" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" "}" "%tfilou%" "%tfext%"
- GOTO End
- :explosion_decay
- call filwrite "%tpath%" " {" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " "condition": "minecraft:survives_explosion"" "%tfilou%" "%tfext%"
- call filwrite "%tpath%" " }" "%tfilou%" "%tfext%"
- exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement