mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-10 03:53:12 +01:00
Merge branch 'mc1.15/dev' into mc1.16/dev
This commit is contained in:
commit
2700832dff
293 changed files with 20655 additions and 7805 deletions
|
@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx3G
|
|||
org.gradle.daemon=false
|
||||
|
||||
# mod version info
|
||||
mod_version=0.3e
|
||||
mod_version=0.3.1
|
||||
minecraft_version=1.16.3
|
||||
forge_version=34.1.17
|
||||
|
||||
|
|
|
@ -1,55 +1,183 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down,powered=false": {
|
||||
"model": "create:block/andesite_funnel",
|
||||
"x": 180
|
||||
"extracting=false,face=floor,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_pull"
|
||||
},
|
||||
"facing=up,powered=false": {
|
||||
"model": "create:block/andesite_funnel"
|
||||
"extracting=true,face=floor,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_push"
|
||||
},
|
||||
"facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel",
|
||||
"x": 90
|
||||
"extracting=false,face=wall,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_pull"
|
||||
},
|
||||
"facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=wall,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_push"
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull"
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=north,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push"
|
||||
},
|
||||
"extracting=false,face=floor,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_pull",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=wall,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_pull",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=wall,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=south,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=floor,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_pull",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=wall,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_pull",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=wall,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=west,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=floor,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_pull",
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered",
|
||||
"x": 180
|
||||
"extracting=true,face=floor,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_floor_push",
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered"
|
||||
"extracting=false,face=wall,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_pull",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered",
|
||||
"x": 90
|
||||
"extracting=true,face=wall,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_wall_push",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=false,face=ceiling,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=east,powered=false": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=floor,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_pull_powered"
|
||||
},
|
||||
"extracting=true,face=floor,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_push_powered"
|
||||
},
|
||||
"extracting=false,face=wall,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_pull_powered"
|
||||
},
|
||||
"extracting=true,face=wall,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_push_powered"
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull_powered"
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=north,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push_powered"
|
||||
},
|
||||
"extracting=false,face=floor,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=wall,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=wall,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=south,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=floor,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=wall,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=wall,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=west,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=floor,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=floor,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_floor_push_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=wall,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=wall,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_wall_push_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=east,powered=true": {
|
||||
"model": "create:block/andesite_funnel_ceiling_push_powered",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,55 +1,183 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down,powered=false": {
|
||||
"model": "create:block/brass_funnel",
|
||||
"x": 180
|
||||
"extracting=false,face=floor,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_pull"
|
||||
},
|
||||
"facing=up,powered=false": {
|
||||
"model": "create:block/brass_funnel"
|
||||
"extracting=true,face=floor,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_push"
|
||||
},
|
||||
"facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel",
|
||||
"x": 90
|
||||
"extracting=false,face=wall,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_pull"
|
||||
},
|
||||
"facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=wall,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_push"
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull"
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=north,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_push"
|
||||
},
|
||||
"extracting=false,face=floor,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_pull",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=wall,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_pull",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=wall,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=south,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_push",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=floor,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_pull",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=wall,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_pull",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=wall,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=west,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_push",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=floor,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_pull",
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered",
|
||||
"x": 180
|
||||
"extracting=true,face=floor,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_floor_push",
|
||||
"y": 90
|
||||
},
|
||||
"facing=up,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered"
|
||||
"extracting=false,face=wall,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_pull",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered",
|
||||
"x": 90
|
||||
"extracting=true,face=wall,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_wall_push",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=false,face=ceiling,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=east,powered=false": {
|
||||
"model": "create:block/brass_funnel_ceiling_push",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=floor,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_pull_powered"
|
||||
},
|
||||
"extracting=true,face=floor,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_push_powered"
|
||||
},
|
||||
"extracting=false,face=wall,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_pull_powered"
|
||||
},
|
||||
"extracting=true,face=wall,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_push_powered"
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull_powered"
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=north,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_push_powered"
|
||||
},
|
||||
"extracting=false,face=floor,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=wall,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=wall,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=south,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_push_powered",
|
||||
"y": 180
|
||||
},
|
||||
"extracting=false,face=floor,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_powered",
|
||||
"x": 90,
|
||||
"extracting=true,face=floor,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=wall,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=wall,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=west,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_push_powered",
|
||||
"y": 270
|
||||
},
|
||||
"extracting=false,face=floor,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=floor,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_floor_push_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=wall,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=wall,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_wall_push_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=false,face=ceiling,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_pull_powered",
|
||||
"y": 90
|
||||
},
|
||||
"extracting=true,face=ceiling,facing=east,powered=true": {
|
||||
"model": "create:block/brass_funnel_ceiling_push_powered",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis_along_first=false,facing=down": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"x": 270,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,facing=down": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"x": 270
|
||||
},
|
||||
"axis_along_first=false,facing=up": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,facing=up": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"x": 90
|
||||
},
|
||||
"axis_along_first=false,facing=north": {
|
||||
"model": "create:block/gantry_pinion/vertical",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=true,facing=north": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"y": 180
|
||||
},
|
||||
"axis_along_first=false,facing=south": {
|
||||
"model": "create:block/gantry_pinion/vertical"
|
||||
},
|
||||
"axis_along_first=true,facing=south": {
|
||||
"model": "create:block/gantry_pinion/horizontal"
|
||||
},
|
||||
"axis_along_first=false,facing=west": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=true,facing=west": {
|
||||
"model": "create:block/gantry_pinion/vertical",
|
||||
"y": 90
|
||||
},
|
||||
"axis_along_first=false,facing=east": {
|
||||
"model": "create:block/gantry_pinion/horizontal",
|
||||
"y": 270
|
||||
},
|
||||
"axis_along_first=true,facing=east": {
|
||||
"model": "create:block/gantry_pinion/vertical",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,212 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=down,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft_start_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_start"
|
||||
},
|
||||
"facing=north,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft_start_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_start",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft_start_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=start,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_start",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft_middle_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_middle"
|
||||
},
|
||||
"facing=north,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft_middle_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_middle",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft_middle_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=middle,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_middle",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft_end_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_end"
|
||||
},
|
||||
"facing=north,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft_end_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_end",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft_end_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=end,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_end",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft_single_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_single"
|
||||
},
|
||||
"facing=north,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft_single_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_single",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft_single_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=single,powered=false": {
|
||||
"model": "create:block/gantry_shaft/block_single",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered"
|
||||
},
|
||||
"facing=north,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=start,powered=true": {
|
||||
"model": "create:block/gantry_shaft_start_powered",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered"
|
||||
},
|
||||
"facing=north,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=middle,powered=true": {
|
||||
"model": "create:block/gantry_shaft_middle_powered",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered"
|
||||
},
|
||||
"facing=north,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=end,powered=true": {
|
||||
"model": "create:block/gantry_shaft_end_powered",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"facing=down,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered_flipped",
|
||||
"x": 180
|
||||
},
|
||||
"facing=up,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered"
|
||||
},
|
||||
"facing=north,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered_flipped",
|
||||
"x": 90
|
||||
},
|
||||
"facing=south,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered_flipped",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,part=single,powered=true": {
|
||||
"model": "create:block/gantry_shaft_single_powered",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
|
@ -89,8 +89,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -99,8 +99,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
|
@ -109,8 +109,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z_sticky",
|
||||
|
@ -119,8 +119,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -129,8 +129,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
|
@ -139,8 +139,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z",
|
||||
|
@ -207,8 +207,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -217,8 +217,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
|
@ -227,8 +227,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z_sticky"
|
||||
|
@ -236,8 +236,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -246,8 +246,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
|
@ -256,8 +256,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z"
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"variants": {
|
||||
"powered=false": {
|
||||
"model": "create:block/smart_chute/block"
|
||||
},
|
||||
"powered=true": {
|
||||
"model": "create:block/smart_chute/block_powered"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -160,6 +160,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141",
|
||||
"block.create.gabbro_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141",
|
||||
"block.create.gabbro_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 o\u0279qq\u0250\u2141",
|
||||
"block.create.gantry_pinion": "uo\u0131u\u0131\u0500 \u028E\u0279\u0287u\u0250\u2141",
|
||||
"block.create.gantry_shaft": "\u0287\u025F\u0250\u0265S \u028E\u0279\u0287u\u0250\u2141",
|
||||
"block.create.gearbox": "xoq\u0279\u0250\u01DD\u2141",
|
||||
"block.create.gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141",
|
||||
"block.create.glass_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 ss\u0250\u05DF\u2141",
|
||||
|
@ -366,6 +368,7 @@
|
|||
"block.create.sequenced_gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141 p\u01DD\u0254u\u01DDnb\u01DDS",
|
||||
"block.create.shadow_steel_casing": "bu\u0131s\u0250\u0186 \u028Dop\u0250\u0265S",
|
||||
"block.create.shaft": "\u0287\u025F\u0250\u0265S",
|
||||
"block.create.smart_chute": "\u01DD\u0287n\u0265\u0186 \u0287\u0279\u0250\u026FS",
|
||||
"block.create.smart_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 \u0287\u0279\u0250\u026FS",
|
||||
"block.create.speedometer": "\u0279\u01DD\u0287\u01DD\u026Fop\u01DD\u01DDdS",
|
||||
"block.create.spout": "\u0287nodS",
|
||||
|
@ -403,6 +406,7 @@
|
|||
"block.create.zinc_block": "\u029E\u0254o\u05DF\u15FA \u0254u\u0131Z",
|
||||
"block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z",
|
||||
"entity.create.contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186",
|
||||
"entity.create.gantry_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0287u\u0250\u2141",
|
||||
"entity.create.seat": "\u0287\u0250\u01DDS",
|
||||
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
|
||||
"entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",
|
||||
|
|
|
@ -163,6 +163,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "Gabbro Cobblestone Stairs",
|
||||
"block.create.gabbro_cobblestone_wall": "Gabbro Cobblestone Wall",
|
||||
"block.create.gabbro_pillar": "Gabbro Pillar",
|
||||
"block.create.gantry_pinion": "Gantry Pinion",
|
||||
"block.create.gantry_shaft": "Gantry Shaft",
|
||||
"block.create.gearbox": "Gearbox",
|
||||
"block.create.gearshift": "Gearshift",
|
||||
"block.create.glass_fluid_pipe": "Glass Fluid Pipe",
|
||||
|
@ -369,6 +371,7 @@
|
|||
"block.create.sequenced_gearshift": "Sequenced Gearshift",
|
||||
"block.create.shadow_steel_casing": "Shadow Casing",
|
||||
"block.create.shaft": "Shaft",
|
||||
"block.create.smart_chute": "Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "Smart Fluid Pipe",
|
||||
"block.create.speedometer": "Speedometer",
|
||||
"block.create.spout": "Spout",
|
||||
|
@ -407,6 +410,7 @@
|
|||
"block.create.zinc_ore": "Zinc Ore",
|
||||
|
||||
"entity.create.contraption": "Contraption",
|
||||
"entity.create.gantry_contraption": "Gantry Contraption",
|
||||
"entity.create.seat": "Seat",
|
||||
"entity.create.stationary_contraption": "Stationary Contraption",
|
||||
"entity.create.super_glue": "Super Glue",
|
||||
|
@ -1085,6 +1089,7 @@
|
|||
"create.tooltip.chute.fans_push_down": "Fans push from Above",
|
||||
"create.tooltip.chute.fans_pull_up": "Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "Bottomless Supply",
|
||||
"create.hint.hose_pulley": "The targeted body of fluid is considered infinite.",
|
||||
|
|
|
@ -1,124 +1,124 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1213",
|
||||
"_": "Missing Localizations: 1099",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
"block.create.acacia_window": "UNLOCALIZED: Acacia Window",
|
||||
"block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane",
|
||||
"block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift",
|
||||
"block.create.adjustable_crate": "adjustable_crate",
|
||||
"block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater",
|
||||
"block.create.adjustable_repeater": "Verzögernder Verstärker",
|
||||
"block.create.analog_lever": "UNLOCALIZED: Analog Lever",
|
||||
"block.create.andesite_belt_funnel": "UNLOCALIZED: Andesite Belt Funnel",
|
||||
"block.create.acacia_window": "Akazienfenster",
|
||||
"block.create.acacia_window_pane": "Akazienfensterscheibe",
|
||||
"block.create.adjustable_chain_gearshift": "Verstellbares Kettengetriebe",
|
||||
"block.create.adjustable_crate": "Verstellbare Kiste",
|
||||
"block.create.adjustable_pulse_repeater": "Verstellbarer Pulsverstärker",
|
||||
"block.create.adjustable_repeater": "Verstellbarer Verstärker",
|
||||
"block.create.analog_lever": "Analoger Schalter",
|
||||
"block.create.andesite_belt_funnel": "Riementrichter aus Andesit",
|
||||
"block.create.andesite_bricks": "Andesitziegel",
|
||||
"block.create.andesite_bricks_slab": "UNLOCALIZED: Andesite Bricks Slab",
|
||||
"block.create.andesite_bricks_stairs": "UNLOCALIZED: Andesite Bricks Stairs",
|
||||
"block.create.andesite_bricks_wall": "UNLOCALIZED: Andesite Bricks Wall",
|
||||
"block.create.andesite_casing": "UNLOCALIZED: Andesite Casing",
|
||||
"block.create.andesite_cobblestone": "UNLOCALIZED: Andesite Cobblestone",
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
"block.create.basin": "UNLOCALIZED: Basin",
|
||||
"block.create.andesite_bricks_slab": "Andesitziegelstufe",
|
||||
"block.create.andesite_bricks_stairs": "Andesitziegeltreppe",
|
||||
"block.create.andesite_bricks_wall": "Andesitziegelmauer",
|
||||
"block.create.andesite_casing": "Andesitrahmen",
|
||||
"block.create.andesite_cobblestone": "Andesitbruchstein",
|
||||
"block.create.andesite_cobblestone_slab": "Andesitbruchsteinstufe",
|
||||
"block.create.andesite_cobblestone_stairs": "Andesitbruchsteintreppe",
|
||||
"block.create.andesite_cobblestone_wall": "Andesitbruchsteinmauer",
|
||||
"block.create.andesite_encased_shaft": "Andesitummantelte Welle",
|
||||
"block.create.andesite_funnel": "Andesit Trichter",
|
||||
"block.create.andesite_pillar": "Andesitsäule",
|
||||
"block.create.andesite_tunnel": "Andesittunnel",
|
||||
"block.create.basin": "Behälter",
|
||||
"block.create.belt": "Mechanischer Riemen",
|
||||
"block.create.birch_window": "UNLOCALIZED: Birch Window",
|
||||
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
|
||||
"block.create.black_sail": "UNLOCALIZED: Black Sail",
|
||||
"block.create.black_seat": "UNLOCALIZED: Black Seat",
|
||||
"block.create.black_valve_handle": "UNLOCALIZED: Black Valve Handle",
|
||||
"block.create.blaze_burner": "UNLOCALIZED: Blaze Burner",
|
||||
"block.create.blue_sail": "UNLOCALIZED: Blue Sail",
|
||||
"block.create.blue_seat": "UNLOCALIZED: Blue Seat",
|
||||
"block.create.blue_valve_handle": "UNLOCALIZED: Blue Valve Handle",
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
"block.create.brown_seat": "UNLOCALIZED: Brown Seat",
|
||||
"block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle",
|
||||
"block.create.cart_assembler": "UNLOCALIZED: Cart Assembler",
|
||||
"block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria",
|
||||
"block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite",
|
||||
"block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro",
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
|
||||
"block.create.black_sail": "Schwarzes Segel",
|
||||
"block.create.black_seat": "Schwarzer Sitz",
|
||||
"block.create.black_valve_handle": "Schwarzer Ventilgriff",
|
||||
"block.create.blaze_burner": "Lohenbrenner",
|
||||
"block.create.blue_sail": "Blaues Segel",
|
||||
"block.create.blue_seat": "Blauer Sitz",
|
||||
"block.create.blue_valve_handle": "Blauer Ventilgriff",
|
||||
"block.create.brass_belt_funnel": "Riementrichter aus Messing",
|
||||
"block.create.brass_block": "Messing Block",
|
||||
"block.create.brass_casing": "Messingrahmen",
|
||||
"block.create.brass_encased_shaft": "Messingummantelte Welle",
|
||||
"block.create.brass_funnel": "Messingtrichter",
|
||||
"block.create.brass_tunnel": "Messingtunnel",
|
||||
"block.create.brown_sail": "Braunes Segel",
|
||||
"block.create.brown_seat": "Brauner Sitz",
|
||||
"block.create.brown_valve_handle": "Brauner Ventilgriff",
|
||||
"block.create.cart_assembler": "Lohrenmonteur",
|
||||
"block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke",
|
||||
"block.create.chiseled_dolomite": "Gemeißeltes Dolomit",
|
||||
"block.create.chiseled_gabbro": "Gemeißeltes Gabbro",
|
||||
"block.create.chiseled_limestone": "Gemeißelter Kalkstein",
|
||||
"block.create.chiseled_scoria": "Gemeißelte Schlacke",
|
||||
"block.create.chiseled_weathered_limestone": "Gemeißelter verwitterter Kalkstein",
|
||||
"block.create.chocolate": "Schokolade",
|
||||
"block.create.chute": "Rinne",
|
||||
"block.create.clockwork_bearing": "Uhrwerk-Lager",
|
||||
"block.create.clutch": "Kupplung",
|
||||
"block.create.cogwheel": "Zahnrad",
|
||||
"block.create.content_observer": "UNLOCALIZED: Content Observer",
|
||||
"block.create.controller_rail": "UNLOCALIZED: Controller Rail",
|
||||
"block.create.copper_block": "UNLOCALIZED: Copper Block",
|
||||
"block.create.copper_casing": "UNLOCALIZED: Copper Casing",
|
||||
"block.create.copper_ore": "UNLOCALIZED: Copper Ore",
|
||||
"block.create.copper_shingles": "UNLOCALIZED: Copper Shingles",
|
||||
"block.create.copper_tiles": "UNLOCALIZED: Copper Tiles",
|
||||
"block.create.copper_valve_handle": "UNLOCALIZED: Copper Valve Handle",
|
||||
"block.create.creative_crate": "Bauplankanonenmacher",
|
||||
"block.create.creative_fluid_tank": "UNLOCALIZED: Creative Fluid Tank",
|
||||
"block.create.creative_motor": "UNLOCALIZED: Creative Motor",
|
||||
"block.create.content_observer": "Inhalts Beobachter",
|
||||
"block.create.controller_rail": "Steureungsschiene",
|
||||
"block.create.copper_block": "Kupfer Block",
|
||||
"block.create.copper_casing": "Kupferrahmen",
|
||||
"block.create.copper_ore": "Kupfererz",
|
||||
"block.create.copper_shingles": "Kupferschindeln",
|
||||
"block.create.copper_tiles": "Kupferfliesen",
|
||||
"block.create.copper_valve_handle": "Kupfer Ventilgriff",
|
||||
"block.create.creative_crate": "Kreative anpassbare Kiste",
|
||||
"block.create.creative_fluid_tank": "Kreativer Flüssigkeitstank",
|
||||
"block.create.creative_motor": "Kreativer Motor",
|
||||
"block.create.crimson_window": "UNLOCALIZED: Crimson Window",
|
||||
"block.create.crimson_window_pane": "UNLOCALIZED: Crimson Window Pane",
|
||||
"block.create.crushing_wheel": "Mahlwerkrad",
|
||||
"block.create.crushing_wheel_controller": "UNLOCALIZED: Crushing Wheel Controller",
|
||||
"block.create.cuckoo_clock": "UNLOCALIZED: Cuckoo Clock",
|
||||
"block.create.cyan_sail": "UNLOCALIZED: Cyan Sail",
|
||||
"block.create.cyan_seat": "UNLOCALIZED: Cyan Seat",
|
||||
"block.create.cyan_valve_handle": "UNLOCALIZED: Cyan Valve Handle",
|
||||
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
|
||||
"block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane",
|
||||
"block.create.dark_scoria": "UNLOCALIZED: Dark Scoria",
|
||||
"block.create.dark_scoria_bricks": "UNLOCALIZED: Dark Scoria Bricks",
|
||||
"block.create.dark_scoria_bricks_slab": "UNLOCALIZED: Dark Scoria Bricks Slab",
|
||||
"block.create.dark_scoria_bricks_stairs": "UNLOCALIZED: Dark Scoria Bricks Stairs",
|
||||
"block.create.dark_scoria_bricks_wall": "UNLOCALIZED: Dark Scoria Bricks Wall",
|
||||
"block.create.dark_scoria_cobblestone": "UNLOCALIZED: Dark Scoria Cobblestone",
|
||||
"block.create.dark_scoria_cobblestone_slab": "UNLOCALIZED: Dark Scoria Cobblestone Slab",
|
||||
"block.create.dark_scoria_cobblestone_stairs": "UNLOCALIZED: Dark Scoria Cobblestone Stairs",
|
||||
"block.create.dark_scoria_cobblestone_wall": "UNLOCALIZED: Dark Scoria Cobblestone Wall",
|
||||
"block.create.dark_scoria_pillar": "UNLOCALIZED: Dark Scoria Pillar",
|
||||
"block.create.deployer": "UNLOCALIZED: Deployer",
|
||||
"block.create.depot": "UNLOCALIZED: Depot",
|
||||
"block.create.crushing_wheel_controller": "Mahlwerkrad Steurung",
|
||||
"block.create.cuckoo_clock": "Kuckucksuhr",
|
||||
"block.create.cyan_sail": "Türkises Segel",
|
||||
"block.create.cyan_seat": "Türkiser Sitz",
|
||||
"block.create.cyan_valve_handle": "Türkiser Ventilgriff",
|
||||
"block.create.dark_oak_window": "Schwarzeichenholzfenster",
|
||||
"block.create.dark_oak_window_pane": "Schwarzeichenholzfensterscheibe",
|
||||
"block.create.dark_scoria": "Dunkle Schlacke",
|
||||
"block.create.dark_scoria_bricks": "Dunkle Schlackenziegel",
|
||||
"block.create.dark_scoria_bricks_slab": "Dunkle Schlackenziegelstufe",
|
||||
"block.create.dark_scoria_bricks_stairs": "Dunkle Schlackenziegeltreppe",
|
||||
"block.create.dark_scoria_bricks_wall": "Dunkle Schlackenziegelmauer",
|
||||
"block.create.dark_scoria_cobblestone": "Dunkler Schlackebruchstein",
|
||||
"block.create.dark_scoria_cobblestone_slab": "Dunkle Schlackebruchsteinstufe",
|
||||
"block.create.dark_scoria_cobblestone_stairs": "Dunkle Schlackebruchsteintreppe",
|
||||
"block.create.dark_scoria_cobblestone_wall": "Dunkle Schlackebruchsteinmauer",
|
||||
"block.create.dark_scoria_pillar": "Dunkle Schlackesäule",
|
||||
"block.create.deployer": "Einsatzgerät",
|
||||
"block.create.depot": "Depot",
|
||||
"block.create.diorite_bricks": "Dioritziegel",
|
||||
"block.create.diorite_bricks_slab": "UNLOCALIZED: Diorite Bricks Slab",
|
||||
"block.create.diorite_bricks_stairs": "UNLOCALIZED: Diorite Bricks Stairs",
|
||||
"block.create.diorite_bricks_wall": "UNLOCALIZED: Diorite Bricks Wall",
|
||||
"block.create.diorite_cobblestone": "UNLOCALIZED: Diorite Cobblestone",
|
||||
"block.create.diorite_cobblestone_slab": "UNLOCALIZED: Diorite Cobblestone Slab",
|
||||
"block.create.diorite_cobblestone_stairs": "UNLOCALIZED: Diorite Cobblestone Stairs",
|
||||
"block.create.diorite_cobblestone_wall": "UNLOCALIZED: Diorite Cobblestone Wall",
|
||||
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
||||
"block.create.diorite_bricks_slab": "Dioritziegelstufe",
|
||||
"block.create.diorite_bricks_stairs": "Dioritziegeltreppe",
|
||||
"block.create.diorite_bricks_wall": "Dioritziegelmauer",
|
||||
"block.create.diorite_cobblestone": "Dioritbruchstein",
|
||||
"block.create.diorite_cobblestone_slab": "Dioritbruchsteinstufe",
|
||||
"block.create.diorite_cobblestone_stairs": "Dioritbruchsteintreppe",
|
||||
"block.create.diorite_cobblestone_wall": "Dioritbruchsteinmauer",
|
||||
"block.create.diorite_pillar": "Dioritsäule",
|
||||
"block.create.dolomite": "Dolomit",
|
||||
"block.create.dolomite_bricks": "Dolomitziegel",
|
||||
"block.create.dolomite_bricks_slab": "Dolomitziegelstufe",
|
||||
"block.create.dolomite_bricks_stairs": "Dolomitziegeltreppe",
|
||||
"block.create.dolomite_bricks_wall": "Dolomitziegelmauer",
|
||||
"block.create.dolomite_cobblestone": "UNLOCALIZED: Dolomite Cobblestone",
|
||||
"block.create.dolomite_cobblestone_slab": "UNLOCALIZED: Dolomite Cobblestone Slab",
|
||||
"block.create.dolomite_cobblestone_stairs": "UNLOCALIZED: Dolomite Cobblestone Stairs",
|
||||
"block.create.dolomite_cobblestone_wall": "UNLOCALIZED: Dolomite Cobblestone Wall",
|
||||
"block.create.dolomite_cobblestone": "Dolomitbruchstein",
|
||||
"block.create.dolomite_cobblestone_slab": "Dolomitbruchsteinstufe",
|
||||
"block.create.dolomite_cobblestone_stairs": "Dolomitbruchsteintreppe",
|
||||
"block.create.dolomite_cobblestone_wall": "Dolomitbruchsteinmauer",
|
||||
"block.create.dolomite_pillar": "Dolomitsäule",
|
||||
"block.create.encased_chain_drive": "UNLOCALIZED: Encased Chain Drive",
|
||||
"block.create.encased_fan": "Eingeschlossener Propeller",
|
||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||
"block.create.fancy_andesite_bricks_wall": "UNLOCALIZED: Fancy Andesite Bricks Wall",
|
||||
"block.create.fancy_dark_scoria_bricks": "UNLOCALIZED: Fancy Dark Scoria Bricks",
|
||||
"block.create.fancy_dark_scoria_bricks_slab": "UNLOCALIZED: Fancy Dark Scoria Bricks Slab",
|
||||
"block.create.fancy_dark_scoria_bricks_stairs": "UNLOCALIZED: Fancy Dark Scoria Bricks Stairs",
|
||||
"block.create.fancy_dark_scoria_bricks_wall": "UNLOCALIZED: Fancy Dark Scoria Bricks Wall",
|
||||
"block.create.encased_chain_drive": "Ummantelter Kettenriemen",
|
||||
"block.create.encased_fan": "Ummantelter Lüfter",
|
||||
"block.create.encased_fluid_pipe": "Ummanteltes Rohr",
|
||||
"block.create.fancy_andesite_bricks": "Schicke Andesitziegel",
|
||||
"block.create.fancy_andesite_bricks_slab": "Schicke Andesitziegelstufe",
|
||||
"block.create.fancy_andesite_bricks_stairs": "Schicke Andesitziegeltreppe",
|
||||
"block.create.fancy_andesite_bricks_wall": "Schicke Andesitziegelmauer",
|
||||
"block.create.fancy_dark_scoria_bricks": "Schicke dunkle Schlackenziegel",
|
||||
"block.create.fancy_dark_scoria_bricks_slab": "Schicke dunkle Schlackenziegelstufe",
|
||||
"block.create.fancy_dark_scoria_bricks_stairs": "Schicke dunkle Schlackenziegeltreppe",
|
||||
"block.create.fancy_dark_scoria_bricks_wall": "Schicke dunkle Schlackenziegelmauer",
|
||||
"block.create.fancy_diorite_bricks": "UNLOCALIZED: Fancy Diorite Bricks",
|
||||
"block.create.fancy_diorite_bricks_slab": "UNLOCALIZED: Fancy Diorite Bricks Slab",
|
||||
"block.create.fancy_diorite_bricks_stairs": "UNLOCALIZED: Fancy Diorite Bricks Stairs",
|
||||
|
@ -147,16 +147,16 @@
|
|||
"block.create.fancy_weathered_limestone_bricks_slab": "UNLOCALIZED: Fancy Weathered Limestone Bricks Slab",
|
||||
"block.create.fancy_weathered_limestone_bricks_stairs": "UNLOCALIZED: Fancy Weathered Limestone Bricks Stairs",
|
||||
"block.create.fancy_weathered_limestone_bricks_wall": "UNLOCALIZED: Fancy Weathered Limestone Bricks Wall",
|
||||
"block.create.fluid_pipe": "UNLOCALIZED: Fluid Pipe",
|
||||
"block.create.fluid_tank": "UNLOCALIZED: Fluid Tank",
|
||||
"block.create.fluid_valve": "UNLOCALIZED: Fluid Valve",
|
||||
"block.create.flywheel": "UNLOCALIZED: Flywheel",
|
||||
"block.create.framed_glass": "UNLOCALIZED: Framed Glass",
|
||||
"block.create.framed_glass_pane": "UNLOCALIZED: Framed Glass Pane",
|
||||
"block.create.fluid_pipe": "Wasserrohr",
|
||||
"block.create.fluid_tank": "Wassertank",
|
||||
"block.create.fluid_valve": "Flüssigkeitsventil",
|
||||
"block.create.flywheel": "Schwungrad",
|
||||
"block.create.framed_glass": "Gerahmtes Glas",
|
||||
"block.create.framed_glass_pane": "Gerahmte Glasscheibe",
|
||||
"block.create.furnace_engine": "UNLOCALIZED: Furnace Engine",
|
||||
"block.create.gabbro": "Gabbro",
|
||||
"block.create.gabbro_bricks": "Gabbroziegel",
|
||||
"block.create.gabbro_bricks_slab": "UNLOCALIZED: Gabbro Bricks Slab",
|
||||
"block.create.gabbro_bricks_slab": "Gabbroziegelstufe",
|
||||
"block.create.gabbro_bricks_stairs": "Gabbroziegeltreppe",
|
||||
"block.create.gabbro_bricks_wall": "Gabbroziegelmauer",
|
||||
"block.create.gabbro_cobblestone": "UNLOCALIZED: Gabbro Cobblestone",
|
||||
|
@ -164,9 +164,11 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
|
||||
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
|
||||
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
|
||||
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
|
||||
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
|
||||
"block.create.gearbox": "Getriebe",
|
||||
"block.create.gearshift": "Gangschaltung",
|
||||
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
|
||||
"block.create.glass_fluid_pipe": "Glaswasserrohr",
|
||||
"block.create.granite_bricks": "Granitziegel",
|
||||
"block.create.granite_bricks_slab": "UNLOCALIZED: Granite Bricks Slab",
|
||||
"block.create.granite_bricks_stairs": "UNLOCALIZED: Granite Bricks Stairs",
|
||||
|
@ -370,6 +372,7 @@
|
|||
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
|
||||
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
|
||||
"block.create.shaft": "Welle",
|
||||
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
|
||||
"block.create.speedometer": "UNLOCALIZED: Speedometer",
|
||||
"block.create.spout": "UNLOCALIZED: Spout",
|
||||
|
@ -408,6 +411,7 @@
|
|||
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
|
||||
|
||||
"entity.create.contraption": "UNLOCALIZED: Contraption",
|
||||
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
|
||||
"entity.create.seat": "UNLOCALIZED: Seat",
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
@ -483,25 +487,25 @@
|
|||
"item.create.wand_of_symmetry": "Symmetriestab",
|
||||
"item.create.wheat_flour": "UNLOCALIZED: Wheat Flour",
|
||||
"item.create.whisk": "UNLOCALIZED: Whisk",
|
||||
"item.create.wrench": "UNLOCALIZED: Wrench",
|
||||
"item.create.zinc_ingot": "UNLOCALIZED: Zinc Ingot",
|
||||
"item.create.zinc_nugget": "UNLOCALIZED: Zinc Nugget",
|
||||
"item.create.wrench": "Schraubenschlüssel",
|
||||
"item.create.zinc_ingot": "Zinkbarren",
|
||||
"item.create.zinc_nugget": "Zinkklumpen",
|
||||
|
||||
|
||||
"_": "->------------------------] Advancements [------------------------<-",
|
||||
|
||||
"advancement.create.root": "UNLOCALIZED: Welcome to Create",
|
||||
"advancement.create.root.desc": "UNLOCALIZED: It's time to start building some amazing Contraptions!",
|
||||
"advancement.create.andesite_alloy": "UNLOCALIZED: Alliterations Aplenty",
|
||||
"advancement.create.andesite_alloy.desc": "UNLOCALIZED: Create's materials have weird names, Andesite Alloy is one of them.",
|
||||
"advancement.create.its_alive": "UNLOCALIZED: It's Alive!",
|
||||
"advancement.create.its_alive.desc": "UNLOCALIZED: Watch your first kinetic component spin.",
|
||||
"advancement.create.shifting_gears": "UNLOCALIZED: Shifting Gears",
|
||||
"advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.",
|
||||
"advancement.create.overstressed": "UNLOCALIZED: Overstressed",
|
||||
"advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.",
|
||||
"advancement.create.belt": "UNLOCALIZED: Kelp Drive",
|
||||
"advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.",
|
||||
"advancement.create.root": "Willkommen zu Create",
|
||||
"advancement.create.root.desc": "Es ist Zeit mit dem Bauen von tollen Apparaten zu starten!",
|
||||
"advancement.create.andesite_alloy": "Alliterationen in Massen",
|
||||
"advancement.create.andesite_alloy.desc": "Create's Materialien haben verrückte Namen, Eisenlegierung ist im Deutschen leider keine.",
|
||||
"advancement.create.its_alive": "Es ist am leben!",
|
||||
"advancement.create.its_alive.desc": "Gucke deinem erstem beweglichen Teil beim drehen zu.",
|
||||
"advancement.create.shifting_gears": "Wechsel deine Gänge",
|
||||
"advancement.create.shifting_gears.desc": "Verbinde ein großes Zahnrad mit einem kleinem, um die Geschwindigkeit deiner Apparate zu verändern.",
|
||||
"advancement.create.overstressed": "Überfordert",
|
||||
"advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.",
|
||||
"advancement.create.belt": "Befördere es alles",
|
||||
"advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen",
|
||||
"advancement.create.tunnel": "UNLOCALIZED: Take cover!",
|
||||
"advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.",
|
||||
"advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer",
|
||||
|
@ -1086,6 +1090,7 @@
|
|||
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
|
||||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
|
||||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
|
|
1792
src/generated/resources/assets/create/lang/unfinished/es_mx.json
Normal file
1792
src/generated/resources/assets/create/lang/unfinished/es_mx.json
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 54",
|
||||
"_": "Missing Localizations: 59",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -164,6 +164,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "반려암 조약돌 계단",
|
||||
"block.create.gabbro_cobblestone_wall": "반려암 조약돌 담장",
|
||||
"block.create.gabbro_pillar": "반려암 기둥",
|
||||
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
|
||||
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
|
||||
"block.create.gearbox": "기어박스",
|
||||
"block.create.gearshift": "기어쉬프트",
|
||||
"block.create.glass_fluid_pipe": "액체 파이프",
|
||||
|
@ -370,6 +372,7 @@
|
|||
"block.create.sequenced_gearshift": "순서 기어쉬프트",
|
||||
"block.create.shadow_steel_casing": "그림자 케이스",
|
||||
"block.create.shaft": "축",
|
||||
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "스마트 액체 파이프",
|
||||
"block.create.speedometer": "속도 계측기",
|
||||
"block.create.spout": "수도꼭지",
|
||||
|
@ -408,6 +411,7 @@
|
|||
"block.create.zinc_ore": "아연 광석",
|
||||
|
||||
"entity.create.contraption": "장치",
|
||||
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
|
||||
"entity.create.seat": "좌석",
|
||||
"entity.create.stationary_contraption": "고정된 장치",
|
||||
"entity.create.super_glue": "강력 접착제",
|
||||
|
@ -1086,6 +1090,7 @@
|
|||
"create.tooltip.chute.fans_push_down": "선풍기가 위에서 밈",
|
||||
"create.tooltip.chute.fans_pull_up": "선풍기가 위에서 당김",
|
||||
"create.tooltip.chute.fans_pull_down": "선풍기가 아래에서 당김",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
|
||||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1154",
|
||||
"_": "Missing Localizations: 1159",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -164,6 +164,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
|
||||
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
|
||||
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
|
||||
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
|
||||
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
|
||||
"block.create.gearbox": "Versnellingsbak",
|
||||
"block.create.gearshift": "Versnellingspook",
|
||||
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
|
||||
|
@ -370,6 +372,7 @@
|
|||
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
|
||||
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
|
||||
"block.create.shaft": "Drijfas",
|
||||
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
|
||||
"block.create.speedometer": "Snelheidsmeter",
|
||||
"block.create.spout": "UNLOCALIZED: Spout",
|
||||
|
@ -408,6 +411,7 @@
|
|||
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
|
||||
|
||||
"entity.create.contraption": "UNLOCALIZED: Contraption",
|
||||
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
|
||||
"entity.create.seat": "UNLOCALIZED: Seat",
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
@ -1086,6 +1090,7 @@
|
|||
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
|
||||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
|
||||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1220",
|
||||
"_": "Missing Localizations: 1225",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -164,6 +164,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
|
||||
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
|
||||
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
|
||||
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
|
||||
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
|
||||
"block.create.gearbox": "Caixa de Transmissão",
|
||||
"block.create.gearshift": "Câmbio",
|
||||
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
|
||||
|
@ -370,6 +372,7 @@
|
|||
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
|
||||
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
|
||||
"block.create.shaft": "Eixo",
|
||||
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
|
||||
"block.create.speedometer": "UNLOCALIZED: Speedometer",
|
||||
"block.create.spout": "UNLOCALIZED: Spout",
|
||||
|
@ -408,6 +411,7 @@
|
|||
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
|
||||
|
||||
"entity.create.contraption": "UNLOCALIZED: Contraption",
|
||||
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
|
||||
"entity.create.seat": "UNLOCALIZED: Seat",
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
@ -1086,6 +1090,7 @@
|
|||
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
|
||||
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
|
||||
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
|
||||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 4",
|
||||
"_": "Missing Localizations: 5",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
|
||||
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
|
||||
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
|
||||
"block.create.andesite_encased_shaft": "Андезитовый вал в кожухе",
|
||||
"block.create.andesite_encased_shaft": "Вал в андезитовом корпусе",
|
||||
"block.create.andesite_funnel": "Андезитовая воронка",
|
||||
"block.create.andesite_pillar": "Андезитовая колонна",
|
||||
"block.create.andesite_tunnel": "Андезитовый туннель",
|
||||
|
@ -30,20 +30,20 @@
|
|||
"block.create.birch_window_pane": "Панель берёзового окна",
|
||||
"block.create.black_sail": "Чёрный парус",
|
||||
"block.create.black_seat": "Чёрное сиденье",
|
||||
"block.create.black_valve_handle": "Чёрная ручка крана",
|
||||
"block.create.black_valve_handle": "Чёрный ручной вентиль",
|
||||
"block.create.blaze_burner": "Горелка Всполоха",
|
||||
"block.create.blue_sail": "Синий парус",
|
||||
"block.create.blue_seat": "Синее сиденье",
|
||||
"block.create.blue_valve_handle": "Синяя ручка крана",
|
||||
"block.create.blue_valve_handle": "Синий ручной вентиль",
|
||||
"block.create.brass_belt_funnel": "Латунная конвейерная воронка",
|
||||
"block.create.brass_block": "Латунный блок",
|
||||
"block.create.brass_casing": "Латунный корпус",
|
||||
"block.create.brass_encased_shaft": "Латунный вал в кожухе",
|
||||
"block.create.brass_encased_shaft": "Вал в латунном корпусе",
|
||||
"block.create.brass_funnel": "Латунная воронка",
|
||||
"block.create.brass_tunnel": "Латунный туннель",
|
||||
"block.create.brown_sail": "Коричневый парус",
|
||||
"block.create.brown_seat": "Коричневое сиденье",
|
||||
"block.create.brown_valve_handle": "Коричневая ручка крана",
|
||||
"block.create.brown_valve_handle": "Коричневый ручной вентиль",
|
||||
"block.create.cart_assembler": "Сборщик вагонеток",
|
||||
"block.create.chiseled_dark_scoria": "Резной тёмный пепел",
|
||||
"block.create.chiseled_dolomite": "Резной доломит",
|
||||
|
@ -63,22 +63,22 @@
|
|||
"block.create.copper_ore": "Медная руда",
|
||||
"block.create.copper_shingles": "Медная черепица",
|
||||
"block.create.copper_tiles": "Медная плитка",
|
||||
"block.create.copper_valve_handle": "Медная ручка крана",
|
||||
"block.create.copper_valve_handle": "Медный ручной вентиль",
|
||||
"block.create.creative_crate": "Творческий ящик",
|
||||
"block.create.creative_fluid_tank": "Творческиф жидкостный бак",
|
||||
"block.create.creative_fluid_tank": "Творческий жидкостный бак",
|
||||
"block.create.creative_motor": "Творческий мотор",
|
||||
"block.create.crimson_window": "UNLOCALIZED: Crimson Window",
|
||||
"block.create.crimson_window_pane": "UNLOCALIZED: Crimson Window Pane",
|
||||
"block.create.crimson_window": "Багровое окно",
|
||||
"block.create.crimson_window_pane": "Панель из багрового окна",
|
||||
"block.create.crushing_wheel": "Колесо дробления",
|
||||
"block.create.crushing_wheel_controller": "Контроллер колеса дробления",
|
||||
"block.create.cuckoo_clock": "Часы с кукушкой",
|
||||
"block.create.cyan_sail": "Бирюзовый парус",
|
||||
"block.create.cyan_seat": "Бирюзовое сииденье",
|
||||
"block.create.cyan_valve_handle": "Бирюзовая ручка крана",
|
||||
"block.create.cyan_valve_handle": "Бирюзовый ручной вентиль",
|
||||
"block.create.dark_oak_window": "Окно из тёмного дуба",
|
||||
"block.create.dark_oak_window_pane": "Панель из окна из тёмного дуб",
|
||||
"block.create.dark_scoria": "Тёмный пепел",
|
||||
"block.create.dark_scoria_bricks": "Тёмные пепельный кирпич",
|
||||
"block.create.dark_scoria_bricks": "Тёмный пепельный кирпич",
|
||||
"block.create.dark_scoria_bricks_slab": "Плита из тёмного пепельного кирпича",
|
||||
"block.create.dark_scoria_bricks_stairs": "Ступени из тёмного пепельного кирпича",
|
||||
"block.create.dark_scoria_bricks_wall": "Стена из тёмного пепельного кирпича",
|
||||
|
@ -108,9 +108,9 @@
|
|||
"block.create.dolomite_cobblestone_stairs": "Ступени доломит-булыжника",
|
||||
"block.create.dolomite_cobblestone_wall": "Стена доломит-булыжника",
|
||||
"block.create.dolomite_pillar": "Доломитовая колонна",
|
||||
"block.create.encased_chain_drive": "Цепной привод в кожухе",
|
||||
"block.create.encased_fan": "Вентилятор в кожухе",
|
||||
"block.create.encased_fluid_pipe": "Жидкостная труба в кожухе",
|
||||
"block.create.encased_chain_drive": "Цепной привод в корпусе",
|
||||
"block.create.encased_fan": "Вентилятор в корпусе",
|
||||
"block.create.encased_fluid_pipe": "Жидкостная труба в корпусе",
|
||||
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
|
||||
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
|
||||
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
|
||||
|
@ -149,7 +149,7 @@
|
|||
"block.create.fancy_weathered_limestone_bricks_wall": "Стена из красивого выветренного известнякового кирпича",
|
||||
"block.create.fluid_pipe": "Жидкостная труба",
|
||||
"block.create.fluid_tank": "Жидкостный бак",
|
||||
"block.create.fluid_valve": "Жидкостный вентиль",
|
||||
"block.create.fluid_valve": "Жидкостный клапан",
|
||||
"block.create.flywheel": "Маховик",
|
||||
"block.create.framed_glass": "Обрамлённое стекло",
|
||||
"block.create.framed_glass_pane": "Обрамлённая стеклянная панель",
|
||||
|
@ -164,6 +164,8 @@
|
|||
"block.create.gabbro_cobblestone_stairs": "Ступени из габбро-булыжника",
|
||||
"block.create.gabbro_cobblestone_wall": "Стена из габбро-булыжника",
|
||||
"block.create.gabbro_pillar": "Габбро колонна",
|
||||
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
|
||||
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
|
||||
"block.create.gearbox": "Коробка передач",
|
||||
"block.create.gearshift": "Реверсивный механизм",
|
||||
"block.create.glass_fluid_pipe": "Стеклянная жидкостная труба",
|
||||
|
@ -178,15 +180,15 @@
|
|||
"block.create.granite_pillar": "Гранитная колонна",
|
||||
"block.create.gray_sail": "Серый парус",
|
||||
"block.create.gray_seat": "Серое сиденье",
|
||||
"block.create.gray_valve_handle": "Серная ручка крана",
|
||||
"block.create.gray_valve_handle": "Серый ручной вентиль",
|
||||
"block.create.green_sail": "Зелёный парус",
|
||||
"block.create.green_seat": "Зелёное сиденье",
|
||||
"block.create.green_valve_handle": "Зелёная ручка крана",
|
||||
"block.create.green_valve_handle": "Зелёный ручной вентиль",
|
||||
"block.create.hand_crank": "Рукоятка",
|
||||
"block.create.honey": "Мёд",
|
||||
"block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло",
|
||||
"block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель",
|
||||
"block.create.hose_pulley": "Шкив для шланга",
|
||||
"block.create.hose_pulley": "Шкив с шлангом",
|
||||
"block.create.item_drain": "Предметный осушитель",
|
||||
"block.create.jungle_window": "Окно из тропического дерева",
|
||||
"block.create.jungle_window_pane": "Панель окна из тропического дерева",
|
||||
|
@ -202,13 +204,13 @@
|
|||
"block.create.layered_weathered_limestone": "Слоистый выветренный известняк",
|
||||
"block.create.light_blue_sail": "Голубой парус",
|
||||
"block.create.light_blue_seat": "Голубое сиденье",
|
||||
"block.create.light_blue_valve_handle": "Голубая ручка крана",
|
||||
"block.create.light_blue_valve_handle": "Голубой ручной вентиль",
|
||||
"block.create.light_gray_sail": "Светло-серый парус",
|
||||
"block.create.light_gray_seat": "Светло-серое сиденье",
|
||||
"block.create.light_gray_valve_handle": "Светло-серая ручка крана",
|
||||
"block.create.light_gray_valve_handle": "Светло-серый ручной вентиль",
|
||||
"block.create.lime_sail": "Лаймовый парус",
|
||||
"block.create.lime_seat": "Лаймовое сиденье",
|
||||
"block.create.lime_valve_handle": "Лаймовая ручка крана",
|
||||
"block.create.lime_valve_handle": "Лаймовый ручной вентиль",
|
||||
"block.create.limesand": "Известковый песок",
|
||||
"block.create.limestone": "Известняк",
|
||||
"block.create.limestone_bricks": "Известняковый кирпич",
|
||||
|
@ -224,7 +226,7 @@
|
|||
"block.create.lit_blaze_burner": "Зажжёная горелка Всполоха",
|
||||
"block.create.magenta_sail": "Пурпурный парус",
|
||||
"block.create.magenta_seat": "Пурпурное сиденье",
|
||||
"block.create.magenta_valve_handle": "Пурпурная ручка крана",
|
||||
"block.create.magenta_valve_handle": "Пурпурный ручной вентиль",
|
||||
"block.create.mechanical_arm": "Механическая рука",
|
||||
"block.create.mechanical_bearing": "Механический вращатель",
|
||||
"block.create.mechanical_crafter": "Механический крафтер",
|
||||
|
@ -237,7 +239,7 @@
|
|||
"block.create.mechanical_press": "Механический пресс",
|
||||
"block.create.mechanical_pump": "Механическая помпа",
|
||||
"block.create.mechanical_saw": "Механическая пила",
|
||||
"block.create.metal_bracket": "Металлический кронштейн",
|
||||
"block.create.metal_bracket": "Металлическая скоба",
|
||||
"block.create.millstone": "Жернов",
|
||||
"block.create.minecart_anchor": "Вагонеточный якорь",
|
||||
"block.create.mossy_andesite": "Замшелый андезит",
|
||||
|
@ -257,7 +259,7 @@
|
|||
"block.create.oak_window_pane": "Панель из дубового окна",
|
||||
"block.create.orange_sail": "Оранжевый парус",
|
||||
"block.create.orange_seat": "Оранжевое сиденье",
|
||||
"block.create.orange_valve_handle": "Оранжевая ручка крана",
|
||||
"block.create.orange_valve_handle": "Оранжевый ручной вентиль",
|
||||
"block.create.ornate_iron_window": "Украшенное железное окно",
|
||||
"block.create.ornate_iron_window_pane": "Панель из украшенного железного окна",
|
||||
"block.create.overgrown_andesite": "Заросший андезит",
|
||||
|
@ -307,7 +309,7 @@
|
|||
"block.create.paved_weathered_limestone_wall": "Стена из мощёного выветренного известняка",
|
||||
"block.create.pink_sail": "Розовый парус",
|
||||
"block.create.pink_seat": "Розовое сиденье",
|
||||
"block.create.pink_valve_handle": "Розовая ручка крана",
|
||||
"block.create.pink_valve_handle": "Розовый ручной вентиль",
|
||||
"block.create.piston_extension_pole": "Удлинитель поршня",
|
||||
"block.create.polished_dark_scoria": "Полированный тёмный пепел",
|
||||
"block.create.polished_dark_scoria_slab": "Плита из полированного тёмного пепла",
|
||||
|
@ -337,15 +339,15 @@
|
|||
"block.create.portable_storage_interface": "Портативный интерфейс хранения",
|
||||
"block.create.powered_latch": "Механизированная защёлка",
|
||||
"block.create.powered_toggle_latch": "Механизированная рычаг-защёлка",
|
||||
"block.create.pulley_magnet": "Шкивный магнит",
|
||||
"block.create.pulley_magnet": "Магнитный шкив",
|
||||
"block.create.pulse_repeater": "Импульсный повторитель",
|
||||
"block.create.purple_sail": "Фиолетовый парус",
|
||||
"block.create.purple_seat": "Фиолетовое сиденье",
|
||||
"block.create.purple_valve_handle": "Фиолетовая ручка крана",
|
||||
"block.create.purple_valve_handle": "Фиолетовый ручной вентиль",
|
||||
"block.create.radial_chassis": "Радиальное шасси",
|
||||
"block.create.red_sail": "Красный парус",
|
||||
"block.create.red_seat": "Красное сиденье",
|
||||
"block.create.red_valve_handle": "Красная ручка крана",
|
||||
"block.create.red_valve_handle": "Красный ручной вентиль",
|
||||
"block.create.redstone_contact": "Контакт сигнала красного камня",
|
||||
"block.create.redstone_link": "Беспроводной передатчик сигнала красного камня",
|
||||
"block.create.refined_radiance_casing": "Сияющий корпус",
|
||||
|
@ -368,11 +370,12 @@
|
|||
"block.create.scoria_pillar": "Колонна из пепла",
|
||||
"block.create.secondary_linear_chassis": "Вторичное линейное шасси",
|
||||
"block.create.sequenced_gearshift": "Последовательный переключатель передач",
|
||||
"block.create.shadow_steel_casing": "Теневой кожух",
|
||||
"block.create.shadow_steel_casing": "Теневой корпус",
|
||||
"block.create.shaft": "Вал",
|
||||
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
|
||||
"block.create.smart_fluid_pipe": "Умная жидкостная труба",
|
||||
"block.create.speedometer": "Спидометр",
|
||||
"block.create.spout": "Слив",
|
||||
"block.create.spout": "Дозатор",
|
||||
"block.create.spruce_window": "Еловое окно",
|
||||
"block.create.spruce_window_pane": "Панель из елового окна",
|
||||
"block.create.sticky_mechanical_piston": "Липкий механический поршень",
|
||||
|
@ -383,8 +386,8 @@
|
|||
"block.create.turntable": "Поворотный стол",
|
||||
"block.create.vertical_framed_glass": "Вертикальное обрамлённое стекло",
|
||||
"block.create.vertical_framed_glass_pane": "Вертикальная обрамлённая стеклянная панель",
|
||||
"block.create.warped_window": "UNLOCALIZED: Warped Window",
|
||||
"block.create.warped_window_pane": "UNLOCALIZED: Warped Window Pane",
|
||||
"block.create.warped_window": "Искаженное окно",
|
||||
"block.create.warped_window_pane": "Панель из искаженного окна",
|
||||
"block.create.water_wheel": "Водяное колесо",
|
||||
"block.create.weathered_limestone": "Выветренный известняк",
|
||||
"block.create.weathered_limestone_bricks": "Выветренный известняковый кирпич",
|
||||
|
@ -398,17 +401,18 @@
|
|||
"block.create.weathered_limestone_pillar": "Колонна из выветренного известняка",
|
||||
"block.create.white_sail": "Белый парус",
|
||||
"block.create.white_seat": "Белое сиденье",
|
||||
"block.create.white_valve_handle": "Белая ручка крана",
|
||||
"block.create.white_valve_handle": "Белый ручной вентиль",
|
||||
"block.create.windmill_bearing": "Подшипник ветряной мельницы",
|
||||
"block.create.wooden_bracket": "Деревянный кронштейн",
|
||||
"block.create.wooden_bracket": "Деревянная скоба",
|
||||
"block.create.yellow_sail": "Жёлтый парус",
|
||||
"block.create.yellow_seat": "Жёлтое сиденье",
|
||||
"block.create.yellow_valve_handle": "Жёлтая ручка крана",
|
||||
"block.create.yellow_valve_handle": "Жёлтый ручной вентиль",
|
||||
"block.create.zinc_block": "Цинковый блок",
|
||||
"block.create.zinc_ore": "Цинковая руда",
|
||||
|
||||
"entity.create.contraption": "Штуковина",
|
||||
"entity.create.seat": "сиденье",
|
||||
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
|
||||
"entity.create.seat": "Сиденье",
|
||||
"entity.create.stationary_contraption": "Стационарная штуковина",
|
||||
"entity.create.super_glue": "Супер-клей",
|
||||
|
||||
|
@ -430,25 +434,25 @@
|
|||
"item.create.chest_minecart_contraption": "Сундуко-вагонеточная штуковина",
|
||||
"item.create.chocolate_bucket": "Ведро шоколада",
|
||||
"item.create.chromatic_compound": "Хроматический компаунд",
|
||||
"item.create.cinder_flour": "Пепельная мука",
|
||||
"item.create.cinder_flour": "Незераковая пыль",
|
||||
"item.create.copper_ingot": "Медный слиток",
|
||||
"item.create.copper_nugget": "Кусочек меди",
|
||||
"item.create.copper_sheet": "Медный лист",
|
||||
"item.create.crafter_slot_cover": "Крышка на слот крафтера",
|
||||
"item.create.crushed_aluminum_ore": "Измельчённая алюминиевая руда",
|
||||
"item.create.crushed_brass": "Дробленая латунь",
|
||||
"item.create.crushed_copper_ore": "Измельчённая медная руда",
|
||||
"item.create.crushed_gold_ore": "Измельчённая золотая руда",
|
||||
"item.create.crushed_iron_ore": "Измельчённая железная руда",
|
||||
"item.create.crushed_lead_ore": "Измельчённая свинцовая руда",
|
||||
"item.create.crushed_nickel_ore": "Измельчённая никелевая руда",
|
||||
"item.create.crushed_osmium_ore": "Измельчённая осмиевая руда",
|
||||
"item.create.crushed_platinum_ore": "Измельчённая платиновая руда",
|
||||
"item.create.crushed_quicksilver_ore": "Измельчённая ртутная руда",
|
||||
"item.create.crushed_silver_ore": "Измельчённая серебрянная руда",
|
||||
"item.create.crushed_tin_ore": "Измельчённая оловянная руда",
|
||||
"item.create.crushed_uranium_ore": "Измельчённая урановая руда",
|
||||
"item.create.crushed_zinc_ore": "Измельчённая цинковая руда",
|
||||
"item.create.crushed_brass": "Дроблёная латунь",
|
||||
"item.create.crushed_copper_ore": "Дроблёная медная руда",
|
||||
"item.create.crushed_gold_ore": "Дроблёная золотая руда",
|
||||
"item.create.crushed_iron_ore": "Дроблёная железная руда",
|
||||
"item.create.crushed_lead_ore": "Дроблёная свинцовая руда",
|
||||
"item.create.crushed_nickel_ore": "Дроблёная никелевая руда",
|
||||
"item.create.crushed_osmium_ore": "Дроблёная осмиевая руда",
|
||||
"item.create.crushed_platinum_ore": "Дроблёная платиновая руда",
|
||||
"item.create.crushed_quicksilver_ore": "Дроблёная ртутная руда",
|
||||
"item.create.crushed_silver_ore": "Дроблёная серебрянная руда",
|
||||
"item.create.crushed_tin_ore": "Дроблёная оловянная руда",
|
||||
"item.create.crushed_uranium_ore": "Дроблёная урановая руда",
|
||||
"item.create.crushed_zinc_ore": "Дроблёная цинковая руда",
|
||||
"item.create.deforester": "Уничтожитель леса",
|
||||
"item.create.dough": "Тесто",
|
||||
"item.create.electron_tube": "Электронная лампа",
|
||||
|
@ -503,15 +507,15 @@
|
|||
"advancement.create.belt": "Передайте за проезд!",
|
||||
"advancement.create.belt.desc": "Соедините два вала с помощью механического ремня.",
|
||||
"advancement.create.tunnel": "В укрытие!",
|
||||
"advancement.create.tunnel.desc": "Украсьте свой механический ремень Туннелем.",
|
||||
"advancement.create.tunnel.desc": "Украсьте свой конвейер туннелем.",
|
||||
"advancement.create.splitter_tunnel": "Разделяй и властвуй",
|
||||
"advancement.create.splitter_tunnel.desc": "Создайте разделитель из группы латунных туннелей..",
|
||||
"advancement.create.splitter_tunnel.desc": "Создайте разделитель из группы латунных туннелей.",
|
||||
"advancement.create.chute": "Упало",
|
||||
"advancement.create.chute.desc": "Разместите желоб, вертикальный аналог ремня.",
|
||||
"advancement.create.chute.desc": "Разместите желоб, вертикальный аналог конвейера.",
|
||||
"advancement.create.upward_chute": "Воздушное похищение",
|
||||
"advancement.create.upward_chute.desc": "Посмотрите как предмет засасывается в желоб с вентилятором.",
|
||||
"advancement.create.belt_funnel": "Болтающиеся воронки",
|
||||
"advancement.create.belt_funnel.desc": "Поместите воронку боком, сверху ремня или депо, чтобы создать её специальный тип.",
|
||||
"advancement.create.belt_funnel.desc": "Поместите воронку боком, сверху конвейера или депо, чтобы создать её специальный тип.",
|
||||
"advancement.create.belt_funnel_kiss": "Механический ужин",
|
||||
"advancement.create.belt_funnel_kiss.desc": "Заставте две смонтированные на ремнях воронки поцеловаться.",
|
||||
"advancement.create.fan": "Механический маг воздуха",
|
||||
|
@ -531,9 +535,9 @@
|
|||
"advancement.create.stressometer": "Так сильно?",
|
||||
"advancement.create.stressometer.desc": "Поставьте и подключите динамометр. Посмотрите на динамометр через очки, чтобы прочитать точное значение.",
|
||||
"advancement.create.aesthetics": "Бах! Эстетично!",
|
||||
"advancement.create.aesthetics.desc": "Разместите кронштейн на валу, трубе или шестерне.",
|
||||
"advancement.create.aesthetics.desc": "Разместите скобы на валу, трубе или шестерне.",
|
||||
"advancement.create.reinforced": "Бах! Усилено!",
|
||||
"advancement.create.reinforced.desc": "Разместите подходящий блок корпуса на вал, трубу и механический ремень.",
|
||||
"advancement.create.reinforced.desc": "Разместите подходящий блок корпуса на вал, трубу и конвейер.",
|
||||
"advancement.create.water_wheel": "Гидравлика",
|
||||
"advancement.create.water_wheel.desc": "Поставьте водяное колесо и попытайтесь заставить его вращаться!",
|
||||
"advancement.create.chocolate_wheel": "Вкусная сила",
|
||||
|
@ -569,15 +573,15 @@
|
|||
"advancement.create.compact": "Автоматическое уплотнение",
|
||||
"advancement.create.compact.desc": "Используйте пресс и чашу для уплотнения некоторых предметов.",
|
||||
"advancement.create.brass": "Действительный сплав",
|
||||
"advancement.create.brass.desc": "Используйте измельчённую медь и измельчённый цинк, чтобы создать немного латуни.",
|
||||
"advancement.create.brass.desc": "Используйте дроблёную медь и дроблёный цинк, чтобы создать немного латуни.",
|
||||
"advancement.create.brass_casing": "Бронзовый век",
|
||||
"advancement.create.brass_casing.desc": "Используйте только что полученную латунь и немного дерева, чтобы создать более продвинутый корпус.",
|
||||
"advancement.create.copper_casing": "Медный век",
|
||||
"advancement.create.copper_casing.desc": "Используйте несколько медных листов для создания медного корпуса.",
|
||||
"advancement.create.spout": "Буль",
|
||||
"advancement.create.spout.desc": "Посмотрите как предмет наполняется с помощью Слива.",
|
||||
"advancement.create.spout.desc": "Посмотрите как предмет наполняется с помощью Дозатора.",
|
||||
"advancement.create.spout_potion": "Основательная пивоварня",
|
||||
"advancement.create.spout_potion.desc": "Посмотрите как Слив наполняет бутылку зельем.",
|
||||
"advancement.create.spout_potion.desc": "Посмотрите как Дозатор наполняет бутылку зельем.",
|
||||
"advancement.create.chocolate": "Сказочный мир",
|
||||
"advancement.create.chocolate.desc": "Получите ведро расплавленного шоколада.",
|
||||
"advancement.create.item_drain": "Осушение",
|
||||
|
@ -669,16 +673,16 @@
|
|||
|
||||
"create.recipe.crushing": "Измельчение",
|
||||
"create.recipe.milling": "Помол",
|
||||
"create.recipe.fan_washing": "Объёмная промывка",
|
||||
"create.recipe.fan_washing": "Массовая промывка",
|
||||
"create.recipe.fan_washing.fan": "Вентилятор за текущей водой",
|
||||
"create.recipe.fan_smoking": "Объёмное копчение",
|
||||
"create.recipe.fan_smoking": "Массовое копчение",
|
||||
"create.recipe.fan_smoking.fan": "Вентилятор за горящим огнём",
|
||||
"create.recipe.fan_blasting": "Объёмное плавление",
|
||||
"create.recipe.fan_blasting": "Массовое плавление",
|
||||
"create.recipe.fan_blasting.fan": "Вентилятор за текущей лавой",
|
||||
"create.recipe.pressing": "Прессование",
|
||||
"create.recipe.mixing": "Смешивание",
|
||||
"create.recipe.automatic_shapeless": "Автоматическая бесформенная сборка",
|
||||
"create.recipe.automatic_brewing": "Автоматической смешивание",
|
||||
"create.recipe.automatic_brewing": "Автоматическое смешивание",
|
||||
"create.recipe.packing": "Прессование",
|
||||
"create.recipe.automatic_packing": "Автоматическая упаковка",
|
||||
"create.recipe.sawing": "Распиливание",
|
||||
|
@ -688,7 +692,7 @@
|
|||
"create.recipe.blockzapper_upgrade": "Ручная блоковая пушка",
|
||||
"create.recipe.sandpaper_polishing": "Полировка наждачной бумагой",
|
||||
"create.recipe.mystery_conversion": "Хроматический метаморфоз",
|
||||
"create.recipe.spout_filling": "Заполнение сливом",
|
||||
"create.recipe.spout_filling": "Заполнение дозатором",
|
||||
"create.recipe.draining": "Осушение предметов",
|
||||
"create.recipe.processing.chance": "%1$s%% шанса",
|
||||
"create.recipe.heat_requirement.none": "Не требует нагрева",
|
||||
|
@ -837,7 +841,7 @@
|
|||
"create.gui.stockpile_switch.invert_signal": "Инвертировать сигнал",
|
||||
"create.gui.stockpile_switch.move_to_lower_at": "Двигаться к нижней линии при %1$s%%",
|
||||
"create.gui.stockpile_switch.move_to_upper_at": "Двигаться к верхней линии при %1$s%%",
|
||||
"create.gui.sequenced_gearshift.title": "Посл. переключ. передач",
|
||||
"create.gui.sequenced_gearshift.title": "Последовательное переключение передач",
|
||||
"create.gui.sequenced_gearshift.instruction": "Инструкция",
|
||||
"create.gui.sequenced_gearshift.instruction.turn_angle": "Повернуть",
|
||||
"create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Угол",
|
||||
|
@ -992,7 +996,7 @@
|
|||
"create.item_attributes.not_stackable": "не может складываться",
|
||||
"create.item_attributes.not_stackable.inverted": "складывается",
|
||||
"create.item_attributes.equipable": "может быть надет",
|
||||
"create.item_attributes.equipable.inverted": "не ожет быть надет",
|
||||
"create.item_attributes.equipable.inverted": "не может быть надет",
|
||||
"create.item_attributes.furnace_fuel": "является топливом",
|
||||
"create.item_attributes.furnace_fuel.inverted": "не является топливом",
|
||||
"create.item_attributes.in_tag": "помечен %1$s",
|
||||
|
@ -1081,11 +1085,12 @@
|
|||
"create.tooltip.chute.header": "Инвормация о желобе",
|
||||
"create.tooltip.chute.items_move_down": "Предметы двигаются вниз",
|
||||
"create.tooltip.chute.items_move_up": "Предметы двигаются вверх",
|
||||
"create.tooltip.chute.no_fans_attached": "Нед подключеных вентиляторов",
|
||||
"create.tooltip.chute.no_fans_attached": "Нет подключеных вентиляторов",
|
||||
"create.tooltip.chute.fans_push_up": "Вентилятор толкает снизу",
|
||||
"create.tooltip.chute.fans_push_down": "Вентилятор толкает сверху",
|
||||
"create.tooltip.chute.fans_pull_up": "Вентилятор тянет сверху",
|
||||
"create.tooltip.chute.fans_pull_down": "Вентилятор тянет снизу",
|
||||
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
|
||||
|
||||
"create.hint.hose_pulley.title": "Безграничное снабжение",
|
||||
"create.hint.hose_pulley": "Целевой водный резервуар считается бесконечным.",
|
||||
|
@ -1102,11 +1107,11 @@
|
|||
|
||||
"create.gui.config.overlay1": "Привет :)",
|
||||
"create.gui.config.overlay2": "Это образец оверлея",
|
||||
"create.gui.config.overlay3": "кликни и тащи с помощью мыши",
|
||||
"create.gui.config.overlay3": "Кликни и тащи с помощью мыши",
|
||||
"create.gui.config.overlay4": "чтобы переместить его",
|
||||
"create.gui.config.overlay5": "Нажми ESC чтобы выйти",
|
||||
"create.gui.config.overlay6": "и сохранить новую позицию",
|
||||
"create.gui.config.overlay7": "Запусти /create overlay reset",
|
||||
"create.gui.config.overlay7": "Введи /create overlay reset",
|
||||
"create.gui.config.overlay8": "чтобы сбросить позицию до стандартной",
|
||||
|
||||
"create.command.killTPSCommand": "killtps",
|
||||
|
@ -1141,10 +1146,10 @@
|
|||
"item.create.example_item.tooltip.action1": "These controls are displayed.",
|
||||
|
||||
"block.create.andesite_encased_shaft.tooltip": "ANDESITE ENCASED SHAFT",
|
||||
"block.create.andesite_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите кожух на вал, находящийся _в мире_ импользуя _Андезитовый корпус_. Блоки корпуса не будут использованы.",
|
||||
"block.create.andesite_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите корпус на вал, находящийся _в мире_ импользуя _Андезитовый корпус_. Блоки корпуса не будут использованы.",
|
||||
|
||||
"block.create.brass_encased_shaft.tooltip": "BRASS ENCASED SHAFT",
|
||||
"block.create.brass_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите кожух на вал, находящийся _в мире_ импользуя _Латунный корпус_. Блоки корпуса не будут использованы.",
|
||||
"block.create.brass_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите корпус на вал, находящийся _в мире_ импользуя _Латунный корпус_. Блоки корпуса не будут использованы.",
|
||||
|
||||
"block.create.wooden_bracket.tooltip": "WOODEN BRACKET",
|
||||
"block.create.wooden_bracket.tooltip.summary": "_Украсьте_ ваши _валы, шестерни_ и _трубы_, используя уютное деревянное укрепление.",
|
||||
|
@ -1165,7 +1170,7 @@
|
|||
"block.create.andesite_funnel.tooltip.behaviour3": "Будет _транспортировать_ предметы _вниз_, как воронка без буфера.",
|
||||
|
||||
"block.create.andesite_tunnel.tooltip": "ANDESITE TUNNEL",
|
||||
"block.create.andesite_tunnel.tooltip.summary": "Защитное покрытие для ваших _Механических ремней_! _Андезитовые туннели_ могут отделять один предмет от стака, когда еще один механический ремень или депо расположены рядом с соновным ремнём.",
|
||||
"block.create.andesite_tunnel.tooltip.summary": "Защитное покрытие для вашего _Конвейера_! _Андезитовые туннели_ могут отделять один предмет от стака, когда еще один механический ремень или депо расположены рядом с соновным ремнём.",
|
||||
"block.create.andesite_tunnel.tooltip.control1": "Правый клик Гаечным ключом по стороне",
|
||||
"block.create.andesite_tunnel.tooltip.action1": "_Регулирует оконные ставни_, если на этой стороне туннеля есть окно.",
|
||||
|
||||
|
@ -1181,7 +1186,7 @@
|
|||
"block.create.brass_tunnel.tooltip": "BRASS TUNNEL",
|
||||
"block.create.brass_tunnel.tooltip.summary": "Красивое покрытие для ваших _Механических ремней_! _Латунные туннели_ так же поставляются с фильтрами и возможностью разделения стаков ваших предметов.",
|
||||
"block.create.brass_tunnel.tooltip.condition1": "При размещении бок о бок",
|
||||
"block.create.brass_tunnel.tooltip.behaviour1": "_Латунные туннели_ соединяются с другими, позволяя перенаправить поток предметов с одного _ремня_ на другой.",
|
||||
"block.create.brass_tunnel.tooltip.behaviour1": "_Латунные туннели_ соединяются с другими, позволяя перенаправить поток предметов с одного _конвейера_ на другой.",
|
||||
"block.create.brass_tunnel.tooltip.condition2": "Фильтрация",
|
||||
"block.create.brass_tunnel.tooltip.behaviour2": "_Латунные тунелли_ поставляюстя с фильтрами, для _входа_ и _выхода_. Если _предмет_ не соответствует _фильтру_, он будет перенаправлен на выход соседнего _туннеля_.",
|
||||
"block.create.brass_tunnel.tooltip.condition3": "Разделение",
|
||||
|
@ -1194,7 +1199,7 @@
|
|||
"block.create.copper_casing.tooltip": "COPPER CASING",
|
||||
"block.create.copper_casing.tooltip.summary": "Прочный машинный корпус для разнообразного использования. Безопасно для украшения.",
|
||||
"block.create.copper_casing.tooltip.condition1": "При использовании на жидкостной трубе",
|
||||
"block.create.copper_casing.tooltip.behaviour1": "Покрывает _жидкостную трубу_ _кожухом_. Трубы в кожухе _закрепят свои соединения_ и не будут соединятся с другими трубами, расположенными по соседству.",
|
||||
"block.create.copper_casing.tooltip.behaviour1": "Покрывает _жидкостную трубу_ _корпусом_. Трубы в корпусе _закрепят свои соединения_ и не будут соединятся с другими трубами, расположенными по соседству.",
|
||||
|
||||
"block.create.encased_fluid_pipe.tooltip": "ENCASED FLUID PIPE",
|
||||
"block.create.encased_fluid_pipe.tooltip.summary": "_Труба_ в _Медном корпусе_.",
|
||||
|
@ -1212,12 +1217,12 @@
|
|||
"block.create.chute.tooltip": "CHUTE",
|
||||
"block.create.chute.tooltip.summary": "_Собирает_ и транспортирует предметы по вертикали и диагонали. Может как брать так класть предметы в _контейнеры_. Вы так же можете взаиодействовать с желобом, разместив сбоку воронку.",
|
||||
"block.create.chute.tooltip.condition1": "Если соединено с вентилятором",
|
||||
"block.create.chute.tooltip.behaviour1": "Соеденённые с _вентилятором_ желоба могут двигать _предметы_ вверх, и засасывать их с _ремней_ и _депо_.",
|
||||
"block.create.chute.tooltip.behaviour1": "Соеденённые с _вентилятором_ желоба могут двигать _предметы_ вверх, и засасывать их с _конвейера_ и _депо_.",
|
||||
|
||||
"block.create.depot.tooltip": "DEPOT",
|
||||
"block.create.depot.tooltip.summary": "Полезное место куда вы можете класть свои _предметы_. Обеспечивает точку взаимодействия для некоторых машин",
|
||||
"block.create.depot.tooltip.condition1": "При правом клике",
|
||||
"block.create.depot.tooltip.behaviour1": "Размещает или забирает _предмет_ с _Депо_. _Блоки_ и _Устройства_, которые могут взаимодействовать с _ремнём_, так же работают с _Депо_.",
|
||||
"block.create.depot.tooltip.behaviour1": "Размещает или забирает _предмет_ с _Депо_. _Блоки_ и _Устройства_, которые могут взаимодействовать с _конвейером_, так же работают с _Депо_.",
|
||||
|
||||
"item.create.blaze_cake.tooltip": "BLAZE CAKE",
|
||||
"item.create.blaze_cake.tooltip.summary": "Вкусное угощения для вашей трудяги _Горелки Всполоха_. Зажигает их всех!",
|
||||
|
@ -1249,7 +1254,7 @@
|
|||
"block.create.fluid_tank.tooltip.behaviour1": "Переключает опциональное отображение окна",
|
||||
|
||||
"block.create.creative_fluid_tank.tooltip": "CREATIVE FLUID TANK",
|
||||
"block.create.creative_fluid_tank.tooltip.summary": "Этот _Жидкостный бак_ позволяет бесконечную репликацию любой жидкости. Скалируется в высоту и ширину.",
|
||||
"block.create.creative_fluid_tank.tooltip.summary": "Этот _Жидкостный бак_ позволяет иметь бесконечную репликацию любой жидкости. Скалируется в высоту и ширину.",
|
||||
"block.create.creative_fluid_tank.tooltip.condition1": "Когда жидкость в баке",
|
||||
"block.create.creative_fluid_tank.tooltip.behaviour1": "Всё что _извлекает_ из бака, будет снабжаться _бесконечным запасом_ жидкости. Жидкости _закачивающиеся_ в бак будут _удаляться_.",
|
||||
"block.create.creative_fluid_tank.tooltip.condition2": "Правый клик с гаечным ключом",
|
||||
|
@ -1277,9 +1282,9 @@
|
|||
"block.create.spout.tooltip": "SPOUT",
|
||||
"block.create.spout.tooltip.summary": "Форсунка для пополнения предметов, имеющих возможность хранить жидкость.",
|
||||
"block.create.spout.tooltip.condition1": "Транспортировка жидкости",
|
||||
"block.create.spout.tooltip.behaviour1": "Когда предмет, _с возможностью содержать жидкость_, такой как _ведро_ или _бутылочка_, размещён под сливом, слив будет пытаться заполнить предмет содержащейся в нём _жидкостью_.",
|
||||
"block.create.spout.tooltip.behaviour1": "Когда предмет, _с возможностью содержать жидкость_, такой как _ведро_ или _бутылочка_, размещён под дозатором, дозатор будет пытаться заполнить предмет содержащейся в нём _жидкостью_.",
|
||||
"block.create.spout.tooltip.condition2": "Автоматизация жидкости",
|
||||
"block.create.spout.tooltip.behaviour2": "Слив расположеный над _ремнём_ или _депо_ будет автоматически взаимодействовать с _предметами, которые могут содержать жидкость_, которые проходят под ним.",
|
||||
"block.create.spout.tooltip.behaviour2": "Дозатор расположеный над _конвейером_ или _депо_ будет автоматически взаимодействовать с _предметами, которые могут содержать жидкость_, которые проходят под ним.",
|
||||
|
||||
"block.create.item_drain.tooltip": "ITEM DRAIN",
|
||||
"block.create.item_drain.tooltip.summary": "Депо с решёткой, которое может выкачивать _жидкость_ из ваших _предметов_",
|
||||
|
@ -1289,7 +1294,7 @@
|
|||
"block.create.mechanical_arm.tooltip": "MECHANICAL ARM",
|
||||
"block.create.mechanical_arm.tooltip.summary": "Продвинутуе устройство для перемещения _предметов_.",
|
||||
"block.create.mechanical_arm.tooltip.condition1": "Транспортировка предметов",
|
||||
"block.create.mechanical_arm.tooltip.behaviour1": "Может брать или размещать предметы в любой открытый инвентарь, такой как _ремень_, _депо_, _воронка_ и _механический крафтер_.",
|
||||
"block.create.mechanical_arm.tooltip.behaviour1": "Может брать или размещать предметы в любой открытый инвентарь, такой как _конвейер_, _депо_, _воронка_ и _механический крафтер_.",
|
||||
"block.create.mechanical_arm.tooltip.control1": "Когда в руке",
|
||||
"block.create.mechanical_arm.tooltip.action1": "Правый клик на _открытом инвентаре_ установит _точку для сбора_, для _механической руки_. Кликните еще раз чтобы установить _точку для размещения_.",
|
||||
"block.create.mechanical_arm.tooltip.control2": "Прокрутка с ключом",
|
||||
|
@ -1410,14 +1415,14 @@
|
|||
"block.create.clutch.tooltip.behaviour1": "_Прекращает_ передачу вращения на другую сторону.",
|
||||
|
||||
"block.create.encased_chain_drive.tooltip": "ENCASED_CHAIN_DRIVE",
|
||||
"block.create.encased_chain_drive.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в кожухе_. Цепные приводы соединяются, когда расположены рядом друг с другом, без необходимости использовать вал. Их направление не обязательно должно совпадать.",
|
||||
"block.create.encased_chain_drive.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в корпусе_. Цепные приводы соединяются, когда расположены рядом друг с другом, без необходимости использовать вал. Их направление не обязательно должно совпадать.",
|
||||
"block.create.encased_chain_drive.tooltip.condition1": "Когда соединено",
|
||||
"block.create.encased_chain_drive.tooltip.behaviour1": "Соединённые блоки будут получать _скорость вращения_ и его _направление_ от этого компонента.",
|
||||
|
||||
"block.create.adjustable_chain_gearshift.tooltip": "ADJUSTABLE CHAIN GEARSHIFT",
|
||||
"block.create.adjustable_chain_gearshift.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в кожухе_. Полученный _сигнал редстоуна_ будет контролировать, какой размер шестерни взаимодействует с присоединенными цепными приводами.",
|
||||
"block.create.adjustable_chain_gearshift.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в корпусе_. Полученный _сигнал редстоуна_ будет контролировать, какой размер шестерни взаимодействует с присоединенными цепными приводами.",
|
||||
"block.create.adjustable_chain_gearshift.tooltip.condition1": "Кнонтроль редстоуном",
|
||||
"block.create.adjustable_chain_gearshift.tooltip.behaviour1": "_Без_ сигнала редстоуна присоединённые приводы будут иметь _такую же_ скорость. При получении _сигнала редстоуна_ максимального уровня, соединённые приводы будут вращаться с ровно в два раза меньшей скоростью. Всё, что между этими значениями, будет выдавать скорость от 1 до 2 кратной скорости цепного механизма.",
|
||||
"block.create.adjustable_chain_gearshift.tooltip.behaviour1": "_Без_ сигнала редстоуна присоединённые приводы будут иметь _такую же_ скорость. При получении _сигнала редстоуна_ максимального уровня, соединённые приводы будут вращаться с удвоенной скоростью. Всё, что между минимальным и максимальным значениями, будет выдавать скорость от 1 до 2 кратной скорости цепного механизма.",
|
||||
|
||||
"item.create.belt_connector.tooltip": "BELT CONNECTOR",
|
||||
"item.create.belt_connector.tooltip.summary": "Соединяет _2_ _Вала_ с помощью _механического_ _ремня_._ Соединённые валы будут иметь одинаковые _скорость_ и _направление_ _вращения._ Лента может служить как _конвейер_ для _транспортировки._",
|
||||
|
@ -1495,7 +1500,7 @@
|
|||
"block.create.basin.tooltip": "BASIN",
|
||||
"block.create.basin.tooltip.summary": "Удобный _контейнер_ _для_ _предметов_, используемый при обработке _механическим_ _смешивателем_ и _механическим прессом_. Поддерживает компараторы.",
|
||||
"block.create.basin.tooltip.condition1": "Авто-выход",
|
||||
"block.create.basin.tooltip.behaviour1": "Когда _открытые инвентари_, такие как ремни, другие чаши, депо и т.д. находятся _под_ чашей, они будут автоматически принимать любые _жидкости_ и _предметы_, созданные в чаше. Это полезно для автоматизации.",
|
||||
"block.create.basin.tooltip.behaviour1": "Когда _открытые инвентари_, такие как конвейер, другие чаши, депо и т.д. находятся _под_ чашей, они будут автоматически принимать любые _жидкости_ и _предметы_, созданные в чаше. Это полезно для автоматизации.",
|
||||
|
||||
"block.create.blaze_burner.tooltip": "BLAZE BURNER",
|
||||
"block.create.blaze_burner.tooltip.summary": "Блок для нагревания чаши, работающий когда в нём находится прирученый Всполох.",
|
||||
|
@ -1510,7 +1515,7 @@
|
|||
"block.create.mechanical_mixer.tooltip": "MECHANICAL MIXER",
|
||||
"block.create.mechanical_mixer.tooltip.summary": "Кинетический венчик, используемый для смешивания предметов, находящихся под ним. Требуется _постоянная_ _вращательная_ _сила_ и _чаша_, расположенная внизу (с промежутком между ними).",
|
||||
"block.create.mechanical_mixer.tooltip.condition1": "Когда над чашей",
|
||||
"block.create.mechanical_mixer.tooltip.behaviour1": "Начинает смешивать предметы в бассейне, когда присутствуют все необходимые ингредиенты.",
|
||||
"block.create.mechanical_mixer.tooltip.behaviour1": "Начинает смешивать предметы в чаше, когда присутствуют все необходимые ингредиенты.",
|
||||
|
||||
"block.create.mechanical_crafter.tooltip": "MECHANICAL CRAFTER",
|
||||
"block.create.mechanical_crafter.tooltip.summary": "_Кинетический_ _сборщик_ для автоматизации любого рецепта крафта. _Поместите_ _ингредиенты_ в сетку, _соответственно_ _нужному_ _рецепту_, и расположите их так, чтобы _создать_ _поток_, который _кончается_ на одном из крафтеров.",
|
||||
|
@ -1526,7 +1531,7 @@
|
|||
"block.create.furnace_engine.tooltip": "FURNACE ENGINE",
|
||||
"block.create.furnace_engine.tooltip.summary": "_Мощный_ источник _энергии_ _вращения_, для работы которого требуется _работающая_ _печь.",
|
||||
"block.create.furnace_engine.tooltip.condition1": "Когда прикреплен к работающей печи",
|
||||
"block.create.furnace_engine.tooltip.behaviour1": "_Начинает_ _приводить_ _в_ _действие_ _маховик_, расположенный _перед_ ним (на расстоянии 1 м). Используйте доменную печь для более высоких скоростей.",
|
||||
"block.create.furnace_engine.tooltip.behaviour1": "_Начинает_ _приводить_ _в_ _действие_ _маховик_, расположенный _перед_ ним (на расстоянии 1 м). Используйте плавильную печь для более высоких скоростей.",
|
||||
|
||||
"block.create.flywheel.tooltip": "FLYWHEEL",
|
||||
"block.create.flywheel.tooltip.summary": "Большое металлическое колесо для _удержания_ и _стабилизации_ создаваемой силы с помощью _прикреплённого_ _двигателя_. Маховики _соединяются_ с _двигателями_, если они находятся на расстоянии _1_ _м_ друг от друга и под углом _90°_ друг к другу.",
|
||||
|
@ -1534,7 +1539,7 @@
|
|||
"block.create.flywheel.tooltip.behaviour1": "Обеспечивает вращательную силу для подключенного устройства в зависимости от силы и скорости генератора.",
|
||||
|
||||
"block.create.portable_storage_interface.tooltip": "PORTABLE STORAGE INTERFACE",
|
||||
"block.create.portable_storage_interface.tooltip.summary": "Переносная точка обмена для _перемещения_ предметов внутрь или из _конструкции_, перемещаемой _поршнем_, _шасси_, _вагонеткой_ или _ремнём_.",
|
||||
"block.create.portable_storage_interface.tooltip.summary": "Переносная точка обмена для _перемещения_ предметов внутрь или из _конструкции_, перемещаемой _поршнем_, _шасси_, _вагонеткой_ или _конвейером_.",
|
||||
"block.create.portable_storage_interface.tooltip.condition1": "Во время движения",
|
||||
"block.create.portable_storage_interface.tooltip.behaviour1": "Взаимодействует со стационарными переместителями так, что переместители, обращенные в сторону от интерфейса, вытягивают предметы, а транспортеры, нацеленные на интерфейс, вставляют предметы из прикреплённого инвентаря. Конструкция ненадолго остановится при обмене предметов.",
|
||||
"block.create.portable_storage_interface.tooltip.condition2": "Когда запитан редстоуном",
|
||||
|
@ -1710,7 +1715,7 @@
|
|||
"block.create.deployer.tooltip.behaviour3": "Автоматический активатор будет активирован, если только удерживаемый предмет _совпадает_ с предметом в _фильтре_. Не совпадающие предметы не могут быть помещены; Удерживаемые предметы, соответствующие фильтру, не могут быть извлечены.",
|
||||
|
||||
"block.create.brass_casing.tooltip": "BRASS CASING",
|
||||
"block.create.brass_casing.tooltip.summary": "Прочный корпус машины с различными вариантами применения. Безопасно для украшения.",
|
||||
"block.create.brass_casing.tooltip.summary": "Прочный корпус машины с различными вариантами применения. Безопасно для декорирования.",
|
||||
|
||||
"block.create.pulse_repeater.tooltip": "PULSE REPEATER",
|
||||
"block.create.pulse_repeater.tooltip.summary": "Простая схема обрезки длинны проходящего сигнала до _1_ _тика_.",
|
||||
|
@ -1767,7 +1772,7 @@
|
|||
"item.create.shadow_steel.tooltip.summary": "Хроматический материал, _добытый_ _в_ _пустоте_.",
|
||||
|
||||
"item.create.minecart_coupling.tooltip": "MINECART COUPLING",
|
||||
"item.create.minecart_coupling.tooltip.summary": "_Соединяет_ ваши _вагонетки_ или or _Перевозочные устройства_ вместе, чтобы создать великолепный поезд.",
|
||||
"item.create.minecart_coupling.tooltip.summary": "_Соединяет_ ваши _вагонетки_ или _Перевозочные устройства_ вместе, чтобы создать великолепный поезд.",
|
||||
"item.create.minecart_coupling.tooltip.condition1": "При использовании на вагонетке",
|
||||
"item.create.minecart_coupling.tooltip.behaviour1": "_Соединяет_ две вагонетки вместе, пытаясь держать их на _определенной дистанции_ при движении.",
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
1792
src/generated/resources/assets/create/lang/unfinished/zh_tw.json
Normal file
1792
src/generated/resources/assets/create/lang/unfinished/zh_tw.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block",
|
||||
"textures": {
|
||||
"0": "create:block/andesite_funnel_plating",
|
||||
"1": "create:block/andesite_casing",
|
||||
"2": "create:block/andesite_funnel",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block",
|
||||
"textures": {
|
||||
"0": "create:block/andesite_funnel_plating",
|
||||
"1": "create:block/andesite_casing",
|
||||
"2": "create:block/andesite_funnel_powered",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_pull",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"6": "create:block/andesite_funnel_powered",
|
||||
"5": "create:block/andesite_funnel_tall_powered",
|
||||
"2_2": "create:block/andesite_funnel_push",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block",
|
||||
"textures": {
|
||||
"0": "create:block/brass_funnel_plating",
|
||||
"1": "create:block/brass_casing",
|
||||
"2": "create:block/brass_funnel",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_ceiling",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_floor",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block",
|
||||
"textures": {
|
||||
"0": "create:block/brass_funnel_plating",
|
||||
"1": "create:block/brass_casing",
|
||||
"2": "create:block/brass_funnel_powered",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_pull",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/block_wall",
|
||||
"textures": {
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"6": "create:block/brass_funnel_powered",
|
||||
"5": "create:block/brass_funnel_tall_powered",
|
||||
"2_2": "create:block/brass_funnel_push",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_end",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_end",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_end",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_middle",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_middle",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_middle",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_single",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_single",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_single",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_start",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_flipped"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_start",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_start",
|
||||
"textures": {
|
||||
"2": "create:block/gantry_shaft_powered_flipped"
|
||||
}
|
||||
}
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/item",
|
||||
"textures": {
|
||||
"0": "create:block/andesite_funnel_plating",
|
||||
"1": "create:block/andesite_casing",
|
||||
"2": "create:block/andesite_funnel",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"7": "create:block/andesite_funnel_plating",
|
||||
"2": "create:block/andesite_funnel_neutral",
|
||||
"6": "create:block/andesite_funnel",
|
||||
"5": "create:block/andesite_funnel_tall",
|
||||
"3": "create:block/andesite_funnel_back"
|
||||
}
|
||||
}
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"parent": "create:block/funnel/item",
|
||||
"textures": {
|
||||
"0": "create:block/brass_funnel_plating",
|
||||
"1": "create:block/brass_casing",
|
||||
"2": "create:block/brass_funnel",
|
||||
"particle": "create:block/brass_casing",
|
||||
"7": "create:block/brass_funnel_plating",
|
||||
"2": "create:block/brass_funnel_neutral",
|
||||
"6": "create:block/brass_funnel",
|
||||
"5": "create:block/brass_funnel_tall",
|
||||
"3": "create:block/brass_funnel_back"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/gantry_pinion/item"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/gantry_shaft/block_single"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/smart_chute/block"
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/kinetics/gantry_pinion"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"item": "create:andesite_casing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/kinetics/gantry_pinion"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/kinetics/gantry_shaft"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"item": "create:andesite_alloy"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/kinetics/gantry_shaft"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/kinetics/smart_chute"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"item": "create:chute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/kinetics/smart_chute"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:gantry_pinion"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:gantry_shaft"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:smart_chute"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
" B ",
|
||||
"ICI",
|
||||
" S "
|
||||
],
|
||||
"key": {
|
||||
"B": {
|
||||
"tag": "minecraft:planks"
|
||||
},
|
||||
"S": {
|
||||
"item": "create:cogwheel"
|
||||
},
|
||||
"C": {
|
||||
"item": "create:andesite_casing"
|
||||
},
|
||||
"I": {
|
||||
"item": "create:shaft"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:gantry_pinion"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"A",
|
||||
"R",
|
||||
"A"
|
||||
],
|
||||
"key": {
|
||||
"A": {
|
||||
"item": "create:andesite_alloy"
|
||||
},
|
||||
"R": {
|
||||
"tag": "forge:dusts/redstone"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:gantry_shaft",
|
||||
"count": 8
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"I",
|
||||
"S",
|
||||
"P"
|
||||
],
|
||||
"key": {
|
||||
"P": {
|
||||
"item": "create:electron_tube"
|
||||
},
|
||||
"S": {
|
||||
"item": "create:chute"
|
||||
},
|
||||
"I": {
|
||||
"tag": "forge:plates/brass"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:smart_chute"
|
||||
}
|
||||
}
|
|
@ -23,6 +23,7 @@
|
|||
"create:redstone_link",
|
||||
"create:analog_lever",
|
||||
"create:adjustable_repeater",
|
||||
"create:adjustable_pulse_repeater"
|
||||
"create:adjustable_pulse_repeater",
|
||||
"#minecraft:signs"
|
||||
]
|
||||
}
|
|
@ -58,7 +58,8 @@ public class AllBlockPartials {
|
|||
HARVESTER_BLADE = get("mechanical_harvester/blade"), DEPLOYER_POLE = get("deployer/pole"),
|
||||
DEPLOYER_HAND_POINTING = get("deployer/hand_pointing"), DEPLOYER_HAND_PUNCHING = get("deployer/hand_punching"),
|
||||
DEPLOYER_HAND_HOLDING = get("deployer/hand_holding"), ANALOG_LEVER_HANDLE = get("analog_lever/handle"),
|
||||
ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"), BELT_FUNNEL_FLAP = get("belt_funnel/flap"),
|
||||
ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"), FUNNEL_FLAP = get("funnel/flap"),
|
||||
BELT_FUNNEL_FLAP = get("belt_funnel/flap"),
|
||||
BELT_TUNNEL_FLAP = get("belt_tunnel/flap"), FLEXPEATER_INDICATOR = get("diodes/indicator"),
|
||||
FLYWHEEL = get("flywheel/wheel"), FLYWHEEL_UPPER_ROTATING = get("flywheel/upper_rotating_connector"),
|
||||
|
||||
|
@ -70,6 +71,8 @@ public class AllBlockPartials {
|
|||
CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), CUCKOO_PIG = get("cuckoo_clock/pig"),
|
||||
CUCKOO_CREEPER = get("cuckoo_clock/creeper"),
|
||||
|
||||
GANTRY_COGS = get("gantry_pinion/wheels"),
|
||||
|
||||
ROPE_COIL = get("rope_pulley/rope_coil"),
|
||||
ROPE_HALF = get("rope_pulley/rope_half"),
|
||||
ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"),
|
||||
|
@ -106,6 +109,8 @@ public class AllBlockPartials {
|
|||
|
||||
SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"),
|
||||
|
||||
SPEED_CONTROLLER_BRACKET = get("rotation_speed_controller/bracket"),
|
||||
|
||||
COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"),
|
||||
COUPLING_RING = getEntity("minecart_coupling/ring"),
|
||||
COUPLING_CONNECTOR = getEntity("minecart_coupling/connector")
|
||||
|
|
|
@ -54,6 +54,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock.ChassisCTBehaviour;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.RadialChassisBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock.MinecartAnchorBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem;
|
||||
|
@ -90,11 +91,11 @@ import com.simibubi.create.content.contraptions.processing.BasinMovementBehaviou
|
|||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockItem;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltColor;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltGenerator;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltModel;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticBlockModel;
|
||||
|
@ -117,6 +118,7 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelCTBeh
|
|||
import com.simibubi.create.content.logistics.block.chute.ChuteBlock;
|
||||
import com.simibubi.create.content.logistics.block.chute.ChuteGenerator;
|
||||
import com.simibubi.create.content.logistics.block.chute.ChuteItem;
|
||||
import com.simibubi.create.content.logistics.block.chute.SmartChuteBlock;
|
||||
import com.simibubi.create.content.logistics.block.depot.DepotBlock;
|
||||
import com.simibubi.create.content.logistics.block.diodes.AbstractDiodeGenerator;
|
||||
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterBlock;
|
||||
|
@ -127,10 +129,9 @@ import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterBlock;
|
|||
import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterGenerator;
|
||||
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock;
|
||||
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchGenerator;
|
||||
import com.simibubi.create.content.logistics.block.funnel.AndesiteBeltFunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.funnel.AndesiteFunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelGenerator;
|
||||
import com.simibubi.create.content.logistics.block.funnel.BrassBeltFunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.funnel.BrassFunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.funnel.FunnelMovementBehaviour;
|
||||
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
|
||||
|
@ -173,8 +174,10 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.state.properties.PistonType;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.util.Direction.AxisDirection;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
||||
import net.minecraftforge.client.model.generators.ModelFile;
|
||||
import net.minecraftforge.common.Tags;
|
||||
import net.minecraftforge.common.ToolType;
|
||||
|
||||
|
@ -299,7 +302,8 @@ public class AllBlocks {
|
|||
.blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> {
|
||||
String powered = state.get(AdjustablePulleyBlock.POWERED) ? "_powered" : "";
|
||||
return p.models()
|
||||
.withExistingParent(c.getName() + "_" + suffix + powered, p.modLoc("block/encased_chain_drive/" + suffix))
|
||||
.withExistingParent(c.getName() + "_" + suffix + powered,
|
||||
p.modLoc("block/encased_chain_drive/" + suffix))
|
||||
.texture("side", p.modLoc("block/" + c.getName() + powered));
|
||||
}).generate(c, p))
|
||||
.item()
|
||||
|
@ -314,7 +318,6 @@ public class AllBlocks {
|
|||
.properties(p -> p.hardnessAndResistance(0.8F))
|
||||
.blockstate(new BeltGenerator()::generate)
|
||||
.transform(StressConfigDefaults.setImpact(1.0))
|
||||
.onRegister(CreateRegistrate.blockColors(() -> BeltColor::new))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> BeltModel::new))
|
||||
.register();
|
||||
|
||||
|
@ -480,6 +483,13 @@ public class AllBlocks {
|
|||
.transform(customItemModel("_", "block"))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<SmartChuteBlock> SMART_CHUTE = REGISTRATE.block("smart_chute", SmartChuteBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.blockstate((c, p) -> BlockStateGen.simpleBlock(c, p, AssetLookup.forPowered(c, p)))
|
||||
.item()
|
||||
.transform(customItemModel("_", "block"))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<GaugeBlock> SPEEDOMETER = REGISTRATE.block("speedometer", GaugeBlock::speed)
|
||||
.initialProperties(SharedProperties::wooden)
|
||||
.transform(StressConfigDefaults.setNoImpact())
|
||||
|
@ -681,6 +691,38 @@ public class AllBlocks {
|
|||
.getString() + "/head"))))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<GantryPinionBlock> GANTRY_PINION =
|
||||
REGISTRATE.block("gantry_pinion", GantryPinionBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(Block.Properties::nonOpaque)
|
||||
.blockstate(BlockStateGen.directionalAxisBlockProvider())
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<GantryShaftBlock> GANTRY_SHAFT =
|
||||
REGISTRATE.block("gantry_shaft", GantryShaftBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.blockstate((c, p) -> p.directionalBlock(c.get(), s -> {
|
||||
boolean isPowered = s.get(GantryShaftBlock.POWERED);
|
||||
boolean isFlipped = s.get(GantryShaftBlock.FACING)
|
||||
.getAxisDirection() == AxisDirection.NEGATIVE;
|
||||
String partName = s.get(GantryShaftBlock.PART)
|
||||
.getName();
|
||||
String flipped = isFlipped ? "_flipped" : "";
|
||||
String powered = isPowered ? "_powered" : "";
|
||||
ModelFile existing = AssetLookup.partialBaseModel(c, p, partName);
|
||||
if (!isPowered && !isFlipped)
|
||||
return existing;
|
||||
return p.models()
|
||||
.withExistingParent("block/" + c.getName() + "_" + partName + powered + flipped,
|
||||
existing.getLocation())
|
||||
.texture("2", p.modLoc("block/" + c.getName() + powered + flipped));
|
||||
}))
|
||||
.item()
|
||||
.transform(customItemModel("_", "block_single"))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<WindmillBearingBlock> WINDMILL_BEARING =
|
||||
REGISTRATE.block("windmill_bearing", WindmillBearingBlock::new)
|
||||
.transform(BuilderTransformers.bearing("windmill", "gearbox", true))
|
||||
|
@ -1043,8 +1085,8 @@ public class AllBlocks {
|
|||
.transform(BuilderTransformers.funnel("andesite", Create.asResource("block/andesite_casing")))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<AndesiteBeltFunnelBlock> ANDESITE_BELT_FUNNEL =
|
||||
REGISTRATE.block("andesite_belt_funnel", AndesiteBeltFunnelBlock::new)
|
||||
public static final BlockEntry<BeltFunnelBlock> ANDESITE_BELT_FUNNEL =
|
||||
REGISTRATE.block("andesite_belt_funnel", p -> new BeltFunnelBlock(AllBlocks.ANDESITE_FUNNEL, p))
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.tag(AllBlockTags.SAFE_NBT.tag)
|
||||
.blockstate(new BeltFunnelGenerator("andesite", new ResourceLocation("block/polished_andesite"))::generate)
|
||||
|
@ -1059,8 +1101,8 @@ public class AllBlocks {
|
|||
.transform(BuilderTransformers.funnel("brass", Create.asResource("block/brass_casing")))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<BrassBeltFunnelBlock> BRASS_BELT_FUNNEL =
|
||||
REGISTRATE.block("brass_belt_funnel", BrassBeltFunnelBlock::new)
|
||||
public static final BlockEntry<BeltFunnelBlock> BRASS_BELT_FUNNEL =
|
||||
REGISTRATE.block("brass_belt_funnel", p -> new BeltFunnelBlock(AllBlocks.BRASS_FUNNEL, p))
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.tag(AllBlockTags.SAFE_NBT.tag)
|
||||
.blockstate(new BeltFunnelGenerator("brass", Create.asResource("block/brass_block"))::generate)
|
||||
|
|
|
@ -6,6 +6,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Con
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntityRenderer;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntityRenderer;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraptionEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraptionEntityRenderer;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueRenderer;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
@ -23,16 +25,27 @@ import net.minecraftforge.fml.client.registry.RenderingRegistry;
|
|||
public class AllEntityTypes {
|
||||
|
||||
public static final RegistryEntry<EntityType<OrientedContraptionEntity>> ORIENTED_CONTRAPTION =
|
||||
register("contraption", OrientedContraptionEntity::new, EntityClassification.MISC, 5, 3, true,
|
||||
AbstractContraptionEntity::build);
|
||||
contraption("contraption", OrientedContraptionEntity::new, 5, 3, true);
|
||||
public static final RegistryEntry<EntityType<ControlledContraptionEntity>> CONTROLLED_CONTRAPTION =
|
||||
register("stationary_contraption", ControlledContraptionEntity::new, EntityClassification.MISC, 20, 40, false,
|
||||
AbstractContraptionEntity::build);
|
||||
contraption("stationary_contraption", ControlledContraptionEntity::new, 20, 40, false);
|
||||
public static final RegistryEntry<EntityType<GantryContraptionEntity>> GANTRY_CONTRAPTION =
|
||||
contraption("gantry_contraption", GantryContraptionEntity::new, 10, 40, false);
|
||||
|
||||
public static final RegistryEntry<EntityType<SuperGlueEntity>> SUPER_GLUE = register("super_glue",
|
||||
SuperGlueEntity::new, EntityClassification.MISC, 10, Integer.MAX_VALUE, false, SuperGlueEntity::build);
|
||||
public static final RegistryEntry<EntityType<SeatEntity>> SEAT =
|
||||
register("seat", SeatEntity::new, EntityClassification.MISC, 0, Integer.MAX_VALUE, false, SeatEntity::build);
|
||||
|
||||
//
|
||||
|
||||
public static void register() {}
|
||||
|
||||
private static <T extends Entity> RegistryEntry<EntityType<T>> contraption(String name, IFactory<T> factory,
|
||||
int range, int updateFrequency, boolean sendVelocity) {
|
||||
return register(name, factory, EntityClassification.MISC, range, updateFrequency, sendVelocity,
|
||||
AbstractContraptionEntity::build);
|
||||
}
|
||||
|
||||
private static <T extends Entity> RegistryEntry<EntityType<T>> register(String name, IFactory<T> factory,
|
||||
EntityClassification group, int range, int updateFrequency, boolean sendVelocity,
|
||||
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
|
||||
|
@ -46,14 +59,14 @@ public class AllEntityTypes {
|
|||
.register();
|
||||
}
|
||||
|
||||
public static void register() {}
|
||||
|
||||
@OnlyIn(value = Dist.CLIENT)
|
||||
public static void registerRenderers() {
|
||||
RenderingRegistry.registerEntityRenderingHandler(CONTROLLED_CONTRAPTION.get(),
|
||||
ControlledContraptionEntityRenderer::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(ORIENTED_CONTRAPTION.get(),
|
||||
OrientedContraptionEntityRenderer::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(GANTRY_CONTRAPTION.get(),
|
||||
GantryContraptionEntityRenderer::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(SUPER_GLUE.get(), SuperGlueRenderer::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(SEAT.get(), SeatEntity.Render::new);
|
||||
}
|
||||
|
|
|
@ -41,10 +41,6 @@ public class AllShapes {
|
|||
SAIL_FRAME_COLLISION = shape(0, 5, 0, 16, 9, 16).erase(2, 0, 2, 14, 16, 14)
|
||||
.forDirectional(),
|
||||
SAIL_FRAME = shape(0, 5, 0, 16, 9, 16).forDirectional(), SAIL = shape(0, 5, 0, 16, 10, 16).forDirectional(),
|
||||
SPEED_CONTROLLER = shape(0, 0, 0, 16, 2, 16).add(1, 1, 1, 15, 15, 15)
|
||||
.erase(0, 8, 5, 16, 16, 11)
|
||||
.add(2, 9, 2, 14, 14, 14)
|
||||
.forHorizontalAxis(),
|
||||
HARVESTER_BASE = shape(0, 2, 0, 16, 14, 3).forDirectional(SOUTH),
|
||||
NOZZLE = shape(2, 0, 2, 14, 14, 14).add(1, 13, 1, 15, 15, 15)
|
||||
.erase(3, 13, 3, 13, 15, 13)
|
||||
|
@ -68,34 +64,26 @@ public class AllShapes {
|
|||
NIXIE_TUBE_CEILING = shape(0, 12, 0, 16, 16, 16).add(9, 1, 5, 15, 16, 11)
|
||||
.add(1, 1, 5, 7, 16, 11)
|
||||
.forHorizontalAxis(),
|
||||
FUNNEL = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13)
|
||||
.add(2, 6, 2, 14, 10, 14)
|
||||
.add(0, 10, 0, 16, 16, 16)
|
||||
.forDirectional(UP),
|
||||
FUNNEL_COLLISION = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13)
|
||||
.add(2, 6, 2, 14, 10, 14)
|
||||
.add(0, 10, 0, 16, 13, 16)
|
||||
.forDirectional(UP),
|
||||
FUNNEL_COLLISION = shape(0, 0, 0, 16, 4, 16).forDirectional(UP),
|
||||
BELT_FUNNEL_RETRACTED = shape(2, -2, 14, 14, 14, 18).add(0, -5, 8, 16, 16, 14)
|
||||
.forHorizontal(NORTH),
|
||||
BELT_FUNNEL_EXTENDED = shape(2, -2, 14, 14, 14, 18).add(3, -4, 10, 13, 13, 14)
|
||||
.add(2, -4, 6, 14, 14, 10)
|
||||
.add(0, -5, 0, 16, 16, 6)
|
||||
.forHorizontal(NORTH),
|
||||
BELT_FUNNEL_PERPENDICULAR =
|
||||
shape(2, -2, 14, 14, 14, 18)
|
||||
.add(1, 8, 12, 15, 15, 14)
|
||||
BELT_FUNNEL_PERPENDICULAR = shape(2, -2, 14, 14, 14, 18).add(1, 8, 12, 15, 15, 14)
|
||||
.add(0.1, 13, 7, 15.9, 15, 11)
|
||||
.add(0.1, 9, 8, 15.9, 13, 12)
|
||||
.add(0.1, 5, 9, 15.9, 9, 13)
|
||||
.add(0.1, 1, 10, 15.9, 5, 14)
|
||||
.add(0.1, -3, 11, 15.9, 1, 15)
|
||||
.forHorizontal(NORTH),
|
||||
BELT_FUNNEL_CONNECTED =
|
||||
shape(2, -2, 14, 14, 14, 18)
|
||||
.add(0, -5, 5, 16, 16, 11)
|
||||
.add(2, -4, 2, 14, 14, -2)
|
||||
.add(3, -2, 0, 13, 13, 16)
|
||||
FUNNEL = shape(2, 2, 14, 14, 14, 18).add(1, 8, 12, 15, 15, 14)
|
||||
.add(0.1, 13, 7, 15.9, 15, 11)
|
||||
.add(0.1, 9, 8, 15.9, 13, 12)
|
||||
.add(0.1, 5, 9, 15.9, 9, 13)
|
||||
.add(0.1, 1, 10, 15.9, 5, 14)
|
||||
.add(0.1, -1, 11, 15.9, 1, 15)
|
||||
.forHorizontal(NORTH),
|
||||
FLUID_VALVE = shape(3, -1, 3, 13, 17, 13).add(2, 2, 2, 14, 14, 14)
|
||||
.forAxis(),
|
||||
|
@ -152,6 +140,8 @@ public class AllShapes {
|
|||
BASIN_COLLISION_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 16, 14)
|
||||
.add(2, 0, 2, 14, 2, 14)
|
||||
.build(),
|
||||
SPEED_CONTROLLER = shape(0, 0, 0, 16, 4, 16).add(1, 1, 1, 15, 13, 15)
|
||||
.add(0, 8, 0, 16, 14, 16).build(),
|
||||
HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16)
|
||||
.build(),
|
||||
HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(),
|
||||
|
@ -183,6 +173,9 @@ public class AllShapes {
|
|||
.build(),
|
||||
CHUTE = shape(1, 8, 1, 15, 16, 15).add(2, 0, 2, 14, 8, 14)
|
||||
.build(),
|
||||
SMART_CHUTE = shape(0, 0, 0, 16, 5, 16).add(0, 9, 0, 16, 15, 16)
|
||||
.add(1, 0, 1, 15, 16, 15)
|
||||
.build(),
|
||||
TANK = shape(1, 0, 1, 15, 16, 15).build(), TANK_TOP = shape(TANK_TOP_LID).add(TANK)
|
||||
.build(),
|
||||
TANK_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK)
|
||||
|
@ -190,6 +183,12 @@ public class AllShapes {
|
|||
TANK_TOP_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK_TOP_LID)
|
||||
.add(TANK)
|
||||
.build(),
|
||||
FUNNEL_FLOOR = shape(2, -2, 2, 14, 8, 14).add(1, 2, 1, 15, 8, 15)
|
||||
.add(0, 4, 0, 16, 10, 16)
|
||||
.build(),
|
||||
FUNNEL_CEILING = shape(2, 8, 2, 14, 18, 14).add(1, 8, 1, 15, 14, 15)
|
||||
.add(0, 6, 0, 16, 12, 16)
|
||||
.build(),
|
||||
DEPOT = shape(CASING_11PX.get(Direction.UP)).add(1, 11, 1, 15, 13, 15)
|
||||
.build()
|
||||
|
||||
|
|
|
@ -18,44 +18,40 @@ import com.simibubi.create.foundation.block.render.SpriteShifter;
|
|||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import net.minecraft.block.WoodType;
|
||||
import net.minecraft.item.DyeColor;
|
||||
|
||||
public class AllSpriteShifts {
|
||||
|
||||
static final Map<WoodType, CTSpriteShiftEntry>
|
||||
WOODEN_WINDOWS = new IdentityHashMap<>();
|
||||
static final Map<PaletteStoneVariants, Map<PaletteBlockPatterns.CTs, CTSpriteShiftEntry>>
|
||||
PALETTE_VARIANT_PATTERNS = new IdentityHashMap<>();
|
||||
static final Map<WoodType, CTSpriteShiftEntry> WOODEN_WINDOWS = new IdentityHashMap<>();
|
||||
static final Map<PaletteStoneVariants, Map<PaletteBlockPatterns.CTs, CTSpriteShiftEntry>> PALETTE_VARIANT_PATTERNS =
|
||||
new IdentityHashMap<>();
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
FRAMED_GLASS = getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
|
||||
public static final Map<DyeColor, SpriteShiftEntry> DYED_BELTS = new IdentityHashMap<>(),
|
||||
DYED_OFFSET_BELTS = new IdentityHashMap<>(), DYED_DIAGONAL_BELTS = new IdentityHashMap<>();
|
||||
|
||||
public static final CTSpriteShiftEntry FRAMED_GLASS =
|
||||
getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
|
||||
HORIZONTAL_FRAMED_GLASS = getCT(HORIZONTAL, "palettes/framed_glass", "palettes/horizontal_framed_glass"),
|
||||
VERTICAL_FRAMED_GLASS = getCT(VERTICAL, "palettes/framed_glass", "palettes/vertical_framed_glass"),
|
||||
ORNATE_IRON_WINDOW = vertical("palettes/ornate_iron_window");
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
CRAFTER_FRONT = getCT(CTType.OMNIDIRECTIONAL, "crafter_top", "brass_casing"),
|
||||
public static final CTSpriteShiftEntry CRAFTER_FRONT = getCT(CTType.OMNIDIRECTIONAL, "crafter_top", "brass_casing"),
|
||||
CRAFTER_SIDE = getCT(CTType.VERTICAL, "crafter_side"),
|
||||
CRAFTER_OTHERSIDE = getCT(CTType.HORIZONTAL, "crafter_side");
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
ANDESITE_CASING = omni("andesite_casing"),
|
||||
BRASS_CASING = omni("brass_casing"),
|
||||
COPPER_CASING = omni("copper_casing"),
|
||||
SHADOW_STEEL_CASING = omni("shadow_steel_casing"),
|
||||
REFINED_RADIANCE_CASING = omni("refined_radiance_casing"),
|
||||
public static final CTSpriteShiftEntry ANDESITE_CASING = omni("andesite_casing"),
|
||||
BRASS_CASING = omni("brass_casing"), COPPER_CASING = omni("copper_casing"),
|
||||
SHADOW_STEEL_CASING = omni("shadow_steel_casing"), REFINED_RADIANCE_CASING = omni("refined_radiance_casing"),
|
||||
CREATIVE_CASING = getCT(CTType.CROSS, "creative_casing");
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"),
|
||||
|
||||
public static final CTSpriteShiftEntry CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"),
|
||||
CHASSIS_STICKY = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end_sticky");
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"),
|
||||
|
||||
public static final CTSpriteShiftEntry BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"),
|
||||
FLUID_TANK = getCT(CTType.CROSS, "fluid_tank"),
|
||||
CREATIVE_FLUID_TANK = getCT(CTType.CROSS, "creative_fluid_tank");
|
||||
|
||||
public static final SpriteShiftEntry
|
||||
BELT = SpriteShifter.get("block/belt", "block/belt_animated"),
|
||||
public static final SpriteShiftEntry BELT = SpriteShifter.get("block/belt", "block/belt_animated"),
|
||||
BELT_OFFSET = SpriteShifter.get("block/belt_offset", "block/belt_animated"),
|
||||
BELT_DIAGONAL = SpriteShifter.get("block/belt_diagonal", "block/belt_diagonal_animated"),
|
||||
ANDESIDE_BELT_CASING = SpriteShifter.get("block/brass_casing_belt", "block/andesite_casing_belt"),
|
||||
|
@ -93,6 +89,13 @@ public class AllSpriteShifts {
|
|||
map.put(texture, getCT(texture.type, target));
|
||||
}
|
||||
}
|
||||
|
||||
for (DyeColor color : DyeColor.values()) {
|
||||
String id = color.getName();
|
||||
DYED_BELTS.put(color, SpriteShifter.get("block/belt", "block/belt/" + id));
|
||||
DYED_OFFSET_BELTS.put(color, SpriteShifter.get("block/belt_offset", "block/belt/" + id));
|
||||
DYED_DIAGONAL_BELTS.put(color, SpriteShifter.get("block/belt_diagonal", "block/belt/" + id + "_diagonal"));
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -201,6 +201,7 @@ public class AllTags {
|
|||
|
||||
AllBlockTags.FAN_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.CAMPFIRE, Blocks.LAVA, Blocks.FIRE, Blocks.SOUL_FIRE,
|
||||
Blocks.SOUL_CAMPFIRE);
|
||||
AllBlockTags.SAFE_NBT.includeAll(BlockTags.SIGNS);
|
||||
|
||||
AllFluidTags.loadClass();
|
||||
}
|
||||
|
|
|
@ -40,6 +40,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionRenderer;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity;
|
||||
|
@ -68,6 +70,7 @@ import com.simibubi.create.content.contraptions.processing.BasinRenderer;
|
|||
import com.simibubi.create.content.contraptions.processing.BasinTileEntity;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerRenderer;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftTileEntity;
|
||||
|
@ -90,6 +93,8 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEn
|
|||
import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.chute.ChuteRenderer;
|
||||
import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.chute.SmartChuteRenderer;
|
||||
import com.simibubi.create.content.logistics.block.chute.SmartChuteTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.depot.DepotRenderer;
|
||||
import com.simibubi.create.content.logistics.block.depot.DepotTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity;
|
||||
|
@ -201,6 +206,18 @@ public class AllTileEntities {
|
|||
.validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK)
|
||||
.renderer(() -> CuckooClockRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<GantryShaftTileEntity> GANTRY_SHAFT = Create.registrate()
|
||||
.tileEntity("gantry_shaft", GantryShaftTileEntity::new)
|
||||
.validBlocks(AllBlocks.GANTRY_SHAFT)
|
||||
.renderer(() -> KineticTileEntityRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<GantryPinionTileEntity> GANTRY_PINION = Create.registrate()
|
||||
.tileEntity("gantry_pinion", GantryPinionTileEntity::new)
|
||||
.validBlocks(AllBlocks.GANTRY_PINION)
|
||||
.renderer(() -> GantryPinionRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<PumpTileEntity> MECHANICAL_PUMP = Create.registrate()
|
||||
.tileEntity("mechanical_pump", PumpTileEntity::new)
|
||||
|
@ -278,6 +295,12 @@ public class AllTileEntities {
|
|||
.renderer(() -> ChuteRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<SmartChuteTileEntity> SMART_CHUTE = Create.registrate()
|
||||
.tileEntity("smart_chute", SmartChuteTileEntity::new)
|
||||
.validBlocks(AllBlocks.SMART_CHUTE)
|
||||
.renderer(() -> SmartChuteRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<BeltTunnelTileEntity> ANDESITE_TUNNEL = Create.registrate()
|
||||
.tileEntity("andesite_tunnel", BeltTunnelTileEntity::new)
|
||||
.validBlocks(AllBlocks.ANDESITE_TUNNEL)
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler;
|
|||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
||||
import com.simibubi.create.content.schematics.ServerSchematicLoader;
|
||||
import com.simibubi.create.content.schematics.filtering.SchematicInstances;
|
||||
import com.simibubi.create.foundation.advancement.AllAdvancements;
|
||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||
import com.simibubi.create.foundation.command.ChunkUtil;
|
||||
|
@ -51,7 +52,7 @@ public class Create {
|
|||
|
||||
public static final String ID = "create";
|
||||
public static final String NAME = "Create";
|
||||
public static final String VERSION = "0.3";
|
||||
public static final String VERSION = "0.3.1";
|
||||
|
||||
public static Logger logger = LogManager.getLogger();
|
||||
public static ItemGroup baseCreativeTab = new CreateItemGroup();
|
||||
|
@ -101,6 +102,7 @@ public class Create {
|
|||
|
||||
public static void init(final FMLCommonSetupEvent event) {
|
||||
CapabilityMinecartController.register();
|
||||
SchematicInstances.register();
|
||||
schematicReceiver = new ServerSchematicLoader();
|
||||
redstoneLinkNetworkHandler = new RedstoneLinkNetworkHandler();
|
||||
torquePropagator = new TorquePropagator();
|
||||
|
|
|
@ -11,7 +11,6 @@ import com.simibubi.create.content.contraptions.base.IRotate;
|
|||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
|
||||
|
@ -70,11 +69,9 @@ public class RotationPropagator {
|
|||
boolean connectedByGears = definitionFrom.hasIntegratedCogwheel(world, from.getPos(), stateFrom)
|
||||
&& definitionTo.hasIntegratedCogwheel(world, to.getPos(), stateTo);
|
||||
|
||||
// Belt <-> Belt
|
||||
if (from instanceof BeltTileEntity && to instanceof BeltTileEntity && !connectedByAxis) {
|
||||
return ((BeltTileEntity) from).getController()
|
||||
.equals(((BeltTileEntity) to).getController()) ? 1 : 0;
|
||||
}
|
||||
float custom = from.propagateRotationTo(to, stateFrom, stateTo, diff, connectedByAxis, connectedByGears);
|
||||
if (custom != 0)
|
||||
return custom;
|
||||
|
||||
// Axis <-> Axis
|
||||
if (connectedByAxis) {
|
||||
|
@ -230,6 +227,9 @@ public class RotationPropagator {
|
|||
float newSpeed = getConveyedSpeed(currentTE, neighbourTE);
|
||||
float oppositeSpeed = getConveyedSpeed(neighbourTE, currentTE);
|
||||
|
||||
if (newSpeed == 0 && oppositeSpeed == 0)
|
||||
continue;
|
||||
|
||||
boolean incompatible =
|
||||
Math.signum(newSpeed) != Math.signum(speedOfNeighbour) && (newSpeed != 0 && speedOfNeighbour != 0);
|
||||
|
||||
|
@ -395,7 +395,7 @@ public class RotationPropagator {
|
|||
if (!(neighbourKTE.getBlockState()
|
||||
.getBlock() instanceof IRotate))
|
||||
return null;
|
||||
if (!isConnected(currentTE, neighbourKTE))
|
||||
if (!isConnected(currentTE, neighbourKTE) && !isConnected(neighbourKTE, currentTE))
|
||||
return null;
|
||||
return neighbourKTE;
|
||||
}
|
||||
|
@ -403,14 +403,9 @@ public class RotationPropagator {
|
|||
public static boolean isConnected(KineticTileEntity from, KineticTileEntity to) {
|
||||
final BlockState stateFrom = from.getBlockState();
|
||||
final BlockState stateTo = to.getBlockState();
|
||||
|
||||
if (isLargeCogToSpeedController(stateFrom, stateTo, to.getPos()
|
||||
.subtract(from.getPos())))
|
||||
return true;
|
||||
if (isLargeCogToSpeedController(stateTo, stateFrom, from.getPos()
|
||||
.subtract(to.getPos())))
|
||||
return true;
|
||||
return getRotationSpeedModifier(from, to) != 0;
|
||||
return isLargeCogToSpeedController(stateFrom, stateTo, to.getPos()
|
||||
.subtract(from.getPos())) || getRotationSpeedModifier(from, to) != 0
|
||||
|| from.isCustomConnection(to, stateFrom, stateTo);
|
||||
}
|
||||
|
||||
private static List<KineticTileEntity> getConnectedNeighbours(KineticTileEntity te) {
|
||||
|
@ -436,30 +431,11 @@ public class RotationPropagator {
|
|||
neighbours.add(te.getPos()
|
||||
.offset(facing));
|
||||
|
||||
// Some Blocks can interface diagonally
|
||||
BlockState blockState = te.getBlockState();
|
||||
boolean isLargeWheel = isLargeCog(blockState);
|
||||
|
||||
if (!(blockState.getBlock() instanceof IRotate))
|
||||
return neighbours;
|
||||
IRotate block = (IRotate) blockState.getBlock();
|
||||
|
||||
if (block.hasIntegratedCogwheel(te.getWorld(), te.getPos(), blockState) || isLargeWheel
|
||||
|| AllBlocks.BELT.has(blockState)) {
|
||||
Axis axis = block.getRotationAxis(blockState);
|
||||
|
||||
BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1))
|
||||
.forEach(offset -> {
|
||||
if (!isLargeWheel && axis.getCoordinate(offset.getX(), offset.getY(), offset.getZ()) != 0)
|
||||
return;
|
||||
if (offset.distanceSq(0, 0, 0, false) != BlockPos.ZERO.distanceSq(1, 1, 0, false))
|
||||
return;
|
||||
neighbours.add(te.getPos()
|
||||
.add(offset));
|
||||
});
|
||||
}
|
||||
|
||||
return neighbours;
|
||||
return te.addPropagationLocations(block, blockState, neighbours);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -31,7 +31,8 @@ public abstract class KineticBlock extends Block implements IRotate {
|
|||
|
||||
@Override
|
||||
public boolean canHarvestBlock(BlockState state, IBlockReader world, BlockPos pos, PlayerEntity player) {
|
||||
for (ToolType toolType : player.getHeldItemMainhand().getToolTypes()) {
|
||||
for (ToolType toolType : player.getHeldItemMainhand()
|
||||
.getToolTypes()) {
|
||||
if (isToolEffective(state, toolType))
|
||||
return true;
|
||||
}
|
||||
|
@ -46,6 +47,24 @@ public abstract class KineticBlock extends Block implements IRotate {
|
|||
@Override
|
||||
public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
// onBlockAdded is useless for init, as sometimes the TE gets re-instantiated
|
||||
|
||||
// however, if a block change occurs that does not change kinetic connections,
|
||||
// we can prevent a major re-propagation here
|
||||
|
||||
TileEntity tileEntity = worldIn.getTileEntity(pos);
|
||||
if (tileEntity instanceof KineticTileEntity) {
|
||||
KineticTileEntity kineticTileEntity = (KineticTileEntity) tileEntity;
|
||||
kineticTileEntity.preventSpeedUpdate = false;
|
||||
|
||||
if (oldState.getBlock() != state.getBlock())
|
||||
return;
|
||||
if (state.hasTileEntity() != oldState.hasTileEntity())
|
||||
return;
|
||||
if (!areStatesKineticallyEquivalent(oldState, state))
|
||||
return;
|
||||
|
||||
kineticTileEntity.preventSpeedUpdate = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -63,6 +82,10 @@ public abstract class KineticBlock extends Block implements IRotate {
|
|||
return true;
|
||||
}
|
||||
|
||||
protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) {
|
||||
return getRotationAxis(newState) == getRotationAxis(oldState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public abstract TileEntity createTileEntity(BlockState state, IBlockReader world);
|
||||
|
||||
|
@ -77,9 +100,14 @@ public abstract class KineticBlock extends Block implements IRotate {
|
|||
TileEntity tileEntity = worldIn.getTileEntity(pos);
|
||||
if (!(tileEntity instanceof KineticTileEntity))
|
||||
return;
|
||||
KineticTileEntity kte = (KineticTileEntity) tileEntity;
|
||||
|
||||
if (kte.preventSpeedUpdate) {
|
||||
kte.preventSpeedUpdate = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove previous information when block is added
|
||||
KineticTileEntity kte = (KineticTileEntity) tileEntity;
|
||||
kte.warnOfMovement();
|
||||
kte.clearKineticInformation();
|
||||
kte.updateSpeed = true;
|
||||
|
|
|
@ -30,6 +30,7 @@ import net.minecraft.tileentity.ITickableTileEntity;
|
|||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Direction.Axis;
|
||||
import net.minecraft.util.Direction.AxisDirection;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
|
@ -44,6 +45,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
|
|||
public @Nullable BlockPos source;
|
||||
public boolean networkDirty;
|
||||
public boolean updateSpeed;
|
||||
public boolean preventSpeedUpdate;
|
||||
|
||||
protected KineticEffectHandler effects;
|
||||
protected float speed;
|
||||
|
@ -363,11 +365,15 @@ public abstract class KineticTileEntity extends SmartTileEntity
|
|||
}
|
||||
|
||||
KineticTileEntity tileEntity = (KineticTileEntity) tileEntityIn;
|
||||
if (tileEntity.hasNetwork())
|
||||
tileEntity.getOrCreateNetwork()
|
||||
.remove(tileEntity);
|
||||
tileEntity.detachKinetics();
|
||||
tileEntity.removeSource();
|
||||
if (state.getBlock() instanceof KineticBlock
|
||||
&& !((KineticBlock) state.getBlock()).areStatesKineticallyEquivalent(currentState, state)) {
|
||||
if (tileEntity.hasNetwork())
|
||||
tileEntity.getOrCreateNetwork()
|
||||
.remove(tileEntity);
|
||||
tileEntity.detachKinetics();
|
||||
tileEntity.removeSource();
|
||||
}
|
||||
|
||||
world.setBlockState(pos, state, 3);
|
||||
}
|
||||
|
||||
|
@ -448,4 +454,72 @@ public abstract class KineticTileEntity extends SmartTileEntity
|
|||
return overStressed;
|
||||
}
|
||||
|
||||
// Custom Propagation
|
||||
|
||||
/**
|
||||
* Specify ratio of transferred rotation from this kinetic component to a
|
||||
* specific other.
|
||||
*
|
||||
* @param target other Kinetic TE to transfer to
|
||||
* @param stateFrom this TE's blockstate
|
||||
* @param stateTo other TE's blockstate
|
||||
* @param diff difference in position (to.pos - from.pos)
|
||||
* @param connectedViaAxes whether these kinetic blocks are connected via mutual
|
||||
* IRotate.hasShaftTowards()
|
||||
* @param connectedViaCogs whether these kinetic blocks are connected via mutual
|
||||
* IRotate.hasIntegratedCogwheel()
|
||||
* @return factor of rotation speed from this TE to other. 0 if no rotation is
|
||||
* transferred, or the standard rules apply (integrated shafts/cogs)
|
||||
*/
|
||||
public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff,
|
||||
boolean connectedViaAxes, boolean connectedViaCogs) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify additional locations the rotation propagator should look for
|
||||
* potentially connected components. Neighbour list contains offset positions in
|
||||
* all 6 directions by default.
|
||||
*
|
||||
* @param block
|
||||
* @param state
|
||||
* @param neighbours
|
||||
* @return
|
||||
*/
|
||||
public List<BlockPos> addPropagationLocations(IRotate block, BlockState state, List<BlockPos> neighbours) {
|
||||
if (!canPropagateDiagonally(block, state))
|
||||
return neighbours;
|
||||
|
||||
Axis axis = block.getRotationAxis(state);
|
||||
BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1))
|
||||
.forEach(offset -> {
|
||||
if (axis.getCoordinate(offset.getX(), offset.getY(), offset.getZ()) != 0)
|
||||
return;
|
||||
if (offset.distanceSq(0, 0, 0, false) != BlockPos.ZERO.distanceSq(1, 1, 0, false))
|
||||
return;
|
||||
neighbours.add(pos.add(offset));
|
||||
});
|
||||
return neighbours;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify whether this component can propagate speed to the other in any
|
||||
* circumstance. Shaft and cogwheel connections are already handled by internal
|
||||
* logic. Does not have to be specified on both ends, it is assumed that this
|
||||
* relation is symmetrical.
|
||||
*
|
||||
* @param other
|
||||
* @param state
|
||||
* @param otherState
|
||||
* @return true if this and the other component should check their propagation
|
||||
* factor and are not already connected via integrated cogs or shafts
|
||||
*/
|
||||
public boolean isCustomConnection(KineticTileEntity other, BlockState state, BlockState otherState) {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected boolean canPropagateDiagonally(IRotate block, BlockState state) {
|
||||
return block.hasIntegratedCogwheel(world, pos, state);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -185,8 +185,7 @@ public class DeployerTileEntity extends KineticTileEntity {
|
|||
if (state == State.EXPANDING) {
|
||||
if (boop)
|
||||
triggerBoop();
|
||||
else
|
||||
activate();
|
||||
activate();
|
||||
|
||||
state = State.RETRACTING;
|
||||
timer = 1000;
|
||||
|
|
|
@ -82,7 +82,7 @@ public class AirCurrent {
|
|||
protected void tickAffectedEntities(World world, Direction facing) {
|
||||
for (Iterator<Entity> iterator = caughtEntities.iterator(); iterator.hasNext();) {
|
||||
Entity entity = iterator.next();
|
||||
if (!entity.getBoundingBox()
|
||||
if (!entity.isAlive() || !entity.getBoundingBox()
|
||||
.intersects(bounds)) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.simibubi.create.content.contraptions.components.fan;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTileEntities;
|
||||
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
|
||||
import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock;
|
||||
import com.simibubi.create.foundation.block.ITE;
|
||||
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
|
||||
|
||||
|
@ -32,9 +32,16 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
|
|||
|
||||
@Override
|
||||
public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
super.onBlockAdded(state, worldIn, pos, oldState, isMoving);
|
||||
blockUpdate(state, worldIn, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateNeighbors(BlockState stateIn, IWorld worldIn, BlockPos pos, int flags) {
|
||||
super.updateNeighbors(stateIn, worldIn, pos, flags);
|
||||
blockUpdate(stateIn, worldIn, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState p_196243_4_, boolean p_196243_5_) {
|
||||
if (state.hasTileEntity() && (state.getBlock() != p_196243_4_.getBlock() || !p_196243_4_.hasTileEntity())) {
|
||||
|
@ -57,9 +64,9 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
|
|||
|
||||
BlockState placedOn = world.getBlockState(pos.offset(face.getOpposite()));
|
||||
BlockState placedOnOpposite = world.getBlockState(pos.offset(face));
|
||||
if (AllBlocks.CHUTE.has(placedOn))
|
||||
if (AbstractChuteBlock.isChute(placedOn))
|
||||
return getDefaultState().with(FACING, face.getOpposite());
|
||||
if (AllBlocks.CHUTE.has(placedOnOpposite))
|
||||
if (AbstractChuteBlock.isChute(placedOnOpposite))
|
||||
return getDefaultState().with(FACING, face);
|
||||
|
||||
Direction preferredFacing = getPreferredFacing(context);
|
||||
|
@ -69,13 +76,13 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
|
|||
.isSneaking() ? preferredFacing : preferredFacing.getOpposite());
|
||||
}
|
||||
|
||||
protected void blockUpdate(BlockState state, World worldIn, BlockPos pos) {
|
||||
protected void blockUpdate(BlockState state, IWorld worldIn, BlockPos pos) {
|
||||
if (worldIn instanceof WrappedWorld)
|
||||
return;
|
||||
notifyFanTile(worldIn, pos);
|
||||
if (worldIn.isRemote)
|
||||
if (worldIn.isRemote())
|
||||
return;
|
||||
withTileEntityDo(worldIn, pos, te -> te.updateGenerator(state.get(FACING)));
|
||||
withTileEntityDo(worldIn, pos, te -> te.queueGeneratorUpdate());
|
||||
}
|
||||
|
||||
protected void notifyFanTile(IWorld world, BlockPos pos) {
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.fan;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTags.AllBlockTags;
|
||||
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
|
||||
|
@ -19,7 +20,6 @@ import net.minecraft.util.Direction;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements IAirCurrentSource {
|
||||
|
||||
|
@ -28,18 +28,21 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
|
|||
protected int entitySearchCooldown;
|
||||
protected boolean isGenerator;
|
||||
protected boolean updateAirFlow;
|
||||
protected boolean updateGenerator;
|
||||
|
||||
public EncasedFanTileEntity(TileEntityType<? extends EncasedFanTileEntity> type) {
|
||||
super(type);
|
||||
isGenerator = false;
|
||||
airCurrent = new AirCurrent(this);
|
||||
updateAirFlow = true;
|
||||
updateGenerator = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void fromTag(BlockState state, CompoundNBT compound, boolean clientPacket) {
|
||||
super.fromTag(state, compound, clientPacket);
|
||||
isGenerator = compound.getBoolean("Generating");
|
||||
if (!wasMoved)
|
||||
isGenerator = compound.getBoolean("Generating");
|
||||
if (clientPacket)
|
||||
airCurrent.rebuild();
|
||||
}
|
||||
|
@ -65,12 +68,20 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
|
|||
return isGenerator ? AllConfigs.SERVER.kinetics.generatingFanSpeed.get() : 0;
|
||||
}
|
||||
|
||||
public void updateGenerator(Direction facing) {
|
||||
boolean shouldGenerate = world.isBlockPowered(pos) && facing == Direction.DOWN
|
||||
&& world.isBlockPresent(pos.down()) && blockBelowIsHot();
|
||||
public void queueGeneratorUpdate() {
|
||||
updateGenerator = true;
|
||||
}
|
||||
|
||||
public void updateGenerator() {
|
||||
BlockState blockState = getBlockState();
|
||||
if (!AllBlocks.ENCASED_FAN.has(blockState))
|
||||
return;
|
||||
if (blockState.get(EncasedFanBlock.FACING) != Direction.DOWN)
|
||||
return;
|
||||
|
||||
boolean shouldGenerate = world.isBlockPowered(pos) && world.isBlockPresent(pos.down()) && blockBelowIsHot();
|
||||
if (shouldGenerate == isGenerator)
|
||||
return;
|
||||
|
||||
isGenerator = shouldGenerate;
|
||||
updateGeneratedRotation();
|
||||
}
|
||||
|
@ -171,6 +182,11 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
|
|||
airCurrent.rebuild();
|
||||
sendData();
|
||||
}
|
||||
|
||||
if (updateGenerator) {
|
||||
updateGenerator = false;
|
||||
updateGenerator();
|
||||
}
|
||||
|
||||
if (getSpeed() == 0 || isGenerator)
|
||||
return;
|
||||
|
|
|
@ -27,8 +27,8 @@ public class CreativeMotorTileEntity extends GeneratingKineticTileEntity {
|
|||
super.addBehaviours(behaviours);
|
||||
Integer max = AllConfigs.SERVER.kinetics.maxMotorSpeed.get();
|
||||
|
||||
CenteredSideValueBoxTransform slot =
|
||||
new CenteredSideValueBoxTransform((motor, side) -> motor.get(CreativeMotorBlock.FACING) == side.getOpposite());
|
||||
CenteredSideValueBoxTransform slot = new CenteredSideValueBoxTransform(
|
||||
(motor, side) -> motor.get(CreativeMotorBlock.FACING) == side.getOpposite());
|
||||
|
||||
generatedSpeed = new ScrollValueBehaviour(Lang.translate("generic.speed"), this, slot);
|
||||
generatedSpeed.between(-max, max);
|
||||
|
@ -55,20 +55,21 @@ public class CreativeMotorTileEntity extends GeneratingKineticTileEntity {
|
|||
}
|
||||
|
||||
public static int step(StepContext context) {
|
||||
if (context.shift)
|
||||
return 1;
|
||||
|
||||
int current = context.currentValue;
|
||||
int magnitude = Math.abs(current) - (context.forward == current > 0 ? 0 : 1);
|
||||
int step = 1;
|
||||
|
||||
if (magnitude >= 4)
|
||||
step *= 4;
|
||||
if (magnitude >= 32)
|
||||
step *= 4;
|
||||
if (magnitude >= 128)
|
||||
step *= 4;
|
||||
return step;
|
||||
if (!context.shift) {
|
||||
int magnitude = Math.abs(current) - (context.forward == current > 0 ? 0 : 1);
|
||||
|
||||
if (magnitude >= 4)
|
||||
step *= 4;
|
||||
if (magnitude >= 32)
|
||||
step *= 4;
|
||||
if (magnitude >= 128)
|
||||
step *= 4;
|
||||
}
|
||||
|
||||
return (int) (current + (context.forward ? step : -step) == 0 ? step + 1 : step);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -154,6 +154,8 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
|
|||
|
||||
for (ItemEntity itemEntity : world.getEntitiesWithinAABB(ItemEntity.class,
|
||||
new AxisAlignedBB(pos.down()).shrink(.125f))) {
|
||||
if (!itemEntity.isAlive() || !itemEntity.onGround)
|
||||
continue;
|
||||
ItemStack stack = itemEntity.getItem();
|
||||
Optional<PressingRecipe> recipe = getRecipe(stack);
|
||||
if (!recipe.isPresent())
|
||||
|
@ -234,7 +236,7 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
|
|||
for (Entity entity : world.getEntitiesWithinAABBExcludingEntity(null, bb)) {
|
||||
if (!(entity instanceof ItemEntity))
|
||||
continue;
|
||||
if (!entity.isAlive())
|
||||
if (!entity.isAlive() || !entity.onGround)
|
||||
continue;
|
||||
ItemEntity itemEntity = (ItemEntity) entity;
|
||||
pressedItems.add(itemEntity.getItem());
|
||||
|
|
|
@ -73,6 +73,10 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
|
|||
return;
|
||||
contraption.onEntityCreated(this);
|
||||
}
|
||||
|
||||
public boolean supportsTerrainCollision() {
|
||||
return contraption instanceof TranslatingContraption;
|
||||
}
|
||||
|
||||
protected void contraptionInitialize() {
|
||||
contraption.onEntityInitialize(world, this);
|
||||
|
@ -594,7 +598,7 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
|
|||
}
|
||||
|
||||
public static class ContraptionRotationState {
|
||||
static final ContraptionRotationState NONE = new ContraptionRotationState();
|
||||
public static final ContraptionRotationState NONE = new ContraptionRotationState();
|
||||
|
||||
float xRotation = 0;
|
||||
float yRotation = 0;
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
package com.simibubi.create.content.contraptions.components.structureMovement;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyContraption;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
public enum AllContraptionTypes {
|
||||
|
||||
PISTON(PistonContraption::new),
|
||||
BEARING(BearingContraption::new),
|
||||
PULLEY(PulleyContraption::new),
|
||||
CLOCKWORK(ClockworkContraption::new),
|
||||
MOUNTED(MountedContraption::new),
|
||||
STABILIZED(StabilizedContraption::new),
|
||||
|
||||
;
|
||||
|
||||
Supplier<? extends Contraption> factory;
|
||||
String id;
|
||||
|
||||
private AllContraptionTypes(Supplier<? extends Contraption> factory) {
|
||||
this.factory = factory;
|
||||
id = Lang.asId(name());
|
||||
}
|
||||
|
||||
public static Contraption fromType(String type) {
|
||||
for (AllContraptionTypes allContraptionTypes : values())
|
||||
if (type.equals(allContraptionTypes.id))
|
||||
return allContraptionTypes.factory.get();
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -228,6 +228,12 @@ public class BlockMovementTraits {
|
|||
if (state.getBlock() instanceof SailBlock)
|
||||
return facing.getAxis() == state.get(SailBlock.FACING)
|
||||
.getAxis();
|
||||
if (AllBlocks.PISTON_EXTENSION_POLE.has(state))
|
||||
return facing.getAxis() != state.get(BlockStateProperties.FACING)
|
||||
.getAxis();
|
||||
if (AllBlocks.MECHANICAL_PISTON_HEAD.has(state))
|
||||
return facing.getAxis() != state.get(BlockStateProperties.FACING)
|
||||
.getAxis();
|
||||
return isBrittle(state);
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.apache.commons.lang3.tuple.Pair;
|
|||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllMovementBehaviours;
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.actors.SeatBlock;
|
||||
import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
|
||||
|
@ -30,16 +31,19 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.AbstractChassisBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueHandler;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonHeadBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
||||
import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
|
||||
import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock;
|
||||
|
@ -49,6 +53,7 @@ import com.simibubi.create.foundation.utility.BlockFace;
|
|||
import com.simibubi.create.foundation.utility.BlockHelper;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.foundation.utility.NBTProcessors;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
|
||||
|
||||
|
@ -60,6 +65,7 @@ import net.minecraft.block.ChestBlock;
|
|||
import net.minecraft.block.DoorBlock;
|
||||
import net.minecraft.block.IWaterLoggable;
|
||||
import net.minecraft.block.PressurePlateBlock;
|
||||
import net.minecraft.block.material.PushReaction;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.fluid.FluidState;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
|
@ -70,6 +76,7 @@ import net.minecraft.nbt.NBTUtil;
|
|||
import net.minecraft.state.properties.BlockStateProperties;
|
||||
import net.minecraft.state.properties.ChestType;
|
||||
import net.minecraft.state.properties.DoubleBlockHalf;
|
||||
import net.minecraft.state.properties.PistonType;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Direction.Axis;
|
||||
|
@ -135,9 +142,9 @@ public abstract class Contraption {
|
|||
|
||||
public abstract boolean assemble(World world, BlockPos pos);
|
||||
|
||||
protected abstract boolean canAxisBeStabilized(Axis axis);
|
||||
public abstract boolean canBeStabilized(Direction facing, BlockPos localPos);
|
||||
|
||||
protected abstract AllContraptionTypes getType();
|
||||
protected abstract ContraptionType getType();
|
||||
|
||||
protected boolean customBlockPlacement(IWorld world, BlockPos pos, BlockState state) {
|
||||
return false;
|
||||
|
@ -154,7 +161,7 @@ public abstract class Contraption {
|
|||
|
||||
public static Contraption fromNBT(World world, CompoundNBT nbt, boolean spawnData) {
|
||||
String type = nbt.getString("Type");
|
||||
Contraption contraption = AllContraptionTypes.fromType(type);
|
||||
Contraption contraption = ContraptionType.fromType(type);
|
||||
contraption.readNBT(world, nbt, spawnData);
|
||||
return contraption;
|
||||
}
|
||||
|
@ -241,7 +248,7 @@ public abstract class Contraption {
|
|||
fluidStorage.forEach((pos, mfs) -> mfs.tick(entity, pos, world.isRemote));
|
||||
}
|
||||
|
||||
protected boolean moveBlock(World world, BlockPos pos, Direction forcedDirection, List<BlockPos> frontier,
|
||||
protected boolean moveBlock(World world, BlockPos pos, @Nullable Direction forcedDirection, List<BlockPos> frontier,
|
||||
Set<BlockPos> visited) {
|
||||
visited.add(pos);
|
||||
frontier.remove(pos);
|
||||
|
@ -265,6 +272,12 @@ public abstract class Contraption {
|
|||
if (AllBlocks.BELT.has(state))
|
||||
moveBelt(pos, frontier, visited, state);
|
||||
|
||||
if (AllBlocks.GANTRY_PINION.has(state))
|
||||
moveGantryPinion(world, pos, frontier, visited, state);
|
||||
|
||||
if (AllBlocks.GANTRY_SHAFT.has(state))
|
||||
moveGantryShaft(world, pos, frontier, visited, state);
|
||||
|
||||
// Bearings potentially create stabilized sub-contraptions
|
||||
if (AllBlocks.MECHANICAL_BEARING.has(state))
|
||||
moveBearing(pos, frontier, visited, state);
|
||||
|
@ -281,6 +294,10 @@ public abstract class Contraption {
|
|||
if (state.getBlock() instanceof MechanicalPistonBlock)
|
||||
if (!moveMechanicalPiston(world, pos, frontier, visited, state))
|
||||
return false;
|
||||
if (isExtensionPole(state))
|
||||
movePistonPole(world, pos, frontier, visited, state);
|
||||
if (isPistonHead(state))
|
||||
movePistonHead(world, pos, frontier, visited, state);
|
||||
|
||||
// Doors try to stay whole
|
||||
if (state.getBlock() instanceof DoorBlock) {
|
||||
|
@ -297,14 +314,13 @@ public abstract class Contraption {
|
|||
Map<Direction, SuperGlueEntity> superglue = SuperGlueHandler.gatherGlue(world, pos);
|
||||
|
||||
// Slime blocks and super glue drag adjacent blocks if possible
|
||||
boolean isStickyBlock = state.isStickyBlock();
|
||||
for (Direction offset : Iterate.directions) {
|
||||
BlockPos offsetPos = pos.offset(offset);
|
||||
BlockState blockState = world.getBlockState(offsetPos);
|
||||
if (isAnchoringBlockAt(offsetPos))
|
||||
continue;
|
||||
if (!movementAllowed(world, offsetPos)) {
|
||||
if (offset == forcedDirection && isStickyBlock)
|
||||
if (offset == forcedDirection)
|
||||
return false;
|
||||
continue;
|
||||
}
|
||||
|
@ -314,8 +330,20 @@ public abstract class Contraption {
|
|||
boolean blockAttachedTowardsFace =
|
||||
BlockMovementTraits.isBlockAttachedTowards(world, offsetPos, blockState, offset.getOpposite());
|
||||
boolean brittle = BlockMovementTraits.isBrittle(blockState);
|
||||
boolean canStick = !brittle && state.canStickTo(blockState) && blockState.canStickTo(state);
|
||||
if (canStick) {
|
||||
if (state.getPushReaction() == PushReaction.PUSH_ONLY || blockState.getPushReaction() == PushReaction.PUSH_ONLY) {
|
||||
canStick = false;
|
||||
}
|
||||
if (BlockMovementTraits.notSupportive(state, offset)) {
|
||||
canStick = false;
|
||||
}
|
||||
if (BlockMovementTraits.notSupportive(blockState, offset.getOpposite())) {
|
||||
canStick = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!wasVisited && ((isStickyBlock && !brittle) || blockAttachedTowardsFace || faceHasGlue))
|
||||
if (!wasVisited && (canStick || blockAttachedTowardsFace || faceHasGlue || (offset == forcedDirection && !BlockMovementTraits.notSupportive(state, forcedDirection))))
|
||||
frontier.add(offsetPos);
|
||||
if (faceHasGlue)
|
||||
addGlue(superglue.get(offset));
|
||||
|
@ -325,9 +353,86 @@ public abstract class Contraption {
|
|||
return blocks.size() <= AllConfigs.SERVER.kinetics.maxBlocksMoved.get();
|
||||
}
|
||||
|
||||
protected void movePistonHead(World world, BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited,
|
||||
BlockState state) {
|
||||
Direction direction = state.get(MechanicalPistonHeadBlock.FACING);
|
||||
BlockPos offset = pos.offset(direction.getOpposite());
|
||||
if (!visited.contains(offset)) {
|
||||
BlockState blockState = world.getBlockState(offset);
|
||||
if (isExtensionPole(blockState) && blockState.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis() == direction.getAxis())
|
||||
frontier.add(offset);
|
||||
if (blockState.getBlock() instanceof MechanicalPistonBlock) {
|
||||
Direction pistonFacing = blockState.get(MechanicalPistonBlock.FACING);
|
||||
if (pistonFacing == direction && blockState.get(MechanicalPistonBlock.STATE) == PistonState.EXTENDED)
|
||||
frontier.add(offset);
|
||||
}
|
||||
}
|
||||
if (state.get(MechanicalPistonHeadBlock.TYPE) == PistonType.STICKY) {
|
||||
BlockPos attached = pos.offset(direction);
|
||||
if (!visited.contains(attached))
|
||||
frontier.add(attached);
|
||||
}
|
||||
}
|
||||
|
||||
protected void movePistonPole(World world, BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited,
|
||||
BlockState state) {
|
||||
for (Direction d : Iterate.directionsInAxis(state.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis())) {
|
||||
BlockPos offset = pos.offset(d);
|
||||
if (!visited.contains(offset)) {
|
||||
BlockState blockState = world.getBlockState(offset);
|
||||
if (isExtensionPole(blockState) && blockState.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis() == d.getAxis())
|
||||
frontier.add(offset);
|
||||
if (isPistonHead(blockState) && blockState.get(MechanicalPistonHeadBlock.FACING)
|
||||
.getAxis() == d.getAxis())
|
||||
frontier.add(offset);
|
||||
if (blockState.getBlock() instanceof MechanicalPistonBlock) {
|
||||
Direction pistonFacing = blockState.get(MechanicalPistonBlock.FACING);
|
||||
if (pistonFacing == d || pistonFacing == d.getOpposite()
|
||||
&& blockState.get(MechanicalPistonBlock.STATE) == PistonState.EXTENDED)
|
||||
frontier.add(offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void moveGantryPinion(World world, BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited,
|
||||
BlockState state) {
|
||||
BlockPos offset = pos.offset(state.get(GantryPinionBlock.FACING));
|
||||
if (!visited.contains(offset))
|
||||
frontier.add(offset);
|
||||
Axis rotationAxis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||
for (Direction d : Iterate.directionsInAxis(rotationAxis)) {
|
||||
offset = pos.offset(d);
|
||||
BlockState offsetState = world.getBlockState(offset);
|
||||
if (AllBlocks.GANTRY_SHAFT.has(offsetState) && offsetState.get(GantryShaftBlock.FACING)
|
||||
.getAxis() == d.getAxis())
|
||||
if (!visited.contains(offset))
|
||||
frontier.add(offset);
|
||||
}
|
||||
}
|
||||
|
||||
protected void moveGantryShaft(World world, BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited,
|
||||
BlockState state) {
|
||||
for (Direction d : Iterate.directions) {
|
||||
BlockPos offset = pos.offset(d);
|
||||
if (!visited.contains(offset)) {
|
||||
BlockState offsetState = world.getBlockState(offset);
|
||||
Direction facing = state.get(GantryShaftBlock.FACING);
|
||||
if (d.getAxis() == facing.getAxis() && AllBlocks.GANTRY_SHAFT.has(offsetState)
|
||||
&& offsetState.get(GantryShaftBlock.FACING) == facing)
|
||||
frontier.add(offset);
|
||||
else if (AllBlocks.GANTRY_PINION.has(offsetState) && offsetState.get(GantryPinionBlock.FACING) == d)
|
||||
frontier.add(offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void moveBearing(BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited, BlockState state) {
|
||||
Direction facing = state.get(MechanicalBearingBlock.FACING);
|
||||
if (!canAxisBeStabilized(facing.getAxis())) {
|
||||
if (!canBeStabilized(facing, pos.subtract(anchor))) {
|
||||
BlockPos offset = pos.offset(facing);
|
||||
if (!visited.contains(offset))
|
||||
frontier.add(offset);
|
||||
|
@ -377,47 +482,25 @@ public abstract class Contraption {
|
|||
|
||||
private boolean moveMechanicalPiston(World world, BlockPos pos, List<BlockPos> frontier, Set<BlockPos> visited,
|
||||
BlockState state) {
|
||||
int limit = AllConfigs.SERVER.kinetics.maxPistonPoles.get();
|
||||
Direction direction = state.get(MechanicalPistonBlock.FACING);
|
||||
if (state.get(MechanicalPistonBlock.STATE) == PistonState.EXTENDED) {
|
||||
BlockPos searchPos = pos;
|
||||
while (limit-- >= 0) {
|
||||
searchPos = searchPos.offset(direction);
|
||||
BlockState blockState = world.getBlockState(searchPos);
|
||||
if (isExtensionPole(blockState)) {
|
||||
if (blockState.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis() != direction.getAxis())
|
||||
break;
|
||||
if (!visited.contains(searchPos))
|
||||
frontier.add(searchPos);
|
||||
continue;
|
||||
}
|
||||
if (isPistonHead(blockState))
|
||||
if (!visited.contains(searchPos))
|
||||
frontier.add(searchPos);
|
||||
break;
|
||||
}
|
||||
if (limit <= -1)
|
||||
return false;
|
||||
}
|
||||
|
||||
BlockPos searchPos = pos;
|
||||
while (limit-- >= 0) {
|
||||
searchPos = searchPos.offset(direction.getOpposite());
|
||||
BlockState blockState = world.getBlockState(searchPos);
|
||||
if (isExtensionPole(blockState)) {
|
||||
if (blockState.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis() != direction.getAxis())
|
||||
break;
|
||||
if (!visited.contains(searchPos))
|
||||
frontier.add(searchPos);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (limit <= -1)
|
||||
PistonState pistonState = state.get(MechanicalPistonBlock.STATE);
|
||||
if (pistonState == PistonState.MOVING)
|
||||
return false;
|
||||
|
||||
BlockPos offset = pos.offset(direction.getOpposite());
|
||||
if (!visited.contains(offset)) {
|
||||
BlockState poleState = world.getBlockState(offset);
|
||||
if (AllBlocks.PISTON_EXTENSION_POLE.has(poleState) && poleState.get(PistonExtensionPoleBlock.FACING)
|
||||
.getAxis() == direction.getAxis())
|
||||
frontier.add(offset);
|
||||
}
|
||||
|
||||
if (pistonState == PistonState.EXTENDED || MechanicalPistonBlock.isStickyPiston(state)) {
|
||||
offset = pos.offset(direction);
|
||||
if (!visited.contains(offset))
|
||||
frontier.add(offset);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -727,7 +810,8 @@ public abstract class Contraption {
|
|||
if (brittles != BlockMovementTraits.isBrittle(block.state))
|
||||
continue;
|
||||
|
||||
BlockPos add = block.pos.add(anchor).add(offset);
|
||||
BlockPos add = block.pos.add(anchor)
|
||||
.add(offset);
|
||||
if (customBlockRemoval(world, add, block.state))
|
||||
continue;
|
||||
BlockState oldState = world.getBlockState(add);
|
||||
|
@ -735,7 +819,8 @@ public abstract class Contraption {
|
|||
if (block.state.getBlock() != blockIn)
|
||||
iterator.remove();
|
||||
world.removeTileEntity(add);
|
||||
int flags = BlockFlags.IS_MOVING | BlockFlags.NO_NEIGHBOR_DROPS | BlockFlags.UPDATE_NEIGHBORS;
|
||||
int flags = BlockFlags.IS_MOVING | BlockFlags.NO_NEIGHBOR_DROPS | BlockFlags.UPDATE_NEIGHBORS
|
||||
| BlockFlags.BLOCK_UPDATE;
|
||||
if (blockIn instanceof IWaterLoggable && oldState.contains(BlockStateProperties.WATERLOGGED)
|
||||
&& oldState.get(BlockStateProperties.WATERLOGGED)
|
||||
.booleanValue()) {
|
||||
|
@ -747,6 +832,8 @@ public abstract class Contraption {
|
|||
}
|
||||
for (BlockInfo block : blocks.values()) {
|
||||
BlockPos add = block.pos.add(anchor).add(offset);
|
||||
if (!shouldUpdateAfterMovement(block))
|
||||
continue;
|
||||
world.markAndNotifyBlock(add, world.getChunkAt(add), block.state, Blocks.AIR.getDefaultState(), BlockFlags.IS_MOVING | BlockFlags.DEFAULT, 512);
|
||||
}
|
||||
}
|
||||
|
@ -797,6 +884,8 @@ public abstract class Contraption {
|
|||
|
||||
TileEntity tileEntity = world.getTileEntity(targetPos);
|
||||
CompoundNBT tag = block.nbt;
|
||||
if (tileEntity != null)
|
||||
tag = NBTProcessors.process(tileEntity, tag, false);
|
||||
if (tileEntity != null && tag != null) {
|
||||
tag.putInt("x", targetPos.getX());
|
||||
tag.putInt("y", targetPos.getY());
|
||||
|
@ -827,6 +916,8 @@ public abstract class Contraption {
|
|||
}
|
||||
}
|
||||
for (BlockInfo block : blocks.values()) {
|
||||
if (!shouldUpdateAfterMovement(block))
|
||||
continue;
|
||||
BlockPos targetPos = transform.apply(block.pos);
|
||||
world.markAndNotifyBlock(targetPos, world.getChunkAt(targetPos), block.state, block.state, BlockFlags.IS_MOVING | BlockFlags.DEFAULT, 512);
|
||||
}
|
||||
|
@ -888,6 +979,10 @@ public abstract class Contraption {
|
|||
callBack.accept(AllMovementBehaviours.of(pair.getLeft().state), pair.getRight());
|
||||
}
|
||||
|
||||
protected boolean shouldUpdateAfterMovement(BlockInfo info) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void expandBoundsAroundAxis(Axis axis) {
|
||||
AxisAlignedBB bb = bounds;
|
||||
double maxXDiff = Math.max(bb.maxX - 1, -bb.minX);
|
||||
|
@ -956,4 +1051,4 @@ public abstract class Contraption {
|
|||
mountedFluidStorage.updateFluid(containedFluid);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -347,7 +347,7 @@ public class ContraptionCollider {
|
|||
return potentialHits;
|
||||
}
|
||||
|
||||
public static boolean collideBlocks(ControlledContraptionEntity contraptionEntity) {
|
||||
public static boolean collideBlocks(AbstractContraptionEntity contraptionEntity) {
|
||||
if (!contraptionEntity.supportsTerrainCollision())
|
||||
return false;
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
package com.simibubi.create.content.contraptions.components.structureMovement;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonContraption;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyContraption;
|
||||
|
||||
public class ContraptionType {
|
||||
|
||||
public static Map<String, ContraptionType> entries = new HashMap<>();
|
||||
public static ContraptionType
|
||||
PISTON = register("piston", PistonContraption::new),
|
||||
BEARING = register("bearing", BearingContraption::new),
|
||||
PULLEY = register("pulley", PulleyContraption::new),
|
||||
CLOCKWORK = register("clockwork", ClockworkContraption::new),
|
||||
MOUNTED = register("mounted", MountedContraption::new),
|
||||
STABILIZED = register("stabilized", StabilizedContraption::new),
|
||||
GANTRY = register("gantry", GantryContraption::new);
|
||||
|
||||
Supplier<? extends Contraption> factory;
|
||||
String id;
|
||||
|
||||
public static ContraptionType register(String id, Supplier<? extends Contraption> factory) {
|
||||
ContraptionType value = new ContraptionType(id, factory);
|
||||
entries.put(id, value);
|
||||
return value;
|
||||
}
|
||||
|
||||
private ContraptionType(String id, Supplier<? extends Contraption> factory) {
|
||||
this.factory = factory;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public static Contraption fromType(String type) {
|
||||
for (Entry<String, ContraptionType> allContraptionTypes : entries.entrySet())
|
||||
if (type.equals(allContraptionTypes.getKey()))
|
||||
return allContraptionTypes.getValue().factory.get();
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -46,10 +46,6 @@ public class ControlledContraptionEntity extends AbstractContraptionEntity {
|
|||
return entity;
|
||||
}
|
||||
|
||||
public boolean supportsTerrainCollision() {
|
||||
return contraption instanceof TranslatingContraption;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector3d getContactPointMotion(Vector3d globalContactPoint) {
|
||||
if (contraption instanceof TranslatingContraption)
|
||||
|
@ -151,8 +147,6 @@ public class ControlledContraptionEntity extends AbstractContraptionEntity {
|
|||
}
|
||||
|
||||
Vector3d motion = getMotion();
|
||||
if (motion.length() < 1 / 4098f)
|
||||
setMotion(Vector3d.ZERO);
|
||||
move(motion.x, motion.y, motion.z);
|
||||
if (ContraptionCollider.collideBlocks(this))
|
||||
getController().collided();
|
||||
|
|
|
@ -22,7 +22,7 @@ public class OrientedContraptionEntityRenderer extends AbstractContraptionEntity
|
|||
if (!super.shouldRender(entity, p_225626_2_, p_225626_3_, p_225626_5_, p_225626_7_))
|
||||
return false;
|
||||
if (entity.getContraption()
|
||||
.getType() == AllContraptionTypes.MOUNTED && entity.getRidingEntity() == null)
|
||||
.getType() == ContraptionType.MOUNTED && entity.getRidingEntity() == null)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue