Port new changes

This commit is contained in:
simibubi 2021-02-19 00:50:05 +01:00
parent 4ee9dd8a8a
commit 355a1dd95d
29 changed files with 249 additions and 187 deletions

View file

@ -7,16 +7,22 @@
"model": "create:block/andesite_funnel_floor_push" "model": "create:block/andesite_funnel_floor_push"
}, },
"extracting=false,face=wall,facing=north,powered=false": { "extracting=false,face=wall,facing=north,powered=false": {
"model": "create:block/andesite_funnel_wall_pull" "model": "create:block/andesite_funnel_wall_pull",
"x": 90
}, },
"extracting=true,face=wall,facing=north,powered=false": { "extracting=true,face=wall,facing=north,powered=false": {
"model": "create:block/andesite_funnel_wall_push" "model": "create:block/andesite_funnel_wall_push",
"x": 90
}, },
"extracting=false,face=ceiling,facing=north,powered=false": { "extracting=false,face=ceiling,facing=north,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull" "model": "create:block/andesite_funnel_ceiling_pull",
"x": 180,
"y": 180
}, },
"extracting=true,face=ceiling,facing=north,powered=false": { "extracting=true,face=ceiling,facing=north,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push" "model": "create:block/andesite_funnel_ceiling_push",
"x": 180,
"y": 180
}, },
"extracting=false,face=floor,facing=south,powered=false": { "extracting=false,face=floor,facing=south,powered=false": {
"model": "create:block/andesite_funnel_floor_pull", "model": "create:block/andesite_funnel_floor_pull",
@ -28,19 +34,21 @@
}, },
"extracting=false,face=wall,facing=south,powered=false": { "extracting=false,face=wall,facing=south,powered=false": {
"model": "create:block/andesite_funnel_wall_pull", "model": "create:block/andesite_funnel_wall_pull",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=true,face=wall,facing=south,powered=false": { "extracting=true,face=wall,facing=south,powered=false": {
"model": "create:block/andesite_funnel_wall_push", "model": "create:block/andesite_funnel_wall_push",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=false,face=ceiling,facing=south,powered=false": { "extracting=false,face=ceiling,facing=south,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull", "model": "create:block/andesite_funnel_ceiling_pull",
"y": 180 "x": 180
}, },
"extracting=true,face=ceiling,facing=south,powered=false": { "extracting=true,face=ceiling,facing=south,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push", "model": "create:block/andesite_funnel_ceiling_push",
"y": 180 "x": 180
}, },
"extracting=false,face=floor,facing=west,powered=false": { "extracting=false,face=floor,facing=west,powered=false": {
"model": "create:block/andesite_funnel_floor_pull", "model": "create:block/andesite_funnel_floor_pull",
@ -52,19 +60,23 @@
}, },
"extracting=false,face=wall,facing=west,powered=false": { "extracting=false,face=wall,facing=west,powered=false": {
"model": "create:block/andesite_funnel_wall_pull", "model": "create:block/andesite_funnel_wall_pull",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=true,face=wall,facing=west,powered=false": { "extracting=true,face=wall,facing=west,powered=false": {
"model": "create:block/andesite_funnel_wall_push", "model": "create:block/andesite_funnel_wall_push",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=false,face=ceiling,facing=west,powered=false": { "extracting=false,face=ceiling,facing=west,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull", "model": "create:block/andesite_funnel_ceiling_pull",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=true,face=ceiling,facing=west,powered=false": { "extracting=true,face=ceiling,facing=west,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push", "model": "create:block/andesite_funnel_ceiling_push",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=false,face=floor,facing=east,powered=false": { "extracting=false,face=floor,facing=east,powered=false": {
"model": "create:block/andesite_funnel_floor_pull", "model": "create:block/andesite_funnel_floor_pull",
@ -76,19 +88,23 @@
}, },
"extracting=false,face=wall,facing=east,powered=false": { "extracting=false,face=wall,facing=east,powered=false": {
"model": "create:block/andesite_funnel_wall_pull", "model": "create:block/andesite_funnel_wall_pull",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=true,face=wall,facing=east,powered=false": { "extracting=true,face=wall,facing=east,powered=false": {
"model": "create:block/andesite_funnel_wall_push", "model": "create:block/andesite_funnel_wall_push",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=false,face=ceiling,facing=east,powered=false": { "extracting=false,face=ceiling,facing=east,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull", "model": "create:block/andesite_funnel_ceiling_pull",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=true,face=ceiling,facing=east,powered=false": { "extracting=true,face=ceiling,facing=east,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push", "model": "create:block/andesite_funnel_ceiling_push",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=false,face=floor,facing=north,powered=true": { "extracting=false,face=floor,facing=north,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered" "model": "create:block/andesite_funnel_floor_pull_powered"
@ -97,16 +113,22 @@
"model": "create:block/andesite_funnel_floor_push_powered" "model": "create:block/andesite_funnel_floor_push_powered"
}, },
"extracting=false,face=wall,facing=north,powered=true": { "extracting=false,face=wall,facing=north,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered" "model": "create:block/andesite_funnel_wall_pull_powered",
"x": 90
}, },
"extracting=true,face=wall,facing=north,powered=true": { "extracting=true,face=wall,facing=north,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered" "model": "create:block/andesite_funnel_wall_push_powered",
"x": 90
}, },
"extracting=false,face=ceiling,facing=north,powered=true": { "extracting=false,face=ceiling,facing=north,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered" "model": "create:block/andesite_funnel_ceiling_pull_powered",
"x": 180,
"y": 180
}, },
"extracting=true,face=ceiling,facing=north,powered=true": { "extracting=true,face=ceiling,facing=north,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered" "model": "create:block/andesite_funnel_ceiling_push_powered",
"x": 180,
"y": 180
}, },
"extracting=false,face=floor,facing=south,powered=true": { "extracting=false,face=floor,facing=south,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered", "model": "create:block/andesite_funnel_floor_pull_powered",
@ -118,19 +140,21 @@
}, },
"extracting=false,face=wall,facing=south,powered=true": { "extracting=false,face=wall,facing=south,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered", "model": "create:block/andesite_funnel_wall_pull_powered",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=true,face=wall,facing=south,powered=true": { "extracting=true,face=wall,facing=south,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered", "model": "create:block/andesite_funnel_wall_push_powered",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=false,face=ceiling,facing=south,powered=true": { "extracting=false,face=ceiling,facing=south,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered", "model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 180 "x": 180
}, },
"extracting=true,face=ceiling,facing=south,powered=true": { "extracting=true,face=ceiling,facing=south,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered", "model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 180 "x": 180
}, },
"extracting=false,face=floor,facing=west,powered=true": { "extracting=false,face=floor,facing=west,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered", "model": "create:block/andesite_funnel_floor_pull_powered",
@ -142,19 +166,23 @@
}, },
"extracting=false,face=wall,facing=west,powered=true": { "extracting=false,face=wall,facing=west,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered", "model": "create:block/andesite_funnel_wall_pull_powered",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=true,face=wall,facing=west,powered=true": { "extracting=true,face=wall,facing=west,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered", "model": "create:block/andesite_funnel_wall_push_powered",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=false,face=ceiling,facing=west,powered=true": { "extracting=false,face=ceiling,facing=west,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered", "model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=true,face=ceiling,facing=west,powered=true": { "extracting=true,face=ceiling,facing=west,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered", "model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=false,face=floor,facing=east,powered=true": { "extracting=false,face=floor,facing=east,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered", "model": "create:block/andesite_funnel_floor_pull_powered",
@ -166,19 +194,23 @@
}, },
"extracting=false,face=wall,facing=east,powered=true": { "extracting=false,face=wall,facing=east,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered", "model": "create:block/andesite_funnel_wall_pull_powered",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=true,face=wall,facing=east,powered=true": { "extracting=true,face=wall,facing=east,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered", "model": "create:block/andesite_funnel_wall_push_powered",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=false,face=ceiling,facing=east,powered=true": { "extracting=false,face=ceiling,facing=east,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered", "model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=true,face=ceiling,facing=east,powered=true": { "extracting=true,face=ceiling,facing=east,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered", "model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 90 "x": 180,
"y": 270
} }
} }
} }

View file

@ -7,16 +7,22 @@
"model": "create:block/brass_funnel_floor_push" "model": "create:block/brass_funnel_floor_push"
}, },
"extracting=false,face=wall,facing=north,powered=false": { "extracting=false,face=wall,facing=north,powered=false": {
"model": "create:block/brass_funnel_wall_pull" "model": "create:block/brass_funnel_wall_pull",
"x": 90
}, },
"extracting=true,face=wall,facing=north,powered=false": { "extracting=true,face=wall,facing=north,powered=false": {
"model": "create:block/brass_funnel_wall_push" "model": "create:block/brass_funnel_wall_push",
"x": 90
}, },
"extracting=false,face=ceiling,facing=north,powered=false": { "extracting=false,face=ceiling,facing=north,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull" "model": "create:block/brass_funnel_ceiling_pull",
"x": 180,
"y": 180
}, },
"extracting=true,face=ceiling,facing=north,powered=false": { "extracting=true,face=ceiling,facing=north,powered=false": {
"model": "create:block/brass_funnel_ceiling_push" "model": "create:block/brass_funnel_ceiling_push",
"x": 180,
"y": 180
}, },
"extracting=false,face=floor,facing=south,powered=false": { "extracting=false,face=floor,facing=south,powered=false": {
"model": "create:block/brass_funnel_floor_pull", "model": "create:block/brass_funnel_floor_pull",
@ -28,19 +34,21 @@
}, },
"extracting=false,face=wall,facing=south,powered=false": { "extracting=false,face=wall,facing=south,powered=false": {
"model": "create:block/brass_funnel_wall_pull", "model": "create:block/brass_funnel_wall_pull",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=true,face=wall,facing=south,powered=false": { "extracting=true,face=wall,facing=south,powered=false": {
"model": "create:block/brass_funnel_wall_push", "model": "create:block/brass_funnel_wall_push",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=false,face=ceiling,facing=south,powered=false": { "extracting=false,face=ceiling,facing=south,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull", "model": "create:block/brass_funnel_ceiling_pull",
"y": 180 "x": 180
}, },
"extracting=true,face=ceiling,facing=south,powered=false": { "extracting=true,face=ceiling,facing=south,powered=false": {
"model": "create:block/brass_funnel_ceiling_push", "model": "create:block/brass_funnel_ceiling_push",
"y": 180 "x": 180
}, },
"extracting=false,face=floor,facing=west,powered=false": { "extracting=false,face=floor,facing=west,powered=false": {
"model": "create:block/brass_funnel_floor_pull", "model": "create:block/brass_funnel_floor_pull",
@ -52,19 +60,23 @@
}, },
"extracting=false,face=wall,facing=west,powered=false": { "extracting=false,face=wall,facing=west,powered=false": {
"model": "create:block/brass_funnel_wall_pull", "model": "create:block/brass_funnel_wall_pull",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=true,face=wall,facing=west,powered=false": { "extracting=true,face=wall,facing=west,powered=false": {
"model": "create:block/brass_funnel_wall_push", "model": "create:block/brass_funnel_wall_push",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=false,face=ceiling,facing=west,powered=false": { "extracting=false,face=ceiling,facing=west,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull", "model": "create:block/brass_funnel_ceiling_pull",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=true,face=ceiling,facing=west,powered=false": { "extracting=true,face=ceiling,facing=west,powered=false": {
"model": "create:block/brass_funnel_ceiling_push", "model": "create:block/brass_funnel_ceiling_push",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=false,face=floor,facing=east,powered=false": { "extracting=false,face=floor,facing=east,powered=false": {
"model": "create:block/brass_funnel_floor_pull", "model": "create:block/brass_funnel_floor_pull",
@ -76,19 +88,23 @@
}, },
"extracting=false,face=wall,facing=east,powered=false": { "extracting=false,face=wall,facing=east,powered=false": {
"model": "create:block/brass_funnel_wall_pull", "model": "create:block/brass_funnel_wall_pull",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=true,face=wall,facing=east,powered=false": { "extracting=true,face=wall,facing=east,powered=false": {
"model": "create:block/brass_funnel_wall_push", "model": "create:block/brass_funnel_wall_push",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=false,face=ceiling,facing=east,powered=false": { "extracting=false,face=ceiling,facing=east,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull", "model": "create:block/brass_funnel_ceiling_pull",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=true,face=ceiling,facing=east,powered=false": { "extracting=true,face=ceiling,facing=east,powered=false": {
"model": "create:block/brass_funnel_ceiling_push", "model": "create:block/brass_funnel_ceiling_push",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=false,face=floor,facing=north,powered=true": { "extracting=false,face=floor,facing=north,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered" "model": "create:block/brass_funnel_floor_pull_powered"
@ -97,16 +113,22 @@
"model": "create:block/brass_funnel_floor_push_powered" "model": "create:block/brass_funnel_floor_push_powered"
}, },
"extracting=false,face=wall,facing=north,powered=true": { "extracting=false,face=wall,facing=north,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered" "model": "create:block/brass_funnel_wall_pull_powered",
"x": 90
}, },
"extracting=true,face=wall,facing=north,powered=true": { "extracting=true,face=wall,facing=north,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered" "model": "create:block/brass_funnel_wall_push_powered",
"x": 90
}, },
"extracting=false,face=ceiling,facing=north,powered=true": { "extracting=false,face=ceiling,facing=north,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered" "model": "create:block/brass_funnel_ceiling_pull_powered",
"x": 180,
"y": 180
}, },
"extracting=true,face=ceiling,facing=north,powered=true": { "extracting=true,face=ceiling,facing=north,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered" "model": "create:block/brass_funnel_ceiling_push_powered",
"x": 180,
"y": 180
}, },
"extracting=false,face=floor,facing=south,powered=true": { "extracting=false,face=floor,facing=south,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered", "model": "create:block/brass_funnel_floor_pull_powered",
@ -118,19 +140,21 @@
}, },
"extracting=false,face=wall,facing=south,powered=true": { "extracting=false,face=wall,facing=south,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered", "model": "create:block/brass_funnel_wall_pull_powered",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=true,face=wall,facing=south,powered=true": { "extracting=true,face=wall,facing=south,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered", "model": "create:block/brass_funnel_wall_push_powered",
"x": 90,
"y": 180 "y": 180
}, },
"extracting=false,face=ceiling,facing=south,powered=true": { "extracting=false,face=ceiling,facing=south,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered", "model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 180 "x": 180
}, },
"extracting=true,face=ceiling,facing=south,powered=true": { "extracting=true,face=ceiling,facing=south,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered", "model": "create:block/brass_funnel_ceiling_push_powered",
"y": 180 "x": 180
}, },
"extracting=false,face=floor,facing=west,powered=true": { "extracting=false,face=floor,facing=west,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered", "model": "create:block/brass_funnel_floor_pull_powered",
@ -142,19 +166,23 @@
}, },
"extracting=false,face=wall,facing=west,powered=true": { "extracting=false,face=wall,facing=west,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered", "model": "create:block/brass_funnel_wall_pull_powered",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=true,face=wall,facing=west,powered=true": { "extracting=true,face=wall,facing=west,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered", "model": "create:block/brass_funnel_wall_push_powered",
"x": 90,
"y": 270 "y": 270
}, },
"extracting=false,face=ceiling,facing=west,powered=true": { "extracting=false,face=ceiling,facing=west,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered", "model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=true,face=ceiling,facing=west,powered=true": { "extracting=true,face=ceiling,facing=west,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered", "model": "create:block/brass_funnel_ceiling_push_powered",
"y": 270 "x": 180,
"y": 90
}, },
"extracting=false,face=floor,facing=east,powered=true": { "extracting=false,face=floor,facing=east,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered", "model": "create:block/brass_funnel_floor_pull_powered",
@ -166,19 +194,23 @@
}, },
"extracting=false,face=wall,facing=east,powered=true": { "extracting=false,face=wall,facing=east,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered", "model": "create:block/brass_funnel_wall_pull_powered",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=true,face=wall,facing=east,powered=true": { "extracting=true,face=wall,facing=east,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered", "model": "create:block/brass_funnel_wall_push_powered",
"x": 90,
"y": 90 "y": 90
}, },
"extracting=false,face=ceiling,facing=east,powered=true": { "extracting=false,face=ceiling,facing=east,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered", "model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 90 "x": 180,
"y": 270
}, },
"extracting=true,face=ceiling,facing=east,powered=true": { "extracting=true,face=ceiling,facing=east,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered", "model": "create:block/brass_funnel_ceiling_push_powered",
"y": 90 "x": 180,
"y": 270
} }
} }
} }

View file

@ -89,8 +89,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "x",
"axis": "x" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -99,8 +99,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "y",
"axis": "y" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -109,8 +109,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "z",
"axis": "z" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z_sticky", "model": "create:block/radial_chassis_side_z_sticky",
@ -119,8 +119,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "x",
"axis": "x" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -129,8 +129,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "y",
"axis": "y" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -139,8 +139,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "z",
"axis": "z" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z", "model": "create:block/radial_chassis_side_z",
@ -149,8 +149,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "x",
"axis": "x" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky" "model": "create:block/radial_chassis_side_x_sticky"
@ -158,8 +158,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "y",
"axis": "y" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -168,8 +168,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "z",
"axis": "z" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -178,8 +178,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "x",
"axis": "x" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x" "model": "create:block/radial_chassis_side_x"
@ -187,8 +187,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "y",
"axis": "y" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -197,8 +197,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "z",
"axis": "z" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -207,8 +207,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "true", "axis": "x",
"axis": "x" "sticky_east": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -217,8 +217,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "true", "axis": "y",
"axis": "y" "sticky_east": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -227,8 +227,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "true", "axis": "z",
"axis": "z" "sticky_east": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z_sticky" "model": "create:block/radial_chassis_side_z_sticky"
@ -236,8 +236,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "false", "axis": "x",
"axis": "x" "sticky_east": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -246,8 +246,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "false", "axis": "y",
"axis": "y" "sticky_east": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -256,8 +256,8 @@
}, },
{ {
"when": { "when": {
"sticky_east": "false", "axis": "z",
"axis": "z" "sticky_east": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z" "model": "create:block/radial_chassis_side_z"

View file

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 7", "_": "Missing Localizations: 11",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",

View file

@ -6,8 +6,8 @@ import com.simibubi.create.foundation.render.backend.instancing.InstanceData;
import com.simibubi.create.foundation.render.backend.instancing.InstancedModel; import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.ColorHelper;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3f;
public class KineticData<D extends KineticData<D>> extends InstanceData { public class KineticData<D extends KineticData<D>> extends InstanceData {
private float x; private float x;

View file

@ -5,8 +5,8 @@ import java.nio.ByteBuffer;
import com.simibubi.create.foundation.render.backend.gl.attrib.VertexFormat; import com.simibubi.create.foundation.render.backend.gl.attrib.VertexFormat;
import com.simibubi.create.foundation.render.backend.instancing.InstancedModel; import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.vector.Vector3f;
public class RotatingData extends KineticData<RotatingData> { public class RotatingData extends KineticData<RotatingData> {
public static VertexFormat FORMAT = VertexFormat.builder() public static VertexFormat FORMAT = VertexFormat.builder()

View file

@ -6,8 +6,8 @@ import com.simibubi.create.foundation.render.backend.gl.attrib.VertexFormat;
import com.simibubi.create.foundation.render.backend.instancing.InstanceData; import com.simibubi.create.foundation.render.backend.instancing.InstanceData;
import com.simibubi.create.foundation.render.backend.instancing.InstancedModel; import com.simibubi.create.foundation.render.backend.instancing.InstancedModel;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3f;
public class ContraptionActorData extends InstanceData { public class ContraptionActorData extends InstanceData {
public static VertexFormat FORMAT = VertexFormat.builder() public static VertexFormat FORMAT = VertexFormat.builder()

View file

@ -32,7 +32,7 @@ public class NonStationaryLighter<C extends Contraption> extends ContraptionLigh
public GridAlignedBB getContraptionBounds() { public GridAlignedBB getContraptionBounds() {
GridAlignedBB bb = GridAlignedBB.fromAABB(contraption.bounds); GridAlignedBB bb = GridAlignedBB.fromAABB(contraption.bounds);
bb.translate(contraption.entity.getPosition()); bb.translate(contraption.entity.getBlockPos());
return bb; return bb;
} }

View file

@ -528,7 +528,7 @@ public class OrientedContraptionEntity extends AbstractContraptionEntity {
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private void repositionOnContraption(float partialTicks, MatrixStack[] matrixStacks, Entity ridingEntity) { private void repositionOnContraption(float partialTicks, MatrixStack[] matrixStacks, Entity ridingEntity) {
Vec3d pos = getContraptionOffset(partialTicks, ridingEntity); Vector3d pos = getContraptionOffset(partialTicks, ridingEntity);
for (MatrixStack stack : matrixStacks) for (MatrixStack stack : matrixStacks)
stack.translate(pos.x, pos.y, pos.z); stack.translate(pos.x, pos.y, pos.z);
} }
@ -537,36 +537,36 @@ public class OrientedContraptionEntity extends AbstractContraptionEntity {
// has to adjust aswell // has to adjust aswell
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private void repositionOnCart(float partialTicks, MatrixStack[] matrixStacks, Entity ridingEntity) { private void repositionOnCart(float partialTicks, MatrixStack[] matrixStacks, Entity ridingEntity) {
Vec3d cartPos = getCartOffset(partialTicks, ridingEntity); Vector3d cartPos = getCartOffset(partialTicks, ridingEntity);
if (cartPos == Vec3d.ZERO) return; if (cartPos == Vector3d.ZERO) return;
for (MatrixStack stack : matrixStacks) for (MatrixStack stack : matrixStacks)
stack.translate(cartPos.x, cartPos.y, cartPos.z); stack.translate(cartPos.x, cartPos.y, cartPos.z);
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private Vec3d getContraptionOffset(float partialTicks, Entity ridingEntity) { private Vector3d getContraptionOffset(float partialTicks, Entity ridingEntity) {
AbstractContraptionEntity parent = (AbstractContraptionEntity) ridingEntity; AbstractContraptionEntity parent = (AbstractContraptionEntity) ridingEntity;
Vec3d passengerPosition = parent.getPassengerPosition(this, partialTicks); Vector3d passengerPosition = parent.getPassengerPosition(this, partialTicks);
double x = passengerPosition.x - MathHelper.lerp(partialTicks, this.lastTickPosX, this.getX()); double x = passengerPosition.x - MathHelper.lerp(partialTicks, this.lastTickPosX, this.getX());
double y = passengerPosition.y - MathHelper.lerp(partialTicks, this.lastTickPosY, this.getY()); double y = passengerPosition.y - MathHelper.lerp(partialTicks, this.lastTickPosY, this.getY());
double z = passengerPosition.z - MathHelper.lerp(partialTicks, this.lastTickPosZ, this.getZ()); double z = passengerPosition.z - MathHelper.lerp(partialTicks, this.lastTickPosZ, this.getZ());
return new Vec3d(x, y, z); return new Vector3d(x, y, z);
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private Vec3d getCartOffset(float partialTicks, Entity ridingEntity) { private Vector3d getCartOffset(float partialTicks, Entity ridingEntity) {
AbstractMinecartEntity cart = (AbstractMinecartEntity) ridingEntity; AbstractMinecartEntity cart = (AbstractMinecartEntity) ridingEntity;
double cartX = MathHelper.lerp(partialTicks, cart.lastTickPosX, cart.getX()); double cartX = MathHelper.lerp(partialTicks, cart.lastTickPosX, cart.getX());
double cartY = MathHelper.lerp(partialTicks, cart.lastTickPosY, cart.getY()); double cartY = MathHelper.lerp(partialTicks, cart.lastTickPosY, cart.getY());
double cartZ = MathHelper.lerp(partialTicks, cart.lastTickPosZ, cart.getZ()); double cartZ = MathHelper.lerp(partialTicks, cart.lastTickPosZ, cart.getZ());
Vec3d cartPos = cart.getPos(cartX, cartY, cartZ); Vector3d cartPos = cart.getPos(cartX, cartY, cartZ);
if (cartPos != null) { if (cartPos != null) {
Vec3d cartPosFront = cart.getPosOffset(cartX, cartY, cartZ, (double) 0.3F); Vector3d cartPosFront = cart.getPosOffset(cartX, cartY, cartZ, (double) 0.3F);
Vec3d cartPosBack = cart.getPosOffset(cartX, cartY, cartZ, (double) -0.3F); Vector3d cartPosBack = cart.getPosOffset(cartX, cartY, cartZ, (double) -0.3F);
if (cartPosFront == null) if (cartPosFront == null)
cartPosFront = cartPos; cartPosFront = cartPos;
if (cartPosBack == null) if (cartPosBack == null)
@ -576,9 +576,9 @@ public class OrientedContraptionEntity extends AbstractContraptionEntity {
cartY = (cartPosFront.y + cartPosBack.y) / 2.0D - cartY; cartY = (cartPosFront.y + cartPosBack.y) / 2.0D - cartY;
cartZ = cartPos.z - cartZ; cartZ = cartPos.z - cartZ;
return new Vec3d(cartX, cartY, cartZ); return new Vector3d(cartX, cartY, cartZ);
} }
return Vec3d.ZERO; return Vector3d.ZERO;
} }
} }

View file

@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pi
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionLighter;
import com.simibubi.create.foundation.render.backend.light.GridAlignedBB; import com.simibubi.create.foundation.render.backend.light.GridAlignedBB;
import net.minecraft.util.math.Vec3i; import net.minecraft.util.math.vector.Vector3i;
public class PistonLighter extends ContraptionLighter<PistonContraption> { public class PistonLighter extends ContraptionLighter<PistonContraption> {
public PistonLighter(PistonContraption contraption) { public PistonLighter(PistonContraption contraption) {
@ -16,7 +16,7 @@ public class PistonLighter extends ContraptionLighter<PistonContraption> {
bounds.translate(contraption.anchor); bounds.translate(contraption.anchor);
int length = contraption.extensionLength; int length = contraption.extensionLength;
Vec3i direction = contraption.orientation.getDirectionVec(); Vector3i direction = contraption.orientation.getDirectionVec();
int shift = length / 2; int shift = length / 2;
int shiftX = direction.getX() * shift; int shiftX = direction.getX() * shift;

View file

@ -19,7 +19,7 @@ public class PulleyLighter extends ContraptionLighter<PulleyContraption> {
World world = contraption.entity.world; World world = contraption.entity.world;
BlockPos.Mutable pos = new BlockPos.Mutable(contraption.anchor); BlockPos.Mutable pos = contraption.anchor.mutableCopy();
while (!AllBlocks.ROPE_PULLEY.has(world.getBlockState(pos)) && pos.getY() < 256) { while (!AllBlocks.ROPE_PULLEY.has(world.getBlockState(pos)) && pos.getY() < 256) {
pos.move(0, 1, 0); pos.move(0, 1, 0);
} }

View file

@ -4,9 +4,9 @@ import org.lwjgl.opengl.GL20;
import com.simibubi.create.foundation.render.backend.gl.BasicProgram; import com.simibubi.create.foundation.render.backend.gl.BasicProgram;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Matrix4f;
public class ContraptionProgram extends BasicProgram { public class ContraptionProgram extends BasicProgram {
protected final int uLightBoxSize; protected final int uLightBoxSize;

View file

@ -35,7 +35,6 @@ import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.WorldRenderer;
@ -44,7 +43,8 @@ import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.SectionPos; import net.minecraft.util.math.SectionPos;
import net.minecraft.world.ILightReader; import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.world.IBlockDisplayReader;
import net.minecraft.world.LightType; import net.minecraft.world.LightType;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.feature.template.Template; import net.minecraft.world.gen.feature.template.Template;
@ -58,7 +58,7 @@ public class ContraptionRenderDispatcher {
private static boolean firstLayer = true; private static boolean firstLayer = true;
public static void notifyLightUpdate(ILightReader world, LightType type, SectionPos pos) { public static void notifyLightUpdate(IBlockDisplayReader world, LightType type, SectionPos pos) {
for (RenderedContraption renderer : renderers.values()) { for (RenderedContraption renderer : renderers.values()) {
renderer.getLighter().lightVolume.notifyLightUpdate(world, type, pos); renderer.getLighter().lightVolume.notifyLightUpdate(world, type, pos);
} }

View file

@ -31,7 +31,6 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockModelRenderer; import net.minecraft.client.renderer.BlockModelRenderer;
import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
@ -41,6 +40,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.gen.feature.template.Template; import net.minecraft.world.gen.feature.template.Template;
import net.minecraft.world.lighting.WorldLightManager; import net.minecraft.world.lighting.WorldLightManager;

View file

@ -12,7 +12,7 @@ import com.simibubi.create.foundation.render.backend.light.ILightListener;
import net.minecraft.client.multiplayer.ClientChunkProvider; import net.minecraft.client.multiplayer.ClientChunkProvider;
import net.minecraft.util.math.SectionPos; import net.minecraft.util.math.SectionPos;
import net.minecraft.world.ILightReader; import net.minecraft.world.IBlockDisplayReader;
import net.minecraft.world.LightType; import net.minecraft.world.LightType;
import net.minecraft.world.chunk.AbstractChunkProvider; import net.minecraft.world.chunk.AbstractChunkProvider;
import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.Chunk;
@ -48,6 +48,6 @@ public abstract class LightUpdateMixin extends AbstractChunkProvider {
.forEach(ILightListener::onChunkLightUpdate); .forEach(ILightListener::onChunkLightUpdate);
} }
ContraptionRenderDispatcher.notifyLightUpdate((ILightReader) thi.getWorld(), type, pos); ContraptionRenderDispatcher.notifyLightUpdate((IBlockDisplayReader) thi.getWorld(), type, pos);
} }
} }

View file

@ -14,10 +14,10 @@ import com.simibubi.create.foundation.render.backend.Backend;
import com.simibubi.create.foundation.render.backend.FastRenderDispatcher; import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
import com.simibubi.create.foundation.render.backend.OptifineHandler; import com.simibubi.create.foundation.render.backend.OptifineHandler;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.WorldRenderer;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;

View file

@ -11,11 +11,11 @@ import com.simibubi.create.foundation.render.backend.instancing.InstancedTileRen
import com.simibubi.create.foundation.render.backend.instancing.RenderMaterial; import com.simibubi.create.foundation.render.backend.instancing.RenderMaterial;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Matrix4f;
public class KineticRenderer extends InstancedTileRenderer<BasicProgram> { public class KineticRenderer extends InstancedTileRenderer<BasicProgram> {
public static int MAX_ORIGIN_DISTANCE = 1000; public static int MAX_ORIGIN_DISTANCE = 1000;
@ -42,7 +42,7 @@ public class KineticRenderer extends InstancedTileRenderer<BasicProgram> {
if (renderViewEntity == null) return; if (renderViewEntity == null) return;
BlockPos renderViewPosition = renderViewEntity.getPosition(); BlockPos renderViewPosition = renderViewEntity.getBlockPos();
int dX = Math.abs(renderViewPosition.getX() - originCoordinate.getX()); int dX = Math.abs(renderViewPosition.getX() - originCoordinate.getX());
int dY = Math.abs(renderViewPosition.getY() - originCoordinate.getY()); int dY = Math.abs(renderViewPosition.getY() - originCoordinate.getY());

View file

@ -182,7 +182,7 @@ public class Backend {
private static GlShader loadShader(IResourceManager manager, ResourceLocation name, ShaderType type, GlShader.PreProcessor preProcessor) throws IOException { private static GlShader loadShader(IResourceManager manager, ResourceLocation name, ShaderType type, GlShader.PreProcessor preProcessor) throws IOException {
try (InputStream is = new BufferedInputStream(manager.getResource(name).getInputStream())) { try (InputStream is = new BufferedInputStream(manager.getResource(name).getInputStream())) {
String source = TextureUtil.func_225687_b_(is); String source = TextureUtil.readAllToString(is);
if (source == null) { if (source == null) {
throw new IOException("Could not load program " + name); throw new IOException("Could not load program " + name);

View file

@ -15,13 +15,13 @@ import com.simibubi.create.foundation.utility.WorldAttached;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
import net.minecraft.potion.Effects; import net.minecraft.potion.Effects;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraft.world.World; import net.minecraft.world.World;
public class FastRenderDispatcher { public class FastRenderDispatcher {
@ -73,11 +73,11 @@ public class FastRenderDispatcher {
layer.startDrawing(); layer.startDrawing();
RenderSystem.enableDepthTest(); // RenderSystem.enableDepthTest();
RenderSystem.enableCull(); // RenderSystem.enableCull();
GL11.glCullFace(GL11.GL_BACK); // GL11.glCullFace(GL11.GL_BACK);
CreateClient.kineticRenderer.render(layer, viewProjection, cameraX, cameraY, cameraZ); CreateClient.kineticRenderer.render(layer, viewProjection, cameraX, cameraY, cameraZ);
RenderSystem.disableCull(); // RenderSystem.disableCull();
//RenderSystem.disableDepthTest(); //RenderSystem.disableDepthTest();
layer.endDrawing(); layer.endDrawing();
@ -93,7 +93,9 @@ public class FastRenderDispatcher {
ClientPlayerEntity player = mc.player; ClientPlayerEntity player = mc.player;
MatrixStack matrixstack = new MatrixStack(); MatrixStack matrixstack = new MatrixStack();
matrixstack.peek().getModel().multiply(gameRenderer.func_228382_a_(gameRenderer.getActiveRenderInfo(), partialTicks, true)); matrixstack.peek()
.getModel()
.multiply(gameRenderer.getBasicProjectionMatrix(gameRenderer.getActiveRenderInfo(), partialTicks, true));
gameRenderer.bobViewWhenHurt(matrixstack, partialTicks); gameRenderer.bobViewWhenHurt(matrixstack, partialTicks);
if (mc.gameSettings.viewBobbing) { if (mc.gameSettings.viewBobbing) {
gameRenderer.bobView(matrixstack, partialTicks); gameRenderer.bobView(matrixstack, partialTicks);
@ -116,7 +118,7 @@ public class FastRenderDispatcher {
} }
Matrix4f matrix4f = matrixstack.peek().getModel(); Matrix4f matrix4f = matrixstack.peek().getModel();
gameRenderer.func_228379_a_(matrix4f); gameRenderer.loadProjectionMatrix(matrix4f);
projectionMatrixThisFrame = matrix4f; projectionMatrixThisFrame = matrix4f;
return projectionMatrixThisFrame; return projectionMatrixThisFrame;

View file

@ -6,8 +6,8 @@ import com.simibubi.create.foundation.render.backend.Backend;
import com.simibubi.create.foundation.render.backend.gl.shader.GlProgram; import com.simibubi.create.foundation.render.backend.gl.shader.GlProgram;
import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.AnimationTickHolder;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Matrix4f;
public class BasicProgram extends GlProgram { public class BasicProgram extends GlProgram {
protected final int uTime; protected final int uTime;

View file

@ -13,11 +13,11 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.WorldAttached; import com.simibubi.create.foundation.utility.WorldAttached;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Matrix4f;
public abstract class InstancedTileRenderer<P extends BasicProgram> { public abstract class InstancedTileRenderer<P extends BasicProgram> {
public static WorldAttached<ConcurrentHashMap<TileEntity, Integer>> addedLastTick = new WorldAttached<>(ConcurrentHashMap::new); public static WorldAttached<ConcurrentHashMap<TileEntity, Integer>> addedLastTick = new WorldAttached<>(ConcurrentHashMap::new);

View file

@ -28,10 +28,10 @@ import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.vector.Matrix4f;
public class RenderMaterial<P extends BasicProgram, MODEL extends InstancedModel<?>> { public class RenderMaterial<P extends BasicProgram, MODEL extends InstancedModel<?>> {

View file

@ -7,7 +7,7 @@ import com.simibubi.create.foundation.render.RenderMath;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.SectionPos; import net.minecraft.util.math.SectionPos;
import net.minecraft.util.math.Vec3i; import net.minecraft.util.math.vector.Vector3i;
public class GridAlignedBB { public class GridAlignedBB {
public int minX; public int minX;
@ -93,7 +93,7 @@ public class GridAlignedBB {
minZ == maxZ; minZ == maxZ;
} }
public void translate(Vec3i by) { public void translate(Vector3i by) {
translate(by.getX(), by.getY(), by.getZ()); translate(by.getX(), by.getY(), by.getZ());
} }
@ -107,7 +107,7 @@ public class GridAlignedBB {
} }
public void mirrorAbout(Direction.Axis axis) { public void mirrorAbout(Direction.Axis axis) {
Vec3i axisVec = Direction.getFacingFromAxis(Direction.AxisDirection.POSITIVE, axis).getDirectionVec(); Vector3i axisVec = Direction.getFacingFromAxis(Direction.AxisDirection.POSITIVE, axis).getDirectionVec();
int flipX = axisVec.getX() - 1; int flipX = axisVec.getX() - 1;
int flipY = axisVec.getY() - 1; int flipY = axisVec.getY() - 1;
int flipZ = axisVec.getZ() - 1; int flipZ = axisVec.getZ() - 1;

View file

@ -14,7 +14,8 @@ import com.simibubi.create.foundation.render.backend.gl.GlTexture;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.SectionPos; import net.minecraft.util.math.SectionPos;
import net.minecraft.world.ILightReader; import net.minecraft.world.IBlockDisplayReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.LightType; import net.minecraft.world.LightType;
public class LightVolume { public class LightVolume {
@ -97,7 +98,7 @@ public class LightVolume {
return textureVolume.sizeZ(); return textureVolume.sizeZ();
} }
public void move(ILightReader world, GridAlignedBB newSampleVolume) { public void move(IBlockDisplayReader world, GridAlignedBB newSampleVolume) {
if (textureVolume.contains(newSampleVolume)) { if (textureVolume.contains(newSampleVolume)) {
if (newSampleVolume.intersects(sampleVolume)) { if (newSampleVolume.intersects(sampleVolume)) {
GridAlignedBB newArea = newSampleVolume.intersect(sampleVolume); GridAlignedBB newArea = newSampleVolume.intersect(sampleVolume);
@ -118,7 +119,7 @@ public class LightVolume {
} }
} }
public void notifyLightUpdate(ILightReader world, LightType type, SectionPos location) { public void notifyLightUpdate(IBlockDisplayReader world, LightType type, SectionPos location) {
GridAlignedBB changedVolume = GridAlignedBB.fromSection(location); GridAlignedBB changedVolume = GridAlignedBB.fromSection(location);
if (!changedVolume.intersects(sampleVolume)) if (!changedVolume.intersects(sampleVolume))
return; return;
@ -132,7 +133,7 @@ public class LightVolume {
* Completely (re)populate this volume with block and sky lighting data. * Completely (re)populate this volume with block and sky lighting data.
* This is expensive and should be avoided. * This is expensive and should be avoided.
*/ */
public void initialize(ILightReader world) { public void initialize(IBlockDisplayReader world) {
BlockPos.Mutable pos = new BlockPos.Mutable(); BlockPos.Mutable pos = new BlockPos.Mutable();
int shiftX = textureVolume.minX; int shiftX = textureVolume.minX;
@ -155,7 +156,7 @@ public class LightVolume {
* Copy block light from the world into this volume. * Copy block light from the world into this volume.
* @param worldVolume the region in the world to copy data from. * @param worldVolume the region in the world to copy data from.
*/ */
public void copyBlock(ILightReader world, GridAlignedBB worldVolume) { public void copyBlock(IBlockDisplayReader world, GridAlignedBB worldVolume) {
BlockPos.Mutable pos = new BlockPos.Mutable(); BlockPos.Mutable pos = new BlockPos.Mutable();
int xShift = textureVolume.minX; int xShift = textureVolume.minX;
@ -177,7 +178,7 @@ public class LightVolume {
* Copy sky light from the world into this volume. * Copy sky light from the world into this volume.
* @param worldVolume the region in the world to copy data from. * @param worldVolume the region in the world to copy data from.
*/ */
public void copySky(ILightReader world, GridAlignedBB worldVolume) { public void copySky(IBlockDisplayReader world, GridAlignedBB worldVolume) {
BlockPos.Mutable pos = new BlockPos.Mutable(); BlockPos.Mutable pos = new BlockPos.Mutable();
int xShift = textureVolume.minX; int xShift = textureVolume.minX;
@ -199,7 +200,7 @@ public class LightVolume {
* Copy all light from the world into this volume. * Copy all light from the world into this volume.
* @param worldVolume the region in the world to copy data from. * @param worldVolume the region in the world to copy data from.
*/ */
public void copyLight(ILightReader world, GridAlignedBB worldVolume) { public void copyLight(IBlockDisplayReader world, GridAlignedBB worldVolume) {
BlockPos.Mutable pos = new BlockPos.Mutable(); BlockPos.Mutable pos = new BlockPos.Mutable();
int xShift = textureVolume.minX; int xShift = textureVolume.minX;

View file

@ -6,8 +6,6 @@ import javax.annotation.Nullable;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.Quaternion;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.DoubleNBT; import net.minecraft.nbt.DoubleNBT;
@ -16,7 +14,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Quaternion;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraft.util.math.vector.Vector3i; import net.minecraft.util.math.vector.Vector3i;
public class VecHelper { public class VecHelper {
@ -152,11 +152,11 @@ public class VecHelper {
} }
//https://forums.minecraftforge.net/topic/88562-116solved-3d-to-2d-conversion/?do=findComment&comment=413573 slightly modified //https://forums.minecraftforge.net/topic/88562-116solved-3d-to-2d-conversion/?do=findComment&comment=413573 slightly modified
public static Vec3d projectToPlayerView(Vec3d target, float partialTicks) { public static Vector3d projectToPlayerView(Vector3d target, float partialTicks) {
/* The (centered) location on the screen of the given 3d point in the world. /* The (centered) location on the screen of the given 3d point in the world.
* Result is (dist right of center screen, dist up from center screen, if < 0, then in front of view plane) */ * Result is (dist right of center screen, dist up from center screen, if < 0, then in front of view plane) */
ActiveRenderInfo ari = Minecraft.getInstance().gameRenderer.getActiveRenderInfo(); ActiveRenderInfo ari = Minecraft.getInstance().gameRenderer.getActiveRenderInfo();
Vec3d camera_pos = ari.getProjectedView(); Vector3d camera_pos = ari.getProjectedView();
Quaternion camera_rotation_conj = ari.getRotation().copy(); Quaternion camera_rotation_conj = ari.getRotation().copy();
camera_rotation_conj.conjugate(); camera_rotation_conj.conjugate();
@ -196,7 +196,7 @@ public class VecHelper {
float half_height = (float) mc.getWindow().getScaledHeight() / 2; float half_height = (float) mc.getWindow().getScaledHeight() / 2;
float scale_factor = half_height / (result3f.getZ() * (float) Math.tan(Math.toRadians(fov / 2))); float scale_factor = half_height / (result3f.getZ() * (float) Math.tan(Math.toRadians(fov / 2)));
return new Vec3d(-result3f.getX() * scale_factor, result3f.getY() * scale_factor, result3f.getZ()); return new Vector3d(-result3f.getX() * scale_factor, result3f.getY() * scale_factor, result3f.getZ());
} }
} }

View file

@ -18,11 +18,8 @@ import com.simibubi.create.foundation.utility.VirtualEmptyModelData;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.RenderTypeLookup; import net.minecraft.client.renderer.RenderTypeLookup;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.Vector4f;
import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
@ -30,7 +27,10 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3i; import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraft.util.math.vector.Vector3i;
import net.minecraft.util.math.vector.Vector4f;
public abstract class GhostBlockRenderer { public abstract class GhostBlockRenderer {
@ -56,7 +56,7 @@ public abstract class GhostBlockRenderer {
IBakedModel model = dispatcher.getModelForState(params.state); IBakedModel model = dispatcher.getModelForState(params.state);
RenderType layer = RenderTypeLookup.getEntityBlockLayer(params.state); RenderType layer = RenderTypeLookup.getEntityBlockLayer(params.state, false);
IVertexBuilder vb = buffer.getEarlyBuffer(layer); IVertexBuilder vb = buffer.getEarlyBuffer(layer);
BlockPos pos = params.pos; BlockPos pos = params.pos;
@ -138,7 +138,7 @@ public abstract class GhostBlockRenderer {
//IVertexBuilder //IVertexBuilder
static void quad(float alpha, IVertexBuilder vb, MatrixStack.Entry p_227890_1_, BakedQuad p_227890_2_, float[] p_227890_3_, float p_227890_4_, float p_227890_5_, float p_227890_6_, int[] p_227890_7_, int p_227890_8_) { static void quad(float alpha, IVertexBuilder vb, MatrixStack.Entry p_227890_1_, BakedQuad p_227890_2_, float[] p_227890_3_, float p_227890_4_, float p_227890_5_, float p_227890_6_, int[] p_227890_7_, int p_227890_8_) {
int[] aint = p_227890_2_.getVertexData(); int[] aint = p_227890_2_.getVertexData();
Vec3i vec3i = p_227890_2_.getFace().getDirectionVec(); Vector3i vec3i = p_227890_2_.getFace().getDirectionVec();
Vector3f vector3f = new Vector3f((float) vec3i.getX(), (float) vec3i.getY(), (float) vec3i.getZ()); Vector3f vector3f = new Vector3f((float) vec3i.getX(), (float) vec3i.getY(), (float) vec3i.getZ());
Matrix4f matrix4f = p_227890_1_.getModel(); Matrix4f matrix4f = p_227890_1_.getModel();
vector3f.transform(p_227890_1_.getNormal()); vector3f.transform(p_227890_1_.getNormal());

View file

@ -26,7 +26,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent;
@ -178,15 +178,15 @@ public class PlacementHelpers {
float b = .8f; float b = .8f;
float a = progress * progress; float a = progress * progress;
Vec3d projTarget = VecHelper.projectToPlayerView(VecHelper.getCenterOf(lastTarget), partialTicks); Vector3d projTarget = VecHelper.projectToPlayerView(VecHelper.getCenterOf(lastTarget), partialTicks);
Vec3d target = new Vec3d(projTarget.x, projTarget.y, 0); Vector3d target = new Vector3d(projTarget.x, projTarget.y, 0);
if (projTarget.z > 0) { if (projTarget.z > 0) {
target = target.inverse(); target = target.inverse();
} }
Vec3d norm = target.normalize(); Vector3d norm = target.normalize();
Vec3d ref = new Vec3d(0, 1, 0); Vector3d ref = new Vector3d(0, 1, 0);
float targetAngle = AngleHelper.deg(Math.acos(norm.dotProduct(ref))); float targetAngle = AngleHelper.deg(Math.acos(norm.dotProduct(ref)));
angle.withSpeed(0.25f); angle.withSpeed(0.25f);

View file

@ -2,7 +2,6 @@ package com.simibubi.create.foundation.utility.worldWrappers;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.function.BooleanSupplier;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -66,11 +65,6 @@ public class WrappedChunkProvider extends AbstractChunkProvider {
return chunk; return chunk;
} }
@Override
public void tick(BooleanSupplier p_217207_1_) {
}
@Override @Override
public String makeString() { public String makeString() {
return "WrappedChunkProvider"; return "WrappedChunkProvider";

View file

@ -15,7 +15,7 @@ import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.fluid.Fluid; import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.IFluidState; import net.minecraft.fluid.FluidState;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -27,6 +27,7 @@ import net.minecraft.world.chunk.ChunkSection;
import net.minecraft.world.chunk.ChunkStatus; import net.minecraft.world.chunk.ChunkStatus;
import net.minecraft.world.chunk.IChunk; import net.minecraft.world.chunk.IChunk;
import net.minecraft.world.gen.Heightmap; import net.minecraft.world.gen.Heightmap;
import net.minecraft.world.gen.feature.structure.Structure;
import net.minecraft.world.gen.feature.structure.StructureStart; import net.minecraft.world.gen.feature.structure.StructureStart;
public class WrappedChunk implements IChunk { public class WrappedChunk implements IChunk {
@ -122,16 +123,6 @@ public class WrappedChunk implements IChunk {
} }
@Override
public Map<String, StructureStart> getStructureStarts() {
return null;
}
@Override
public void setStructureStarts(Map<String, StructureStart> p_201612_1_) {
}
@Nullable @Nullable
@Override @Override
public BiomeContainer getBiomeArray() { public BiomeContainer getBiomeArray() {
@ -222,38 +213,48 @@ public class WrappedChunk implements IChunk {
} }
@Override @Override
public IFluidState getFluidState(BlockPos pos) { public FluidState getFluidState(BlockPos p_204610_1_) {
return null;
}
@Nullable
@Override
public StructureStart getStructureStart(String p_201585_1_) {
return null; return null;
} }
@Override @Override
public void putStructureStart(String p_201584_1_, StructureStart p_201584_2_) { public void addStructureReference(Structure<?> arg0, long arg1) {
} }
@Override @Override
public LongSet getStructureReferences(String p_201578_1_) { public Map<Structure<?>, LongSet> getStructureReferences() {
return null; return null;
} }
@Override @Override
public void addStructureReference(String p_201583_1_, long p_201583_2_) { public LongSet getStructureReferences(Structure<?> arg0) {
}
@Override
public Map<String, LongSet> getStructureReferences() {
return null; return null;
} }
@Override @Override
public void setStructureReferences(Map<String, LongSet> p_201606_1_) { public StructureStart<?> getStructureStart(Structure<?> arg0) {
return null;
}
@Override
public void setStructureReferences(Map<Structure<?>, LongSet> arg0) {
} }
@Override
public void setStructureStart(Structure<?> arg0, StructureStart<?> arg1) {
}
@Override
public void setStructureStarts(Map<Structure<?>, StructureStart<?>> p_201612_1_) {
}
@Override
public Map<Structure<?>, StructureStart<?>> getStructureStarts() {
return null;
}
} }